Hey,
das gig ja schnell
Funktioniert beides einwandfrei. Kann kaum glauben, daß es nur so ein kleiner Fehler war der mich tagelang umgetrieben hat.
Kann es denn sein, daß sich die Syntax seit Delphi5 geändert hat? Ich habe mir das Codebeispiel aus dem Buch "Delphi5 lernen" noch mal angeguckt. Da stehen runde Klammern.
Ich habe die auskommentierten Zeilen wieder auskommentiert und die Zeilennummerierung abgeschaltet.
Vielen herzlichen Dank dafür!
Der Code sieht jetzt so aus:
Delphi-Quellcode:
procedure TForm1.Button16Click(Sender: TObject);
var
Datei: TextFile;
text_datei: TextFile;
text_zeilen: string;
zeilen_num: Integer;
begin
if SaveDialogAlles.Execute then
AssignFile(Datei, SaveDialogAlles.FileName);
Rewrite(Datei);
WriteLn(Datei, EditName.Text);
WriteLn(Datei,EditEmail.Text);
WriteLn(Datei,EditTelefon.Text);
WriteLn(Datei,EditAgentur.Text);
WriteLn(Datei,EditFirma.Text);
WriteLn(Datei,EditWebseite.Text);
WriteLn(Datei,EditUsername.Text);
WriteLn(Datei,EditPassword.Text);
// WriteLn(Datei,MemoKontaktdaten.Lines.DelimitedText);
// WriteLn(Datei,MemoPortrait.Lines.DelimitedText);
//--------------Test----------------------
for zeilen_num := 0 to MemoKontaktdaten.Lines.Count -1 do
begin
//liest geänderte Zeilen in Variable
text_zeilen := MemoKontaktdaten.Lines[zeilen_num];
//schreibt in Datei Zeile für Zeile
WriteLn(datei,text_zeilen);
end; //for end
for zeilen_num := 0 to MemoPortrait.Lines.Count -1 do
begin
//liest geänderte Zeilen in Variable
text_zeilen := MemoPortrait.Lines[zeilen_num];
//schreibt in Datei Zeile für Zeile
WriteLn(datei,text_zeilen);
end; //for end
//------------Test Ende---------------------
CloseFile(Datei);
end;
Das führt dazu, daß jeweils die Inhalte der Editfelder zeilenweise gespeichert werden und auch die Inhalte meiner beiden Memofelder zweilenweise gespeichert werden.
Nun habe ich nur noch eine Frage: Wie schreibe ich sie wieder in die entsprechenden Felder zurück?
Bei den Editfeldern weiß ich wie das geht.
Delphi-Quellcode:
if OpenDialogAlles.Execute
then
AssignFile(Datei, OpenDialogAlles.Filename);
Reset(Datei);
ReadLn(Datei,String1);
EditName.Text:=String1;
ReadLn(Datei,String1);
EditEmail.Text:=String1;
ReadLn(Datei,String1);
EditTelefon.Text:=String1;
CloseFile(Datei);
Aber wie geht das bei den Memofeldern?