Entwickler-Ecke
Dateizugriff - Ordner automatisch finden lassen
bf109g.01 - Do 29.12.11 23:12
Titel: Ordner automatisch finden lassen
Hallo, ich möchte nach einer Installation einen Ordner mit diversen Subordnern finden.
Jetzt kann der User den allerdings logischerweise sonstwohin gelegt haben.
Nenne wir das ganze mal "A1\A2\A3" in A3 will ich Dateien einfügen lassen.
Nun weiß ich aber nicht, wo A1 liegt.
Gibt es dafür eine einfache und (möglichst selbst ablaufende) Function, die mir da weiterhilft, dass ich am Ende
"C:\...\...\A1\A2\A3" habe?
Vielen Dank schonmal!
bummi - Fr 30.12.11 01:37
Eigentlich sollte das Setup ja wissen wo es hininstalliert und könnte z.B. einen Registrykey anlegen.
Ansonsten Rekursiv eine ReadDir-Funktion mit FindFirst/FindNext.
jaenicke - Fr 30.12.11 07:00
Das macht aber echt keinen Sinn. Bis du dann den Ordner bei mir z.B. gefunden hättest, würde es sehr lange dauern, da du mehrere Partitionen mit mehreren Tebibyte durchsuchen müsstest...
Und was benutzt du eigentlich für einen komischen Installer? Der muss sich doch ohnehin merken wo installiert wurde, sonst funktioniert die Deinstallation ja relativ schlecht.
InnoSetup z.B. packt den Pfad im Uninstall-Zweig der Registry in "Inno Setup: App Path" und in den Standardwert "InstallLocation".
Tranx - Fr 30.12.11 13:42
Wenn Ordner vom Benutzer bei der Installation angelegt/eingerichtet werden, dann sollte dies doch die Installationsroutine speichern (Registry oder in eine Log-Datei ...) Dann kannst Du diese dann auslesen und weißt dann, wo der Ordner A3 sich befindet.
Also bei der Installation eben eine solche Speicherung mit einbeziehen. Bei mir sind es zumeist Ini-Dateien, die im Unterordner des Programms liegen. Ich habe allerdings auch nur auf dem Netzwerk liegende Programme, also keine lokalen Installationen).
Andreas L. - Fr 30.12.11 14:29
bf109g.01 hat folgendes geschrieben : |
Nenne wir das ganze mal "A1\A2\A3" in A3 will ich Dateien einfügen lassen.
Nun weiß ich aber nicht, wo A1 liegt.
Gibt es dafür eine einfache und (möglichst selbst ablaufende) Function, die mir da weiterhilft, dass ich am Ende
"C:\...\...\A1\A2\A3" habe?
|
Ich vermute mal das diese Unterordner im Verzeichnis der EXE liegen, richtig? Den kompletten Pfad zur Anwendung bekommst du z. B. so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| var path: String; begin path := ExtractFilePath(Application.ExeName); end; |
jaenicke - Fr 30.12.11 15:54
Es geht vermutlich nicht um die Exe der Anwendung selbst, denn die hat ja dort normalerweise ohnehin keine Schreibrechte. Aber mal schauen was er sagt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!