封装 INI 文件读写函数
delphi读写ini文件实例
//--两个过程,主要实现:窗体关闭的时候,文件保存界面信息;窗体创建的时候,程序读取文件文件保存的信息。 //--首先要uses IniFiles(单元)
//--窗体创建的时候,读取ini文件信息 procedure TfrmAFN04H_F9.FormCreate(Sender: TObject);
var
vFIni: TIniFile;
sFileName: string;
begin
sFileName := ExtractFileDir(Application.ExeName);
if Copy(sFileName, Length(sFileName) - 1, 1) = '/' then
sFileName := sFileName + 'saveInformation.ini'
else
sFileName := sFileName + '/' + 'saveInformation.ini'; vFIni := TIniFIle.Create(sFileName);
Edit1.Text := vFIni.ReadString('AFN04F7', 'Edit1', '0');
Edit2.Text := vFIni.ReadString('AFN04F7', 'Edit2', '0');
Edit3.Text := vFIni.ReadString('AFN04F7', 'Edit1', '0');
Edit4.Text := vFIni.ReadString('AFN04F7', 'Edit4', '0'); end; //--窗体关闭的时候,文件保存界面信息; procedure TfrmAFN04H_F9.FormClose(Sender: TObject;
var Action: TCloseAction);
var
sFileName: string;
vFIni: TIniFile;
iTmp, i: integer;
name: string;
begin //写配置文件
sFileName := ExtractFileDir(Application.ExeName);
if Copy(sFileName, Length(sFileName) - 1, 1) = '/' then
sFileName := sFileName + 'saveInformation.ini'
else
sFileName := sFileName + '/' + 'saveInformation.ini'; vFIni := TIniFIle.Create(sFileName);
try
vFIni.WriteString('AFN04F9', 'Edit1', Edit1.Text);
vFIni.WriteString('AFN04F9', 'Edit2', Edit2.Text);
vFIni.WriteString('AFN04F9', 'Edit3', Edit3.Text);
vFIni.WriteString('AFN04F9', 'Edit4', Edit4.Text);
finally
vFIni.Free;
end;
end;
[delphi] view plaincopy
uses IniFiles; //简单数据类型
TSimpleType = (stInt, stFloat, stString, stDateTime, stDate, stTime, stBoolean); function ReadIniValue(const FileName, Section, Name: string;
SimpleType: TSimpleType; DefaultValue: Variant): Variant;
// 读Ini文件的函数
// FileName:Ini文件名
// Section:节点
// Name:字段名
// SimpleType:简单数据类型
// DefaultValue:默认值
// 返回变体类型
begin
with TIniFile.Create(FileName) do
try
if SimpleType = stString then
Result := ReadString(Section, Name, DefaultValue)
else if SimpleType = stInt then
Result := ReadInteger(Section, Name, DefaultValue)
else if SimpleType = stFloat then
Result := ReadFloat(Section, Name, DefaultValue)
else if SimpleType = stDateTime then
Result := ReadDateTime(Section, Name, DefaultValue)
else if SimpleType = stDate then
Result := ReadDate(Section, Name, DefaultValue)
else if SimpleType = stTime then
Result := ReadTime(Section, Name, DefaultValue)
else if SimpleType = stBoolean then
Result := ReadBool(Section, Name, DefaultValue);
finally
Free;
end; procedure WriteIniValue(const FileName, Section, Name: string;
Value: Variant; SimpleType: TSimpleType);
// 写INI文件的函数
// FileName:Ini文件名
// Section:节点
// Name:字段名
// Value:字段值
// SimpleType:简单数据类型
begin
with TIniFile.Create(FileName) do
try
if SimpleType = stString then
WriteString(Section, Name, VarToStr(Value))
else if SimpleType = stInt then
WriteInteger(Section, Name, Value)
else if SimpleType = stFloat then
WriteFloat(Section, Name, Value)
else if SimpleType = stDateTime then
WriteDateTime(Section, Name, VarToDateTime(Value))
else if SimpleType = stDate then
WriteDate(Section, Name, VarToDateTime(Value))
else if SimpleType = stTime then
WriteTime(Section, Name, VarToDateTime(Value))
else if SimpleType = stBoolean then
WriteBool(Section, Name, Value);
finally
Free;
end; end; 调用范例: WriteIniValue('c:/config.ini','constring','db','aaa',stString); WriteIniValue('c:/config.ini','constring','port',1,stInt); ReadIniValue('c:/config.ini','constring','dbname',stString,'misdate'); ReadIniValue('c:/config.ini','constring','connect',stInt,-1);
WriteIniValue('c:/中国烂鞋.ini','锅家队','猪教练','郭十二',stString); WriteIniValue('c:/中国烂鞋.ini','锅家队','平均罚球',1,stInt); ReadIniValue('c:/中国烂鞋.ini','锅家队','猪教练',stString,'郭12'); ReadIniValue('c:/中国烂鞋.ini','锅家队','平均罚球',stInt,-1);
[delphi] view plaincopy
1.Delphi读写ini文件需要引用'IniFiles'单元
2.定义变量:
Var
Filename:string;
myinifile:Tinifile;
3.变量附值
Filename:=ExtractFilePath(Paramstr(0))+'program.ini';//指明路径.如果不指明路径.文件将在windows目录建立
myinifile:=Tinifile.Create(Filename);//Create('program.ini');
4.写入文件
myinifile.writestring(小节名,关键字,变量或者字符串值);
myinifile.writeinteger(小节名,关键字,变量或者整数数值);
myinifile.writenbool(小节名,关键字,变量或者True/False);
如果ini文件不存在的时候.会自动创建该ini文件
5.删除关键字
myinifile.DeleteKey(小节名,关键字);
6.删除小节
myinifile.EraseSection(小节名);
7.释放变量
myinifile.distory;
8.其他
Tinifile类还提供了3种对象方法来操作ini文件
①myinifile.readsection(小节名,TStrings变量);可将指定小节中的所有关键字名读取至一个字符串列表变量中;
②myinifile.readsections(TStrings变量);可将INI文件中所有小节名读取至一个字符串列表变量中去.
③myinifile.readsectionvalues(小节名,TStrings变量);可将INI文件中指定小节的所有行(包括关键字、=、值)读取至一个字符串列表变量中去. 9. delphi读写ini文件实例
//--两个过程,主要实现:窗体关闭的时候,文件保存界面信息;窗体创建的时候,程序读取文件文件保存的信息。
//--首先要uses IniFiles(单元)
//--窗体创建的时候,读取ini文件信息 procedure TfrmAFN04H_F9.FormCreate(Sender: TObject);
var
vFIni: TIniFile;
sFileName: string;
begin
sFileName := ExtractFileDir(Application.ExeName);
if Copy(sFileName, Length(sFileName) - 1, 1) = '/' then
sFileName := sFileName + 'saveInformation.ini'
else
sFileName := sFileName + '/' + 'saveInformation.ini'; vFIni := TIniFIle.Create(sFileName);
Edit1.Text := vFIni.ReadString('AFN04F7', 'Edit1', '0');
Edit2.Text := vFIni.ReadString('AFN04F7', 'Edit2', '0');
Edit3.Text := vFIni.ReadString('AFN04F7', 'Edit1', '0');
Edit4.Text := vFIni.ReadString('AFN04F7', 'Edit4', '0'); end; //--窗体关闭的时候,文件保存界面信息; procedure TfrmAFN04H_F9.FormClose(Sender: TObject;
var Action: TCloseAction);
var
sFileName: string;
vFIni: TIniFile;
iTmp, i: integer;
name: string;
begin //写配置文件
sFileName := ExtractFileDir(Application.ExeName);
if Copy(sFileName, Length(sFileName) - 1, 1) = '/' then
sFileName := sFileName + 'saveInformation.ini'
else
sFileName := sFileName + '/' + 'saveInformation.ini'; vFIni := TIniFIle.Create(sFileName);
try
vFIni.WriteString('AFN04F9', 'Edit1', Edit1.Text);
vFIni.WriteString('AFN04F9', 'Edit2', Edit2.Text);
vFIni.WriteString('AFN04F9', 'Edit3', Edit3.Text);
vFIni.WriteString('AFN04F9', 'Edit4', Edit4.Text);
finally
vFIni.Free;
end;
end;
封装 INI 文件读写函数的更多相关文章
- QSettings配置读写-win注册表操作-ini文件读写
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSettings配置读写-win注册表操作-ini文件读写 本文地址:http:// ...
- [IO] C# INI文件读写类与源码下载 (转载)
/// <summary> /// 类说明:INI文件读写类. /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:[url]http://www.sufei ...
- C#对INI文件读写
C#本身没有对INI格式文件的操作类,可以自定义一个IniFile类进行INI文件读写. using System; using System.Collections.Generic; using S ...
- VC++ 实现INI文件读写操作
转载:https://blog.csdn.net/fan380485838/article/details/73188420 在实际项目开发中,会用ini配置文件,在此总结一下对ini读写操作 一:读 ...
- ini文件读写 保存上次存储内容
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- (转载)C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind
http://blog.sina.com.cn/s/blog_61437b3b0102v0bt.html http://blog.csdn.net/chenwk891/article/details/ ...
- C文件读写函数介绍(转)
1.fopen() fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能:为使用而打开一个流,把一个文件和此 ...
- C#实现.ini文件读写操作
1.ini文件是什么? 见百度百科:https://baike.baidu.com/item/ini%E6%96%87%E4%BB%B6/9718973?fr=aladdin 2.C#语 ...
- C# INI文件读写类
public class Ini { // 声明INI文件的写操作函数 WritePrivateProfileString() [System.Runtime.InteropServices.DllI ...
随机推荐
- [jQueryUI] – Chosen:select下拉选择框美化插件及问题
Chosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的.很长的select选择框变的更好看.更方便.不仅如此,它更扩展了select,增加了自动筛选的功能.它可对列表进行分组, ...
- CharSequence的getText()与String的getString()(转)
CharSequence的getText()与String的getString()『Android系列七』 曾经在学习中碰见两种获取常量的方式: CharSequence chrs = getText ...
- Web安全检测工具的使用.
Nikto2 Nikto2是一款使用perl语言写的多平台扫描软件,是一款命令行模式的工具,它可以扫描指定主机的WEB类型 主机名.特定目录.Cookie.特定CGI漏洞.XSS漏洞.sql注入漏洞. ...
- 2015 HDU 计算机学院 院赛 1003 玩骰子
Problem Description Nias与Ains都特别喜欢玩骰子,而且都自以为比对方玩得更溜. 终于有一天,他们决定用骰子来一决高下! 一般的骰子玩法已经不足以体现他们的水平了,于是 ...
- PHP文件夹操作
文件:文件+目录 判断文件类型: filetype("路径"); //返回一个字符串 is_dir("路径"); //如果是目录会返回true 判断文件是不是目 ...
- Codeforces Round #369 (Div. 2) C. Coloring Trees (DP)
C. Coloring Trees time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- iOS之Xcode修改应用图标
随便找一个PNG为后缀的图标, 把它重命名为 icon.png 就可以了. 再次启动 IPhone 模拟器. 就成功了. 及时尺寸不符合审核规范,也是可以显示出来的,供测试效果吧. 为iPhone设 ...
- CodeForces 660D Number of Parallelograms
枚举两点,确定一条线段,计算每条线段的中点坐标. 按线段中点坐标排个序.找出每一种坐标有几个. 假设第x种坐标有y个,那么这些线段可以组成y*(y-1)/2种平行四边形. 累加即可. #include ...
- (简单) ZOJ 3209 Treasure Map , DLX+精确覆盖。
Description Your boss once had got many copies of a treasure map. Unfortunately, all the copies are ...
- LWIP_STM32_ENC28J60_NETCONN_TCP_CLIENT(4)
既然udp说完了,那接下来自然就是TCP通讯了,今天说说TCP客户端通讯,也就是单片机作为客户端,主机PC作为服务器 相比于udp而言,tcp增加了一个连接服务器的流程,首先还是创建tcp_clien ...