![]() |
AW: Funktion / Stream in Richmemo laden ( Lazarus )
Man könnte auch direkt die TField-Instanz übergeben:
Delphi-Quellcode:
procedure TDM.rtf_stream_load( aField: TField; ARichMemo: TCustomRichMemo);
Delphi-Quellcode:
DM.rtf_stream_load(tbl_testimony.FieldByName('TESTIMONY'),frm_testimony.RichMemo1);
|
AW: Funktion / Stream in Richmemo laden ( Lazarus )
Hört sich gut an.
Danke für den Tipp. Shalom Manfred |
AW: Funktion / Stream in Richmemo laden ( Lazarus )
Noch eine Frage
Habe eben diesen Post gefunden: ![]() Bietet TReader, TWriter vorteile gegenüber meiner gefundenn Lösung?
Delphi-Quellcode:
procedure TForm1.ButtonLadenClick(Sender: TObject);
Var Stream:TFilestream; begin Stream:=TFileStream.Create('D:\TestStream',fmOpenRead or fmShareDenyNone); try //TReader objekt erstellen und Daten aus den Stream laden with TReader.create(Stream,1024) do try Memo1.Text := ReadString; Edit1.Text := ReadString; SpinEdit1.Value := ReadInteger; CheckBox1.Checked := ReadBoolean; finally free; end; finally Stream.free; end; end;
Delphi-Quellcode:
procedure TForm1.ButtonSpeichernClick(Sender: TObject);
Var Stream:TFilestream; begin Stream:=TFileStream.Create('D:\TestStream',fmcreate); try //TWriter objekt erstellen und Daten in den Stream speichern with TWriter.create(Stream,1024) do try WriteString(Memo1.Text); WriteString(Edit1.Text); WriteInteger(SpinEdit1.Value); WriteBoolean(CheckBox1.Checked); finally free; end; finally Stream.free; end; end; |
AW: Funktion / Stream in Richmemo laden ( Lazarus )
Manfred, wieso probierst du nicht einfach die Universal-Lösung, die ich
![]()
Delphi-Quellcode:
Wenn du das Feld angibst, mußt du weder Tabellenname noch sonstwas übergeben, denn das Feld führt ja ein Property mit, welches das Dataset beinhaltet: Feld.Dataset. Du mußt also nicht mit der Kirche ums ganze Dorf fahren :)
Procedure TForm1.AufrufendeMethode(Sender : TObject);
Var Feld : TField; S : TMemoryStream; begin S := TMemoryStream.Create; Try Feld := DatenModul.MyQuery.FieldByName('MeinBlobFeld'); // oder wie auch immer deine Tabellenkomponente und dein Blobfeld benannt sind Memo.Lines.SaveToStream(S); If Not DatenModul.StreamToBlob(S,Feld) Then ShowMessage('Fehler'); // oder eben ein globaler Fehlerstring, wie ich ihn verwende Finally S.Free; End; end; Ungetestet, da nur schnell als Beispiel reingetippt ... |
AW: Funktion / Stream in Richmemo laden ( Lazarus )
Hallo Perlsau
Hab Deinen Vorschlag nicht vergessen und auch schon ausprobiert. "Meine" urspründliche Lösung war für mich nur verständlicher. Aber ich versuche auch gerne die von Dir nochmals angepasste Version. Danke Nochmals für Deinen Tipp. :thumb: Zitat:
Shalom Manfred |
AW: Funktion / Stream in Richmemo laden ( Lazarus )
Ich weiß ja nicht, ob das unter Lazarus auch geht, aber ein ganz simples
Delphi-Quellcode:
macht das unter Delphi genauso (ist nur kürzer in der Schreibweise).
RichMemo1.Lines.Assign( DBField1 );
Und zurück geht das mit
Delphi-Quellcode:
.
DBField1.Assign(RichMemo1.Lines);
|
AW: Funktion / Stream in Richmemo laden ( Lazarus )
Delphi-Quellcode:
Sieht ja super kurz aus. :-D
RichMemo1.Lines.Assign( DBField1 )
Erhalte aber den Fehler : Cannot assign a TDAField to a TWin32RichMemoString. Muss das Morgen mal anschauen. |
AW: Funktion / Stream in Richmemo laden ( Lazarus )
Funktioniert es mit RichMemo1.Lines.Assign( DBField1.asString ) ?
|
AW: Funktion / Stream in Richmemo laden ( Lazarus )
Voraussetzung dafür ist natürlich das Lines ein Nachfahr von
Delphi-Quellcode:
ist und das Feld ein
TStrings
Delphi-Quellcode:
.
TBlobField
So geht es auf jeden Fall mit Delphi, dort findet man das in den Sourcen bei
Delphi-Quellcode:
und
TBlobField.Assign
Delphi-Quellcode:
.
TBlobField.AssignTo
|
AW: Funktion / Stream in Richmemo laden ( Lazarus )
Habe es getestet:
Delphi-Quellcode:
Erhalte aber leider die Fehlermeldung:
frm_testimony.RM_Testimony.Lines.Assign( tbl_testimony.FieldByName('TESTIMONY').AsString)
Error: Incompatible type for arg no. 1: Got "WideString", expected "TPersistent" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz