Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Textdatei anlegen (https://www.delphipraxis.net/77857-textdatei-anlegen.html)

danku 25. Sep 2006 21:42


Textdatei anlegen
 
Mein Proggie prüft nach dem Starten ob eine Textdatei vorhanden ist oder nicht.
Sobald nämlich das aktive Edit-Feld verlassen wird,
wird automatisch der Wert in Txt gespeichert. Das geht ja nicht wenn keine angelegt wurde.

Delphi-Quellcode:
if not FileExists(s) then
  begin
   Write('BMI.TXT'); :roll:
    end;
wie kann man erreichen, daß eine textdatei angelegt wird?

SirThornberry 25. Sep 2006 21:45

Re: Textdatei anlegen
 
schau dir am besten mal TFileStream an. Das ist eine wunderbares Object zum lesen und schreiben (optional mit anlegen) von Files.

s.h.a.r.k 25. Sep 2006 21:51

Re: Textdatei anlegen
 
Guten Abend,

du kannst das aber auch so machen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  dat : TextFile;
begin
  if not FileExists(AFilename) then
  begin
    assignFile(dat, AFilename);
    try
      rewrite(dat); // schreiben der nicht vorhandenen Datei
    finally
      CloseFile(dat);
    end;
  end;
end;
Das rewrite(...) kannst du dann auch nicht in ein except-Block packen um eventuell auftretende Fehler abzuhandeln!

mfg shark

Hawkeye219 25. Sep 2006 22:18

Re: Textdatei anlegen
 
Der Rewrite-Befehl muß vor dem TRY stehen, sonst gibt es zwei Fehlermeldungen, falls das Öffnen der Datei fehlschlägt. Die Erklärung (und eine mögliche Alternative zu TRY...FINALLY) gibt es in diesem Thread. Damals ging es zwar um den Reset-Befehl, die Erklärung paßt aber auch hier.

Gruß Hawkeye

danku 26. Sep 2006 08:42

Re: Textdatei anlegen
 
Liste der Anhänge anzeigen (Anzahl: 2)
danke. das speichern mit tstrings, memo.savetofile etc. habe ich auch probiert.
aber wenn die datei nicht vorhanden ist, kann ja auch nix gespeichert werden.

Hier ist das Proggie: Personal BMI Checker

Andidreas 26. Sep 2006 10:17

Re: Textdatei anlegen
 
hmm vielleicht hilft dir das weiter (ist aber nicht getestet!!!)

Delphi-Quellcode:
procedure TMain_Form.prFile();

var
blFile : Boolean;
strFile : TStreamFile;
txtFile : TextFile;

begin


  blFile := FileExists('C:\Temp\Text.txt');
 
  If blFileExists = False Then
  Begin
    Try
      strFile := TFileStream.Create('Pfad', fmCreate);
    Finally
      strFile.Free;
    End;
   
    {$I-}
    AssignFile(txtFile, 'C:\Temp\Text.txt');
    Reset(txtFile);
    Writeln(txtFile, 'Eingabedaten');
    CloseFile(txtFile)
    {$I+}
   
  End;
  Else
  Begin
    {$I-}
    AssignFile(txtFile, 'C:\Temp\Text.txt');
    Append(txtFile);
    Writeln(txtFile, 'Eingabedaten');
    CloseFile(txtFile);
    {$I+}
  End;

end;

SirThornberry 26. Sep 2006 11:56

Re: Textdatei anlegen
 
für was musst du bei dem Programm eine Datei anlegen? Im übrigen kann man bei deinem programm nur einmal auf aktuallisieren klicken. Zudem wird mir nirgends angezeigt das eine Datei erstellt wurde. Wenn ich das Programm gelöscht habe bleibt somit eine Datei zurück von der ich nix weiß.

danku 26. Sep 2006 15:07

Re: Textdatei anlegen
 
in der datei werden die namen, kg etc. gespeichert.
probier es doch aus.

inherited 26. Sep 2006 15:59

Re: Textdatei anlegen
 
Kleines beispiel:
Delphi-Quellcode:
procedure wuppdi;
begin
  with TStringList.Create do
  begin
    Add('lol');
    SaveToFile('.\test.txt');
    Free;
  end;
end;

danku 26. Sep 2006 16:36

Re: Textdatei anlegen
 
Zitat:

Zitat von danku
danke. das speichern mit tstrings, memo.savetofile etc. habe ich auch probiert.
aber wenn die datei nicht vorhanden ist, kann ja auch nix gespeichert werden.

Hier ist das Proggie: Personal BMI Checker

:roll:

MuTzE 26. Sep 2006 16:47

Re: Textdatei anlegen
 
Ich versteh nicht wo dein Problem liegt.


Delphi-Quellcode:
var
  StringList: TStringList;


procedure TForm1.FormCreate(Sender: TObject);
begin
  StringList := TStringList.Create;
  if not FileExists('Text.txt') then
   StringList.SaveToFile('Text.txt');
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  StringList.Destroy;
end;

Der speichert doch! Du solltest vllt mal genau sagen wie das funktionieren soll! Das hilft anderen auch weiter.

Da brauchste nicht mit den Augen zu rollen!

danku 26. Sep 2006 21:58

Re: Textdatei anlegen
 
ich hab das problem bereits gelöst. (siehe prog)
mit den tstrings habe ich es schon probiert.
tfilestream gefiel mir besser.

inherited 27. Sep 2006 15:28

Re: Textdatei anlegen
 
Öhm, bist du sicher das das prog funzt? Laut dem hab ich ein BMI von 12.63

danku 27. Sep 2006 19:59

Re: Textdatei anlegen
 
hat du auch das geburtsjahr, größe in cm! und gewicht beachtet?

MuTzE 27. Sep 2006 20:13

Re: Textdatei anlegen
 
^^ Wahrscheinlich ist er 2 m groß und wiegt 60 kilo oder so, hehe


Also bei mir geht er!

inherited 27. Sep 2006 20:15

Re: Textdatei anlegen
 
1.75 m und 54 kg.
Hab grad gelesen das der Test erst ab 19. Lebensjahr gilt^^

MuTzE 27. Sep 2006 20:22

Re: Textdatei anlegen
 
Naja sag ich doch, das is aber trotzdem nich viel!

Ich bin 1,85 m und wiege ca 80 Kilo. Das ist Normalgewicht, aber nich deins.

richie 27. Sep 2006 20:41

Re: Textdatei anlegen
 
Also bei mir geht er auch. Aber inherited :shock: , was bist du denn für ein Spargeltarzan?

MuTzE 27. Sep 2006 21:04

Re: Textdatei anlegen
 
^^ sag ich doch :mrgreen:

danku 27. Sep 2006 21:18

Re: Textdatei anlegen
 
könnten wir ja gleiche eine umfrage zwecks dem bmi machen... :stupid:


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