数据库保存字体,代码有点问题,请高人指点(34分)

  • 主题发起人 主题发起人 spary123
  • 开始时间 开始时间
S

spary123

Unregistered / Unconfirmed
GUEST, unregistred user!
我现作个数据库保存字体的简单程序,但是
procedure TForm1.Button1Click(Sender: TObject); //保存字体格式到数据库
var
tt: TMemorystream;
begin
if fontdialog1.Execute then
begin
tt:= tmemorystream.Create;
tt.Write(fontdialog1.Font,sizeof(Tfont));
adoquery1.Edit;
TBlobField(adoquery1.FieldByName('font')).LoadFromStream(tt);
adoquery1.Post;
tt.Free;
end;
end;

procedure TForm1.FormShow(Sender: TObject); //手工显示数据库字体格式
var
tt: TMemorystream;
font: Tfont;
begin
tt := TMemorystream.Create;
TBlobField(adoquery1.FieldByName('font')).SaveToStream(tt);
// if tt <> nil then
// begin
tt.Position:= 0;
tt.Read(font,sizeof(Tfont));
dbmemo1.Font.Assign(font);
// end;
end;

procedure TForm1.Button2Click(Sender: TObject);//想form显示时dbmemo1字体加载数据库格式
var
tt: TMemorystream;
font: Tfont;
begin
tt := TMemorystream.Create;
TBlobField(adoquery1.FieldByName('font')).SaveToStream(tt);
tt.Position:= 0;
tt.Read(font,sizeof(Tfont));
dbmemo1.Font.Assign(font);
dbmemo1.Update;
end;
整个编译过程都没有报错。
问题:程序运行,我在点击Button1Click选择字体保存到数据库。关闭。再运行.字体并没有变为我之前所设置的字体。,点击Button2Click,没有任何反应。也没报错。之后我再点击Button1Click1选择字体,然后点击Button1Click2,这时dbmemo1的字体变化了。但是关闭程序后还是没有变化。
请问这是什么原因?程序有问题?(由于主要再考虑方式是否可行,很多程序漏洞没在意)
不胜感激
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
952
SUNSTONE的Delphi笔记
S
后退
顶部