Представляю вам Appchek программа, проверяет находится ли приложение на аккаунте ВК. ЯП паскаль, среда программирования- Delphi Программа однопоточная но не подвисает. Всё просто и понятно! но всё же Инструкция Берём ID приложения пишем его в поле вверху программы, в поле Аккаунты вставляем аккаунты вконтакте в формате логин:пароль. Нажимаем кнопку Чекать, в правом поле появятся аккаунты на которых присутствует приложение. Всё! Cкачать программу можете по ссылке ниже http://zalil.ru/31082343 Пароль: byanifuck Жду ваших отзывов/критики, спасибо. ICQ 571-859-418
PHP: constructor TNewThread.Create(CreateSuspended: Boolean); begin inherited Create(CreateSuspended); end; procedure TForm1.Button1Click(Sender: TObject); begin TNewThread.Create(false); end; procedure TNewThread.Execute; var s,mail,pass:string; logouton,login,app,str:string; logout:Tstringlist; c,p,prov,wapp,vsego:integer; begin form1.IdHTTP1.AllowCookies:=true; form1.IdHTTP1.HandleRedirects:=true; logout:=Tstringlist.Create; logout.add('act=logout'); logout.add('al_frame=1'); logout.add('from_host=vkontakte.ru'); logout.add('hash=cb71f7c9133882c443'); str:='/app'+form1.Edit1.Text; prov:=0; for c:= 0 to form1.Memo1.Lines.Count-1 do begin logouton:=form1.idhttp1.Post('http://login.vk.com/',logout); s:=form1.Memo1.Lines.Strings[c]; mail:=copy(s,1,Ansipos(':',s)-1); pass:=copy(s,Ansipos(':',s)+1,length(s)); login:=form1.IdHTTP1.Get('http://vkontakte.ru/login.php?email='+mail+'&pass='+pass); app := form1.IdHTTP1.Get('http://vkontakte.ru/apps?act=apps'); prov:=prov+1; form1.Label2.Caption:=inttostr(prov); form1.Label1.Repaint; form1.Label2.Repaint; form1.Label3.Repaint; P := Pos(Str, app); if P>0 then form1.Memo2.Lines.Add(mail+':'+pass); end; end; procedure TForm1.Memo1Change(Sender: TObject); var clv:integer; begin clv:=memo1.lines.count; label1.Caption:=inttostr(clv); end; procedure TForm1.Memo2Change(Sender: TObject); var clv:integer; begin clv:=memo2.lines.count; label3.Caption:=inttostr(clv); end; procedure TForm1.FormCreate(Sender: TObject); begin showmessage('ответственность за прогу не несу!') end; end.
Anifuck, основной код ты выполняешь в дополнительном потоке. Есть замечания: 1. Конструктор для класса TNewThread необязательно было записывать, так как в нем ты по сути ничего особенного не делаешь. 2. Очень важно: работать с формой можно только из основного потока. Используй метод Synchronize своего дополнительного потока, чтобы выполнить процедуру по обновлению окна в основном потоке.
без групбокса не симметрично получается и не красиво. я незнал что туда вставить, но не оставлять же пустым) может дорабатывать буду позже поменяю.