Componentes.Terceros.RemObj.../internal/5.0.29.665/1/Everwood/Source/Delphi/uEWStringTools.pas

48 lines
998 B
ObjectPascal

unit uEWStringTools;
interface
type
TStringArray = array of string;
function SplitString(const iString:string; iSeparator:char):TStringArray; overload;
implementation
uses
SysUtils;
function SplitString(const iString:string; iSeparator:char):TStringArray;
var i,Len,Start,Count:integer;
begin
if iString = '' then begin
SetLength(result,0);
exit;
end;
SetLength(result,2);
i := 1;//0;
Len := Length(iString);
Start := 1;
Count := 0;
while i <= Len do begin
if iString[i] = iSeparator then begin
if Count > Length(result)-1 then SetLength(result,Length(result)*2);
result[Count] := Trim(Copy(iString,Start,i-Start));
Start := i+1;
inc(Count);
end;
inc(i);
end;
if Count < Length(result)+1 then SetLength(result,Length(result)*2);
result[Count] := Trim(Copy(iString,Start,Len-Start+1));
inc(Count);
if Count > 0 then begin
SetLength(result,Count);
end;
end;
end.