Einzelnen Beitrag anzeigen

Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 

Re: Pfad ermitteln einer Datei

  Alt 13. Jan 2004, 13:29
danke für die ganzen vorschläge erstmal
das mit den partitionen habe ich schon hinbekommen, danke
@luckie das mit den objekten habe ich mir auch schon so überlegt das es da was geben muss werde das mal probieren danke

habe jetzt mal das beispiel für euch und er hängt sich in der FindAllFiles procedure fest:

Delphi-Quellcode:
procedure FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);
var
  SR: TSearchRec;
begin
  if AnsiLastChar(RootFolder)^ <> '\then
    RootFolder := RootFolder + '\';

  if Recurse then
    if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
      try
        repeat
          if SR.Attr and faDirectory = faDirectory then
            // --> ein Verzeichnis wurde gefunden
            // der Verzeichnisname steht in SR.Name
            // der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
            // RootFolder + SR.Name
            if (SR.Name <> '.') and (SR.Name <> '..') then
              FindAllFiles(RootFolder + SR.Name, Mask, Recurse);
        until FindNext(SR) <> 0;
      finally
        FindClose(SR);
      end;
  if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory <> faDirectory then
        begin
          // --> eine Datei wurde gefunden
          // der Dateiname steht in SR.Name
          // der vollständige Dateiname (inkl. Pfadangabe) ist
          // RootFolder + SR.Name

          // folgende Zeile schreibt den vollständigen Namen in eine Memo Feld des
          // Formulars Form1
          //Form1.Memo1.Lines.Add(RootFolder + SR.Name);
        end;
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
end;
//Aufruf
DateiInfo.Name := '04 - Within Temptation - Caged.mp3';
FindAllFiles('C:',DateiInfo.Name,true);
//Aufruf

tja er kommt aus der procedure nie wieder raus das das komische und ich habe nur C: hier auf arbeit

hoffentlich kann mir es jemand sagen

mfg alex
  Mit Zitat antworten Zitat