procedure InitBde;
var
   DataDirectory : string;
   ARegistry     : TRegistry;
begin
  DataDirectory := ExtractFilePath( Application.ExeName );//路径这里要改成bde文件放置的路径
  DataDirectory := DataDirectory+'bde\';
  ARegistry     := TRegistry.Create;
  with ARegistry do    {创建一个TRegistry对象实例  }
  begin
    RootKey := HKEY_LOCAL_MACHINE;{指定根键为HKEY_LOCAL_MACHINE}
    if not OpenKey( 'Software\Borland\BLW32', False ) then
    begin
//      showmessage('key 1'); {写入BDE语言驱动程序所在的目录,即当前程序目录   }
      OpenKey( 'Software\Borland\BLW32', True );
      WriteString( 'BLAPIPATH', DataDirectory );
    end;
    CloseKey;    {关闭主键,同时将信息写入注册表}
    RootKey := HKEY_LOCAL_MACHINE;
    if not OpenKey('Software\Borland\Database Engine',False) then
    begin
//      showmessage('key 2');
      OpenKey('Software\Borland\Database Engine',True);
      WriteString( 'DLLPATH', DataDirectory );
    end;
    CloseKey;    {关闭主键,同时将信息写入注册表}
    Destroy;     {释放内存  }
  end;
end;

解决方案 »

  1.   

    自己copy太麻烦。
    用delphi自带的installshield吧
    很多安装程序都可以的。
      

  2.   

    elphi要求将所有的可再分发BDE中的文件全部提供给它的用户。但为了节省空间,您也可以只安装执行应用程序所要的相关驱动程序。例如,若应用程序只需存取dBASE文件,则无需配置PARADOX的驱动程序。
        关于分发的其它内容,请参阅缺省安装在Delphiιdoc目录中的delploy.txt文件。一般包含下列文件:
        文件名说明
        IDAPI01.DLLBDEAPIDLL
        IDABAT01.DLLBDEBATCHUTILITIESDLL
        IDQRY01.DLLBDEQUREYDRIVEDLL
        IDPDX01.DLLDEIPARADOXDRIVEDLL
        IDDBAS01.DLLBDEDBASEDRIVEDLL
        IDR10009.DLLBDERESOUSEDLL
        ILD01.DLL
        LANGUAGE
        DRIVEDLL
        TUTILITY.DLL
        BDETUTILITYDLL
        BDECFG.EXEBDECONFIGURATIONUTILITY
        BDECOFG.HLPBDECONFIGURITIONUTILITYHELP
        IDAPI.CFGBDE(IDAPI)CONFIGFILE解决了请给分
      

  3.   

    ---- 一、不可缺少的文件 
    ---- Blw32.dll:语言驱动函数库。 
    ---- Idapi32.dll:BDE基本函数库。 
    ---- Fareast.bll、Usa.bll:远东语言及美国语言驱动程序,对中文软件不可缺少。 
    ---- Idr20009.dll:错误信息库。 
    ---- 二、数据库驱动程序(根据需要选择一个或多个) 
    ---- Idasci32.dll:Ascii文本数据库驱动程序函数库,如果不用Ascii文本数据库,可以不要。 
    ---- Iddao32.dll:Access数据库驱动程序函数库,如果不用Access数据库,可以不要。 
    ---- Iddbas32.dll:dBase数据库驱动程序函数库,如果不用dBase数据库,可以不要。 
    ---- Idodbc32.dll:ODBC数据库驱动程序函数库,如果不用ODBC数据库,可以不要。 
    ---- Idpdx32.dll:Paradox数据库驱动程序函数库,如果不用Paradox数据库,可以不要。 
    ---- 三、其它驱动程序和配置文件(根据需要选择一个或多个) 
    ---- Idbat32.dll:批操作驱动程序函数库,如果不用TBatchMove控件或DbiBatchMove类函,可以不要。 
    ---- Iddr32.dll:Data Repository驱动程序函数库,如果不用Data Repository功能,可以不要。 
    ---- Idprov32.dll:BDE DataSet provide驱动程序函数库,如果不用TProvider控件,可以不要。 
    ---- Idqbe32.dll:QBE驱动程序函数库,如果不用Query By Example,可以不要。 
    ---- Idsql32.dll:SQL查询驱动程序函数库,如果不用TQuery进行查询,可以不要。 
    ---- Idapi32.cfg:BDE配置文件,如果程序中没有特殊要求,可以不要。也可以在BDE管理器中设置正确后再分发。 
    ---- 四、其它文件(一般不用) 
    ---- BDE32.HLP、BDE32.CNT:BDE帮助文件,可以不要。 
    ---- BdeAdmin.exe、BdeAdmin.HLP、BdeAdmin.CNT:BDE管理器及帮助文件,如果不会发生要求软件用户自己配置BDE的情况时,可以不要。 
    ---- 其它*.BLL:其它国家和地区的语言驱动程序,可以不要。 
    ---- DataBump.EXE、DataBump.HLP、DataBump.CNT:数据库数据转移工具及帮助文件,可以不要。 
    ---- Localsql.HLP、Localsql.CNT:SQL查询语句帮助文件,可以不要。 
    ---- Sqllnk32.HLP、Sqllnk32.CNT:SQL连接帮助文件,可以不要//注册表reg := TRegistry.Create;
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey('software\borland\blw32', false);
    reg.WriteString('blapipath', 'bde所在路径');  //设置语言驱动程序路径
    reg.CloseKey;
    reg.OpenKey('software\borland\Database Engine', false);
    reg.WriteString('dllpath', 'bde所在路径');
    reg.CloseKey;
    reg.Free;
      

  4.   

    首先感谢你,cobi(我是小新,我只有5岁)同志,能这么快回复谢谢!可是,我是第一次来,我不知道怎么给你分啊,你能不能教教我啊???
      

  5.   

    taxi(游少爷) ,我是是第一次来,我不知道怎么给你分啊,你能不能教教我啊???,我刚才试着给你分数,不知道给了没有啊 
      

  6.   

    不好意思,我有两句写错了。
    reg := TRegistry.Create;
    reg.RootKey := HKEY_LOCAL_MACHINE;
    reg.OpenKey('software\borland\blw32', true);
    reg.WriteString('blapipath', 'bde所在路径');  //设置语言驱动程序路径
    reg.CloseKey;
    reg.OpenKey('software\borland\Database Engine', true);
    reg.WriteString('dllpath', 'bde所在路径');
    reg.CloseKey;
    reg.Free;