配置文件

wxhacker 2002-08-26 11:14:12
1。请详细介绍用户的配置文件的用法

2。怎么通过程序改变用户配置文件中关键字的值
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
winy 2002-08-26
  • 打赏
  • 举报
回复
你是说.ini文件吗?

可以给你一个代码不算很简练的例子,:)

report.ini的内容:

[DBPROFILE]
;Interface=INFORMIX
Interface=ODBC

[ODBC]
DBMS = ODBC
AutoCommit = True
DBParm = "ConnectString='DSN=cc2000;UID=callcent;PWD=callcent',ConnectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT',PBCatalogOwner='informix'"


[INFORMIX]
DBMS = "IN7 INFORMIX-7"
Database = "cc2000"
UserId = "root"
DBPass = hxf51
ServerName = "cc2000@ccdb"
AutoCommit = False
DBParm = ""

上面的DBParm可以看控制面板里的数据源配置,复制一下。

具体的取值可以这样:
string ls_file="report.ini",ls_Interface
ls_Interface=ProfileString(ls_file,"DBPROFILE","Interface","ODBC")
if ls_Interface="ODBC" then
sqlca.DBMS=ProfileString(ls_file,"ODBC","DBMS","ODBC")
if ProfileString(ls_file,"ODBC","AutoCommit","False")="True" then
sqlca.AutoCommit=True
elseif ProfileString(ls_file,"ODBC","AutoCommit","False")="False" then
sqlca.AutoCommit=False
end if
sqlca.DBParm=ProfileString(ls_file,"ODBC","DBParm","ConnectString='DSN=cc2000;UID=callcent;PWD=callcent',ConnectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT'")
end if

if ls_Interface="INFORMIX" then
sqlca.DBMS=ProfileString(ls_file,"INFORMIX","DBMS","IN7 INFORMIX-7")
sqlca.Database=ProfileString(ls_file,"INFORMIX","Database","cc2000")
sqlca.UserId=ProfileString(ls_file,"INFORMIX","UserId","callcent")
sqlca.DBPass=ProfileString(ls_file,"INFORMIX","DBPass","callcent")
sqlca.ServerName=ProfileString(ls_file,"INFORMIX","ServerName","cc2000@ccdb")
if ProfileString(ls_file,"INFORMIX","AutoCommit","False")="True" then
sqlca.AutoCommit=True
elseif ProfileString(ls_file,"INFORMIX","AutoCommit","False")="False" then
sqlca.AutoCommit=False
end if
sqlca.DBParm=ProfileString(ls_file,"INFORMIX","DBParm","")
end if

类似地,可以用ProfileInt ( filename, section, key, default )取得整型值。




wxhacker 2002-08-26
  • 打赏
  • 举报
回复
谢谢
揭帖!
hzhxxx 2002-08-26
  • 打赏
  • 举报
回复
仔细看看,你就知道了!

ProfileInt()
功能从初始化文件(.ini)中读取整型设置值。
语法ProfileInt ( filename, section, key, default )
参数filename:string类型,指定初始化文件的名称,可以包括路径,省略路径时,该函数按操作系统的标准路径搜索指定文件section:string类型,指定要得到的值所在的节(Section)key:string类型,指定要得到的值的名称,不用区分大小写default:integer类型,当指定的文件、节名、项目名不存在或不能转换为整数时,函数返回该参数指定的值返回值Integer。函数执行成功时,在指定的文件、节名、项目名不存在任何错误的情况下,函数返回相应项的值;如果指定的文件、节名、项目名不存在或不能转换为整数时,函数返回default参数指定的缺省值。如果发生错误,函数返回-1。如果任何参数的值为NULL,ProfileInt()函数返回NULL。

ProfileString()
功能从初始化文件(.ini)中读取字符串型设置值。
语法ProfileString ( filename, section, key, default )
参数filename:string类型,指定初始化文件的名称,可以包括路径,省略路径时,该函数按操作系统的标准路径搜索指定文件section:string类型,指定要得到的值所在的节(Section)key:string类型,指定要得到的值的名称,不用区分大小写default:string类型,当指定的文件、节名、项目名不存在时,函数返回该参数指定的值返回值String。函数执行成功时,在指定的文件、节名、项目名不存在任何错误的情况下,函数返回相应项的值;如果指定的文件、节名、项目名不存在,函数返回default参数指定的缺省值。如果发生错误,函数返回空字符串。如果任何参数的值为NULL,ProfileString()函数返回NULL。
--------------------------------------------------------------------------------
SetProfileString()
功能设置初始化文件中指定项的值。
语法SetProfileString ( filename, section, key, value )
参数filename:string类型,指定初始化文件的名称,可以包括路径,省略路径时,该函数按操作系统的标准路径搜索指定文件section:string类型,指定要设置的值所在的节(Section)key:string类型,指定要设置的值的名称,不用区分大小写default:string类型,指定要设置项的值返回值Integer。函数执行成功时返回1,指定的文件未找到或指定的文件不能访问时函数返回-1。如果任何参数的值为NULL,SetProfileString()函数返回NULL。
xingxing 2002-08-26
  • 打赏
  • 举报
回复
SetProfileString ( filename, section, key, value )

1,080

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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