Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Speichern per Pfadangabe relativ zur .exe (https://www.delphipraxis.net/97462-speichern-per-pfadangabe-relativ-zur-exe.html)

Mott3 10. Aug 2007 21:44


Speichern per Pfadangabe relativ zur .exe
 
Hallo zusammen,
ich habe ein Problem, und zwar weiß ich nicht, wie ich den Inhalt eines Memos in einen Pfad speichern kann,
welcher relativ zum Speicherort der .exe meines Projekts liegt.
Also sodass ich in der Procedure zum speichern keinen kompletten Pfad angeben muss (z.B. "C:\Programme\Projekt\") sondern
nur "\Projekt\Save\"

Kann mir da jemand helfen ?


Grüße

mkinzler 10. Aug 2007 21:51

Re: Speichern per Pfadangabe relativ zur .exe
 
Mit Application.Exename bzw ParamStr(0) kannst du den namen der exe ermitteln. Mit ExtractFilePath() kannst du den Pfad dieser ermitteln.
[Edit: Fehler korrigiert]

3_of_8 10. Aug 2007 22:05

Re: Speichern per Pfadangabe relativ zur .exe
 
ParamStr(0) meint er. ;)

Mott3 10. Aug 2007 22:19

Re: Speichern per Pfadangabe relativ zur .exe
 
hi,
jo das habe ich gemerkt, stand auch in der Hilfe, als ich mir Tipps zur Syntax suchen wollte.
Da steht aber auch noch, das ParamStr(0) mir auch gleich den Pfad und den Dateinamen liefert ...


Übrigens hatte ich gehofft, dass man Memo.SaveToFile benutzen kann, und da irgendwie noch den Pfad reinbastelt ...
sollte das dann so aussehen, dass ich erst den Pfad ermittle (die Datei soll nicht im gleichen Ordner wie die .exe gespeichert werden, sondern einige Ordner dadrunter), und dann den Pfad zusammen mit dem Namen für die zu speichernde Datei in ne Variable schreibe (z.b. save_path) und dann
Delphi-Quellcode:
Memo.SaveToFile(save_Path)
mache ?


grüße

3_of_8 10. Aug 2007 22:24

Re: Speichern per Pfadangabe relativ zur .exe
 
ParamStr(0) liefert dir den Dateipfad zu deiner EXE-Datei. ExtractFilePath() liefert dir den Ordnerpfad zu einem Dateipfad. Folgerichtig liefert dir ExtractFilePath(ParamStr(0)) den Ordner, in dem deine EXE-Datei liegt.

Übrigens: Edit1.Text:=ParamStr(0); müsste sehr wohl etwas "tun", nämlich den Pfad deiner EXE-Datei in Edit1 anzeigen.

Memo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0) )+'dateiname.txt'); speichert das ganze dann unter dem Namen "dateiname.txt" in deinem Programmordner.

Cyberbob 10. Aug 2007 22:32

Re: Speichern per Pfadangabe relativ zur .exe
 
denk aber daran, dass du als eingeschrenkter benutzer nicht im programmordner schreiben darfst. Dafür gibts den Benutzerordner

Mott3 10. Aug 2007 22:35

Re: Speichern per Pfadangabe relativ zur .exe
 
So, vielen dank an mkinzler und 3_of_8, das geht jetzt alles, vielen dank :)

@cyberbob, für den hinweis ^^


grüße und eine gute nacht


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