Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi aus Edit in Textfile? (https://www.delphipraxis.net/111970-aus-edit-textfile.html)

Jiro 12. Apr 2008 12:37


aus Edit in Textfile?
 
Ich habe schon einige Programme geschrieben, musste aber noch nie was aus einem editfeld in eine textdatei schreiben. Wie kann man das machen?
So ungefähr? In dieser Form klappt es aber noch nicht.
Delphi-Quellcode:
procedure TForm8.Button1Click(Sender: TObject);
var
 name : textFile;

begin

assignfile (name, 'name.txt');
writeln (name, edit1.text);
showmessage ('Klappt');
closefile (name);

end;

DeddyH 12. Apr 2008 12:38

Re: aus Edit in Textfile?
 
Da fehlt noch ein Rewrite bzw. Append.

Jiro 12. Apr 2008 12:40

Re: aus Edit in Textfile?
 
Also so?
Delphi-Quellcode:
procedure TForm8.Button1Click(Sender: TObject);
var
name : textFile;

begin

assignfile (name, 'name.txt');
rewrite (name);
writeln (name, edit1.text);
showmessage ('Klappt');
closefile (name);

end;
?

MrKnogge 12. Apr 2008 12:41

Re: aus Edit in Textfile?
 
Du hast bisher textFile nur mit einer Datei verknüpft, sie aber noch nicht zum schreiben geöffnet. Desweiteren würde ich nicht nur den Namen sondern auch den Pfad mit angeben, sonst kann es sein, dass deine Datei sonst wo gespeichert wird.

PS: Name ist übrigens ein unglücklich gewählter Variablenname, nimm lieber einen eindeutigen.

Klaus01 12. Apr 2008 12:43

Re: aus Edit in Textfile?
 
Hallo Jiro,

die Wahl des Variablennamens für das Textfile ist
etwas unglücklich. Name ist ein reserviertes Wort.
Es könnte zu Komplikationen führen es so zu benutzen.

Was willst Du denn speichern, eine Editzeile in eine TextDatei?
Wäre da nicht iniFile eine Alternative für Dich?

Grüße
Klaus

Jiro 12. Apr 2008 12:46

Re: aus Edit in Textfile?
 
Also so klappt es und Name ist so gewählt, weil man seinen namen eingeben soll
Wie kann ich jetzt aus der Datei lesen?
Delphi-Quellcode:
assignfile (name, 'name.txt');
readln (name);
so?
und wie kann ich das dann in ner Nachricht anzeigen? So:
Delphi-Quellcode:
 showmessage ('Hallo' + name);

DeddyH 12. Apr 2008 13:02

Re: aus Edit in Textfile?
 
Delphi-Quellcode:
const Dateiname = 'name.txt';

procedure Schreiben (const sName: string);
var aFile: TextFile;
begin
  AssignFile(aFile,Dateiname);
  if FileExists(Dateiname) then
    Append(aFile)
  else
    Rewrite(aFile);
  writeln(aFile,sName);
  CloseFile(aFile);
end;

function Lesen: string;
begin
  Result := '';
  if FileExists(Dateiname) then
    begin
      AssignFile(aFile,Dateiname);
      Reset(aFile);
      readln(aFile,Result);
      CloseFile(aFile);
    end;
end;
Allerdings solltest Du entweder mit einem try-except-Block oder dem Compilerschalter $I prüfen, ob das Öffnen der Datei geklappt hat.

Klaus01 12. Apr 2008 13:31

Re: aus Edit in Textfile?
 
Hier noch die Alternative mit dem iniFile.
Wenn Du es verwenden solltest, musst Du noch
iniFiles in die uses eintagen.

Delphi-Quellcode:
procedure schreiben(sData: String);
var
 IniFile : TIniFile;
begin
  iniFile := TiniFile.Create({Pfad zum iniFile}+'lateintrainer.ini');
  iniFile.WriteString('UserData','Name',sData);
  iniFile.Free;
end;


function lesen:String;
var
 IniFile : TIniFile;
begin
  iniFile := TiniFile.Create({Pfad zum iniFile}+'lateintrainer.ini');
  result := iniFile.ReadString('UserData','Name','');
  iniFile.Free;
end;
Grüße
Klaus

Jiro 12. Apr 2008 15:52

Re: aus Edit in Textfile?
 
Die Codes sehen so kompliziert aus...

Wenn man auf nen Button klickt soll einfach nur ein Wort (der Name) in eine Datei geschrieben werden und in einer anderen Unit soll geprüft werden, ob in der Datei ein Name drin ist. Und wenn man in dieser Unit auf nen anderen Button klickt, soll der Name in ner Message angezeigt werden. (Das eine ist onactivate, das andere onbuttonklick, also in 2 Prozeduren.

Fussball-Robby 12. Apr 2008 15:57

Re: aus Edit in Textfile?
 
Wenn dir das zu kompliziert ist, könntest du auch TStrings verwenden, das ist ganz einfach:
Delphi-Quellcode:
var List: TStrings;
begin
  List := TStringList.Create;
  try
    List.Add(Edit1.Text);
    List.SaveToFile({Pfad + }'name.txt');
  finally
    FreeAndNil(List);
  end;
Mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr.
Seite 1 von 2  1 2      

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