notification about online
type
Tinformation=record
name:string;
count:integer;
sourse:TStringList;
id:string;
end;
type
Tstart=class(TThread)
private
procedure syncr;
protected
procedure execute;override;
end;
var
Form5: TForm5;
js1,js2:TJSONObject;
arr:TJSONArray;
inf:Tinformation;
implementation
{$R *.fmx}
procedure TForm5.btn1Click(Sender: TObject);
var st:Tstart;
begin
st:=Tstart.Create(false);
st.FreeOnTerminate:=true;
st.Priority:=tpNormal;
end;
procedure TForm5.mmo1Click(Sender: TObject);
begin
end;
{ Tstart }
procedure Tstart.execute;
var send:THTTPSend;
i: Integer;
begin
inherited;
send:=THTTPSend.Create;
inf.sourse:=TStringList.Create;
inf.count:=form5.mmo1.Lines.Count-1;
if inf.count>=0 then
for i := 0 to inf.count do
begin
inf.id:=form5.mmo1.Lines[i];
send.HTTPMethod('GET','https://api.vk.com/method/users.get?user_ids='+inf.id+'&fields=online&name_case=nom&v=5.30');
inf.sourse.LoadFromStream(send.Document);
inf.sourse.Text:=UTF8Decode(inf.sourse.Text);
Synchronize(syncr);
inf.sourse.Clear;
send.Clear;
end;
end;
procedure Tstart.syncr;
begin
js1:=TJSONObject.ParseJSONValue(inf.sourse.Text)as TJSONObject;
if Assigned(js1) then
begin
arr:=js1.Get('response').JsonValue as TJSONArray;
js2:=arr.Get(0) as TJSONObject;
clipboard.AsText:=Format('%s',[js2.Get('first_name').JsonValue.Value])+' '+Format('%s',[js2.Get('last_name').JsonValue.Value]);
end;
end;
end.
Теги:
sourse,
Tstart,
begin
,
procedure,
TJSONObject,
count,
Create,
syncr,
TForm5,
JsonValue,
Sender,
TObject,
Tinformation,
type
,
then
,
Lines,
form5,
THTTPSend,
TJSONArray,
Clear,
Value,
Format,
string,
execute,
TStringList,
online,
AsText,
fields,
method,
LoadFromStream,
users,
clipboard,
Assigned,
first,
ParseJSONValue
Комментарии:
Нету комментариев для вывода...