Delphi中可以对DFM文件进行流操作,现在要解决以下问题:
1)不用delphi自动生成的窗体DFM保存信息,而是自己建立一个DFM文件,请问怎样建立,并对自己建立的DFM文件进行流操作,用来保存信息。
即:重载过程:procedure DefineProperties(Filer: TFiler); override;
怎样重载才能实现对自己建立的DFM文件进行访问,是不是只能访问Delphi默认的DFM文件?
2)用于保存大量的数据信息,到底是用*.ini文件好,还是用.dfm文件好呢?请兄弟们指教,一定给分,决不失言!谢谢
1)不用delphi自动生成的窗体DFM保存信息,而是自己建立一个DFM文件,请问怎样建立,并对自己建立的DFM文件进行流操作,用来保存信息。
即:重载过程:procedure DefineProperties(Filer: TFiler); override;
怎样重载才能实现对自己建立的DFM文件进行访问,是不是只能访问Delphi默认的DFM文件?
2)用于保存大量的数据信息,到底是用*.ini文件好,还是用.dfm文件好呢?请兄弟们指教,一定给分,决不失言!谢谢
解决方案 »
- 关于程序反调试的问题!
- 变量的引用
- 在Sql语言中的取整函数是什么?
- 2000下屏蔽Ctrl+Alt+Del,高分相送,解决立即给分
- 请问c中的getch()在pascal中如何表示?!
- ##### 谁有废弃了的 CPU ?我想要` !!!!!!
- 请高手多多指教!关于Listbox的操作,谢谢!
- 紧急求助:关于corba data module 内的database 构件新增接口问题
- 请教导出EXCEL时切换其他EXCEL报错的问题
- 各位救急,急急急急急delphi连接sql server数据库的问题
- 有哪位高手用过TBARCODECTRL,为什么我无法打印!
- 如何改变PageContrl中各TabSheet的Caption的颜色?
你在运行时, 使用dfm并不能带来什么好处, 除非你连delphi的编译器都带了!!>>1)不用delphi自动生成的窗体DFM保存信息,而是自己建立一个DFM文件,请问怎样建立,并对自己建立的DFM文件进行流操作,用来保存信息。我也在研究中!!还没有进展!!
那第一个问题呢?有没有知道的?
自己顶一下,上去!
标题:处理窗体代码
说明:既dfm格式;本函数来源于Delphi帮助
设计:Zswang
日期:2002-01-25
支持:[email protected]
//*)///////Begin Source
function ComponentToString(Component: TComponent): string;
var
BinStream: TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result := StrStream.DataString;
finally
StrStream.Free;
end;
finally
BinStream.Free
end;
end; { ComponentToString }function StringToComponent(Value: string; Instance: TComponent): TComponent;
//如果元件是嵌套形式则必须注册子元件类
//参考RegisterClasses();UnRegisterClasses()
var
StrStream: TStringStream;
BinStream: TMemoryStream;
begin
StrStream := TStringStream.Create(Value);
try
BinStream := TMemoryStream.Create;
try
ObjectTextToBinary(StrStream, BinStream);
BinStream.Seek(0, soFromBeginning);
Result := BinStream.ReadComponent(Instance);
finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end; { StringToComponent }
///////End Source///////Begin Demo
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Text := ComponentToString(Edit1);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
StringToComponent(Memo1.Text, Edit1);
end;
///////End Demo
Memo1.Lines.LoadFromFile('一个DFM文件');
怎么样,就是文本文件嘛再试一下:
把Memo1中的内容修改一下,然后
Memo1.Lines.SaveToFile('同一个或另一个DFM文件');
只要你修改得当,在Delphi里绝对可以正常显示DFM就是文本文件嘛