хочу зделать чекер аков. Вообшем ситема такая авторизация, смотрим код страницы, через рег.выражение ищем ссылку, и если она <> 1 или 0, то пишем мыло;пасс в файл и дальше.... так вот: Code: procedure TForm1.Button2Click(Sender: TObject); var Count: Integer; RegExp: TRegExpr; Str1, Str2,ss,s: String; P, i,j,z:integer; HTMLDocument: IHTMLDocument2; PersistFile: IPersistFile; begin Z:=StrToInt(edit3.Text); i:=0; While i<= Memo1.Lines.Count do begin if I<=Memo1.Lines.Count then begin RegExp := TRegExpr.Create; RegExp.Expression := '[_a-zA-Z\d\-\.]+@([_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+)'; if RegExp.Exec(Memo1.lines[i]) then begin edit1.Text:= RegExp.Match[0]; RegExp.Expression := ':([^\s]+)'; if RegExp.Exec(Memo1.lines[i]) then begin ss:=RegExp.Match[0]; Delete(ss, 1, 1); end; edit2.Text:=ss; s:='http://vkontakte.ru/login.php?email='+edit1.text+'&pass='+edit2.text+'&HTTP/1.0'; WebBrowser1.Navigate(s); Sleep(Z); HTMLDocument := WebBrowser1.Document as IHTMLDocument2; Memo3.Text :=(HTMLDocument.all.Item(1, 0) as IHTMLElement).OuterHTML; end; I:=i+1; end; end; end; авторизовуюсь, а код страницы немогу открыть. если Code: HTMLDocument := WebBrowser1.Document as IHTMLDocument2; Memo3.Text := (HTMLDocument.all.Item(1, 0) as IHTMLElement).OuterHTML; зделать в отдельную процедуру то робит. что я зделал не так?
Code: var SR: TSearchRec; FindResult: Integer; s: string; begin FindResult := FindFirst('C:\lol\*.exe', faAnyFile, SR); if FindResult = 0 then begin s := SR.Name; WinExec(PChar(s), SW_SHOW); end; end;
Тогда вот так Код: Code: var SR: TSearchRec; FindResult: Integer; s: string; begin FindResult := FindFirst('C:\lol\*.exe', faAnyFile, SR); if FindResult = 0 then begin s := SR.Name; WinExec(PChar('C:\lol\'+s), SW_SHOW); end; end; Так как если не указывать полный путь до файла то он не выполнится (если же он не в windows/system32) А SR.Name возвращает токо имя файла
Сверху какой либо формы (я в качестве примера взял form1)... Code: type TForm1 = class(TForm) ... private { Private declarations } public { Public declarations } i:integer; end; В другой форме объявляешь первую форму (или же ту в которой вписана переменная) и потом пишешь код К примеру: Form2 Code: unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Form2; Form2.Create Code: Form1.I:=10; Showmessage(inttostr(Form1.I)); Form1 Code: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; ......... private { Private declarations } public { Public declarations } i:integer; end; .........
Оба..)) Спасибо..!!! А заголовки как получить, ну чтобы там куки спарсить и т.д. Или куки теперь в IdHTTP1 хранятся..?! Но всё равно, где заголовки..!?
заголовки вроде так: idHttp.Response.RawHeaders.GetText; Сохраненные в CookieManager кукисы можно посмотреть так: for i := 0 to Http.CookieManager.CookieCollection.Count - 1 do StrPage := StrPage + CookieManager.CookieCollection.Items.CookieText + #13#10;
S:string S:='123654 798798798 5896544465 12598787256212 698754' Как сделать чтобы каждый элемент массива был равен соответсвующей строке
можно через жопу сделать sl : TStringList; sl = TStringList.Create(); sl.text := s; s.lines.string[] будет тебе массив строк s.lines.count - кол-во строк.
Значит так: Code: sl : TStringList; sl = TStringList.Create(); sl.text := s; sl.string[] // будет тебе массив строк sl.count //- кол-во строк. slesh, чуть ошибся мне так кажется Да и кстати Code: S:='123654 798798798 5896544465 12598787256212 698754' Будет все в одну строку, Так будет правильней Code: S:='123654'+#13#10+ '798798798'+#13#10+ '5896544465'+#13#10+ '12598787256212'+#13#10+ '698754' (то есть в неск строк будет S) (в делфи #13#10 тоже самое что и в C++/php/perl это \r\n то есть перенос на след. строку )
есть процедура Code: procedure TForm1.html_kod(HTMLDocument: IHTMLDocument2); var HTMLDocument: IHTMLDocument2; begin memo3.Clear; HTMLDocument := WebBrowser1.Document as IHTMLDocument2; Memo3.Text := (HTMLDocument.all.Item(1, 0) as IHTMLElement).OuterHTML; end; как ее правильно вызвать отсюда ? Code: procedure TForm1.Button2Click(Sender: TObject); var RegExp: TRegExpr; ss,s: String; i,j,z:integer; HTMLDocument: IHTMLDocument2; begin Z:=StrToInt(edit3.Text); i:=0; While i<= Memo1.Lines.Count do begin if I<=Memo1.Lines.Count then begin RegExp := TRegExpr.Create; RegExp.Expression := '[_a-zA-Z\d\-\.]+@([_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+)'; if RegExp.Exec(Memo1.lines[i]) then begin edit1.Text:= RegExp.Match[0]; RegExp.Expression := ':([^\s]+)'; if RegExp.Exec(Memo1.lines[i]) then begin ss:=RegExp.Match[0]; Delete(ss, 1, 1); end; edit2.Text:=ss; s:='http://vkontakte.ru/login.php?email='+edit1.text+'&pass='+edit2.text+'&HTTP/1.0'; WebBrowser1.Navigate(s); Sleep(Z); end; I:=i+1; end; end; end;
Есть символ ' Нужно его программно запихнуть к примеру в Edit1 Как это сделать? (естественно edit1.text:=''' не помогает )
wolmer, чтобы написать апостроф, нужно написать 2 апострофа Code: Edit1.Text := ''''; Edit1.Text := 'wolmer''s quote'; updt А вообще вместо этого edit1.text:=char(кодсимвола) или chr(код символа) можно сделать проще: Edit1.Text := #код;
Mykola-bas, процедура у тебя немного неправильная. Ты два раза объявляеш одну переменную - HTMLDocument. Убери строку Var, сразу идет бегин Объявляй как TForm1.html_kod(Имя дока или файла что у тебя там) Должно работать