code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| procedure TtheMainForm.ParseHTML(theHTML,theInfo:TStrings);
var theString:string;
i,startTag,stopTag:integer;
Continue: Boolean;
begin
for i := 0 to theHTML.Count-1 do
begin
theString := theHTML.Strings[i];
Continue := True;
//1: Delete everything between < and >
//procedure Delete(var S: string; Index, Count:Integer);
//function Pos(Substr: string; S: string): Integer;
while Continue do
begin
startTag:=Pos('<',theString);
stopTag:=Pos('>',theString);
if startTag=0 then Continue := false else Delete(theString,startTag,(stopTag+1-startTag));
end;
theInfo.Add(theString);
end;
end; |
Korte uitleg: Deze procedure gaat dus een HTML file omzetten naar text only. Dit is om gegevens uit een HTML file te halen die voor mij van belang zijn. Alle HTML code doet er niet toe dus wordt gewoon verwijderd.
Probleem: Bij de 8e iteratie (van 92 regels invoer) "hangt" het programma. Als ik rustig door het programma heen step (F8) hangt het programma niet. Laat ik hem draaien kom ik er via het watches window achter dat ie daar hangen gaat. Ik heb er echter geen idee van waarom.
Wellicht van belang: Beide TStrings in de invoer van de functie zijn de "Lines" van een TMemoveld op het main form.
[Edit]
Deze kan dicht
[ Voor 8% gewijzigd door Aetje op 15-11-2003 20:55 ]
Forget your fears...
...and want to know more...