![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Доброго времени суток!
Все цифры динамичны в коде. Т.е место 15 в следующий раз будет 40 и т.д. Имеется еще одна проблема: Код:
{"adventures":{"list":[{"delay":"20","description":"\u0411\u0430\u043d\u0449\u0438\u043a-\u0442\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043e\u0441\u0440\u0430\u043c\u0435\u043b, \u043d\u0430\u0448\u0438\u0445 \u0431\u0430\u0431 \u0432 \u0431\u0430\u043d\u0435 \u043f\u0443\u0433\u0430\u0435\u0442, \u0430\u043d\u0443-\u043a\u0430 \u0437\u0430\u0434\u0430\u0439 \u0435\u043c\u0443 \u0436\u0430\u0440\u0443!","reward_money":36,"background":"1","name":"\u0417\u0430\u0434\u0430\u0442\u044c \u0436\u0430\u0440\u0443","reward_exp":2,"npc":"1","req_energy":"10","min_lvl":"1","id":"5","reward_exp_base":2,"reward_money_base":18,"clan_exp_boost":0,"clan_money_boost":0,"game_exp_boost":0,"game_money_boost":18},
{"delay":"20","description":"\u041b\u044e\u0434 \u0447\u0435\u0441\u0442\u043d\u043e\u0439 \u0432\u0441\u0435 \u0447\u0430\u0449\u0435 \u0436\u0430\u043b\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0437\u043b\u044b\u0434\u0435\u043d\u044c \u0438\u0445 \u0438\u0437\u0432\u043e\u0434\u0438\u0442. \u0415\u0433\u043e-\u0442\u043e \u0438 \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0443\u0447\u0438\u0442\u044c. \u041d\u043e \u0441\u043f\u0440\u0430\u0432\u0438\u0448\u044c\u0441\u044f \u043b\u0438?","reward_money":4,"background":"1","name":"\u041f\u0440\u043e\u0443\u0447\u0438\u0442\u044c \u0437\u043b\u044b\u0434\u043d\u044f!",
"reward_exp":18,"npc":"2","req_energy":"10","min_lvl":"1","id":"8","reward_exp_base":18,"reward_money_base":2,"clan_exp_boost":0,"clan_money_boost":0,"game_exp_boost":0,"game_money_boost":2},{"delay":"20","description":"\u0417\u0430\u043b\u044e\u0442\u043e\u0432\u0430\u043b\u0430 \u0432 \u0434\u0435\u0440\u0435\u0432\u043d\u0435 \u0442\u044e\u0445\u0430 - \u0442\u043e\u043f\u0430\u0435\u0442 \u0434\u0430 \u0441\u0442\u0443\u0447\u0438\u0442 \u043f\u043e \u043d\u043e\u0447\u0430\u043c, \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0441\u043b\u0430\u0434\u0443 \u0441 \u043d\u0435\u0439 \u043d\u0435\u0442. \u041a\u043e\u043b\u044c \u0441\u043c\u043e\u0436\u0435\u0448\u044c \u0435\u0435 \u043e\u0434\u043e\u043b\u0435\u0442\u044c - \u043d\u0430\u0433\u0440\u0430\u0436\u0443!","reward_money":30,"background":"1","name":"\u0422\u044e\u0445\u0430 \u0437\u0430\u043b\u044e\u0442\u043e\u0432\u0430\u043b\u0430",
"reward_exp":5,"npc":"3","req_energy":"10","min_lvl":"3","id":"14","reward_exp_base":5,"reward_money_base":15,"clan_exp_boost":0,"clan_money_boost":0,"game_exp_boost":0,"game_money_boost":15}],"bonus":{"type":"2","enabled":"1","silver_multiplier":"1","experience_nultiplier":"0","experience_multiplier":"0"}}}Суть такова. У "reward_exp" есть 3 значения. (2, 18 и 5) Нужно каждое вывести в разные edit. Код:
var
tmp,tmp1,tmp2: string;
s,a,d:string;
begin
s:=edit4.text;
tmp:= Copy(s, Pos('"reward_exp":', s)+13, Length(s));
edit4.text:= Copy(tmp, 0, Pos(',"', tmp)-1);
a:=edit5.text;
tmp1:= Copy(a, Pos('"reward_exp":', a)+13, Length(a));
edit5.text:= Copy(tmp1, 0, Pos(',"', tmp1)-1);
d:=edit6.text;
tmp2:= Copy(d, Pos('"reward_exp":', d)+13, Length(d));
edit6.text:= Copy(tmp2, 0, Pos(',"', tmp2)-1);
Данный код здесь не работает, т.к в разных полях выводится одинаковое число. Прошу помощи! Последний раз редактировалось lmikle, 08.06.2014 в 20:53. |
|
#2
|
|||
|
|||
|
Тебе возвращается, судя по виду, JSON.
Возьми любую библиотеку работы с JSON и получай данные через нее по именам. |
|
#3
|
|||
|
|||
|
Цитата:
расскажи поподробней про библиотеки JSON или кинь почитать что нибудь. Спасибо. |
|
#4
|
|||
|
|||
|
Разобраться не смог.
![]() |
|
#5
|
||||
|
||||
|
Цитата:
Код:
uses superobject;
.....
procedure TForm1.Button1Click(Sender: TObject);
const
cJSON: String =
'{"adventures":{"list":[{"delay":"20","description":"\u0411\u0430\u043d\u0449\u0438\u043a-\u0442\u043e \u0441'+
'\u043e\u0432\u0441\u0435\u043c \u043e\u0441\u0440\u0430\u043c\u0435\u043b, \u043d\u0430\u0448\u0438\u0445 \u'+
'0431\u0430\u0431 \u0432 \u0431\u0430\u043d\u0435 \u043f\u0443\u0433\u0430\u0435\u0442, \u0430\u043d\u0443-\u'+
'043a\u0430 \u0437\u0430\u0434\u0430\u0439 \u0435\u043c\u0443 \u0436\u0430\u0440\u0443!","reward_money":36,"b'+
'ackground":"1","name":"\u0417\u0430\u0434\u0430\u0442\u044c \u0436\u0430\u0440\u0443","reward_exp":2,"npc":"'+
'1","req_energy":"10","min_lvl":"1","id":"5","reward_exp_base":2,"reward_money_base":18,"clan_exp_boost":0,"c'+
'lan_money_boost":0,"game_exp_boost":0,"game_money_boost":18},{"delay":"20","description":"\u041b\u044e\u0434'+
' \u0447\u0435\u0441\u0442\u043d\u043e\u0439 \u0432\u0441\u0435 \u0447\u0430\u0449\u0435 \u0436\u0430\u043b\u'+
'0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0437\u043b\u044b\u0434\u0435\u043d\u044c \u0438\u0445 \u0'+
'438\u0437\u0432\u043e\u0434\u0438\u0442. \u0415\u0433\u043e-\u0442\u043e \u0438 \u043d\u0430\u0434\u043e \u0'+
'43f\u0440\u043e\u0443\u0447\u0438\u0442\u044c. \u041d\u043e \u0441\u043f\u0440\u0430\u0432\u0438\u0448\u044c'+
'\u0441\u044f \u043b\u0438?","reward_money":4,"background":"1","name":"\u041f\u0440\u043e\u0443\u0447\u0438\u'+
'0442\u044c \u0437\u043b\u044b\u0434\u043d\u044f!","reward_exp":18,"npc":"2","req_energy":"10","min_lvl":"1",'+
'"id":"8","reward_exp_base":18,"reward_money_base":2,"clan_exp_boost":0,"clan_money_boost":0,"game_exp_boost"'+
':0,"game_money_boost":2},{"delay":"20","description":"\u0417\u0430\u043b\u044e\u0442\u043e\u0432\u0430\u043b'+
'\u0430 \u0432 \u0434\u0435\u0440\u0435\u0432\u043d\u0435 \u0442\u044e\u0445\u0430 - \u0442\u043e\u043f\u0430'+
'\u0435\u0442 \u0434\u0430 \u0441\u0442\u0443\u0447\u0438\u0442 \u043f\u043e \u043d\u043e\u0447\u0430\u043c, '+
'\u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0441\u043b\u0430\u0434\u0443 \u0441 \u043d\u0435\u0439 \u'+
'043d\u0435\u0442. \u041a\u043e\u043b\u044c \u0441\u043c\u043e\u0436\u0435\u0448\u044c \u0435\u0435 \u043e\u0'+
'434\u043e\u043b\u0435\u0442\u044c - \u043d\u0430\u0433\u0440\u0430\u0436\u0443!","reward_money":30,"backgrou'+
'nd":"1","name":"\u0422\u044e\u0445\u0430 \u0437\u0430\u043b\u044e\u0442\u043e\u0432\u0430\u043b\u0430","rewa'+
'rd_exp":5,"npc":"3","req_energy":"10","min_lvl":"3","id":"14","reward_exp_base":5,"reward_money_base":15,"cl'+
'an_exp_boost":0,"clan_money_boost":0,"game_exp_boost":0,"game_money_boost":15}],"bonus":{"type":"2","enabled'+
'":"1","silver_multiplier":"1","experience_nultiplier":"0","experience_multiplier":"0"}}}';
var
obj1: ISuperObject;
begin
obj1 := SO(cJSON);
Edit4.Text := obj1.S['adventures.list[0].reward_exp'];
Edit5.Text := obj1.S['adventures.list[1].reward_exp'];
Edit6.Text := obj1.S['adventures.list[2].reward_exp'];
end;P.S. Только в модуле "superobject.pas" в строке 5638 нужно убрать директиву {$Q+}, иначе в старых версиях Delphi (в частности в Delphi 7) будет вылетать ошибка "Integer overflow". |
|
#6
|
|||
|
|||
|
огромное спасибо, какие модули подключать надо?
|
|
#7
|
|||
|
|||
|
Огромнейшее спасибо, разобрался!
![]() |