怎么利用ini?(100分)

  • 主题发起人 主题发起人 悟空1
  • 开始时间 开始时间

悟空1

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在ini里保存改动的颜色和字体,请问怎么保存?类型是怎么转换的?
在读取的时候怎么改的?
 
ini 是个文本哪,也能换颜色?
 
阿?
老完怎么和我开这样的玩笑?
我当然是指鍀保存诸如label。color之类鍀
 
把值或者名字记下来就可以了呀
 
use Graphics单元,其中有stringtocolor,colortostring可以相互转换。
 
ini 好象没什么好说的吧~设计好了写就是咯
ps:偶还小,不要把我说老了 :)
 
老兄,那你不如用readcomponent和writecomponent喽,文件格式是.dat的,
用起来方便的很呢。具体的请参见帮助。
 
呵,你就象读文本文件一样嘛,程序打开时,把数据读进去,进行设置不就完了?INI有什么好
奇怪的,不过就是以INI结尾的文本文件呀!
 
[OTHERSET]
COLOR=0x00ABDDA4
或者
[OTHERSET]
COLOR=clBlack
 
//我写了一段程序解决你的问题-By SlowDown
//记得 uses inifiles;

procedure TForm1.ButtonRead(Sender: TObject);
var
MyIniFile:TIniFile;
begin
Myinifile:=TIniFile.Create('MyIniFileName.ini');

Edit1.Font.Name
:=MyIniFile.ReadString('StdFrmLayout_Common','DtlFont_Name','宋体');
Edit1.Font.CharSet
:=MyIniFile.ReadInteger('StdFrmLayout_Common','DtlFont_CharSet',134);
Edit1.Font.Color
:=MyIniFile.ReadInteger('StdFrmLayout_Common','DtlFont_Color',-2147483640);
Edit1.Font.Size
:=MyIniFile.ReadInteger('StdFrmLayout_Common','DtlFont_Size',9);
Edit1.Font.Height
:=MyIniFile.ReadInteger('StdFrmLayout_Common','DtlFont_Height',-12);

Myinifile.Free;
end;

procedure TForm1.ButtonWrite(Sender: TObject);
var
MyIniFile:TIniFile;
begin
Myinifile:=TIniFile.Create('MyIniFileName.ini');

MyIniFile.WriteString( 'Edit1_Font', 'Edit1_Font_Name', Edit1.Font.Name);
MyIniFile.WriteInteger( 'Edit1_Font', 'Edit1_Font_CharSet', Edit1.Font.CharSet);
MyIniFile.WriteInteger( 'Edit1_Font', 'Edit1_Font_Color', Edit1.Font.Color );
MyIniFile.WriteInteger( 'Edit1_Font', 'Edit1_Font_Size', Edit1.Font.Size );
MyIniFile.WriteInteger( 'Edit1_Font', 'Edit1_Font_Height',Edit1.Font.Height);

Myinifile.Free;
end;

//
 
哦,有点问题,ButtonRead中的字符 DtlFont 全改为 Edit1_Font
 
ini其实就是文本文件,按照普通读法就行了
但是参数如果比较多,最好设定“关键字”,也就是您老自己定的规则
 
有专门的api函数,就跟操作注册表的一样,看msdn的帮助吧!
 
不要写在ini里了,微软从win95以后就提倡把初始化信息什么的写到注册
表里。
 
奇怪!我刚发的信息怎么没收到,再发一次:
上面的程序还有点问题,ButtonRead中的字符 'StdFrmLayout_Common' 应全改为 'Edit1_Font'
它是代表SECTION
 
尽管ini用的不多,但有一点是不用检索庞大的注册表
 
记得以前有个贴子:记录如何在 INI 中保存/读取一个字体的信息,
好象叫 TIniPlus 什么的,其实道理很简单,定义一个自己的规则,
比如:Font = FontName, FontSize, FontColor 。然后读取串时析
分这个串就是了 -------- 充分利用 Pascal 的串性能!这东东比
char* 要快得多。
 
绿色软件需要INI文件而不是注册表操作。
 
INI文件中的注释语怎么写入呀?
例如:
;以下是保存颜色值
[OTHERSET]
COLOR=clBlack
 
后退
顶部