Delphi Tips 
-----------------------------

0217  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 1999/08/26 西坂良幸 rev 1.2
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 1999/08/26 西坂良幸 編集
書式付きメモ型項目へアクセスしたい


ヘルプなどでは、Streamをつかった方法が紹介されています。

DataSet.FieldByName('Field1').AsString := RichEdit1.Text;

DataSet.FieldByName('Field1').AsVariant := RichEdit1.Text;

では、PlainText となり、書式が保存されません。

 Field1  書式付きメモ型とし、
 DataSetは開かれているとします。

// リッチエディットからフィールドへの書き込み
procedure TForm1.Button8Click(Sender: TObject);
var
  Stream1 : TMemoryStream;
begin
  Stream1 := TMemoryStream.Create;
  try
    RichEdit1.Lines.SavetoStream(Stream1);
    Query1.Edit;
    TBlobField(Query1.FieldByName('Field1')).LoadFromStream(Stream1);
    Query1.Post;
  finally
    Stream1.Free;
  end;
end;

// フィールドからリッチエヂットへの読み出し
procedure TForm1.Button4Click(Sender: TObject);
var
  Stream1 : TBlobStream;
begin
  Stream1 := TBlobStream.Create(TBlobField(Query1.FieldByName('Field1')), bmRead);
  try
    RichEdit1.Lines.LoadFromStream(Stream1);
  finally
    Stream1.Free;
  end;
end;


TRichEdit系は、いくつかのバグが報告されています。
データが大きくなるとヤバイという噂です。
D4では、大部改善されたようですが、気をつけて下さい。

バグ情報は
http://www.dataweb.nl/~r.p.sterkenburg/indexpag.htm
参照: [Delphi-ML:5484] [Delphi-ML:41858] <データベース> <DataAccess> <コンポーネント >

[新規作成] [最新の情報に更新]

How To
Lounge
KeyWords


Tips
Delphi
Home
Osamu Takeuchi osamu@big.or.jp