Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei da Speichern wo sich die Projekt *.exe befinden (https://www.delphipraxis.net/10156-datei-da-speichern-wo-sich-die-projekt-%2A-exe-befinden.html)

citybreaker 12. Okt 2003 18:50


Datei da Speichern wo sich die Projekt *.exe befinden
 
Hallo!

Wie kann ich eine Datei so speichern das sie im
selben Ordner wie die Programm Exe ist?
Handelt sich um eine Textdatei. Bisher hab ich es
folgendermaßen gemacht.

Code:
Memo1.Lines.SavetoFile('C:\test.txt');

Die Muhkuh 12. Okt 2003 18:52

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Zitat:

Zitat von citybreaker
Bisher hab ich es
folgendermaßen gemacht.

Code:
Memo1.Lines.SavetoFile('C:\test.txt');

Probier's mal so:
Code:
Memo1.Lines.SavetoFile('test.txt');

Jelly 12. Okt 2003 18:55

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
So kriegst du den AnwendungsPfad:
Code:
IncludeTrailingBackslash (ExtractFilePath(application.exename))) ;
Gruß,
Tom

citybreaker 12. Okt 2003 18:59

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Wenn ich die Textdatei jetzt mit dem TWebBrowser aufrufen wird
sie nicht angezeigt!

Luckie 12. Okt 2003 19:00

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Zitat:

Zitat von Spider
Probier's mal so:
Code:
Memo1.Lines.SavetoFile('test.txt');

Besser nicht. So landet die Datei im aktuellen Verzeichnis, welches nicht unbedingt das Anwendungsverzeichnis sein muß.

Jelly 12. Okt 2003 19:05

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Das liegt daran daß der Webbrowser nicht das gleiche Verzeichnis als Basis hat wie deine Anwendung.
Mit ExtractFileName ('test.txt') liefert dir Delphi aber den Absolutpfad deiner Text-Datei.

citybreaker 12. Okt 2003 19:05

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Spider
Probier's mal so:
Code:
Memo1.Lines.SavetoFile('test.txt');

Besser nicht. So landet die Datei im aktuellen Verzeichnis, welches nicht unbedingt das Anwendungsverzeichnis sein muß.

Was wäre den besser?


--- Edit ---
Da wa wieder jemand schneller ^^

Die Muhkuh 12. Okt 2003 19:06

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Zitat:

Spider hat folgendes geschrieben:
Zitat:

Probier's mal so:
Code:

Memo1.Lines.SavetoFile('test.txt');
Besser nicht. So landet die Datei im aktuellen Verzeichnis, welches nicht unbedingt das Anwendungsverzeichnis sein muß.
Aso! hab ich net gewusst!

Luckie 12. Okt 2003 19:12

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Zitat:

Zitat von citybreaker
Da wa wieder jemand schneller ^^

Den Anwendungspfad mittles ParamStr(0) zu ermitteln.

citybreaker 12. Okt 2003 19:13

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Habs jetzt auf Jellys art gemacht,
alerdings klappts im Browser noch immer net.

Dagon 12. Okt 2003 19:16

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Hier noch ein kleiner Tipp: Verwende an Stelle von IncludeTrailingBackslash lieber IncludeTrailingPathDelimiter, da IncludeTrailingBackslash nichts anderes macht, als IncludeTrailingPathDelimiter aufzurufen.

Jelly 12. Okt 2003 19:18

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Zitat:

Zitat von the_master
Hier noch ein kleiner Tipp: Verwende an Stelle von IncludeTrailingBackslash lieber IncludeTrailingPathDelimiter, da IncludeTrailingBackslash nichts anderes macht, als IncludeTrailingPathDelimiter aufzurufen.

Heehh :freak:
Also manchmal versteh ich nicht was sich die Jungs bei Borland so alles ausdenken.

citybreaker 12. Okt 2003 19:19

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Also ich habs jetzt volgendermaßen.
(ist warscheinlich wieder komplett falsch)
Code:
Text.Lines.SaveToFile (ExtractFileName ('vorschau.html'));
Code:
Browser.Navigate(ExtractFileName ('vorschau.html'), i, q, r, s);

Dagon 12. Okt 2003 19:22

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
An ExtractFileName musst du einen Pfad übergeben. So wie du es machst, wird vorschau.html ins Verzeichnis vorschau.html geschpeichert. Und vorschau.html ist glaube ich kein Verzeichnis. :wink:

Jelly 12. Okt 2003 19:24

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
ExtractFilename ('vorschau.html') gibt dir einfach nur vorschau.html zurück. Bringt also nicht viel.
Probiers doch mal hiermit:[code]Browser.Navigate(ExtractFileName('vorschau.html')) , i, q, r, s);¢/code

citybreaker 12. Okt 2003 19:25

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Und wie geht das? :cry:

Dagon 12. Okt 2003 19:29

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
In welchem Verzeichnis befindet sich nun deine HTML-Datei? Im Verzeichnis der Exe-Datei?
Dann solltest du die Datei so anzeigen können:
Delphi-Quellcode:
Browser.Navigate(ExtractFilePath(Application.ExeName) + 'Hallo.html', i, q, r, s);

citybreaker 12. Okt 2003 19:34

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Danke, das klappt. :dance:
Und wie würde das ganze mit ShellExecute aussehen?

Dagon 12. Okt 2003 19:43

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Was genau willst du mit ShellExecute öffnen?

citybreaker 12. Okt 2003 19:49

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Die Datei test.html.
Liegt auch im selben Ordner wie Projekt1.exe.
Reicht es da wenn ich
Code:
ShellExecute(Handle, 'open', 'test.html', nil, '', Sw_show);
verwende?!

Dagon 12. Okt 2003 19:54

Re: Datei da Speichern wo sich die Projekt *.exe befinden
 
Ja, das würde eigentlich reichen. So gehts aber auch:
Delphi-Quellcode:
var Pfad: String;
begin
  Pfad := ExtractFilePath(Application.ExeName) + 'Hallo.html';
  ShellExecute(Handle, nil, PChar(Pfad), nil, nil, SW_SHOW);


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