![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
парсинг строки "Attr1=Val1; Attr2=Val2; Attr3=Val3" [D7, Win2k, WinXP]
SkyN © (2007-11-24 21:34:00)Как лучше преобразовать строку “Attr1=Val1; Attr2=Val2; Attr3=Val3” к записи tRec = record Attr1: String[15]; Attr2, Attr3: Integer; end;
Вопрос вызван тем, что долгое время обратную операцию делал через S := “Attr1=”+Rec.Attr1+”; Attr2=”+IntToStr(Rec.Attr2) +”; Attr3=”+IntToStr(Rec.Attr3)+”;” , а на днях узнал функцию format. Может и уже готовый парсинг таких строк есть.
Dimaxx (2007-11-25 11:28:00) [1]
> Как это связано с вопросом?
Связано тем, что вместо обычной конкатенации строк можно лепить строку любой сложности одной функцией да еще и с форматированием чисел. В свете этого автор и спрашивает - есть ли такой же простой способ распарсить строку на составляющие.
По вопросу:
Создать TStringList, задать DelimiterString=';' и обратиться через Values к значению через имя.
Loginov Dmitry (2007-11-24 21:50:00) [2]> Вопрос вызван тем, что долгое время обратную операцию делал
> через S := “Attr1=”+Rec.Attr1+”; Attr2=”+IntToStr(Rec.Attr2)
> +”; Attr3=”+IntToStr(Rec.Attr3)+”;” , а на днях узнал функцию
> format
Как это связано с вопросом?
Плохиш (2007-11-24 21:42:00) [3]TStringList.DelimiterString + F1