![]() |
Re: wie benutze ich regular expressions?
jo, genau...
ich will mal nicht so sein:
Delphi-Quellcode:
is nu so ausm kopf... denke aber ma wird wohl klappen.
uses StrUtils; //für posEx
... function LastPos(const Needle, Haystack: String): integer; var idx: integer; begin result := 0; idx := 0; repeat idx := posEx(Needle, Haystack, idx+1); if idx > 0 then result := idx; until idx = 0; end; //und später dann var idx: integer; begin ... idx := LastPos('/', Match[1]); if idx > 0 then Filename := copy(Match[1], idx) else Filename := Match[1]; //in Filename hast du jetzt nur den dateinamen! ... end; guck dir den source an und versuch ihn zu verstehen! |
Re: wie benutze ich regular expressions?
hui mit nem ganzen quelltext hab ich nicht gerechnet!
vielen lieben dank!! hast mir sehr geholfen !! fuer ein paar andere fragen mach ich neue themen auf ;) |
Re: wie benutze ich regular expressions?
ich hab grad nochma etwas mit der regex rumgespielt...
damit könnte das auch gehen
Code:
gesetzt werden.
[img]([^[/img]ModifierG := true;
edit: jo jo, kein problem :) ich werd dann ma gucken was da so steht! ;) |
Re: wie benutze ich regular expressions?
oehm bin grad beim schreiben, aber :
Filename := copy(Match[1], idx) else Filename := Match[1]; also bei der autovervollstaendigung is kein copy drin! :oops: |
Re: wie benutze ich regular expressions?
einfach mal "copy" markieren und F1 drücken :)
Delphi-Quellcode:
mußt bei meinem beispiel oben noch die länge hinten mit angeben, hab ich wohl vergessen.
function Copy(S: string; Index: Integer; Count: Integer): string;
sollteste aber wohl hinkriegen :) |
Re: wie benutze ich regular expressions?
ach was denkste wie gern ich f1 benutzten wuerde :( hab vista da geht die hilfe leider nich ... zum kotzen, jetzt wo man sie nicht hat vermisst man sie erstmal :roll:
|
Re: wie benutze ich regular expressions?
ich habe auch vista. du kannst die alte hilfe nachinstallieren. gibt auf der microsoft seite dafür n download.
dann geht alles wieder wie früher. mußte ma n bisserl suchen. edit: oh, war ganz einfach zu finden ;) ![]() |
Re: wie benutze ich regular expressions?
cool daran hab ich noch nie gedacht :wall:
naja aber jetzt hab ich ja dich hihi :cheers: sry dass ich jetzt noch was hab :roll: hab jetzt noch eingebaut dass er weitersucht, aber da kommt bei mir fehlermeldung nachdem er das erste gefunden hat!
Delphi-Quellcode:
Fehlermeldung : "Access Violation at address 0000000. Read of address 0000000."
procedure TForm1.BtnSearchSitClick(Sender: TObject);
var direct,filename:string; page:TStringList; i,idx:integer; re:TRegExpr; such:Boolean; begin direct:=Edpaths.Text; GetFilesInDirectory(direct,'*index.html',LiBoSit.Items,true,true); GetFilesInDirectory(direct,'*.htmlm',LiBoSit.Items,true,false); LbSit.Caption:=(IntToStr(LiBoSit.Count)); //routine zum suchen der Url in den htmls page:=TStringList.Create; re:=TRegExpr.Create; for i:=0 to LiBoSit.Count do begin try page.LoadFromFile(LiBoSit.Items[i]); re.ModifierI:=true; re.ModifierG:=false; re.ModifierM:=false; re.ModifierS:=false; re.ModifierX:=false; re.Expression:='[img]([^[/img] 0 then filename:=copy(re.Match[1],idx+1,40) else filename:=re.match[1]; LiBoPicsFoundInPages.Items[i]:=filename; such:=re.ExecNext until not re.ExecNext; finally page.Free; re.Free; end; end; end; ich hab auch schon gegoogelt wie verrueckt aber nichts gefunden was mir geholfen hat. |
Re: wie benutze ich regular expressions?
dein fehler dürfe hier liegen:
Delphi-Quellcode:
es muß
for i:=0 to LiBoSit.Count do
Delphi-Quellcode:
sein.
for i:=0 to LiBoSit.Count - 1 do
count gibt imemr die absolute anzahl an. wenn z.B. count = 10, dann sind 10 elemente vorhanden. da die zählung aber bei 0 beginnt hat das 10. element den index 9. |
Re: wie benutze ich regular expressions?
hehe den fehler hab ich auch grad gefunden und gleich geaendert und das simekolon hinter such:=re.execnext hab ich auch angehaengt.
leider kommt die gleiche fehlermeldung immernoch!! ich finds toll dass du mir so sehr hilfst, grosses dankeschoen!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz