Ĺ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 MB </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(' ', Tekst),Length(Tekst)); ShowMessage(Tekst + ' ' + Val); end;
Temat do zamknięcia.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
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 MB </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(' ', Tekst),Length(Tekst)); ShowMessage(Tekst + ' ' + Val); end;
Temat do zamknięcia.