Autor Beitrag
r0xta
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 25



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19338
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
:autsch: :autsch: 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. :oops:


Zuletzt bearbeitet von jaenicke am Di 23.12.08 19:37, insgesamt 1-mal bearbeitet
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
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
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19338
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 :oops:) 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 user profile iconJüTho geschrieben hat besser geeignet.
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
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
BeitragVerfasst: Mi 24.12.08 11:09 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19338
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
user profile iconr0xta hat folgendes geschrieben Zum zitierten Posting springen:
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. ;-)