| Autor |
Beitrag |
r0xta
      
Beiträge: 25
|
Verfasst: Di 23.12.08 18:51
Hallo zusammen!
Ich hab zwar google schon bemüht, aber irgendwie bin ich zu keinem Ergebnis gekommen, welches funktioniert.
Mit meinem Projekt, an dem ich momentan arbeite, ziehe ich desöfteren von PC zu PC.
Nun muss ich jedes mal den Pfad meiner Textdatei, welche ich einlese, neu angeben.
Sicherlich kein großes Problem, allerdings schon imma bisserl nervig.
Deswegen wollte ich mal fragen ob es da nicht die Möglichkeit einer relativen Pfadangabe gibt.
Gruß
|
|
jaenicke
      
Beiträge: 19338
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 23.12.08 19:03
Hier habe ich beschrieben wie es mit dem Ordner funktioniert, in dem dein Programm liegt, und auch wo Daten der Anwendung eigentlich besser hingehören und wie das geht.
Aber bei einer Datendatei ist das eigene Verzeichnis ja das richtige, da reicht der erste Teil.
www.delphi-library.d...ewtopic.php?p=499701
// EDIT:
 Schon wieder nicht auf das kleine Wörtchen "Navigation: C-Sharp-Forum.de" geachtet...
Irgendwie müsste das bei den letzten 10 markiert sein. Manchmal übersehe ich das oben einfach, wenn es nicht aus dem Beitrag hervorgeht. 
Zuletzt bearbeitet von jaenicke am Di 23.12.08 19:37, insgesamt 1-mal bearbeitet
|
|
JüTho
      
Beiträge: 2021
Erhaltene Danke: 6
Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
|
Verfasst: Di 23.12.08 19:30
Unter NET sind passende Verzeichnisse zu finden unter Application.CommonAppDataPath und besser unter Environment.GetFolderPath mit der SpecialFolder-Enumeration.
Je nach Situation ist auch ein Eintrag in der app.config sinnvoll. Dann steht auf jedem Rechner, wo das Programm die Datei(en) suchen soll.
Gruß und Frohe Weihnachten! Jürgen
|
|
jaenicke
      
Beiträge: 19338
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 23.12.08 19:42
Ich hatte das hier so verstanden, dass es hier sinnvoll ist, dass die Datei im selben Verzeichnis wie die Exe liegt, weil sie mit transportiert wird.
Dementsprechend hatte ich das eben (für Delphi  ) auch geschrieben.
Deshalb wäre wohl in diesem Fall einmal wirklich Application.StartupPath das richtige:
msdn.microsoft.com/e...ion.startuppath.aspx
Denn wenn die Anwendung portabel sein soll bringt das Anwendungsdatenverzeichnis hier ja nicht so viel. Handelt es sich aber um Daten, die auf den jeweiligen PCs liegen, dann ist das was JüTho geschrieben hat besser geeignet.
|
|
JüTho
      
Beiträge: 2021
Erhaltene Danke: 6
Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
|
Verfasst: Mi 24.12.08 11:09
jaenicke hat folgendes geschrieben : | | Deshalb wäre wohl in diesem Fall einmal wirklich Application.StartupPath das richtige: |
Das gilt nur in engen Grenzen. Unter Vista hat der "normale" Anwender keine Schreibrechte im app-Verzeichnis, unter XP spricht auch einiges dagegen. Daten, die immer wieder einmal geändert werden, sollten "woanders" gespeichert werden. (Deshalb habe ich StartupPath bewusst nicht erwähnt, sondern nur den einmaligen Verweis in der app.config vorgeschlagen.)
Gruß und Frohe Weihnachten! Jürgen
|
|
jaenicke
      
Beiträge: 19338
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 24.12.08 11:14
Das ist natürlich richtig, ich hatte es aber so verstanden, dass er nur die Daten aus der Textdatei verwendet und nicht, dass er sie ändert. Wie auch immer: r0xta hat folgendes geschrieben : | Mit meinem Projekt, an dem ich momentan arbeite, ziehe ich desöfteren von PC zu PC.
Nun muss ich jedes mal den Pfad meiner Textdatei, welche ich einlese, neu angeben. |
Da wäre eine andere Lösung als das Verzeichnis der Anwendung kaum praktikabel, zudem wird diese vermutlich nicht unter program files oder einem anderen nicht zu beschreibenden Verzeichnis liegen, sondern eher auf einem USB-Stick oder so. 
|
|
|