Einzelnen Beitrag anzeigen

Erutan

Registriert seit: 16. Mär 2013
71 Beiträge
 
Delphi 7 Professional
 
#4

AW: Mehrere MEMO-Felder speichern. Wo ist hier der Fehler?

  Alt 16. Aug 2013, 00:28
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?
Holger
  Mit Zitat antworten Zitat