Einzelnen Beitrag anzeigen

Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#5

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

  Alt 16. Aug 2013, 01:10
Hallo,

Zitat:
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.
Nein, da liegt wohl ein Tipfehler vor.

Zitat:
Bei den Editfeldern weiß ich wie das geht. [...] Aber wie geht das bei den Memofeldern?

Speicher doch die Anzahl der Zeilen Deiner Memos ab. Also beim Speichern:
Delphi-Quellcode:
procedure TForm1.Button16Click(Sender: TObject);
var
  linecount : Integer;
  //[...]
begin
  linecount := MemoKontaktdaten.Lines.Count;
  WriteLn (Datei, IntToStr (linescount));
  for zeilen_num := 0 to linescount - 1 do
    WriteLn (Datei, MemoKontaktdaten.Lines.Count [zeilen_num]);
end;
und beim Einlesen
Delphi-Quellcode:
var
  linecount : string;

  if OpenDialogAlles.Execute then
    begin
      AssignFile(Datei, OpenDialogAlles.Filename);
      Reset(Datei);
      ReadLn(Datei,String1);
      EditName.Text:=String1;
      ReadLn(Datei,String1);
      EditEmail.Text:=String1;
      ReadLn(Datei,String1);
      EditTelefon.Text:=String1;

      // Exemplarisch für MemoKontaktdaten
      ReadLn (Datei, linecount);
      try
        MemoKontaktdaten.Lines.BeginUpdate;
        MemoKontaktdaten.Lines.Clear;
        for i := 0 to StrToInt (linecount) - 1 do
          begin
            ReadLn (Datei, String1);
            MemoKontaktdaten.Lines.Add (String1)
          end;
      finally
        MemoKontaktdaten.SelStart := 0;
        MemoKontaktdaten.Lines.EndUpdate
      end;

      CloseFile(Datei);
    end
Gruß
Volker Zeller

Geändert von Volker Z. (16. Aug 2013 um 01:30 Uhr) Grund: Klammern korrigiert
  Mit Zitat antworten Zitat