Всем здравствуйте! Подскажите пожалуйста следующее: есть список сайтов (сайт 1, сайт 2, сайт3, сайт4) как программно показать что, если сайт 1 не удовлетворяет условию нужно перейти к сайту 2. не пойму как показать что нужно пропустить сайт1(... Заранее Большое спасибо
сорри за быдлокодерство, но поидее должно работать: (нужно добавить ещё 1 мемо пусть оно будет memo3 и добавить ему scrollbar'ы) Code: var i:integer; begin for i:=0 to memo2.lines.count-1 do begin memo3.clear(); memo3.text=idhttp1.get(memo2.lines[i]); if memo3.lines.count >= 190 then memo1.lines.add(memo3.lines[190]); end; end. p.s. писал в блокноте, проверить в данный момент не могу) делфи рядом нет)
можно без мемо Code: var i:integer; st:Tstrings; begin st:=TstringList.create; for i:=0 to memo2.lines.count-1 do begin st.clear; st.text=idhttp1.get(memo2.lines[i]); if st.strings[189] = "чему то там" then кидаем memo2.lines[i] в нужное место. end; end.
как только не пробывал, не хочет пропускать сайты, в которых нету 190-стоки и всё((, при списке из сайтов, в которых она имеется работает нормально... Вообщем выложу код, посмотрите плиз что в нем не так... Code: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, SyncObjs, ComCtrls; type TForm1 = class(TForm) IdHTTP1: TIdHTTP; Button1: TButton; Memo1: TMemo; Memo2: TMemo; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; TNewThread = class(TThread) private { Private declarations } protected procedure Execute; override; end; var Form1: TForm1; NewThread : TNewThread; CriticalSection: TCriticalSection; IdHTTP1: TIdHTTP; d: tstringlist; i: integer; implementation {$R *.dfm} procedure TNewThread.Execute; var IdHTTP1: TIdHTTP; d: tstringlist; s,t: string; begin CriticalSection.Enter; i:=0; while (s < t)and(Terminated = False) do form1.Button1.Click; sleep(20); for i:=1 to 5766 do form1.Button1.Click; CriticalSection.Leave; form1.Button1.Click; end; procedure TForm1.Button1Click(Sender: TObject); var d: tstringlist; s,t: string; NewThread: TNewThread; begin NewThread:=TNewThread.Create(true); NewThread.FreeOnTerminate:=true; NewThread.Priority:=tpLower; NewThread.Resume; t:=memo2.Lines.Text; t:=memo2.Lines[i]; d:= tstringlist.Create; d.Text:=idhttp1.get(t); s:=d.Strings[190]; delete (s,190,17); memo1.lines.Add(s); end; procedure TForm1.FormCreate(Sender: TObject); begin CriticalSection:=TCriticalSection.Create; end; end.