Вниз
Скачать: CL | DM;

работа со строкой   Найти похожие ветки 

← →
Василий Алибабаевич   (2006-05-21 22:18) [0]

Есть строка такого вида:
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:22) [1]


> Есть строка такого вида:
> Str := "#name#male#klass#shool#blabla#";
> Надо из нее получить данные чтобы получилось:
> Label1.Caption := "name";
> Label1.Caption := "male";
> Label1.Caption := "klass";
> Label1.Caption := "shool";
> Label1.Caption := "blabla";
> Пытаюсь при помощи Pos и Delete, но чета неполучается. Как
> бы это сделать попроще? Помогите плз.

работай с stringlist


← →
Desdechado ©   (2006-05-21 22:24) [2]

Pos и Copy - проще некуда, примеры есть в справке
и судя по коду, у тебя на один лэйб все пишется, т.е. успеешь увидеть только мерцание + последнюю надпись


← →
Василий Алибабаевич   (2006-05-21 22:36) [3]


> Pos и Copy - проще некуда, примеры есть в справке

Не получается :(
надо читать строку посимвольно пока не встретится # все что до него поместить в Label1.Caption потом читать дальше до следующего # и помещать прочитаное в Label2.Caption и так дальше в остальные Label до конца строки.
А как это записать не пойму уже целый день пытаюсь. Помогите.


← →
Desdechado ©   (2006-05-21 22:44) [4]

кому надо посимвольно читать?
а тебе надо справку по Pos прочитать
а то так и останешься в неведении, что Pos сама за тебя найдет позицию #
а Copy - вырежет нужный кусок

или в самом деле TStringList с Delimiter и DelimitedText


← →
</code>   (2006-05-21 22:48) [5]

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;


← →
Василий Алибабаевич   (2006-05-21 22:53) [6]


>   (21.05.06 22:48) [5]

Я этого не знал:
while( (pos("#",s)>0) AND (length(s)>0)) do
дальще разберусь.
Спасибо огромное!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.966 c
15-1147634815
Kolan
2006-05-14 23:26
2006.06.11
А как и где выложить Веб приложение


1-1146815899
Layner
2006-05-05 11:58
2006.06.11
Поиск всех возможных комбинаций


15-1147965330
Cerberus
2006-05-18 19:15
2006.06.11
Компанент для работы с xls файлами.


2-1148362400
chizra
2006-05-23 09:33
2006.06.11
Можно ли функцией FileExists опредеоить существование директории?


8-1136404947
Ten
2006-01-04 23:02
2006.06.11
Цифровое преобразование изображения




   Наверх