![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
работа со строкой [D5, XP]
Василий Алибабаевич © (2006-05-21 22:18:00)Есть строка такого вида:
Str := '#name#male#klass#shool#blabla#';
Надо из нее получить данные чтобы получилось:
Label1.Caption := 'name';
Label1.Caption := 'male';
Label1.Caption := 'klass';
Label1.Caption := 'shool';
Label1.Caption := 'blabla';
Пытаюсь при помощи Pos и Delete, но чета неполучается. Как бы это сделать попроще? Помогите плз.
Василий Алибабаевич (2006-05-21 22:53:00) [1]
> (21.05.06 22:48) [5]
Я этого не знал:
while( (pos('#',s)>0) AND (length(s)>0)) do
дальще разберусь.
Спасибо огромное!
</code> (2006-05-21 22:48:00) [2]
var Form1: TForm1; SL:TStringList;
implementation {$R *.DFM}
procedure parse(s:string);
var i,j:integer;
begin
if pos('#',s)=1 THEN delete(s,1,1);
while( (pos('#',s)>0) AND (length(s)>0)) do
begin
SL.Add(copy(s,1,pos('#',s)-1));
delete(s,1,pos('#',s));
end
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
SL:=TStringList.Create;
parse('#name#male#klass#shool#blabla#');
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SL.Free;
end;
Desdechado (2006-05-21 22:44:00) [3]кому надо посимвольно читать?
а тебе надо справку по Pos прочитать
а то так и останешься в неведении, что Pos сама за тебя найдет позицию #
а Copy - вырежет нужный кусок
или в самом деле TStringList с Delimiter и DelimitedText
Василий Алибабаевич (2006-05-21 22:36:00) [4]
> Pos и Copy - проще некуда, примеры есть в справке
Не получается :(
надо читать строку посимвольно пока не встретится # все что до него поместить в Label1.Caption потом читать дальше до следующего # и помещать прочитаное в Label2.Caption и так дальше в остальные Label до конца строки.
А как это записать не пойму уже целый день пытаюсь. Помогите.
Desdechado (2006-05-21 22:24:00) [5]Pos и Copy - проще некуда, примеры есть в справке
и судя по коду, у тебя на один лэйб все пишется, т.е. успеешь увидеть только мерцание + последнюю надпись
Тимофеич (2006-05-21 22:22:00) [6]
> Есть строка такого вида:
> Str := '#name#male#klass#shool#blabla#';
> Надо из нее получить данные чтобы получилось:
> Label1.Caption := 'name';
> Label1.Caption := 'male';
> Label1.Caption := 'klass';
> Label1.Caption := 'shool';
> Label1.Caption := 'blabla';
> Пытаюсь при помощи Pos и Delete, но чета неполучается. Как
> бы это сделать попроще? Помогите плз.
работай с stringlist