Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Внизработа со строкой Найти похожие ветки
← →
Василий Алибабаевич (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 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c