用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
dno := ASource.dno
煤炭网版权与免责声明:
凡本网注明"来源:煤炭网www.coal.com.cn "的所有文字、图片和音视频稿件,版权均为"煤炭网www.coal.com.cn "独家所有,任何媒体、网站或个人在转载使用时必须注明"来源:煤炭网www.coal.com.cn ",违反者本网将依法追究责任。
本网转载并注明其他来源的稿件,是本着为读者传递更多信息的目的,并不意味着本网赞同其观点或证实其内容的真实性。其他媒体、网站或个人从本网转载使用时,必须保留本网注明的稿件来源,禁止擅自篡改稿件来源,并自负版权等法律责任。违反者本网也将依法追究责任。 如本网转载稿件涉及版权等问题,请作者在两周内尽快来电或来函联系。
网站技术运营:北京真石数字科技股份有限公司、喀什中煤远大供应链管理有限公司、喀什煤网数字科技有限公司
总部地址:北京市丰台区总部基地航丰路中航荣丰1层
京ICP备18023690号-1 京公网安备 11010602010109号
