Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Dateinamen und Tabellen absolut oder relativ? (https://www.delphipraxis.net/64634-dateinamen-und-tabellen-absolut-oder-relativ.html)

davar 6. Mär 2006 14:17

Datenbank: Paradox • Version: 7 • Zugriff über: BDE

Dateinamen und Tabellen absolut oder relativ?
 
Hallo Leute,

nach meinen Anlaufschwierigkeiten bei der Installationsroutine stelle ich mir nun folgende Frage:

sollte ich die Dateinamen, die ich in meinem Projekt benutze, absolut oder relativ benutzen? Bisher habe ich einfach nur relative benutzt, z.B. 'Unterverzeichnis\datei.dat' und hatte bis heute auch keine Probleme. Nun scheitert es jedoch an meinem bisher wichtigsten Projekt und InnoSetup macht Probleme, wenn ich das Programm aus dem Startmenü oder dem Desktop aufrufe (wenn ich das Programm aus dem eigentlichen Verzeichnis aufrufe, klappt alles ganz gut, aber nicht bei einer Verknüpfung im Startmenü / auf dem Desktop).

Also, sollte ich meine Einstellung ändern und immer absolute Angaben benutzen oder ist das doch ein Problem von InnoSetup, das ich anderweitig lösen muss?

MfG

davar

marabu 6. Mär 2006 14:35

Re: Dateinamen und Tabellen absolut oder relativ?
 
Hallo davar,

eine recht einfache Lösung für dein Problem ist IMO die Verwendung des current working directory als Datenbankverzeichnis. Auf diese Weise hast du auch gleich eine Konfigurationsmöglichkeit für die Anwender deines Programms geschaffen.

Grüße vom marabu

davar 6. Mär 2006 14:59

Re: Dateinamen und Tabellen absolut oder relativ?
 
Zitat:

Zitat von marabu
Hallo davar,

eine recht einfache Lösung für dein Problem ist IMO die Verwendung des current working directory als Datenbankverzeichnis. Auf diese Weise hast du auch gleich eine Konfigurationsmöglichkeit für die Anwender deines Programms geschaffen.

Grüße vom marabu

current working directory? :shock:

:gruebel:

hab gesucht, aber nix gefunden, was mich aufklärt.. Was kann ich darunter verstehen?

marabu 6. Mär 2006 15:01

Re: Dateinamen und Tabellen absolut oder relativ?
 
Das ist das Verzeichnis, welches du bei einer Verknüpfung als Arbeitsverzeichnis (Ausführen in) festlegst und welches du in Delphi mit GetDir(0, cwd) ermittelst.

marabu

Luckie 6. Mär 2006 15:07

Re: Dateinamen und Tabellen absolut oder relativ?
 
Und wenn jemand das Arbeitsverzeichnis ändert, war es das dann gewesen. Nimm besser absolute Pfade und ermittele den Pfad zu deiner Anwendung mit ParamStr(0) und ExtractFilepath.

marabu 6. Mär 2006 15:11

Re: Dateinamen und Tabellen absolut oder relativ?
 
Hallo Michael,

der Vorteil der von mir beschriebenen Vorgehensweise ist die einfache Konfigurationsmöglichkeit. Wenn ich den Benutzer konfigurieren lasse, dann sollte er auch wissen was er tut. Immer noch besser als gar keine Möglichkeit, den Speicherort festzulegen...

marabu

davar 6. Mär 2006 15:21

Re: Dateinamen und Tabellen absolut oder relativ?
 
Zitat:

Zitat von marabu
Das ist das Verzeichnis, welches du bei einer Verknüpfung als Arbeitsverzeichnis (Ausführen in) festlegst und welches du in Delphi mit GetDir(0, cwd) ermittelst.

marabu

Ich habe das Gefühl, du sprichst genau das an, wonach ich suche :)

Das Konzept habe ich verstanden, aber die Lösung nicht genau. Wenn ich eine Verknüpfung auf dem Desktop habe, würde das ja heissen, dass die DB-Dateien auch auf dem Desktop abgelegt werden oder nicht?

Das hier war der eigentliche Grund, weshalb ich die ganze Sache überhaupt angehe. Vielleicht hilft das weiter.

TeronG 6. Mär 2006 15:22

Re: Dateinamen und Tabellen absolut oder relativ?
 
Ich würde per Default den ParamStr(0)-Pfad nehmen und die änderung hald dann über das Programm machen (Config-menu). Denn jedesmal in allen Verknüpfungen rumwursteln nur weil ich was ändern will fänd ich auch unfein.

davar 6. Mär 2006 16:20

Re: Dateinamen und Tabellen absolut oder relativ?
 
:spin: :hello: :bounce2:

und des Rätsels Lösung heisst "SetCurrentDir"..

Bitte nicht auslachen, für mich war es neu :duck:

MfG

davar


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 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