Einzelnen Beitrag anzeigen

mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Prüfen ob ein verzeichnis die gewünschte erweiterungen h

  Alt 15. Okt 2006, 14:15
@Christian Seehase
nein das ist so richtig weil sr.name ist ja ein string und strings fangen von eins an zu zählen
also ist sr.name[1] das erste zeichen und sobalt da ein .. oder . wird es ausgelassen.


Amask ist so aufgebaut .ext.ext.ext.

ich habe es jetzt so geändert alledings kommt immer noch ein fehler: verzeichnise die keine der gewünschten dateien enthalten werden trozdem mitbeachtet:
Delphi-Quellcode:
function GetFilesInDirectory(ADirectory: string; AMask: String; ARekursiv: Boolean; var ok:Boolean ):Boolean;
var
  SR: TSearchRec;
  ok1:Boolean;
begin
  ok1:=ok;
  if (ADirectory<>'') and (ADirectory[length(ADirectory)]<>'\') then ADirectory:=ADirectory+'\';
  if (FindFirst(ADirectory,faAnyFile ,SR)=0) then begin
    repeat
      if (SR.Name[1]<>'.') and ((sr.Attr or faAnyFile) = faAnyFile) and (pos(UpperCase(ExtractFileExt(sr.name)),AMask) > 0)then
        ok1:=true;
    until (ok1 ) or (FindNext(SR)<>0);
    FindClose(SR);
  end;

  if ARekursiv then
    if (FindFirst(ADirectory+'*.',faDirectory,SR)=0) then
    begin
      repeat
        if (SR.Name[1]<>'.') and (sr.attr and faDirectory > faDirectory) then begin
          ok1:=False;
          GetFilesInDirectory(ADirectory+SR.Name,AMask,True,ok1);
        end;
      until FindNext(SR)<>0;
      FindClose(SR);
    end;
  result:=ok1;
end;
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat