hmmm...ich mach sowas sehr selten per hand, aber das hier kompiliert irgendwie nicht; da bekomm ich:
Deklaration erwartet, aber 'USES' gefunden:
Delphi-Quellcode:
unit Utils;
interface
function Tokenize(
const S: WideString;
const C: WideChar): TWideStringDynArray;
uses
Types;
implementation
function Tokenize(
const S: WideString;
const C: WideChar): TWideStringDynArray;
var
SLen, SIdx, NTok, TokStart, TokLen: Integer;
begin
if S <> '
'
then
begin
SLen := Length(S);
SetLength(Result, SLen);
TokStart := 0;
NTok := 0;
TokLen := 0;
for SIdx := 1
to SLen
do
begin
if S[SIdx] <> C
then
begin
if TokStart = 0
then
TokStart := SIdx;
Inc(TokLen);
end;
if ((SIdx = SLen)
or (S[SIdx] = C))
and (TokStart > 0)
then
begin
Inc(NTok);
Result[NTok-1] := Copy(S, TokStart, TokLen);
TokStart := 0;
TokLen := 0;
end;
end;
SetLength(Result, NTok);
end else
SetLength(Result, 0);
end;
end.
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.