
04.03.2010, 13:37
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
С нами:
9152955
Репутация:
84
|
|
Входящая строка в edit1.text:
var
temp : TStringList;
res : tstringlist;
tmp : string;
I: Integer;
begin
temp := TStringList.Create;
res := TStringList.Create;
tmp := StringReplace(edit1.text, '{"countries":[[', '', [rfReplaceAll]);
tmp := StringReplace(tmp, '[', '', [rfReplaceAll]);
tmp := StringReplace(tmp, ']', '', [rfReplaceAll]);
temp.commatext := tmp;
i := 0;
while i < temp.Count do
begin
res.Add(temp[i] + '=' + temp[i+1]);
i := i + 2;
end;
В результате res имеет такой вид:
19=Австралия
20=Австрия
5=Азербайджан
21=Албания
22=Алжир
23=Американское Самоа
24=Ангилья
25=Ангола
26=Андорра
27=Антигуа и Барбуда
28=Аргентина
6=Армения
29=Аруба
30=Афганистан
31=Багамы
32=Бангладеш
33=Барбадос
34=Бахрейн
3=Беларусь
35=Белиз
36=Бельгия
37=Бенин
38=Бермуды
39=Болгария
40=Боливия
Тогда можно иметь такой доступ к номеру и стране:
res.NAmes[i] - номер
res.ValueFromindex[i] - страна
Чтобы просто выводился список стран:
while i < temp.Count do
begin
res.Add(temp[i+1]);
i := i + 2;
end;
Последний раз редактировалось GhostOnline; 04.03.2010 в 13:42..
|
|
|