首页  编辑  

IDE Expert的一个DEMO

Tags: /超级猛料/IDE.集成开发环境/第三方工具和Expert/   Date Created:

IDE Expert的一个DEMO

问题:将控件加入form时,如何改变在该Form对应的pas里加入任何内容? ( 积分:200, 回复:7, 阅读:73 )

分类:控件 - 开发 ( 版主:cAkk, amo )  

来自:laotan, 时间:2003-7-16 12:19:00, ID:2032998 [显示:小字体 | 大字体]  

 我在编一个控件时,想让控件使用者在设计状态将控件加入一个Form(如Form1)时,控件可以自动在Form对应的Pas文件(如unit1.pas)里加入代码?如注释 函数定义等...

 另外:如何在我的应用程序里调用做好的expert的Dll?(不是在Delphi菜单里启动"专家"。)

 最好不要太多的原理性的东西,简洁的代码即可。谢谢!

 

来自:魔鬼大师, 时间:2003-7-16 12:52:00, ID:2033106

use yourunit

来自:leway, 时间:2003-7-16 14:53:00, ID:2033571

將你的控件Install到Delphi的IDE的元件盤上就可以了

来自:laotan, 时间:2003-7-16 15:14:00, ID:2033685

我不是让Delphi自动写于我的控件相关的信息。

意思是:当控件放置在form上后,自动写上

//该程序使用了xxxx控件,该控件有yyyy开发等内容。

即:我可以随便更改pas文件内容。当然不是在IDE里用键盘输入。

来自:realLearning, 时间:2003-7-16 16:42:00, ID:2034123

uses ToolsApi

constructor TQRRoundRect.Create(AOwner: TComponent);

var

 EditPas : IOTAEditorServices;

begin

 inherited Create(AOwner);

 Width := 120;

 Height := 80;

 if csDesigning in ComponentState then

 begin

   EditPas := BorlandIDEServices as IOTAEditorServices ;

   Editpas.TopBuffer.EditPosition.InsertText('//该程序使用了xxxx控件,该控件有yyyy开发'#13);

 end;

end;

来自:laotan, 时间:2003-7-16 18:46:00, ID:2034582

成功了。谢谢realLearning的回答。

不过,现在是鼠标在哪就加到哪里。能否实现在指定位置添加一些语句?

如在uses 子句里加入:unit2

在interface里加入类或函数定义

在implementation里加入函数段.....

来自:程序小鱼, 时间:2003-7-16 23:30:00, ID:2035145

高手是有的

来自:realLearning, 时间:2003-7-17 11:00:00, ID:2036120

老兄,这方面borland的文档资料很少,我也是摸索toolsapi的源码

试出来的,你可以看一下toolsapi的源码。

下面的一段代码是加入uses,没有作必要的判断(比如没有判断uses的头文件有几行),

给你参考一下。

   EditPas := BorlandIDEServices as IOTAEditorServices ;

   EditPas.TopBuffer.EditPosition.Move(1,1);

   EditPas.TopBuffer.EditPosition.Search('uses',False,False,True,sdForward,ErrorCode);

   Row := EditPas.TopBuffer.EditPosition.Row+1 ;

   EditPas.TopBuffer.EditPosition.Move(Row,1);

   EditPas.TopBuffer.EditPosition.MoveEOL;

   Col := EditPas.TopBuffer.EditPosition.Column ;

   EditPas.TopBuffer.EditPosition.Move(Row,Col-1);

   Editpas.TopBuffer.EditPosition.InsertText(',unit2');