Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > помощь с автокликером


Автор: treem 6.8.2008, 19:40
очень нужна помощь с автокликером
алгоритм такой:
1.сначала нужно войти 
'http://www.inkingz.net/?p=login&n=0&username='+edit1.Text+'&password='+edit2.Text'
2.сохранить страницу
3.вытащить ссылки   ./base/system/view.php?1277982680
4.сделать из ./base/system/view.php?1277982680
'http://www.inkingz.net/base/system/view.php?1277982680
5.всего ссылок 14-18 и их нужно просматривать по очереди в 
течении 20-ти секундд
вот и фсё!!!!!!!!

1,2 и 3 пункт я уже сделал!
Код

procedure TForm1.Button3Click(Sender: TObject);
begin
webbrowser1.Navigate('http://www.inkingz.net/?p=login&n=0&username='+edit1.Text+'&password='+edit2.Text);
button3.Enabled:=false;
edit1.Enabled:=false;
edit2.Enabled:=false;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
HTMLDocument: IHTMLDocument2;
PersistFile: IPersistFile;
begin
HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
PersistFile := HTMLDocument as IPersistFile;
PersistFile.Save(StringToOleStr('test.htm'), True);
while HTMLDocument.readyState < 'complete' do
   Application.ProcessMessages;
memo1.Lines.LoadFromFile('test.htm');
hd:= 'href="./base/system/view.php?';
button6.click;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
button3.Enabled:=true;
button4.Enabled:=false;
button1.Enabled:=false;
edit1.Enabled:=true;
edit2.Enabled:=true;
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
button4.Enabled:=true;
button1.Enabled:=true;
end;

procedure TForm1.perenos;
begin
for Ip:= Ip to LMem1  do
begin
   s1:= Memo1.Lines[Ip];
   trim(s1);
   ps:= pos('"',s1);
   if ps <> 0 then
          begin
          exit
          end;
   memo2.Lines.Add(s1);
end;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
hd:= 'href="http://www.inkingz.net/base/system/view.php?';
button6.click;
end;
             //href="http://www.inkingz.net/base/system/view.php?ad=1277982680"
            //ссылка для просмотра


procedure TForm1.Button6Click(Sender: TObject);
begin
LMem1:=1100;
for Ip:= 0 to LMem1  do
   begin
   s1:= Memo1.Lines[Ip];
   trim(s1);
   ps:= pos(hd,s1);
   if ps <> 0 then
         begin
         Delete(s1,1,ps);
         ps:= pos('"',s1);
         if ps <> 0 then
             begin
              Delete(s1,1,ps);
              ps:= pos('"',s1);
              if ps <> 0 then
                 begin
                 Delete(s1,ps,ps+7);
                 end;
             end;
         memo2.Lines.Add(s1);
         perenos;
end;
end;
end;
end.



ICQ 15933398

Автор: MarkedOne 6.8.2008, 21:13
Пункт 4:
Функция FormURL() возвращает исправленную ссылку. Параметр sURL - исходная ссылка.
Код

function FormURL(const sURL: string): string;
const
 //В этой константе хранится часть URL которую надо прибавить
 sBegOfURL = 'http://www.inkingz.net';
begin
 result:=sBegOfURL + Copy(sURL, 2, Length(sUrl)-1);
end;


Пример использования:
Код

var
 sURL: string;

begin
 Write('Введите часть URL: ');
 ReadLn(sURL);
 sURL:=FormURL(sURL);
 Write('Результат: ', sURL);
 ReadLn;
end.

Автор: treem 11.8.2008, 17:55
в memo я получаю такие ссылки
/base/system/view.php?ad=1277982680
/base/system/view.php?ad=1360017678
/base/system/view.php?ad=1261353383
/base/system/view.php?ad=1324749206
/base/system/view.php?ad=1397528272
/base/system/view.php?ad=1348726304
/base/system/view.php?ad=1206674418
/base/system/view.php?ad=1364026231
/base/system/view.php?ad=1343011004
/base/system/view.php?ad=1146048097
/base/system/view.php?ad=1236450553
/base/system/view.php?ad=1115237120
цифры постоянно меняются!!!!

нужно переделать в 
http://www.inkingz.net/base/system/view.php?ad=1277982680
http://www.inkingz.net/base/system/view.php?ad=1360017678
http://www.inkingz.net/base/system/view.php?ad=1261353383
http://www.inkingz.net/base/system/view.php?ad=1324749206
http://www.inkingz.net/base/system/view.php?ad=1397528272
http://www.inkingz.net/base/system/view.php?ad=1348726304
http://www.inkingz.net/base/system/view.php?ad=1206674418
http://www.inkingz.net/base/system/view.php?ad=1364026231
http://www.inkingz.net/base/system/view.php?ad=1343011004
http://www.inkingz.net/base/system/view.php?ad=1146048097
http://www.inkingz.net/base/system/view.php?ad=1236450553
http://www.inkingz.net/base/system/view.php?ad=1115237120

Автор: SneG0K 12.8.2008, 17:35
treem, русским языком сказано

Код

function FormURL(const sURL: string): string;
const
 sBegOfURL = 'http://www.inkingz.net';
begin
 result:=sBegOfURL + Memo1.lines[index];
end;

Автор: treem 12.8.2008, 22:28
Код

procedure TForm1.Button1Click(Sender: TObject);
var
 sURL: string;
begin
 sURL:=memo1.Lines[1];
 sURL:=FormURL(sURL);
 memo2.Lines.Add(sURL);
 end;

таким образом я переделываю 1 ссылку в первой строке memo!!!



но ссылок может быть 12 или 18.
потому этот способ не подходит!!!
Код

procedure TForm1.Button1Click(Sender: TObject);
var
 sURL: string;
begin
 sURL:=memo1.Lines[1];
 sURL:=FormURL(sURL);
 memo2.Lines.Add(sURL);

 sURL:=memo1.Lines[2];
 sURL:=FormURL(sURL);
 memo2.Lines.Add(sURL);

 sURL:=memo1.Lines[3];
 sURL:=FormURL(sURL);
 memo2.Lines.Add(sURL);

 sURL:=memo1.Lines[4];
 sURL:=FormURL(sURL);
 memo2.Lines.Add(sURL);

 sURL:=memo1.Lines[5];
 sURL:=FormURL(sURL);
 memo2.Lines.Add(sURL);

 sURL:=memo1.Lines[6];
 sURL:=FormURL(sURL);
 memo2.Lines.Add(sURL);

 sURL:=memo1.Lines[7];
 sURL:=FormURL(sURL);
 memo2.Lines.Add(sURL);
 end;
 //и.т.д.


помогите новичку smile ))))))))))

Автор: Qu1nt 13.8.2008, 00:03
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  Memo2.Clear;
  with Memo1 do
    for i := 0 to Lines.Count - 1 do
      Memo2.Lines.Add(FormURL(Lines[i]));
end;


Автор: treem 18.8.2008, 17:31
нужно еще просмотреть все ссылки в TWebBrowser!
заранее спасибо!!!!!!!

Автор: Exai1e 18.8.2008, 19:19
treem, может быть еще и станцевать за тебя ? все понимаю форум... форумом, но форум - это решение проблемы коллективным путем а не путем "Решите ее за меня". 
ЗЫ Текст хранящийся в Memo2.Lines[номер е] какраз и нужный тебе =) забирай оттуда for i in to do, while, и делай с ним что хочеш
ЗЫЫ Перейти на ссылку WebBrowser1.Navigate();

Автор: treem 23.8.2008, 16:26
все прога готова,проблема решена!!!
спасиба MarkedOne,Qu1nt,Exai1e за помощь!!!!!!!

Автор: serezhka1986 12.6.2009, 12:00
Народ, я не очень разбираюсь в связи делфи с интернетом, подскажите, как можно вставить текст с Edit в поле ввода на интернет-странице.  smile 

Автор: Keeper89 12.6.2009, 15:38
serezhka1986, кнопку "новая тема" сверху мы не видим?

Автор: serezhka1986 12.6.2009, 16:07
Та ладно, все равно кликер делаю и нужна помощь в этом деле.  smile 

Автор: THandle 15.6.2009, 09:15

 ! 
THandle
serezhka1986, никаких "та ладно". 

 Правила форума: http://forum.vingrad.ru/index.php?act=boardrules

Внимательно читаем. Пункт №10 в частности


Модератор: тема закрыта

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)