Einzelnen Beitrag anzeigen

Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#10

Re: Problem : Schreiben eines Memo1.Text in ein IniFile

  Alt 30. Apr 2008, 09:43
Hallo, meine Fragerei geht weiter, wenn es nach einiger Leute Meinung auch reiner Schwachsinn ist, aber es gibt auch Leute die bauen Bomben und behaupten, wir Menschen bräuchten diese - Schwachsinn!

Ersterer Code mit dem Tauschen von #13#10 mit irgendwelchen "Pseudozeichen"("##") und das Rücktauschen, alles zum Zwecke, ein mehrzeiliges TMemo in einem IniFile zwischenzulagern funktioniert zur Zufriedenheit. Dafür erst mal - auch trotz der Einwände - vielen Dank!

Aber nun von mir zu gleicher Sache eine vollständige Konsternation, als ich diese Aufgabe zur Ausführung in eine "eigene" Klasse auslagerte.
Der Code ist hier angefügt:

[hier nochmal ausprobiert und Frage ünerarbeitet]

Delphi-Quellcode:
unit EB_Pat_Foto_Satz_U;

interface

uses
    variants, sysutils, classes, contnrs;

type
    TSatz = class(TObject)
    private
        ...
        FNotiz: string;
        ...
        ...
        function GetNotiz: string;
        ...
        procedure SetNotiz(const Value: string);
        ...
    public
        ...
        property Notiz: string read GetNotiz write SetNotiz;
        ...
    end;

implementation

uses EB_Pat_Foto_U, controls;
...

// das lesen und Schreiben in die Ini erfolgt über FNotiz
// also im Hauptprogramm über Satz.Notiz

function TSatz.GetNotiz: string;
begin
    result := StringReplace(FNotiz, '##', #13 + #10, [rfReplaceAll]);
    // damit liesst er nicht richtig in die TMemo zurück
    // ins Memo erhalte ich z.B. "Dieses##ist##ein##Vogel" zurück
    // also keinen Vierzeiler wie erwartet
end;

...

procedure TSatz.SetNotiz(const Value: string);
begin
    FNotiz := StringReplace(Value, #13 + #10,'##', [rfReplaceAll]);
    // damit schreibt er richtig in die Ini
    // Vom Vierzeiler aus dem TMemo
    // gelangt ins Ini z.B.:
    // [Tier]
    // Memo=Dieses##ist##ein##Vogel
end;

...

end.
über die SetNotiz wird das schreibfähige FNotiz richtig erzeugt,
also werden #13#10 gegen ## richtig ausgetauscht um als eine Zeile ins Ini zu gelangen
aber
über GetNotiz werden die Ersatzzeichen ## für die erneute Anzeige im TMemo
nicht zu #13#10 zurückgetauscht, um im TMemo als mehrzeiligen Text anzuzeigen

Habe ich da etwas falsch gemacht oder sie Get... und Set...Methoden nicht richtig verstanden?

Habt vielen Dank für Hilfe

E. B.
Wahre Aussage :=
Katzen, die bellen sind keine Kaninchen.

Der Kreisverkehr ist eine spezielle Form der Einbahnstraße
  Mit Zitat antworten Zitat