那位仁兄有 关于从.INI 文件中读取值设置DEGRID的TITLE CAPTION 的资料,请不啬赐教.

eire 2000-07-17 01:46:00
??!!
...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
eire 2000-07-18
  • 打赏
  • 举报
回复
谢谢GH1976 仁兄,想与你交个朋友,你有ICQ吗?
蝈蝈俊 2000-07-17
  • 打赏
  • 举报
回复
关于如何在应用程序中对INI类型的配置文件进行操作?

INI文件在Win16中被广泛使用。但由于INI文件的局限性,无法保存大量的数据和一些类似二进制串等,在WIN32中逐渐被注册表所代替。然而在小型的应用程序中,使用INI文件却是一个不错的想法。因为它比较小,结构也简单,容易理解,即使操作错误也对整个系统构不成什么重大影响,独立性比较好。

下面是一个完整的例子,它介绍了一个INI文件的基本使用方法,让初入门的读者对它有一个简单的认识。而且这个例程的结构性还算不是很糟,应该是很容易理解的。

例子中先是用 USE 引用了 INI 的代码单元,如红色粗字体所示。

我们在窗体上放了两上按钮,按钮1是用来往INI文件里写信息的,按钮2则从中读出来。

从中可以看出,INI文件在读写之前要先建一个变量将它联系起来,再进行读写。在读写完之后及时进行释放,以使信息可以准确的写进INI文件中。例如:
FINI.WriteString('MainGrou', 'SubStr', 'This is a string.');
这一句,'MainGrou'是它的主键,也就是在INI文件中用中括号括着的。'SubStr'是子键,它隶属于一个指定的主键,在INI文件中显示成一个在等号前面的字符串。'This is a string.'是这个子键的值。对于一个指定的INI文件,只可有一个指定名称的主键,而每一个不同的主键则可以用同名的子键保存各自的信息而不互相干扰。

在程序中,我们用 Try..Finally 语句来确保无论任何情况下它都能够得到释放,这的确是个好主意,其它一些应该释放的东西也应该这么做的。

按钮2中我们读出了INI文件的内容。我们注意到Read...()函数的第三个参数,那是它的默认值,也就是如果在INI文件中并没有此子键,就用这个默认值作为返回值。我们读出 V3 后进行判断,如果是TRUE则读一个字符串进行显示,否则读两个整数并取和显示出来。

因为经常引用到 FINI 这个变量,在按钮2中我们用 With 使整个程序看起来更加直接,结构更加明确,但要注意,应用 With 应该适当,不要太滥,如果这样只会让程序更加难看,有时还会引起引用错乱。



unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, INIFiles;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
Var
FINI : TINIFile;
begin
FINI := TINIFile.Create('C:\Test.INI');
Try
FINI.WriteString('MainGrou', 'SubStr', 'This is a string.');
FINI.WriteInteger('MainGrou', 'Int1', 88);
FINI.WriteInteger('MainGrou', 'Int2', 345);
FINI.WriteBool('MainGrou', 'Bool', True);
Finally
FINI.Destroy;
End;
end;

procedure TForm1.Button2Click(Sender: TObject);
Var
FINI : TINIFile;
V1, V2 : Integer;
V3 : Boolean;
V4 : String;
begin
FINI := TINIFile.Create('C:\Test.INI');
With FINI do
Try
V3 := ReadBool('MainGrou', 'Bool', True);
If V3 then
begin
V4 := ReadString('MainGrou', 'SubStr', 'Read Error.');
ShowMessage(V4);
end
else
begin
V1 := ReadInteger('MainGrou', 'Int1', 0);
V2 := ReadInteger('MainGrou', 'Int2', 0);
ShowMessage(IntToStr(V1+V2));
end;
Finally
Destroy;
End;
end;

end.

自后你设置一下dbgrid属相就可。
蝈蝈俊 2000-07-17
  • 打赏
  • 举报
回复
????
1、degird??????dbgrid????
读出来设置呀,具体你要读的代码还是设置的代码??

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧