Читалка сообщений VK
Доброго времени суток!
Пытаюсь написать читалку сообщений через VK API
Вот так вывожу список диалогов, правильный ли я вообще путь выбрал для этого? Или есть способ проще чем динамически создавать панели?
Если да, то есть пару вопросов по коду:
1) Панели создаются уже над созданными панелями, а не идут вниз, и получаются что диалоги идут снизу вверх, как исправить?
2) Мне после клика по какой-то панельки нужно загрузить диалог, как можно как-то привязать id диалога ("id") к панелям? (надеюсь понятно изъяснился...)
Доброго времени суток!
Пытаюсь написать читалку сообщений через VK API
Код:
procedure TDialogLoad.Execute;
var
i: Integer;
JSON: TJSONValue;
Res: TDateTime;
begin
http := THTTPSendEx.Create;
http.GET(api_vk_link + 'messages.getDialogs' + access_token + '&preview_length=100', html);
html := Utf8ToAnsi(html);
http.ClearAll;
JSON := TJSONObject.ParseJSONValue(html);
for I := 0 to JSON.GetValue<TJSONArray>('response.items').Count - 1 do
begin
Res := UnixToDateTime(StrToInt(JSON.GetValue<string>('response.items[' + inttostr(I) + '].message.date')));
date := DateToStr(Res);
body := JSON.GetValue<string>('response.items[' + inttostr(I) + '].message.body');
user_id := JSON.GetValue<string>('response.items[' + inttostr(I) + '].message.user_id');
Synchronize(sync);
end;
http.Free;
end;
procedure TDialogLoad.sync;
var
dynpanel: TPanel;
begin
dynpanel := TPanel.Create(Form1.ScrollBox1);
with dynpanel do
begin
Parent := Form1.ScrollBox1;
Height := 65;
Align := alTop;
end;
with TImage.Create(dynpanel) do
begin
Parent := dynpanel;
Height := 50;
Width := 50;
Left := 16;
top := 8;
end;
with Tlabel.Create(dynpanel) do
begin
Parent := dynpanel;
Left := 72;
top := 8;
Caption := user_id;
end;
with Tlabel.Create(dynpanel) do
begin
Parent := dynpanel;
Left := 72;
top := 35;
Caption := date;
end;
with Tlabel.Create(dynpanel) do
begin
Parent := dynpanel;
Left := 184;
top := 24;
Caption := body;
end;
end;
Вот так вывожу список диалогов, правильный ли я вообще путь выбрал для этого? Или есть способ проще чем динамически создавать панели?
Если да, то есть пару вопросов по коду:
1) Панели создаются уже над созданными панелями, а не идут вниз, и получаются что диалоги идут снизу вверх, как исправить?
2) Мне после клика по какой-то панельки нужно загрузить диалог, как можно как-то привязать id диалога ("id") к панелям? (надеюсь понятно изъяснился...)