Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Dateien im Überordner speichern (https://www.delphipraxis.net/144792-dateien-im-ueberordner-speichern.html)

Delphi-Narr 16. Dez 2009 19:26


Dateien im Überordner speichern
 
Hallo, ich habe ein Programm, welches Dateien für ein anderes Programm speichert.

"Ordner/Porgramm1/programm1.exe" soll diese Dateien nach

"Ordner/Programm2/Dateien" speichern, ich möchte jedoch keine absoluten Dateipfade angeben müssen. Wie kann ich das machen?

Liebe Grüße!

Namenloser 16. Dez 2009 19:36

Re: Dateien im Überordner speichern
 
In den übergeordneten Ordner wechselt man mit '..'. Also z.B. Memo.SaveToFile('..\datei.txt'). Du kannst auch nach dem .. andere Unterverzeichnisse angeben, z.B. '..\unterordner\datei.txt'. Diese Konvention gilt übrigens nicht nur unter Delphi, sondern fast überall und unter jedem mir bekannten Betriebssystem.

Delphi-Narr 16. Dez 2009 19:41

Re: Dateien im Überordner speichern
 
Ah, nur 2 Punkte... Hatte es mit 3 versucht, danke!

Christian Seehase 16. Dez 2009 19:55

Re: Dateien im Überordner speichern
 
Moin,

aber denke bitte daran, dass die Verwendung von relativen Pfaden böse daneben gehen kann.
Diese Pfade werden immer relativ zum Arbeitsverzeichnis verstanden, und dieses kann sich während des Programmablaufes verändern.
Auch bei einem Programm, dass keine Funktionen benutzt, die das Arbeitsverzeichnis verändern können, darf man sich nicht darauf verlassen, dass das Arbeitsverzeichnis gleich dem Programmverzeichnis ist, da dieses auch durch den Start des Programmes per Link angegeben werden kann.

SirThornberry 16. Dez 2009 21:09

Re: Dateien im Überordner speichern
 
Was spricht gegen absolute Pfade?
Delphi-Quellcode:
fullfilename := ExtractFilePath(Application.ExeName) + "..\Programm2\Dateien\yourfile.fileextension";

hugo1990 16. Dez 2009 21:56

Re: Dateien im Überordner speichern
 
Nur mal nebenbei bemerkt, auch wenn das jetzt nicht wirklich was mit deiner Frage zu tun hat. Programme sollte ihre Dateien nicht in den Programmordner speichern sondern im Ornder Anwendungsdaten bzw. AppData (an den genauen Pfad gelangt man über eine Umgebungsvariable). Und diese Konvention gibt es nicht erst seit Vista, das gab es schon unter XP und ich meine mich zu erinnern, dass es diesen Ordner bereits bei Windows 2000 gab. Alle unerfahrenen Nutzer von Windows Vista oder Windows 7 werden es dir danken, die erfahrenen natürlich auch.

SirThornberry 16. Dez 2009 22:00

Re: Dateien im Überordner speichern
 
selbst unter Windows98 gab es schon eine Vielzahl an Ordnern für das speichern von Nutzerspezifischen Dateien.

hugo1990 16. Dez 2009 22:13

Re: Dateien im Überordner speichern
 
Zu Windows 98 Zeiten war ich noch sehr jung und habe mich auch noch nicht so sehr mit den Computern auseinandergesetzt. Unter Windows 2000 habe ich dann aber schon meine ersten Delphierfahrungen gesammelt und mich auch intensiver mit dem "drumherum" beschäftigt. Deshalb habe ich das ganze erstmal nur bis Windows 2000 runter aufgezählt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz