![]() |
Pfad ermitteln einer Datei
Hallo erstmal,
ich habe da mal ein problem und zwar wenn ich angenommen in einer listbox ein dateinamen geladen habe (z.B. Hallo.txt), wie bekomme ich jetzt den Pfad heraus wo sich die datei befindet? wenn ich C:\Hallo.txt habe , weiß ich mit ExtractFilePath(); ich habe aber nur Hallo.txt kann ich da nicht irgendwie herausfinden wo die liegt? mfg Alex |
Re: Pfad ermitteln einer Datei
Mit FindFirst/FindNext suchen lassen.
Man erhält so ganz einfach den Pfad. |
Re: Pfad ermitteln einer Datei
danke werde es mal probieren
mfg alex |
Re: Pfad ermitteln einer Datei
|
Re: Pfad ermitteln einer Datei
jo danke schön,wollte nämlich grade fragen wie das geht aber hat sich ja jetzt mit dem link erledigt
mfg alex |
Re: Pfad ermitteln einer Datei
@Matze: ich muss doch nochmal nachfragen :-)
und zwar habe ich das jetzt mal so gemacht: //Aufruf FindAllFiles('C:','*.*',true); //Aufruf
Delphi-Quellcode:
mein problem ist jetzt wo gebe ich denn an das er Hallo.txt suchen soll?
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; und kann ich auch mehrere Partitionen durchsuchen lassen? MFG Alex |
Re: Pfad ermitteln einer Datei
Bei "Mask" im Kopf der Prozedur:
Zitat:
Mehrere Partitionen kannst du nur durchsuchen, wenn du vorher ermittelst, wie viele es auf dem Ziel-Rechner gibt, und wenn du o.g. Prozedur dann am besten in einer Schleife aufrufst, wobei "RootFolder" dann die jeweilige Partition (C:\ -> ?) ist. |
Re: Pfad ermitteln einer Datei
achso, danke
und geht das auch mit mehrern partitionen? mfg alex |
Re: Pfad ermitteln einer Datei
Ich wüede es prinzipiell anders machen. Irgendwo muss die Datei ja herkommen. Wenn du jetzt nur den Name ohne Pfad in der Listbox anzeigen läßt, würde ich den Pfad als Objekt zu dem Item in der Listbox speichern. Wie das geht, kannst du hier kucken:
![]() |
Re: Pfad ermitteln einer Datei
z.B. so:
Delphi-Quellcode:
For i := 67 {C} to 90 {Z} do
FindAllFiles(Chr(i) + ':', '*.*', true); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 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