Pętla while i 3 "nieme" znaki...

0

Ręce opadają. Trzeci dzień próbuję znaleźć buga w programie i jeszcze się nie udało. Mam kilka pytań:

Po piewsze:
Mam sobie plik html, który ładuję do memo.
Jest tam pewien odnośnik: <a href="blabla

Pętla:

while pos(memo1.text, '<a href="')>0 do....

ani razu się nie wykonuje. Więc wychodzi na to, że takiego ciągu znaków tam nie ma, ale on jest! Dlaczego więc pętla się nie wykonuje?
(znaki w memo są wszystkie małe: memo1.text:=lowerCase(memo1.text); )

Drugie pytanie.

Gdy mam plik html tworzony w notatniku(ENTER oznacza wciśnięcie klawisza)

<html>ENTER <head>...

Niby nie powinno być żadnego znaku między >, a < albo chociaż ASCII :#13. Ale komputer widzi 2 albo 3 znaki, których kodu nie potrafi podać. Zrobiłem coś takiego:

<delphi> showMessage('Znak 7 to: '+memo1.text[7]+', czyli ASCII: '+intToStr(ord(memo1.text[7]))); <delphi>

Co się dzieje. Dzieje, się tak, że tam, gdzie ma być wypisany numer ASCII nie ma nic!. Tam, gdzie ma być pokazany znak też nic nie ma.
Ponadto między znakami >, a < komputer widzi chyba jeszcze jakieś 2 albo 3 - zasada taka sama, jak z tym siódmym.

Jakie są to znaki? Jakie mają kody ASCII?

0

Tak po pobieznych ogledzinach wyglada na to, ze przestawiles parametry w funkcji Pos. A co do tych znakow to nie jestem pewien ale mysle ze mozesz to sobie zobaczyc pod jakims hexedytorem.

0

Tak po <ort>pobierznych </ort>ogledzinach wyglada na to, ze przestawiles parametry w funkcji Pos.

Ale jak przestawiłem? Jeści Ci o to chodzi, to nigdy nic w środku tej funkcji nie grzebałem

// no nie, nie, nie, pomyśl chociaż trochę [glowa][rotfl] - ŁF

0

Pierwszym parametrem funkcji pos ma byc szukany ciag, a drugim ciag gdzie ma byc szukany ten pierwszy. A poza tym jestem tu od niedawna ale juz sie nauczylem :) Uruchom Helpa i wpisz pos.

// i tu powinien być koniec dyskusji - ŁF

0

o ludzie, zaraz mnie szlag trafi...

while pos('<a href="',memo1.text)>0 do....

i tutaj nic nie ma prawa nie działać (no chyba ze rzeczywiście w memo nie będzie ciągu '<a href="')...

0

Bo w pliku TXT następna linia jest oddzielona 2 , a nie 1 znakiem !!!! (w heksie jest to znaki "0D" i "0A" )

1 użytkowników online, w tym zalogowanych: 0, gości: 1