创建mysql配置⽂件_创建数据库配置⽂件ini(转)
⼀、有必要了解INI⽂件的结构:
;注释
[⼩节名]
关键字=值
...
---- INI⽂件允许有多个⼩节,每个⼩节⼜允许有多个关键字, “=”后⾯是该关键字的值。
---- 值的类型有三种:字符串、整型数值和布尔值。其中字符串存贮在INI⽂件中时没有引号,布尔真值⽤1表⽰,布尔假值⽤0表⽰。
---- 注释以分号“;”开头。
⼆、定义
---- 1、在Interface的Uses节增加IniFiles;
---- 2、在Var变量定义部分增加⼀⾏:
myinifile:Tinifile;
---- 然后,就可以对变量myinifile进⾏创建、打开、读取、写⼊等操作了。
三、打开INI⽂件
myinifile:=ate('program.ini');
--- 上⾯这⼀⾏语句将会为变量myinifile与具体的⽂件 program.ini建⽴联系,然后,就可以通过变量myinifile,来读写program.ini⽂件中的关键字的值了。
---- 值得注意的是,如果括号中的⽂件名没有指明路径的话,那么这个Program.ini⽂件会存储在Windows⽬录中,把Program.ini⽂件存储在应⽤程序当前⽬录中的⽅法是:为其指定完整的路径及⽂件名。下⾯的两条语句可以完成这个功能:
Filename:=ExtractFilePath(Paramstr(0))+'program.ini';
php编程安装教程
myinifile:=Tinifile.Create(filename);
四、读取关键字的值
--- 针对INI⽂件⽀持的字符串、整型数值、布尔值三种数据类型,TINIfiles类提供了三种不同的对象⽅法来读取INI⽂件中关键字的值。
文本文件 fread--- 假设已定义变量vs、vi、vb分别为string、 integer、boolean类型。
vs:=myinifile.Readstring('⼩节名','关键字',缺省值);
vi:=myinifile.Readinteger('⼩节名','关键字',缺省值);
vb:=myinifile.Readbool('⼩节名','关键字',缺省值);
--- 其中缺省值为该INI⽂件不存在该关键字时返回的缺省值。
五、写⼊INI⽂件
---- 同样的,TInifile类也提供了三种不同的对象⽅法,向INI⽂件写⼊字符串、整型数及布尔类型的关键字。
myinifile.writestring('⼩节名','关键字',变量或字符串值);
myinifile.writeinteger('⼩节名','关键字',变量或整型数值);
myinifile.writebool('⼩节名','关键字',变量或True或False);
---- 当这个INI⽂件不存在时,上⾯的语句还会⾃动创建该INI⽂件。
六、删除关键字
---- 除了可⽤写⼊⽅法增加⼀个关键字,Tinifile类还提供了⼀个删除关键字的对象⽅法:
myinifile.DeleteKey('⼩节名','关键字');
七、⼩节操作
--- 增加⼀个⼩节可⽤写⼊的⽅法来完成,删除⼀个⼩节可⽤下⾯的对象⽅法:
myinifile.EraseSection('⼩节名');
--- 另外Tinifile类还提供了三种对象⽅法来对⼩节进⾏操作:
--- adsection('⼩节名',TStrings变量);可将指定⼩节中的所有关键字名读取⾄⼀个字符串列表变量中;
--- adsections(TStrings变量);可将INI⽂件中所有⼩节名读取⾄⼀个字符串列表变量中去。
---- adsectionvalues('⼩节名',TStrings变量);可将INI⽂件中指定⼩节的所有⾏(包括关键字、=、值)读取⾄⼀个字符串列表变量中去。
⼋、释放
在适当的位置⽤下⾯的语句释放myinifile:
myinifile.distory;
九、⼀个实例
---- 下⾯⽤⼀个简单的例⼦(如图),演⽰了建⽴、读取、存贮INI⽂件的⽅法。myini.ini⽂件中包含有“程序参数”⼩节,和⽤户名称(字符串)、是否 正式⽤户(布尔值)和已运⾏时间(整型值)三个关键字。程序在窗体建⽴读取这些数据,并在窗体释放时写myini.ini⽂件。
--- 附源程序清单
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
mysql无法连接到服务器inifiles, //配置操作⽂件
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
CheckBox1: TCheckBox;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Timer1: TTimer;
Label3: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;xml所见即所得编辑工具
implementation
var
myinifile:TInifile;
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
filename:string;
begin
filename:=ExtractFilePath(paramstr(0))+'myini.ini';
myinifile:=TInifile.Create(filename);
edit1.Text:= adstring('程序参数','⽤户名称','缺省的⽤户名称'); := adinteger('程序参数','已运⾏时间',0)); checkbox1.Checked:= adbool('程序参数','是否正式⽤户',False); end;
procedure TForm1.FormDestroy(Sender: TObject);
python replace函数替换多个字符begin
myinifile.writestring('程序参数','⽤户名称',edit1.Text);
myinifile.writeinteger('程序参数','已运⾏时间',)); myinifile.writebool('程序参数','是否正式⽤户',checkbox1.Checked); myinifile.Destroy;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
edit2.Text:=inttostr()+1);
end;
end.
===================================================================================
在数据库应⽤程序的开发过程中,应⽤程序端和数据库服务器之间的连接⽅式是开发⼈员必须考虑的⼀个问题。很多情况都是开发⼈员编程时在设计期间配置好应⽤程序与数据库的连接,程序完成后打包⽣成安装⽂件,再在各客户端的计算机上安装。在这种情况下,要求数据库服务器及数据库都不能变动,否则客户端程序就⽆法连接到数据库服务器,从⽽造成应⽤程序⽆法使⽤。如果能够不论数据库服务器及数据库如何变动,都可以在各客户端配置数据库连接的话,就可以很好地解决这个问题,并且能够让开发出来的应⽤程序更加灵活,具有更好的移植性能。
数据库应⽤程序的开发⼯具中,delphi以快速、⽅便以及易于调试等优点⽽成为很多开发⼈员的⾸选⼯具。利⽤delphi,可以很⽅便地在应⽤程序客户端动态配置数据库连接。
⾸先有必要简单介绍⼀下ini配置⽂件的结构。
ini⽂件⼀般都有⼏个⼩节,每个⼩节可以有数个关键字,其格式为:
〔⼩节〕
关键字=值
关键字的值有三种类型:字符串、整数和布迩值。在本⽂中我们只使⽤字符串类型。在delphi中⽤readstring和writestring来读取和写⼊(覆盖)配置⽂件中的字符串值。
以下以利⽤ini配置⽂件和delphi⾃带的ADO控件来说明如何实现动态配置数据库连接这⼀功能。
这个程序要实现的功能是:程序运⾏时,先读取数据库连接的配置⽂件,如果正确则连接上数据库,程序正常运⾏;如果配置⽂件不存在或者不正确,⽆法连接上数据库,则询问是否重新设置配置⽂件,如回答“是”,就打开配置数据库连接窗⼝,配置成功后将正确的配置重新写⼊配置⽂件,程序正常运⾏。
先在程序数据模块中放⼊ADOConnection控件;在程序主窗⼝的单元⽂件uses⾥加上inifiles、ADOConEd和数据模块单元,申明两个变量:filename(String类型)和databaseset(Tinifile)。
主窗⼝的Activeate事件代码如下:
procedure TfmMain.FormActivate(Sender: TObject);
var filename:string;
databaseset:Tinifile;
begin
filename:=ExtractFilePath(Paramstr(0))+'databaseset.ini'; //设置配置⽂件的路径为执⾏程序⽬录,如果不设置⽬录的话程序会把配置⽂件放到windows系统⽬录中去。
databaseset:=TInifile.Create(filename);
//with fmDataModule do//这⼀句我在DELPHI6中没有通过调试,也不知道是什么意思,就画出来了
begin
try  //连接数据库
ADOConnYK.Close;  //ADOConnYK为ADOConnection控件
ADOConnYK.ConnectionString:=databaseset.ReadString('ykconn','connstr',''); //读取数据库连接配置字符串
ADOConnYK.Open; //如正确,连接上数据库
Except      //配置⽂件不存在或者不正确,⽆法连接到数据库
if Application.MessageBox('⽆法连接到数据库,要重新设置连接吗?','提⽰',MB_YESNO+MB_ICONQUESTION)=IDYES then
begin
ADOConnYK.Close;
if EditConnectionString(ADOConnYK) then //重新配置连接属性
begin      databaseset.WriteString('ykconn','connstr',ADOConnYK.ConnectionString); //⽤正确的配置字符串覆盖配置⽂件中的相应的关键字值。
ADOConnYK.Open;  //正确配置后连接上数据库
end;
end
else
begin
ShowMessage('数据库连接设置不正确,请与管理员联系后再使⽤本系统');
perl判断变量是否为空Application.Terminate;
end;
end;
FreeAndNil(databaseset); //释放配置⽂件所占资源
end;
end;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。