![]() |
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; |
Re: aus Edit in Textfile?
Da fehlt noch ein Rewrite bzw. Append.
|
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; |
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. |
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 |
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:
so?
assignfile (name, 'name.txt');
readln (name); und wie kann ich das dann in ner Nachricht anzeigen? So:
Delphi-Quellcode:
showmessage ('Hallo' + name);
|
Re: aus Edit in Textfile?
Delphi-Quellcode:
Allerdings solltest Du entweder mit einem try-except-Block oder dem Compilerschalter $I prüfen, ob das Öffnen der Datei geklappt hat.
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; |
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:
Grüße
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; Klaus |
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. |
Re: aus Edit in Textfile?
Wenn dir das zu kompliziert ist, könntest du auch TStrings verwenden, das ist ganz einfach:
Delphi-Quellcode:
Mfg
var List: TStrings;
begin List := TStringList.Create; try List.Add(Edit1.Text); List.SaveToFile({Pfad + }'name.txt'); finally FreeAndNil(List); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr. |
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