![]() |
Dateien aus Ordner laden problematisch
Hallo
Also mein Programm ladet Dateien aus verschiedenen Ordner. Nun das Problem ist wo der Aktuelle Ordner ist.
Delphi-Quellcode:
Ich hab in Variabeln stehen wo welche Dateien zu finden sind.
MapsDir='.\Maps\';
DBDir='.\DB\'; SaveDir='.\Savegame\'; MusicDir='.\Music\'; ItemsDir='.\Items\'; Das Problem ist wenn ich nach einem OpenDialog oder SaveDialog Execute nicht mehr im Ordner des Projectes bin Zitat:
Und dann bekomm ich Fehlermeldungen dass er die Dateien nicht findet. Dies ist unerwünscht. Wie kann man sowas umgehen? |
Re: Dateien aus Ordner laden problematisch
Moin Lucifer,
da sehe ich grundsätzlich zwei Möglichkeiten:
Ich bevorzuge Variante 2, da man dann immer genau nachvollziehen kann, worauf zugegriffen wird. Man muss halt nur immer den Basispfad davorschreiben. |
Re: Dateien aus Ordner laden problematisch
Du könntest Dir Deinen Exe-Pfad hinterher wieder setzen, egal wo Du mit dem Öffnendialog warst.
Delphi-Quellcode:
Mit OpenDlg.InitialDir gibst Du einen Pfad an, in dem der Öffnen-Dialog schon stehen soll, wenn er geöffnet wird.
procedure TForm1.btnOpenClick(Sender: TObject);
begin OpenDlg.InitialDir:='c:\temp'; if OpenDlg.Execute then begin //MachIrgendwas; end; chDir(ExtractFilePath(paramstr(0))); end; ExtractFilePath gibt das Verzeichnis Deiner Exe zurück, paramstr(0) ist der Programmname inklusive Pfadangabe. Mit chDir wechselst Du das Verzeichnis. |
Re: Dateien aus Ordner laden problematisch
Zitat:
Zitat:
@Christian und michaelg: Warum solche Krücken? Warum nicht gleich richtig machen? Oftmals ist es so, dass man aus dem Ordner noch mal eine Datei öffnen will oder sie dort wieder abspeichern will und dann finde ich es absolut nervig, wenn ich mich wieder bis in den Ordner durchklicken muss. |
Re: Dateien aus Ordner laden problematisch
Moin Michael,
dann sieh Dir bitte mal meinen Punkt 2 an ;-) |
Re: Dateien aus Ordner laden problematisch
Ok, aber das du Punkt eins erst vorschlägst, wundert mich eigentlich ziemlich. ;)
|
Re: Dateien aus Ordner laden problematisch
Moin Michael,
Zitat:
Zitat:
|
Re: Dateien aus Ordner laden problematisch
Ich bin noch etwas durch den Wind. Eben hat es hier einen sehr heftigen Schauer gegeben und ich musste schnell die Balkontür zu machen.
Leider habe ich vergessen, dass unser Kaninchen noch draussen saß. :mrgreen: Das musste ich eben mal schnell retten. |
Re: Dateien aus Ordner laden problematisch
Hi Luckie,
mein Beispiel war ne Krücke, na gut. Aber mit paramstr den aufrufenden Pfad festzustellen finde ich in Ordnung. Dann also so:
Delphi-Quellcode:
So ist es auf jeden Fall egal, was man mit dem Opendialog angestellt hat.procedure InitPfade; var ExePfad:String; begin ExePfad:=ExtractFilePath(paramstr(0)); MapsDir:=ExePfad+'Maps\'; DBDir:=ExePfad+'DB\'; end; |
Re: Dateien aus Ordner laden problematisch
Ich habs einfach mal so gemacht
Delphi-Quellcode:
und dann einfach die NoChangeDirs eingeschaltet.
exe:=Application.ExeName;
exe:=ExtractFilePath(exe); SetCurrentDir(exe); Bis jetzt hatt es gut geklappt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03: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-2025 by Thomas Breitkreuz