Einzelnen Beitrag anzeigen

Benutzerbild von nimmersattXD
nimmersattXD

Registriert seit: 1. Jun 2009
Ort: Sangerhausen
65 Beiträge
 
Delphi 7 Personal
 
#19

Re: routine aendern(speichern in listbox>speichern in has

  Alt 11. Jun 2009, 15:29
also hier erstmal mein quelltext, bei dem ich hilfe brauche:


Delphi-Quellcode:

procedure TForm1.BtnSearchSitClick(Sender: TObject);
var direct,filename:string;
    page:TStringList;
    i,idx:integer;
    re:TRegExpr;
    such:Boolean;
    hashsit,hashpic:TStringDictionary;
begin
direct:=Edpaths.Text;
hashsit:=TStringDictionary.Create;
hashpic:=TStringDictionary.Create;

GetFilesInDirectory1(direct,'*.html',hashsit,true,true);
GetFilesInDirectory1(direct,'*.htmlm',hashsit,true,false);
GetFilesInDirectory1(direct,'*.jsp',hashsit,true,false);

LiBoSit.Items.Add('das geht auch :D');


//routine zum suchen der Url in den htmls

page:=TStringList.Create;
re:=TRegExpr.Create;

   try
   for i:=0 to hashsit.TotalCount-1 do
     begin
     page.LoadFromFile(hashsit.first);
     re.ModifierI:=true;
     re.ModifierG:=true;
     re.ModifierM:=false;
     re.ModifierS:=false;
     re.ModifierX:=false;
     re.Expression:='<img .*?src=[\\]??"([^"]*?)[\\]??"';
     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,length(re.Match[1]))
           else filename:=re.match[1];
           filename:=ReplaceHex(filename);

       if not (filename = '') then hashpic.Add(filename,nil);

       until not re.ExecNext;
       end;
   finally
     LiBoPicsFoundInPages.Sorted:=true;
     page.Free;
     re.Free;
   end;


end;
wundert euch nicht, manche variablen hab ich noch nicht geloescht, nach dem umstellen von listbox auf hashtabellen!

so ich hab jetzt die pfade von den htmls in hashsit gespeichert, das scheint auch zu funktionieren. jetzt hab ich halt das problem dass ich nicht weiss wie ich an die keys in der tabelle komme, zb in der zeile:
page.LoadFromFile(hashsit.first);
das inkompatible typen, is ja klar, aber wie mach ich denn dass die zaehlschleife durch jede datei geht und nach der regex sucht? also wie komm ich an den key ran!
Sorry an alle fuer die es schwerfaellt meine texte zu lesen! ich bin im moment in england und hab nur eine englische tastatur, also leider keine umlaute usw.!

http://nimmersatt-xd.mybrute.com
  Mit Zitat antworten Zitat