Hallo liebe Delphi-Prax'ler
ich hätte einmal eine Frage zu der Funktion "explode" mit diesem Quelltext:
Delphi-Quellcode:
Function explode(const Separator,S: string;Limit:Integer = 6):TStringDynArray;
var SepLen: Integer;
F, P:PChar;
ALen, Index: Integer;
Begin
SetLength(result,0);
If (S='') or(Limit<0) then Exit;
If Separator=''Then
Begin
SetLength(Result,1);
Result[0]:=S;
Exit;
End;
SepLen:=Length(Separator);
Alen:=Limit;
SetLength(Result,Alen);
Index:=0;
P:=PChar(S);
While P^ <> #0 do Begin
F:=P;
P:=AnsiStrPos(P,PChar(Separator));
If (P=nil) or ((Limit>0) and (Index=Limit -1)) Then P:=strend(F);
If Index>=Alen Then
begin
Inc(Alen,5);
Setlength(Result,Alen);
end;
SetString(Result[Index],F,P-F);
Inc(Index);
if p^ <>#0 then inc(p, seplen);
end;
if index < Alen Then Setlength(Result,Index);
End;
Ein Freund hatte mir gesagt, das dabei Zeichenketten in ein dynamisches String-Array aufgeteilt werden.
Doch was heißt das jetzt genau? Was macht die Funktion im Allgemeinen?
Ich weiß nicht ob ihr dafür Zeit habt,
aber
würde mir jemand vielleicht sogar erklären was in jeder Zeile bzw. in den jeweiligen Abschnitten so ungefähr abläuft?
Das würde mir wirklich sehr weiterhelfen.
Ich hoffe es findet sich jemand, der so nett ist.
Liebe Grüße
[edit=mkinzler]Code-Tag durch Delphi-Tag ersetzt Mfg, mkinzler[/edit]