Re: wie benutze ich regular expressions?
tja, so müsst ich raten...
könnte noch daran liegen:
Delphi-Quellcode:
hat die listbox denn schon sovielel emente? sonst mußte du
LiBoPicsFoundInPages.Items[i]:=filename;
Delphi-Quellcode:
machen.
LiBoPicsFoundInPages.Items.Add(filename);
wenn das nich geholfen hat, dann debugge deinen code mal und sage mir bei welcher zeile genau der fehler kommt. edit: i.ü. ist das ziemlich ungünstig
Delphi-Quellcode:
was machste denn wenn du dateien hast die mehr als 40 zeichen haben?
filename:=copy(re.Match[1],idx+1,40)
besser du machst da was mit length(Match[1]) |
Re: wie benutze ich regular expressions?
puuh jetzt kommt zwar die fehlermeldung immernoch, aber wenigstens fuellt sich meine listbox mit bildernamen *freu*
|
Re: wie benutze ich regular expressions?
Hallo,
Du hast am Ende einen Fehler in der Repeatschleife, du suchst da zweimal die nächste Übereinstimmung.
Delphi-Quellcode:
eigentlich sollte
such:=re.Exec(page.Text);
if such then repeat idx:=LastPos('/',re.match[1]); if idx > 0 then filename:=copy(re.Match[1],idx+1,40) else filename:=re.match[1]; LiBoPicsFoundInPages.Items[i]:=filename; // such:=re.ExecNext <-- der ist zuviel!!! until not re.ExecNext;
Delphi-Quellcode:
reichen.
if re.Exec(page.Text) then
repeat idx:=LastPos('/',re.match[1]); if idx > 0 then filename:=copy(re.Match[1],idx+1,40) else filename:=re.match[1]; LiBoPicsFoundInPages.Items[i]:=filename; until not re.ExecNext; |
Re: wie benutze ich regular expressions?
hatte ich eben auch noch gesehen. aber eigentlich dürfte das keine zugriffsverletzung auslösen.
höchstens ne expception. edit: und ich warte noch immer auf die zeile in der es knalle... :roll: |
Re: wie benutze ich regular expressions?
danke fuer den post, aber wenn ich das auskommentiere kommt meine fehlermeldung immernoch! :cry: menno
edit: achja das mit dem debuggen, wie mache ich das denn? |
Re: wie benutze ich regular expressions?
Hallo,
einen habe ich noch:
Delphi-Quellcode:
bitte ändern in
for i:=0 to LiBoSit.Count do
Delphi-Quellcode:
Du greifst da regelmäßig auf einen nicht existierenden Eintrag zu.
for i:=0 to LiBoSit.Count - 1 do
|
Re: wie benutze ich regular expressions?
oh ha, du solltest ma n delphi-crashkurs machen... 8)
klicke links neben einer zeile auf den punkt oder was auch immer da is. wenn die zeile sich einfärbt haste da n breakpoint gesetzt. wenn dein programm dort ankommt hält es an. mit F7 bzw F8 kannst du schritt für schritt durch deine anweisungen durch gehen. mit F9 läuft es wieder normal weiter. |
Re: wie benutze ich regular expressions?
crash kurs?? ja :D mmh mein lehrer hatte mir das mal gezeigt, aba wusste nich das das so heißt :cyclops:
ok also der hat mit meinem loadfromfile am anfang der zählschleife probleme, da kommt dann die fehlermeldung, aber erst wenn die zählschleife bei 1 is, 0 macht sie komplett durch! komisch weil der pfad eigentlich bei allen htmls ähnlich is :roll: |
Re: wie benutze ich regular expressions?
du gibst page ja auch im ersten schleifen durchlauf mit free frei.
danach ist page kein object mehr und ein zugriff darauf gibt eine zugriffsverletzung. stell das in etwa so um:
Delphi-Quellcode:
page := TStringList.Create; //oder was page auch is, grad nich geguckt
try for i:=..... begin end; finally page.free; end; |
Re: wie benutze ich regular expressions?
klingt logisch und funst auch :D *freu* könnt dich knuddeln :cheer:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz