打个比方,我能否将程序的最后编译时间自动插入到数据库的某个字段里面,抽象点就是标题描述那样编译时执行而运行时不执行.
这是突然冒出来的想法,不知道有无解?
这是突然冒出来的想法,不知道有无解?
解决方案 »
- 检测------相同的文本?
- 关于选择连接最优服务器的算法
- 有关在Delphi中显示gif动画的问题
- 简单问题,删除所有文件
- 由于分辨率不同解决字体的问题
- 这个错误是怎么回事?[Error] PrintInfo.pas(36): Statement expected, but expression of type 'TfrPreview' found
- 一个关于ADO的超难题的高分求救,有没有ADO数据库的高手啊.................
- [类型转换]string—>TFontStyles
- 请问如何将一个数据库中的所有表list出来。。
- 请问使用ado和access如何用代码创建数据表和其中的字段
- 中文软件在英文系统编码问题
- 求教delphi数据库语句问题,HELP!大神来,来就有分!
ToolsAPI
IOTAEditActions.CompileProject
参考
http://access911.net/appraise.asp?recordid=72FAB11E16DCE7F3&type=a
unit EagleBufferList;
interface
procedure Register;
implementation
uses Windows, Classes, SysUtils,Menus, ToolsAPI, Controls ;
type
TBufferList = class(TNotifierObject, IUnknown, IOTANotifier,
IOTAKeyboardBinding)
function GetBindingType: TBindingType;
function GetDisplayName: string;
function GetName: string;
procedure BindKeyboard(const BindingServices: IOTAKeyBindingServices);
protected
procedure CodeCompletion(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
end;
resourcestring
sBufferList = 'Eagle''s Buffer List';
//register this key binding
procedure Register;
begin
(BorlandIDEServices as IOTAKeyBoardServices).AddKeyboardBinding(TBufferList.Create);
end;
{ TBufferList }
//the code to bind key
procedure TBufferList.BindKeyboard(const BindingServices: IOTAKeyBindingServices);
begin
BindingServices.AddKeyBinding([ShortCut(Ord('P'), [ssShift, ssCtrl, ssAlt])], CodeCompletion, Pointer(csCodeList or csManual));
BindingServices.AddKeyBinding([ShortCut(Ord('O'), [ssShift, ssCtrl, ssAlt])], CodeCompletion, Pointer(csParamList or csManual));
end;
//do code completion
procedure TBufferList.CodeCompletion(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
(Context.EditBuffer.TopView as IOTAEditActions).CodeCompletion(Byte(Context.Context));
BindingResult := krHandled;
end;
function TBufferList.GetBindingType: TBindingType;
begin
Result := btPartial;
end;
function TBufferList.GetDisplayName: string;
begin
Result := sBufferList;
end;
function TBufferList.GetName: string;
begin
Result := 'EagleKing.BufferList'; //do not localize
end;
end.