Üdv Mindenkinek!
Egy RichMemo komponensből szeretnék Firebird adatbázisba menteni. Ezt az alábbi kóddal sikerült megoldani, azonban a formázások nem kerülnek mentésre. File-ba mentve sikerül a formázásokat is tárolni és a visszatöltés alkalmával helyesen jelenik meg a szöveg, adatbázisból visszatöltve azonban csupán egyszerű szövegként tudom visszatölteni a dokumentumokat. Az adatbázisban egy BLOB SUB_TYPE 0 SEGMENT SIZE 80 mezőt használok a tárolásra, a Lazarus-ban pedig Zeos komponenseket. Számos helyen keresgéltem már a neten, de megoldásra nem bukkantam. Valakinek lenne valami jó ötlete?
procedure TForm1.BitBtn6Click(Sender: TObject);
var st: TMemoryStream;
begin
if (not DataModule1.ZC1.InTransaction) then DataModule1.ZC1.StartTransaction;
st:=TMemoryStream.Create;
RichMemeo1.Lines.SaveToStream(st);
st.Position:=0;
DataModule1.ZQBlob.Close;
DataModule1.ZQBlob.SQL.Clear;
DataModule1.ZQBlob.SQL.Add('INSERT INTO tabla2 (iktato,panasz) VALUES (:p0,:p1)');
DataModule1.ZQBlob.Parambyname('p0').AsInteger:=DataModule1.ZQTabla1.FieldByName('iktato').AsInteger;
DataModule1.ZQBlob.Parambyname('p1').LoadFromStream(st, ftBlob);
DataModule1.ZQBlob.ExecSQL;
if DataModule1.ZC1.InTransaction then begin DataModule1.ZC1.Commit; ShowMessage('Tárolás megtörtént'); end;
DataModule1.ZQBlob.Close;
st.Free;
end;