用DELPHI的宏可以做一些非常简便的工作, 它是记录键盘的动作,如果我们将一些有规律的动作,用宏来进行操作,就可以达到事半功倍的效果,前提是编写的代码风格比较整洁. 
宏是以Ctrl + Shift + R开始, 也以Ctrl + Shift + R结束, 以Ctrl + Shift + P来播放. 
开始录制宏后,可以在状态栏看到 'Recording'字样. 
以下以Assign为例,来进行举例 
如下,我们的类中有一大堆的变量 
    dno: string[20]; 
    dworker: string[4]; 
    ddate: TDateTime; 
    dtrade_s: string[10]; 
    dtrade_e: string[10]; 
    dmoney_sale: Real; 
    dMoney_last: Real;

dmoney_ss: Real; 
    dman: string[2];        //客层 
    dmoney_SK: Real;          //收款 
    dMoney_ZL: Real;          //找零 
    Money_Mode: Real;         //现金支付金额 
    Ticket_Mode: Real;        //购物券支付金额 
    Czk_Mode: Real;           //储值卡支付金额 
    MZk_Mode: Real;          //面值卡支付金额 
    Bank_Mode: Real;          //银行卡支付金额 
    dCard_Zk: string[20];     //打折卡卡号 
    dCard_Hl: string[20];     //鸿利卡卡号 
    dsubshop: string[4]; 
    dsalesman: string[4];          //营业员

我们想在Assign中,将它的值赋给一个ASource对象对应的值,如下. 
例如: 
procedure TMasterData.AssignValue(ASource: TMasterData); 
begin 
//想得到如下结果 
  dno := ASource.dno; 
  dworker := ASource.dworker; 
  ddate := ASource.ddate; 
  dtrade_s := ASource.dtrade_s; 
  dtrade_e := ASource.dtrade_e; 
  dmoney_sale := ASource.dmoney_sale; 
  dMoney_last := ASource.dMoney_last;

我们该怎么办呢,首先将声明复制下来,形成如下 
procedure TMasterData.AssignValue(ASource: TMasterData); 
begin 
      dno: string[20]; 
      dworker: string[4]; 
      ddate: TDateTime; 
      dtrade_s: string[10]; 
      dtrade_e: string[10]; 
      dmoney_sale: Real; 
      dMoney_last: Real; 
    .... 
这个时候,我们先将焦点放在 dno行的行首, 按Ctrl + Shift + R开始录制,然后按Ctrl+->箭头,光标会移到 dno这个单词的前台,再按Ctrl + Shift + ->,会选取dno: 这一小节,多了两个字符怎么办,按Shift + <-箭头两次,现在就完全选中了dno了,按Ctrl + C,复制, 接下后按->箭头,再按<-箭头 回到:前,再接下来,输入 := ASource. 这几个字母,再按Ctrl + V粘贴,现在就成了dno := ASource.dno: string[20]; 光标在第二个:前,我们再清除后面的字符,按Shift + End, 再按删除键,这样就完成了第一列,然后为了方便,我们将光标定位到第二行的行首, 向下箭上,再按Home键. 
这就是我们所有的按键, 我们按Ctrl + shift + R结束录制,再按 Ctrl + Shift+ P 来播放吧,非常酷吧 
如果非常熟悉 delphi的宏,那么我们可以做出非常多的美妙的事情来,如我们在MSSQL中经常有 
update a set dnum = b.dnum 这一类的东西,完全可以用delphi的宏来完成.

录宏的要点, 
1 一定要注意书写代码整洁的规律 
2 多用ctrl + shift + ->箭头来选择单词 
3 所有的操作都必须要用键盘来完成,有什么不明白的可以和我联系.联系方法 qiubole@163.com

http://www.cnblogs.com/qiubole/articles/116104.html

最新文章

  1. Kinect2.0 for Mac开箱
  2. ubuntu14.04计划任务无法执行
  3. 说说JSON和JSONP,也许你会豁然开朗
  4. BZOJ3261 最大异或和 (可持久化Trie)
  5. Entity Framework技术导游系列开篇与热身
  6. ubuntu使用github
  7. Qt4在linux下的安装
  8. Centos memcached的php拓展 管理界面
  9. JspWriter与PrintWriter的关系
  10. python程序的标准输入输出
  11. 视频直播技术(七):Ijkplayer切换网络时停止播放的问题处理
  12. cesium 之三维场景展示篇(附源码下载)
  13. Kasaraju算法--强连通图遍历及其python实现
  14. Git——如何将本地项目提交至远程仓库(第一次)
  15. 【ABP】工作单元——不进行事物独立执行功能
  16. Java使用RabbitMQ之订阅分发(Topic)
  17. Linux 网络侦错:无法联机原因分析
  18. MultipartFile实现文件上传
  19. HP Instant Information
  20. RabbitMQ学习笔记(二):基础概念

热门文章

  1. 解析php时间戳与日期的转换
  2. Python-Day3 Python基础进阶之集和/文件读写/函数
  3. 原创的基于HTML/CSS/JavaScript的层级目录树
  4. Oracle中是用case...when语句进行判断
  5. awk简明教程
  6. cocos2dx中加载图片资源的方法,和从内存中获取已经加载的图片资源的方法
  7. NodeJS学习笔记(转载)
  8. 20145120 《Java程序设计》第3周学习总结
  9. WPF 进程间通讯----inter-process communication
  10. 【POJ】【2151】Check the difficulty of problems