ctrl+shift+向上  跳到单元过程声明
ctrl+shift+向下  跳到单元过程实现
delphi 如何返回指定执行文件的绝对路径
extractFilePath(ParamStr(0))   只可以得到当前程序的路径
17,405 22:26 2007-10-5
F12 设计窗口与单元文件之间切换.
ctrl+F "Find"对话框
ctrl+R "Find&Replace"对话框
ctrl+E 键入"pr"高亮显示
alt+G 检查错误
alt+s+y 查找一个类的所有信息.
"To-Do List" 给工作进度上附加注记.
 Priority: 优先值
 Owner:  所有者的名字
 Category: 输入类别
按键'Alt+V+L',可看到"TO-Do list"
按键ctrl+shift+t,出现"Add To-Do Item"
-o表示所有者,-C类别
{todo 1 -ohezhenfei -ctable :工作启动 20060629}
// todo -omarco : add creation code
 //TODO -ohezhenfei : 工作启动
 //TODO 3 -ohezhenfei : 工作启动2
 
编译器消息窗口切换:
alt+Page Down和alt+Page UP
开前就后启动程序服务设置
d:\possystem\server\scktsrvr.exe /install
ocx控件注册及卸载:
regsvr32 mscom32.ocx
regsvr32 /u mscom32.ocx
删除上面启动的服务:
1 打开管理中 的服务 
2 禁用掉软件卸载后残留的服务
3 sc delete+服务名称

多行同时缩进/反缩进
ctrl+shift+u
ctrl+shift+i
 
 

如编译器有错误产生,可以通过View>Additional Message Info命令,提供修正建议.
(针对新加入开发人员将一些有错误的描述放入到一个窗体中,msginfo70.ini文件在delphi的bin文件夹
下)

"带选项卡的记事本"切换,ctrl+tab,ctrl+shift+tab(反向)
代码编辑器中按Ctrl并把鼠标移动到标识符上可以激活链接,查看VCL源代码.按Alt+前/后键,可以翻页
类的自动生成:Ctrl+shift+C
代码完成(即简写提示):alt+空格
代码模板:Ctrl+J
书签:ctrl+shift+0-9,回到书签:ctrl+0-9
ctrl+E :查询定位
Ctrl+shift+I:缩进多行代码
ctrl+O+U:切换所选择的代码的大小写
ctrl+K+E:转为小写
ctrl+K+F:转为大写
ctrl+shift+R:开始记录一个宏.
ctrl+shift+P:快捷执行这个宏.
alt+拖动鼠标,可以选择矩形区域.
ctrl+shift+b: 项目浏览器
 
private\protected\public
private:在声明类的单元外这个类不能被访问.
protected:protected元素只能被当前类和它的子类访问.(只有同一个单元的类、子类和任何代码可以
访问。)
public:可以被程序代码中的任意部分访问。
override: 覆盖(改写)
virtual: 虚拟方法
TmyObject = class(TObject) 表示继承TObject类
VMT : 虚拟方法表
Published:
Overload :重载
 ClientDataSet1
open与active的区别在于,open有数据集返回 
open与 Execute;的区别在于,Execute没有数据集返回

设置为“窗体总在最前”  
  SetWindowPos(Self.Handle,   HWND_TOPMOST,   Self.Left,   Self.Top,   Self.Width,  
Self.Height,   SWP_NOACTIVATE   or   SWP_SHOWWINDOW)  
  取消  
  SetWindowPos(Self.Handle,   HWND_NOTOPMOST,   Self.Left,   Self.Top,   Self.Width,  
Self.Height,   SWP_NOACTIVATE   or   SWP_SHOWWINDOW);  
 
DBgridEh标题排序
给你一个函数:  
  procedure   GridTitleBtnClick(Sender:   TObject;   ACol:   Integer;   Column:  
TColumnEh);  
  begin  
      {   报表模板   点击标题自动排序   }  
      if   (Sender   as   TDBGridEh).DataSource.DataSet.Active   then  
      begin  
          (Sender   as   TDBGridEh).DataSource.DataSet.DisableControls;  
          try  
              if   Column.Title.SortMarker   =   smDownEh   then  
                  TADOQuery((Sender   as   TDBGridEh).DataSource.DataSet).Sort  
:=Column.FieldName  
              else   TADOQuery((Sender   as   TDBGridEh).DataSource.DataSet).Sort  
:=Column.FieldName   +'   DESC';  
          finally  
              (Sender   as   TDBGridEh).DataSource.DataSet.EnableControls;  
          end;  
      end;  
  end;  
   
  //调用时  
  procedure   Tfrom1.DBGridEh1TitleBtnClick(Sender:   TObject;   ACol:   Integer;  
      Column:   TColumnEh);  
  begin  
  //     inherited;  
      GridTitleBtnClick(Sender,   ACol,   Column);  
  end;