вот еще одно из множества решений
Но здесь нет защиты от двойного пробела!
Если это критично- пиши. добавлю
а вообще- то совсем недавно уже была переписка по этому вопросу.
Поройся в форуме.
Код:
var
ss:array[0..2] of string;
procedure SplitStr(s:string;Term:char);
var
N,i:integer;
begin
for i:=Low(ss) to High(ss) do ss[i]:='';
N:=Low(ss);
i:=1;
while (i<= Length(s)) and (N <=High(ss)) do
begin
if s[i]=Term then inc(N)
else ss[N]:=ss[N]+s[i];
inc(i);
end;
end;