-
dreamse (21.07.08 09:46) [0]Приветствую.
Написал функцию которая должна разбирать переданную строку и закидывать данные в TStringList
Function PivotSumList(str,razd:string;StrList:TStringList):boolean;
var
i:integer;
s:string;
begin
for i:=0 to Length(str) -1 do begin
if str[i] <> razd then s:= s + str[i]
else begin
StrList.Add(s);
s:='';
end;
end;
if Trim(StrList.text) <> '' then result := true else result := false;
end;
Запускаю так :
procedure TForm1.Button1Click(Sender: TObject);
var
sList:TStringList;
begin
sList := TStringList.Create;
try
if PivotSumList('111%222%444%232323%34gdsg%sgfg%sdg4%sdg','%',sList) then Showmessage(sList.Text);
finally
sList.free;
end;
end;
Возвращает пустой TStringList хотя в функции в проверке : if Trim(StrList.text) есть готовый сформированный текст?
Подскажите где допущенна ошибка? -
dreamse (21.07.08 09:52) [1]разобрался.
формировалась вот такая вот строка :#0'111'#$D#$A'222'#$D#$A'444'#$D#$A'232323'#$D#$A'34gdsg'#$D#$A'sgfg'#$D#$ A'sdg4'#$D#$A
Переделал функцию так:
Function PivotSumList(str,razd:string;StrList:TStringList):boolean;
var
i:integer;
s:string;
begin
StrList.Clear;
for i:=0 to Length(str) -1 do begin
if str[i] <> razd then s:= s + Trim(str[i])
else begin
StrList.Add(s);
s:='';
end;
end;
if Trim(StrList.text) <> '' then result := true else result := false;
end;
Все работает, всем спасибо.
p.s пока блин в форум не напишешь не поймешь :) -
brother © (21.07.08 09:58) [2]> Все работает, всем спасибо.
без проблемм ;) -
Anatoly Podgoretsky © (21.07.08 11:00) [3]> dreamse (21.07.2008 9:46:00) [0]
Очень много ошибок, как в определение функции, так и в алгоритме.
Переписать все нафиг.