Moin,
danke für die Hilfe, habs alles soweit abgeändert
.
Noch eine Frage zu einer anderen Funktion und zwar:
Delphi-Quellcode:
function StripCharsLeft(const S: string; CharSet: TCharSet): string;
var
PResIdx: PChar;
PSIdx: PChar;
Idx: Integer;
SLen: Integer;
begin
SetLength(Result, Length(S));
if S <> '' then
begin
PResIdx := @Result[1];
PSIdx := @S[1];
Idx := 0;
SLen := Length(S);
while (PSIdx^ <> #0) and (PSIdx^ in CharSet) do
begin
Inc(PSIdx);
Inc(Idx);
end;
if PSIdx^ <> #0 then
begin
MoveMemory(@Result[1], PSIdx, SLen-Idx);
SetLength(Result, SLen-Idx);
end;
end;
end;
Und zwar soll die Funktion einzelne Zeichen am Anfang des Strings entfernen, solange bis ein Zeichen kommt, das nicht im CharSet vorkommt.
Hab ich hier alles richtig gemacht?
Also der Aufruf von "showmessage(StripCharsLeft('hallo', ['h', 'a']));" scheint mit "llo" zu stimmen, nur trotzdem wüsst ich gern ob alles soweit richtig ist? Z.B MoveMemory? Könnte es nicht Probleme gebe wenn ich einige Zeichen einfach verschiebe? Z.B wenn Delphi den String von dem ich verschoben habe, freigibt?