PHP: while IDNumber1 <= toIDNumber1 do begin get_hash; if Pos('Отправить',S)<>0 then send else send_Err; end; Теперь я всё в цикле ищу.Или опять не так что-то?
Может я не прав, но у тебя походу вечный цикл выходит, т.к. как только цикл начинается сначала IDNumber1 становится равной StrToInt(IDNumber.Text), а toIDNumber1 = StrToInt(toIDNumber.Text) и так каждый раз. И твои IDNumber1:=IDNumber1+1 нифига не влияют. Но это относиться к коду приведенному на первой странице.
Сделал так-эффект тот же самый... PHP: unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdAntiFreezeBase, IdAntiFreeze; type TForm3 = class(TForm) Button1: TButton; GroupBox2: TGroupBox; IDNumber: TEdit; toIDNumber: TEdit; Label1: TLabel; Label2: TLabel; GroupBox1: TGroupBox; Memo1: TMemo; IdAntiFreeze1: TIdAntiFreeze; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; s,hash,ConnectToGroup:string; LengthID,IDNumber1,toIDNumber1,i:integer; Memo1: TMemo; IDNumber,toIDNumber: TEdit; implementation uses Unit1; {$R *.dfm} function UrlEncode(const s: AnsiString): string; var I: integer; begin Result := ''; for i := 1 to Length(S) do case S[i] of '%', ' ', '&', '=', '@', '.', #13, #10, #128..#255: Result := Result + '%' + IntToHex(Ord(S[i]), 2); else Result := Result + S[i]; end; end; procedure send; begin form1.IdHTTP1.get('http://vk.com/im?sel='+IDNumber.Text+'&act=a_send&al=1&hash='+hash+'&media=&msg='+UrlEncode(ansitoutf8(Memo1.Text))+'&title=&to='+IDNumber.Text); form1.Memo1.Lines.Add('Сообщение отправленно юзеру'+IDNumber.Text); end; procedure get_hash; begin LengthID:=Length(IDNumber.Text);//длина ID - необходим,чтобы спрасить hash S:=form1.IdHTTP1.get('http://vk.com/im?sel='+(IDNumber.Text) ); hash:=Copy(S, Pos('IM.deleteDialog('+ IDNumber.Text, S)+16+LengthID+3, 18); end; procedure send_Err; begin form1.Memo1.Lines.Add('Ошбика!Сообщение не отправленно юзеру'+IDNumber.Text); end; procedure TForm3.Button1Click(Sender: TObject); begin //IDNumber1:=StrToInt(IDNumber.Text);//начальное ID юзера //toIDNumber1:=StrToInt(toIDNumber.Text);//конечное ID юзера form1.Memo1.Clear; for i:= StrToInt(IDNumber.Text) to StrToInt(toIDNumber.Text) do begin get_hash; if Pos('Отправить',S)<>0 then send else send_Err; end; try form1.IdHTTP1.Disconnect; except end; end; end.
Возьми HttpAnalyzerStdV5 и посмотри что вообще происходит, может что-то отправляеться. Да и не надо код распихивать по 50 модулям.
Ну,что-то отправляется,но там постоянно создаются запросы.Во многих написано <Request is not completed. waiting...>