ďťż

Ładny brzuch

Witam. Chciałem dzisiaj napisać programik do sprawdzania ile już pobrałem danych (pobieranie danych z neostrada.pl). Napisałem więc taki oto prosty kodzik:
procedure TForm1.FormCreate(Sender: TObject); var  Linia: String; begin Memo.Lines.Add(IdHTTP.Get('http://www.neostrada.pl/sso/np/info_popup.jsp')) ; /pobieram zawartość strony z danymi o limicie Linia:= Memo.Lines[121]; //wycinam 121 linię (zawarte są tam te informacje których potrzebuję) ShowMessage(Copy(Linia,Pos('b>',Linia),Pos('MB', Linia) )); end;

i zamiast oczekiwanego rezultatu : 33 MB otrzymuję : b>33&nbspMB </b> do .
Jak powinien wyglądać poprawny kod, albo jak wyciąć z ego te kawałki tekstu, których nie potrzebuję?



O ile pamiętam :] to to co wycinasz to 122 linia (indexowanie jest od 0)

Pozdro for All



Może tak?

ShowMessage(Copy(Linia,Pos('b>',Linia)+2,Pos('&', Linia)-1)+'MB');






Chyba wlasnie o to mi chodzilo, tylko nie jestem pewien co do tego -1 po pos(linia,'&')...
// Nigdy nie pamietam jak co zwracaja operacje na lancuchu.. :P


pos('&', Linia) zwroci pozycje znaku '&' wiec aby go nie wyswietlil trzeba jeszcze dodac '-1'  ^_^

Uff.. Już skończyłem. THX za pomoc. Poprawny kod to:
procedure TForm1.FormCreate(Sender: TObject); var  Linia: String;  Tekst: String;  Val:String; begin Memo.Lines.Add(IdHTTP.Get('http://www.neostrada.pl/sso/np/info_popup.jsp')) ; Linia:= Memo.Lines[121]; if Pos('MB', Linia) <> -1 then Val:='MB' else Val:='GB'; Tekst:=Copy(Linia,Pos('b>', Linia)+2,Pos('MB', Linia)-10 ); Delete(Tekst,Pos('&nbsp', Tekst),Length(Tekst)); ShowMessage(Tekst + ' ' + Val); end;

Temat do zamknięcia.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •