Hallo Stephan,
aber sicher!
Habe mich noch einmal ein bischen mit meinem Quelltext beschäftigt und muß mich korrigieren. Das formatierte Memo hatte nicht funktioniert, also habe ich jeden einzelnen Text samt Formatierung in einer Textdatei gespeichert. Der Name der Textdatei wird automatisch generiert, da ich mich um so etwas nicht kümmern will.
Verwendete Elemente:
edInfo : TRichEdit
Tab1 : TTable
sbSave : TSpeedButton
In Lang (Typ ftMemo) wird dabei der Inhalt von edInfo gespeichert. Sämtliche Angaben zu Schriftart, Größe, Farbe usw. bleiben erhalten.
Code:
procedure TFInfoFinder.Tab1AfterScroll(DataSet: TDataSet);
begin
....
s := TextPath + UPGenTextName(Tab1);
if FileExists(s)
then edInfo.Lines.LoadFromFile(s);
...
sbSave.Enabled := false;
end;
procedure TFInfoFinder.Tab1BeforeScroll(DataSet: TDataSet);
begin
if sbSave.Enabled then begin
....
edInfo.Lines.SaveToFile(TextPath + UPGenTextName(Tab1));
sbSave.Enabled := false;
end;
end;
function TFInfoFinder.UPGenTextName(Tab : TTable) : string;
var
s : string;
begin
s := IntToStr(Tab1.FieldByName('SvID').AsInteger);
while length(s) < 5 do s := '0' + s;
Result := cText + s + '.' + rtfext; // z.B. TXT00035.RTF
end;
procedure TFInfoFinder.edInfoChange(Sender: TObject);
var
posi : integer;
begin
if edInfo.Focused then begin
....
sbSave.Enabled := true;
end;
end;
Das Feld SvID wird automatisch erzeugt, beginnend bei Eins. Jeden Wert gibt es nur ein Mal.
TextPath gibt das Verzeichnis an, in dem die RTF-Dateien gespeichert werden.
mfg
eddy