Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie kann ich eine Datei erstellen ohne Savedialog? (https://www.delphipraxis.net/21138-wie-kann-ich-eine-datei-erstellen-ohne-savedialog.html)

S2B 28. Apr 2004 13:47

Re: Wie kann ich eine Datei erstellen ohne Savedialog?
 
wo willst du denn die Datei hinspeichern? Ich würde noch ein
Delphi-Quellcode:
ExtractFilePath(application.exename)
davorhängen, wenn sie in das Verzeichnis der exe soll!

NikoMitDaMacht 28. Apr 2004 13:48

Re: Wie kann ich eine Datei erstellen ohne Savedialog?
 
es hat so geklappt danke!!1 :cheers:

NikoMitDaMacht 28. Apr 2004 13:52

Re: Wie kann ich eine Datei erstellen ohne Savedialog?
 
Kannst du mir das mit dem "ExtractFilePath(application.exename)" erkären?

S2B 28. Apr 2004 13:57

Re: Wie kann ich eine Datei erstellen ohne Savedialog?
 
Das ist der Pfad, wo die exe liegt! Ich glaube, es geht auch so, aber ich würde noch den Pfad mit dranhängen, wenn du die Datei in den Ordner speichern willst, wo die exe liegt!

ExtractFilePath :arrow: Exportiert den Pfad des Ordners aus dem Pfad der exe des Programms. (schlecht erklärt, ich weiß)

Delphi-Quellcode:
dateiname:=ExtractFilePath(application.exename) + 'datei.dat';
Kannste ja noch reinschreiben, wenn de lustig bist! :mrgreen:

Sharky 28. Apr 2004 13:58

Re: Wie kann ich eine Datei erstellen ohne Savedialog?
 
Zitat:

Zitat von NikoMitDaMacht
Kannst du mir das mit dem "ExtractFilePath(application.exename)" erkären?

"ExtractFilePath(application.exename)" gibt dir den Pfad zu dem Verzeichniss zurück aus dem dein Programm gestartet wurde.

An sonsten gilt hier aber der Grundsatz: "Neue Frage -> Neuer Thread" ;-)

NikoMitDaMacht 28. Apr 2004 14:02

Re: Wie kann ich eine Datei erstellen ohne Savedialog?
 
Das Forum is einfach göttlich!!!!!

Nalincah 18. Mai 2004 08:16

Re: Wie kann ich eine Datei erstellen ohne Savedialog?
 
Code:
var
  F : TextFile;
  s : String;
begin
  // Auswahl des Dateinamens
  if SaveDialog1.Execute then
  begin
    // Wenn die Datei nicht vorhanden ist
    if not FileExists(SaveDialog1.Filename) then
    begin
      // erstelle Datei
      if FileCreate(SaveDialog1.Filename) = -1 then
        ShowMessage('Fehler beim erstellen der Datei');
    end;
    // Weist "F" der Datei zu
    AssignFile(F,SaveDialog1.Filename);

    // Öffne "F" und setze Cursor ans Ende
    if FileSize(F) > 0 then
      Reset(F);

    // Liest erste Zeile der Datei, speichert den Wert in s und gibt s
    // anschließend als Message aus
    ReadLn(F, S);
    ShowMessage(s);

    // Schreibe eine Neue Linie
    Writeln(F, 'asda');

    // Schließe Datei;
    CloseFile(F);
  end;
end;
Ich krieg bei

Code:
// Öffne "F" und setze Cursor ans Ende
if FileSize(F) > 0 then
  Reset(F);
immer nen E/A-Fehler 103 (Datei nicht geöffnet). Aber ich dachte AssignFile öffnet die Datei, oder??

Anubis 18. Mai 2004 08:22

Re: Wie kann ich eine Datei erstellen ohne Savedialog?
 
Nein Assignfile weist nur der Varibalen F die Datei zu (oder laut hilfe "Die Prozedur AssignFile weist einer Dateivariablen den Namen einer externen Datei zu.")

Reset (bzw Rewrite) öffnet die Datei

Nalincah 18. Mai 2004 08:26

Re: Wie kann ich eine Datei erstellen ohne Savedialog?
 
Wo liegt dann der Fehler? Die Procedure soll, nachdem der SaveDialog ausgeführt wurde, die Datei öffnen, falls sie nicht existiert, erstellen und dann öffnen und danach einen String (z.B. "ABC") in die Datei schreiben und diese danach wieder schließen

Anubis 18. Mai 2004 08:31

Re: Wie kann ich eine Datei erstellen ohne Savedialog?
 
Zitat:

Zitat von General2004
Wo liegt dann der Fehler? Die Procedure soll, nachdem der SaveDialog ausgeführt wurde, die Datei öffnen, falls sie nicht existiert, erstellen und dann öffnen und danach einen String (z.B. "ABC") in die Datei schreiben und diese danach wieder schließen

wenn die Datei nicht esistiert geht FileSize nicht (wenn man mal davon absieht das es mit textfiles eh nicht geht)

und wieder ein Zitat aus der Hilfe
Zitat:

Reset öffnet die in F angegebene externe Datei in dem Modus, der in der globalen Variable FileMode festgelegt ist. Ist keine Datei mit diesem Namen vorhanden oder kann die Datei nicht im aktuellen Dateimodus geöffnet werden, tritt ein Fehler auf
wenn die Datei nicht exisitiert brauchst du rewrite

also vorher prüfen ob die Datei schon da is.

[edit]
machst du ja ^^
der Fehler kommt weil die Datei offen sein muss für FileSize (also nach dem Reset), aber wie erwähnt FileSize geht nicht mit Textdateien


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz