![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
непонятная работа кода :( [D5, WinXP]
dreamse © (2008-07-21 09:46:00)Приветствую.
Написал функцию которая должна разбирать переданную строку и закидывать данные в 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) есть готовый сформированный текст?
Подскажите где допущенна ошибка?
Anatoly Podgoretsky (2008-07-21 11:00:00) [1]> dreamse (21.07.2008 9:46:00) [0]
Очень много ошибок, как в определение функции, так и в алгоритме.
Переписать все нафиг.
brother (2008-07-21 09:58:00) [2]> Все работает, всем спасибо.
без проблемм ;)
dreamse (2008-07-21 09:52:00) [3]разобрался.
формировалась вот такая вот строка :
#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 пока блин в форум не напишешь не поймешь :)