我现在一直用INI文件连接数据库(delphi编程),但知道能利用注册表中的键值(路径)来连接数据库,但不知道具体方法,请大家来帮帮忙!!!最好给我讲一下用什么控件!然后控件的属性,及连接的语言!最好有实例,分不够可以补,只要能连上就好!!!最好有实例.QQ48515538还有一个问题,就是数据库中记录条数每到4的倍数(比如第4,8,12,16,20,24条记录时),令edit1.text := 'a';我该怎么跟踪记录是否是4的倍数??????最好有实例QQ48515538

解决方案 »

  1.   

    引用tregisty,看看例子,你ini都会了,这个没有问题的,:)
      

  2.   

    在应用程序中,经常需要对注册表进行各种操作,如将程序名称、安装路径等信息保存到注册表中。Delphi对相应API函数做了进一步封装,使得在应用程序中操作注册表更加简单。1、原理Delphi提供了TRegistry类,它直接继承自TObject类,主要属性有:RootKey等,主要方法有:Create,CreateKey(Key),OpenKey(Key,CanCreate),WriteString(Name,Value),ReadString(Name),CloseKey,Free等,下面对它们进行简单介绍。1、1、RootKey属性指定当前操作的注册表主键,共有HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG五种取值,默认值为HKEY_CURRENT_USER。1、2、CreateKey方法函数声明为function CreateKey(const Key: String):Boolean;,用于在注册表中新建项,项的名称为参数Key的值。1、3、OpenKey方法函数声明为function OpenKey(const Key: String; CanCreate: Boolean):Boolean;,其中参数Key指定要打开的注册表的项,参数CanCreate指明当要打开的项不存在时是否创建,默认值为False;函数返回值为布尔类型,如果打开成功返回True,否则返回False。1、4、WriteString方法过程声明为procedure WriteString(const Name, Value: String);,其中参数Name指明要写入的注册表的字符串的名称,参数Value为要写入的字符串的值。如果该字符串不存在则写入,否则覆盖原来的取值。1、5、ReadString方法函数声明为function ReadString(const Name: String):String;,其中参数Name为要读取的字符串的名称,函数返回值为要读取的字符串的值,是字符串类型。如果该字符串在注册表中不存在,返回值为空字符串。
    2、实例下面分别为将信息写入注册表和从注册表中读取信息的例子。2、1、将信息写入注册表相应代码如下:var
    reg:TRegistry;//声明一个TRegistry类变量
    ...
    begin
    reg:=TRegistry.Create;//创建实例
    reg.RootKey:=HKEY_CURRENT_USER;//指定需要操作的注册表的主键
    if reg.OpenKey('\Software\Delphi使用技巧',true) then//如果打开成功则进行以下操作
    begin
    reg.WriteString('文章名称','在Delphi中轻松操作注册表');//将需要保存的信息写入注册表
    reg.CloseKey;//关闭注册表
    end;reg.Free;//释放变量所占内存
    ...
    end;
    2、2、从注册表中读取信息相应代码如下:var
    reg:TRegistry;//声明一个TRegistry类变量
    s:String;//声明一个字符串变量用来存放要读取的信息
    ...
    begin
    reg:=TRegistry.Create;//创建实例
    reg.RootKey:=HKEY_CURRENT_USER;//指定需要操作的注册表的主键
    if reg.OpenKey('\Software\Delphi使用技巧',true) then//如果打开成功则进行以下操作
    begin
    s:=reg.ReadString('文章名称');//从注册表中读取对应字符串的值
    //如果该字符串不存在则返回值为空字符串
    reg.CloseKey;//关闭注册表
    end;reg.Free;//释放变量所占内存
    ...
    end;
      

  3.   

    写入注册表的方法和写入INI的方法差不多
    if DataSet.Recno mod 4 =0 then
      Edit1.Text := 'a'
      

  4.   

    Procedure WriteReg;  //写注册表
    var
      reg:Tregistry;
      vServerName, vDataBase, vSa, vPass : String;
    begin
      reg:=Tregistry.create;
      reg.rootkey:=HKEY_LOCAL_MACHINE;
      if reg.openkey('\SOFTWARE\MYSOFT',False) then
      begin
      end
      else begin
        reg.openkey('\SOFTWARE\MYSOFT',True);
        reg.WriteString('vServerName','MYServer');
        Reg.WriteString('vDataBase','DataTest');
        Reg.WriteString('vSa','sa');
        Reg.WriteString('vPass','123456');
        reg.closekey;
      end;
      Reg.Free;
    end;Procedure ReadReg;  //读注册表
    var
      reg:Tregistry;
      vServerName, vDataBase, vSa, vPass : String;
    begin
      reg:=Tregistry.create;
      reg.rootkey:=HKEY_LOCAL_MACHINE;
      if reg.openkey('\SOFTWARE\MYSOFT',False) then
      begin
      end
      else begin
        reg.openkey('\SOFTWARE\MYSOFT',True);
        vServer := reg.ReadString()('vServerName');
        vDataBase := reg.ReadString('vDataBase');
        vSa := Reg.ReadString('vSa');
        vPass :=Reg.ReadString('vPass');
        reg.closekey;
      end;
      Reg.Free;
    end;