AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi routine aendern(speichern in listbox>speichern in hashtable)
Thema durchsuchen
Ansicht
Themen-Optionen

routine aendern(speichern in listbox>speichern in hashtable)

Ein Thema von nimmersattXD · begonnen am 10. Jun 2009 · letzter Beitrag vom 16. Jun 2009
 
nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#19

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

  Alt 12. Jun 2009, 11:52
also wenn du dein progamm noch beschleunigen willst, dann würde ich deine
GetFilesInDirectory so abändern, dass sie nur 1x aufgerufen wird.
die gültigen dateiendungen kann man z.B. in ner hash-table speichern und
dann die dateiendung der aktuellen datei in der hash-table suchen.
so z.B.:

Delphi-Quellcode:
  //brauchste nur 1x machen z.B. beim erstellen des forms
  FDictImageExt := TStringDictionary.Create;
  FDictImageExt.CaseSensitive := true;
  FDictImageExt.Add('.jpg');
  FDictImageExt.Add('.jpeg');
  FDictImageExt.Add('.gif');
  FDictImageExt.Add('.png');
  FDictImageExt.Add('.bmp');
  FDictImageExt.Add('.pdf');
und dann änderst du deine Routine so ab
Delphi-Quellcode:
procedure TForm1.GetFilesInDirectory(const Directory: String);
var
  SR: TSearchRec;
  Filename, Key: String;
begin
  if FindFirst(Directory + '*.*', faAnyFile, SR) = 0 then
  repeat
    if (SR.Name = '.') or (SR.Name = '..') then
      Continue;

    Filename := Directory + SR.Name;
    if (SR.Attr and faDirectory) = faDirectory then
      GetFilesInDirectory(Filename + '\')
    else
      if FDictImageExt.Contains(ExtractFileExt(Filename)) then
      begin
        //Filename ist ein Bild, mache etwas damit
      end;
  until FindNext(SR) <> 0;
end;

//aufruf
GetFilesInDirectory(IncludeTrailingPathDelimiter(direct));
du könntest dann noch als parameter eine liste übergeben
und dadrin die gefundenen bilder speichern oder in
einem feld deiner klasse speichern oder sonst wo

der vorteil ist, du gehst die dateien wirklich nur 1x durch.
bei deiner methode gehst du pro dateiendung 1x durch die dateien
durch. also in deinem fall 5x.
das gleiche gilt i.ü. für deine html-files... wo du nach 3 endungen
suchst, also auch 3x alle dateien durchgehst. das könnte man genau
so in in einem rutsch erledigen!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 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-2025 by Thomas Breitkreuz