大家好!我是个delphi初学者,请多多赐教!
为什么打开.dfm文件后,原来的汉字都变成#*****(5个数字)表示了?如何解决?谢谢!
为什么打开.dfm文件后,原来的汉字都变成#*****(5个数字)表示了?如何解决?谢谢!
解决方案 »
- 妹妹又要麻烦高手了~~还是ADOQuery1的问题,但是问题水平提高了一点点滴~~~
- 帮忙解释一下FormShow和FormCreate这两个事件 的区别,我老觉得这两者差不多,谢谢啦!
- 有关 TADOConnection 重新连接的问题。
- 小问题?20分
- TDateTimerPicker的DATE值的问题。
- 怎么在备注拦里加入图片?象word加入图片那样?
- 兄弟救命啊,
- 今日与朋友讨论如何让程序自动删除,自己找到一个简单的方法,拿出来与大家分享一下!
- 将计算结果赋值一变量!
- 转载。。。。密码窗口(作者:wxtang)
- 有没有代替计算字段的方法?
- 如何用adoquery选取编号最大的一条记录?
object FrmMain: TFrmMain
Left = 158
Top = 129
Width = 848
Height = 463
Caption = '单据设计工具'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
OnMouseDown = FormMouseDown
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel我用delphi打开没事啊......
.dfm文件是窗体文件的记录
给你一段样关的东东看看
1. 动态DFM文件概述
动态DFM文件是相对于静态DFM文件而言。所谓静态DFM文件是指在Delphi开发环境
中设计的窗体文件。窗体的设计过程就是程序的编制过程。因此,动态DFM文件就是指
在程序运行过程生成或存取的DFM文件。
动态DFM文件的创建和使用分别如下两种情况:
● 在程序运行过程中,由Create方法动态生成窗体或部件,然后动态生成其它部
件插入其中生成DFM文件
● 在Delphi开发环境中,设计生成DFM文件,然后用DFM 文件存取函数,或者用Str
eam对象和Filer对象的方法,将DFM文件读入内存,进行处理,最后又存入磁盘中 由Delphi的窗体设计的常规方法生成的DFM文件在程序运行一开始就规定了部件的
结构。因为在窗体设计过程中,窗体中的每个部件都在程序的对象声明中定义了部件变
量。这种固定的结构虽然能方便应用,但以牺牲灵活性为代价。
在Delphi应用程序中有时需要在运行过程中创建控制,然后将该控制插入另一个部
件中。例如:
procedure TForm1.Button1Click(Sender: Tobject);
var
Ctrl: TControl
begin
Ctrl := TEdit.Create(Self);
Ctrl.Top := 100;
Ctrl.Left := 100;
Ctrl.Width := 150;
Ctrl.Height := 20;
InsertControl(Ctrl);
end; 动态插入控制的优点是可以在任何时刻、任意位置插入任意数量的任何类型的控
制。因为应用程序需求在很多情况下是在程序运行中才知道的,所以动态插入控制就显
得很重要。而且在很多情况下,需要保存这些界面元素,留待程序再次调用。例如应用
程序界面的定制、系统状态的保存、对话框的保存等。这时生成动态DFM文件是最佳选
择。
动态插入控制的不足之处是在插入控制前,无法直观地看到控制的大小、风格、位
置等,也就是动态插入控制的过程是非可视化的。但可以借助于静态DFM文件的可视化
设计。这就是生成和使用动态DFM文件的第二种方法。也就是在应用程序运行前,在Delp
hi开发环境中,使用可视化开发工具设计所需窗口或部件的样式,以DFM文件保存。然
后在应用程序运行过程中,将DFM文件读入内存。Delphi的Stream对象和Filer对象在读
取DFM文件时,会根据DFM文件的内容自动创建部件及其拥有的所有部件。
在使用动态DFM文件时有两点需要注意。
● 每一个动态插入的控制或部件必须在程序中调用RegisterClass进行注册
● 读入DFM文件自动创建部件后,如果调用了InsertControl方法, 则在关闭窗口
时要调用RemoveControl方法移去该控制,否则会产生异常事件 2. 动态DFM文件应用之一:超媒体系统的卡片设计
Delphi多种类型的可视部件,如文本部件、编辑部件、图形图像部件、数据库部
件、媒体媒放部件和OLE部件等,每一种部件在屏幕中占据一定的区域,具有相当丰富的
表现能力,可以作为卡片中的一种媒体,因此可以利用这些可视部件进行超媒体系统的
卡片设计。
超媒体卡片设计要求卡片中的媒体数目和媒体种类是不受限制的,而且必须能够修
改和存取卡片,因此,采用动态DFM文件是比较合适的。而且如果利用Stream对象,将卡
片存储在数据库BLOB字段中,就为把超文本与关系数据库技术结合起来创造了契机。