![]() |
Dateipfad angeben
Hallo, ich habe in meinem Projekt eine Funktion drin, die in einem bestimmten Programm eine Config Datei editieren soll.
Dazu muss der User den Pfad angeben, der Pfad wird in ner ini gespeichert und fortan von dort ausgelesen. Das Problem: Wie ermittel ich ob das richtige Verzeichnis gewählt wurde? Und wie sorge ich dafür, das die Pfadangabe neugestartet wird wenn der Ordner falsch angegeben wurde?
Delphi-Quellcode:
SelectDirectory('Bitte wähle den Ordner aus.', '' ,Pfad);
if not FileExists(Pfad+'\options.cfg') then begin If Pfad <> '' then Showmessage('Ein falscher Ordner wurde ausgewählt'); end else begin Showmessage('Ordner wurde erfolgreich ausgewählt.'); end; if Pfad = '' then begin MessageBox(0, 'Abbruch durch Benutzer.', 'Info', MB_OK); ExitProcess(0); end; Er sagt mir immer das der Pfad falsch wäre, obwohl die Datei zu 100% genau in dieser Schreibweise im Zielverzeichnis liegt. Hat jemand vorschläge? Danke im vorraus :-D Edit: Hab das Problem grad selber gelöst: Ich hatte vergessen Pfad im Fileexists mit anzugeben :oops: Fragt sich nurnoch wie ich eine Schleife daraus mache, so das er solange Fragt bis der richtige Ordner gewählt wurde :-) |
Re: Dateipfad angeben
Warum nimmst du nicht die TOpenDialog-Komponente mit dem der Benutzer direkt die Config Datei auswählen kann?
Der Dateiname samt Endung kann in der Komponente voreingestellt werden. Dies würde dem Benutzer auch die Kontrolle über das Programm geben. Kontrolle bedeutet, dass der Benutzer auch jederzeit den Vorgang abbrechen kann. Deine Idee zur Pfadeingabe in einer Schleife würde den Benutzer nur unnötig bevormunden. |
Re: Dateipfad angeben
Ich möchte aber bezwecken das der Ordner ausgewählt wird, weil es auch eine Map Datenbank gibt die die Maps direkt in den Map Ordner laden soll.
|
Re: Dateipfad angeben
Wenn die zusätzlichen Dateien im gleichen Ordner liegen, wie die Konfigurationsdatei und du den Pfad mit Dateinamen zur Konfigurationsdatei (x:\Ordner1\Ordner2\config.ini) hast... Jetzt denk mal weiter... ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 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