Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit4;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls;
- type
- TNewThread = class(TThread)
- private
- { Private declarations }
- protected
- procedure Execute; override;
- end;
- implementation
- uses Unit1,Unit3;
- 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 TNewThread.Execute;
- var
- Memo1:TMemo;
- IDNumber,toIDNumber:Tedit;
- s,hash,ConnectToGroup:string;
- LengthID,IDNumber1,toIDNumber1:integer;
- begin
- //IDNumber1:=StrToInt(IDNumber.Text);//начальное ID юзера
- //toIDNumber1:=StrToInt(toIDNumber.Text);//конечное ID юзера
- form1.Memo1.Clear;
- while IDNumber1 <= toIDNumber1 do
- begin
- IDNumber1:=StrToInt(IDNumber.Text);//начальное ID юзера
- toIDNumber1:=StrToInt(toIDNumber.Text);//конечное ID юзера
- LengthID:=Length(IDNumber.Text);//длина ID - необходим,чтобы спрасить hash
- S:=form1.IdHTTP1.get('http://vk.com/im?sel='+IntToStr(IDNumber1) );
- hash:=Copy(S, Pos('IM.deleteDialog('+IntToStr(IDNumber1), S)+16+LengthID+3, 18);//получаем hash
- if Pos('Отправить',S)<>0 then
- begin
- form1.IdHTTP1.get('http://vk.com/im?sel='+IntToStr(IDNumber1)+'&act=a_send&al=1&hash='+hash+'&media=&msg='+UrlEncode(ansitoutf8(Memo1.Text))+'&title=&to='+IntToStr(IDNumber1));
- form1.Memo1.Lines.Add('Сообщение отправленно юзеру'+IntToStr(IDNumber1));
- IDNumber1:=IDNumber1+1;
- end
- else
- begin
- form1.Memo1.Lines.Add('Ошбика!Сообщение не отправленно юзеру'+IntToStr(IDNumber1));
- IDNumber1:=IDNumber1+1;
- end;
- end;
- try
- form1.IdHTTP1.Disconnect;
- except
- end;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment