我用VB写了一段代码,望能将其转换成delphi代码,如下:
Sub AddPath()
  dim AcadApp as Object
  dim CurPath As Variant
  dim Path as string
  Path="c:\wmz"
 set AcadApp=CreatObject("AutoCAD.Application.16)
     AcadApp.Visible=True
  AcadApp.Application.Preferences.Files=Path & ";" &  AcadApp.Application.Preferences.Files
     AcadApp.Quit
end Sub
注:以上代码是将路径为"c:\wmz"的加到AutoCAD的支持路径的最前面中去

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      ACADApp:OleVariant;
      Path:string;
    begin
      Path:='c:\wmz';
      ACADApp:=CreateOleObject('AutoCAD.Application');
      ACADApp.Visible:=True;
      ACADApp.Application.Preferences.Files:=Path+';'+ACADApp.Application.Preferences.Files;
      AcadApp.Quit;
    end;
      

  2.   

    我也曾这样写过,但通不过,就是VB的Preferences属性在这里不支持,不知为何,请指教!
      

  3.   

    并不是Preferences不支持的,ACADApp对象的Application对象里有没有Preferences这个对象,你看看AutoCAD的官方编程帮助文档,我也不是很清楚的,我也没有做过这方面的程序。
      

  4.   

    就是如何将这个键值下General项的ACAD字符的值进行修改
    HKEY_USERS\S-1-5-21-2000478354-842925246-1202660629-500\Software\Autodesk\AutoCAD\R16.0\ACAD-201:804\Profiles\<<未命名配置>>\General
    delphi里面有没有搜索注册表关键字的函数呢,请不吝赐教!
      

  5.   

    其实,也不要搜索关键字的,直接用Registry单元内的注册表操作函数来修改键值就可以了
      

  6.   

    TBHRegister这个注册表操作控件写的也不错,你可以参考下源码,里面历遍键值的函数
      

  7.   

    谢谢!我已经用以下函数解决了.万分感谢你的帮助!
    procedure TForm1.Button1Click(Sender: TObject);
      var
    reg: TRegistry;
    ARoot : string;
    begin
       reg := TRegistry.Create;
       reg.RootKey := HKEY_CURRENT_USER;
       ARoot:='\Software\Autodesk\AutoCAD\R16.0\ACAD-201:804\Profiles\KYSYY\General';
       reg.OpenKey(ARoot , true);
       reg.WriteString('ACAD', 'c:\KYSYY');
       reg.CloseKey;
       reg.Free;end;