Телефон: +7 (926) 245-03-63

Паскалевский эквивалент StrTok

Следующая статья: Управление завершением работы Windows.

Решение 1

function NextToken(P: PChar; Divider: PChar): PChar;
 const
 next: PChar=nil ;
 begin
 if P=nil then P:=next;
 if P<>nil then begin
 next:=StrPos(P, Divider);
 if next<>nil then begin
 next^:=#0;
 next:=@next[StrLen(Divider)];
 end;
 end;
 NextToken:=P;
 end;

Решение 2

function StrTok(Phrase: PChar; Delimeter: PChar): PChar;
 const
 tokenPtr: PChar=nil;
 workPtr: PChar=nil;
 var
 delimPtr: PChar;
 begin
 if (Phrase<>nil) then workPtr:=Phrase
 else workPtr:=tokenPtr;
 if workPtr=nil then begin
 Result:=nil;
 Exit;
 end;
 delimPtr:=StrPos(workPtr, Delimeter);
 if (delimPtr<>nil) then begin
 delimPtr^:=Chr(0);
 tokenPtr:=delimPtr+1
 end
 else
 tokenPtr:=nil;
 Result:=workPtr;
 end;
Интересное в интернете: Информация. World-velo.ru - заказать велосипеды для подростков в Москве. Я был в восторге!