通过TRegistry对象,具体看帮助
解决方案 »
- 状态栏StatusBar1如何动态显示操作内容??
- Data.Database.StartTransaction;和Data.Database.Commit;一起使用有错吗??
- 关于读取INI文件的问题,请求详解
- lw549,请进来领分,谢谢你的帮助!!!!!!!!
- 求 memprof 的使用方法
- 谁碰到过DCOM+ADO客户端或中间服务死掉的情况,一天六七次
- 哪位高人有类似OutLook的那种控件?
- 谁有《Delphi 5.x分布式多层应用电子商务篇》的范例程序和数据?能否传一份给我,谢谢!!!
- 请教:Delphi中TTreeView中的项目序列如何调整??急用 + 高分
- 怎样调试程序?
- 请教delphi中不固定参数的用法。
- 如何在Delphi 的StringGrid 控件的 cell 中添加进别的控件
ww:TRegistry;
ww:=TRegistry.Create;
ww.RootKey :=HKEY_CURRENT_USER;
ww.OpenKey('software',FALSE);
ww.CreateKey( 'shadow');
……
好好搜索一下
MyList: TStringList;
registerTemp : TRegistry;
//bData : array[ 0..0 ] of byte;
begin
registerTemp := TRegistry.Create; //建立一个Registry实例
with registerTemp do
begin
RootKey:=HKEY_USERS;//设置根键值为HKEY_USERS //找到Software\ODBC\ODBC.INI\ODBC Data Sources
if OpenKey('.DEFAULT\Software\ODBC\ODBC.INI\ODBC Data Sources',True) then
begin //注册一个DSN名称
WriteString( ''+edit1.text+'',''+combobox1.text+'' );
end else
begin//创建键值失败
memo1.lines.add('增加ODBC数据源失败');
exit;
end;
CloseKey; //找到或创建Software\ODBC\ODBC.INI\MyAccess,写入DSN配置信息
if OpenKey('.DEFAULT\Software\ODBC\ODBC.INI\'+edit1.text+'',True) then
begin
//WriteString( 'DBQ', 'C:\inetpub\wwwroot\test.mdb' );//数据库目录
WriteString( 'Description', ''+Edit2.text+'' );//数据源描述
WriteString( 'Driver', 'C:\Windows\SYSTEM\sqlsrv32.dll' );//驱动程序DLL文件
//WriteInteger( 'DriverId', 25 );//驱动程序标识
//WriteString( 'FIL', 'Ms Access;' );//Filter依据
//WriteInteger( 'SafeTransaction', 0 );//支持的事务操作数目
WriteString( 'Server', ''+EDit3.Text+'' );//服务器名称
//WriteString( 'Laster', ''+EDit5.text+'' );//用户名称
// bData[0] := 0;
// WriteBinaryData( 'Exclusive', bData, 1 );//非独占方式
//WriteBinaryData( 'ReadOnly', bData, 1 );//非只读方式
end
else//创建键值失败
begin
memo1.lines.add('增加ODBC数据源失败');
exit;
end;
CloseKey; //找到或创建Software\ODBC\ODBC.INI\MyAccess\Engines\Jet
//写入DSN数据库引擎配置信息
{if OpenKey('Software\ODBC\ODBC.INI\''%'+Edit1.text+'%''\Engines\Jet',True) then
begin
WriteString( 'ImplicitCommitSync', 'Yes' );
WriteInteger( 'MaxBufferSize', 512 );//缓冲区大小
WriteInteger( 'PageTimeout', 10 );//页超时
WriteInteger( 'Threads', 3 );//支持的线程数目
WriteString( 'UserCommitSync', 'Yes' );
end
else//创建键值失败
begin
memo1.lines.add('增加ODBC数据源失败');
exit;
end;}
CloseKey;
memo1.lines.add('增加新ODBC数据源成功!');
Free;
end;//end with
MyList := TStringList.Create;
try
with MyList do
begin
add('database name='+Edit1.text+'');
add('SQLQRYMODE=SERVER');
add('ODBC DSN='+Edit1.Text+'');
//Add('SERVER NAME=IB_SERVER:/PATH/DATABASE.GDB');
//Add('USER NAME=MYNAME');
end;
Session.AddAlias(''+edit1.text+'', 'SQL Server', MyList);
Session.SaveConfigFile;
memo1.Lines.Add('BDE配置成功!');
MyList.Free;
except
memo1.Lines.Add('错误!'+#13+'数据库别名已存在!');
MyList.Free;
end;
bitbtn1.Enabled:=false;
end;