思路:
主要是利用PB对注册表操作函数RegistryGet()和RegistrySet(),这两个函数以及其他注册表函数在PB的帮助里都有详细说明。
再就是利用PB的ProfileString()函数读取INI文件中预先定义好的参数。
写注册表的源程序:
string ls_sys[],ls_driver[],st_driver,st_path
integer li_rtn
ls_me="新星科技股份有限公司(New Star, Inc.)"
ls_version="2.0"
ls_sys[1]="HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Sybase SQL Anywhere 5.0"
ls_sys[2]="HKEY_CURRENT_USER\Software\"+ls_me+"\仓储管理系统\"+ls_version
ls_sys[3]="HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources"
ls_sys[4]="HKEY_CURRENT_USER\Software\ODBC\ODBC.INI"
li_rtn = RegistryGet(ls_sys[1], "Driver", RegString!, st_driver)
IF li_rtn = -1 THEN
messagebox("错误","未安装Sybase SQL Anywhere 5.0 !",information!,ok!)
RETURN
END IF
li_rtn = RegistryGet(ls_sys[2], "InstPath", RegString!, st_path)
IF li_rtn = -1 THEN
messagebox("错误","读取安装路径出错 !",information!,ok!)
RETURN
END IF
string envfile,ls_source[],ls_drivepath,ls_temp
integer i
envfile="regedit.ini"
ls_source[1]="cl"
ls_source[2] =ProfileString(envfile,"INI","AutoStop"," ")
ls_source[3] =ProfileString(envfile,"INI","DatabaseFile"," ")
ls_source[4] =ProfileString(envfile,"INI","DatabaseName"," ")
ls_source[5] =ProfileString(envfile,"INI","Description"," ")
ls_source[6] =ProfileString(envfile,"INI","Driver"," ")
ls_source[7] =ProfileString(envfile,"INI","PWD"," ")
ls_source[8] =ProfileString(envfile,"INI","Start"," ")
[1] [2] [3] 下一页
|