Entwickler-Ecke

Dateizugriff - datei ohne pfad öffnen


emteg - Fr 24.10.03 18:22
Titel: datei ohne pfad öffnen
Hallo leute, mein erster post hier...

ich hab auch gleich ne ziemlich simple frage:
was muss ich bei pfad eintragen, wenn ich eine xml datenbank öffnen will? Und zwar absolut, also ohne dass ich einen genauen pfad angebe? Das fertige prog soll sich quasi die datei selber holen, von dem ordner aus es gestartet wurde.

Ich dachte so:
\\db.xml
aber das tut leider nicht...

Also, wie muss das korrekt heisen?


Anonymous - Fr 24.10.03 18:25

Probier mal 'db.xml', also z.B:


Delphi-Quelltext
1:
db.loadfromfile('db.xml');                    
[/delphi]


mimi - Fr 24.10.03 18:28

oder:

Delphi-Quelltext
1:
extractFileDir(application.exename) + xmldatei                    


oder verstehe ich dich falsch ?


emteg - Fr 24.10.03 20:38

ne, ich mein das anders:
Du must doch in der clientdataset (?) den pfad angeben, an dem die datenbank gespeichert ist. DEN will ich unabhänig vom installations ort machen.


Killmag10 - Fr 24.10.03 21:49

Das brauchst du !


Delphi-Quelltext
1:
ExtractFilePath(ParamStr(0));                    


ExtractFilePath filtert pfad heraus

ParamStr ermittelt den werd mit dem die datei geöffnet wurde !

also 0 ist der dateipfad und ab 1 die parameter falls verhanden.


emteg - Fr 24.10.03 22:58

hm...ok. aber was schreib ich dann in die clientdataset rein? den richtigen pfad?


Killmag10 - Fr 24.10.03 23:06

he ?

also ich blick jetzt nett dursch !

du willst doch einfach blos den pfad haben wo die anwendung gestartet wurde ! oder ?


Delete - Sa 25.10.03 08:46

Es hört sich eher so an, als sollen Programm und Datenbank in zwei unterschiedlichen Verzeichnissen landen:
Zitat:
Du must doch in der clientdataset (?) den pfad angeben, an dem die datenbank gespeichert ist. DEN will ich unabhänig vom installations ort machen.

In dem Fall wäre es zweckmäßig, den Pfad zur Datenbank bei der Installation irgendwo zu speichern (Registry, bzw. INI im Programmordner), damit das Programm die Datenbank auch finden kann.

Alternativ steht dir der Ordner "Anwendungsdaten" zur Verfügung. Dieser Ordner lässt sich mit Hilfe von Shell-Befehlen (s. FAQ) unter (nahezu) jedem Windows finden. Wenn du dort drin dann noch deinen eigenen Datenbank-Ordner anlegst, dann musst du gar nichts speichern, weil der Pfad grundsätzlich immer identisch ist. "Anwendungsdaten\AppName\Datenbank-Datei", bspw. Einzig, den tatsächlichen Pfad zu den Anwendungsdaten musst du ermitteln, aber das geht, wie gesagt!, über Shell-Befehle ganz einfach.


emteg - Sa 25.10.03 09:58

ok, danke schön! läuft gut mit

Quelltext
1:
ExtractFilePath(ParamStr(0));