![]() |
|
#1
|
|||
|
|||
![]() Здравствуйте подскажите пожалуйста что не так я тут делаю
Код:
procedure TForm1.Button1Click(Sender: TObject); var b,k: Integer ; s,b1 : string ; begin k:=0; GetDir(0,s); //ïîëó÷èòü òåêóùþþ äåðåêòîðèþ Memo1.Text:=IdHTTP1.Get('http://meteo.ua/150/harkov/10-days'); Memo1.Lines.SaveToFile(s+'\home.htm'); // Memo1.Text:=Utf8ToAnsi(Memo1.Text); //Memo2.Text :=copy(Memo1.Text,pos('class="wwt_cont">',Memo1.Text), ( pos('<span class="lp_bg">',Memo1.Text))-pos('class="wwt_cont">',Memo1.Text)); //Memo2.Lines.SaveToFile(s+'\obzats.htm'); for b:=0 to memo1.Lines.Count-1 do if pos('class="wwt_cont">',Memo1.Lines[b])<>0 then begin inc(k); b1:=(copy(Memo1.Lines[b], pos('class="wwt_cont">',Memo1.Lines[b]), ( pos('<!-- wwc_bg -->',Memo1.Lines[b]))-pos('class="wwt_cont">',Memo1.Lines[b]))); Memo3.Lines.Add(b1); Edit1.Text:=IntToStr(k) ; end; end; в Edit показывает 10 вхождений как и должно быть а в Memo не одного не выводит |
#2
|
|||
|
|||
![]() заведи две переменные - pos1, pos2:Integer;
перепиши внутренность цикла вот так Код:
begin pos1:=pos('class="wwt_cont">',Memo1.Lines[b]); if pos1<>0 then begin inc(k); pos2:= pos('<!-- wwc_bg -->',Memo1.Lines[b]); b1:=copy(Memo1.Lines[b], pos1, pos2 - pos1); Memo3.Lines.Add(b1); //<<==-- Edit1.Text:=IntToStr(k) ; end; end; |
#3
|
|||
|
|||
![]() так нет не одного вхождения .
|