说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在DBGRID中实现COPY、PASTE功能-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
在DBGRID中实现COPY、PASTE功能-Delphi资料

工具条上的Cut、Copy和Paste加速按钮,对于使用Windows下编辑器的人来说,恐怕都是非常熟悉而且不可缺少的。Delphi(1.0和2.0版)中的有些控件,如:TDBEdit、TDBImage、TDBMemo、TEdit等,具有CutToClipboard、CopyToClipboard和PasteFromClipboard方法,在这些控件上,利用这几个方法,只要通过简单的编程,就可以实现上述加速按钮。但TDB Grid控件却不提供上述方法,无法直接实现这几种功能。而在单机的数据库应用程序中,TDBGrid却经常被用来进行数据(包括数字和文字)的输入,没有Copy和Paste功能,使用起来深感不便。笔者在编程过程中,利用中间控件进行“过渡”,间接地实现了这几种功能。

主要思路:既然TDBGrid控件无法直接实现Copy和Paste编辑功能,则可以将TDBGrid控件中需要进行这几种编辑的字段(Field)的内容,转移到具备这几种功能的控件(以TDBEdit为例)中去,编辑完毕后,再传回到TDBGrid中。

具体方法:在已设计好的包含有TDBGrid控件(设名为DBGrid1)的窗体中,增加一个TDBEdit(设名为DBEdit1)控件,其DataSources属性设为与DBGrid1的DataSources属性相同,对DBGrid1控件的OnColEnter事件编程,使DBEdit1的DataField属性值等于DBGrid1控件的被选择字段的字段名。再在窗体中增加两个快速按钮:Copy和Paste,图形可选Delphi子目录下ImagesιButtons子目录里的Copy.bmp和Paste.bmp。对Copy快速按钮的OnClick事件编程:

DBEdit1.CopyToClipboard;

对Paste快速按钮的OnClick事件编程:

DBEdit1.PasteFromClipboard;

DBGrid1.SelectedField.AsString:=DBEdit1.Text;

此时,如果DBGrid1中的某一单元Cell数字需要粘贴另一单元Cell2的部分或全部内容,用鼠标单击选择Cell2,此时DBEdit1所显示的内容与Cell2的内容相同。在DBEdit1中用鼠标拖曳选择部分或全部内容,单击Copy快速按钮;再用鼠标单击选择Cell,此时DBEdit1所显示的内容与Cell相同,在DBEdit中欲粘贴刚才所选内容的位置插入光标,单击Paste快速按钮,则刚才所选内容插入到光标位置,Cell的内容也随之改变成插入后的内容,由此完成了一次Copy—Paste操作。

用这种方法实现Copy—Paste操作,比正常的操作多了一次鼠标的键击、两次鼠标的移动。在重复输入的内容不多,且操作者键盘输入很快很熟练的情况下,这种实现Copy—Paste的方法,意义似乎不大。但如果应用程序的使用者是那些并没有掌握某种快速文字输入技巧、很有可能还在使用拼音输入法的人,如果使用者对正常的Copy—Paste方法本来就不熟练(则感觉不到这种方法的不合常规),且又非常地善于在一长串的同音字里翻来翻去地寻找的话,这还是一种不错的方法。如果哪位读者有能在TDBGrid中实现常规Copy—Paste操作的方法,请不吝赐教。

以下是有关的程序代码:

procedureTUnitDetail.DBGrid1ColEnter(Sender:TObject);

begin

caseDBGrid1.SelectedIndexof

0:DBEdit1.DataField:=′UnitNum′;

1:DBEdit1.DataField:=′UnitName′;

2:DBEdit1.DataField:=′Header′;

3:DBEdit1.DataField:=′Address′;

4:DBEdit1.DataField:=′Tel′;

end;

end;

procedureTUnitDetail.SBCopyClick(Sender:TObject);

begin

DBEdit1.CopyToClipboard;

end;

procedureTUnitDetail.SBPasteClick(Sender:TObject);

begin

DBEdit1.PasteFromClipboard;

DBGrid1.SelectedField.AsString:=DBEdit1.text;

end;

继续霸权:美众院否决联合国掌控互联网 墨迹天气创始人金犁:巧用细分市场的力量 Windows 8的IE10在浏览器安全测试中独占鳌头 程序员如何做出“不难看”的设计 JDK6明年2月停止更新,甲骨文呼吁尽快升级至7 《时代》评选年度十大视频游戏,激战2居首 《时代》评选年度十大科技产品,iPhone 5居首 Loopjoy:让开发者在移动游戏里贩售真货 iPhone 5S真机照片泄露 明年初上市 Beeline:从“蓝精灵村庄”到“捉鬼敢死队” Windows Server 2012域服务的六大改进 如何编写出优美的JavaScript代码? Unity CEO:不会因赌博游戏谋取金钱利益 云领域:且看亚马逊、Rackspace、微软及谷歌四国争霸 十一位EMC高管读2013技术趋势 你准备好了吗? Yahoo:拥抱Hadoop和HTML5 苹果聘女黑客为系统安全员 曾让Vista推迟发布 移动游戏定价之谜:0.99美金行不通 9.99美金和19.99美金才是王道 2012末日年:《时代》评选年度十大App 使用HTML5 Web存储实现离线工作 紧跟亚马逊、谷歌步伐 微软下调Azure云服务价格 云计算一周热点回顾:Hadoop专家分享大数据技术工具与最佳实践 Python之父Guido Van Rossum离开谷歌 一月加盟Dropbox 图灵奖获得者Butler Lanpson:计算机在做些什么 华为高级技术经理Anoop Sam John:HBase的二级索引 秦令今:技术是竞争的核心,形成自己的特色! 兰旭:拒绝同质化,做自己的真材实料! Cloud Foundry直面PaaS对手 初具商用能力 IndieBros访谈:探寻《2+18+200万》背后的故事 移动周报:生存还是毁灭 HTML5未来路在何方? 开发者的新机遇:微软生态系统打开开源大门 怎样使WAV播放的幅度表达出来?象WINDOWs的录音机显示一致? 窗口的问题(稍后加分,100分) 大家是如何解决数据库平台无关性的问题的? 呦,阿紫,你真的改名啦,红袖添香夜读书的小乖乖,太长了,你还当斑竹吗? vb开发进程?Hook技术? 所谓的基础的是什么 识别上网状态问题,请教各位大虾。 再问:请问可以在applet中使用MenuBar吗?(昨天的已经给分了) 统计一下win2000下可以玩的游戏 *.chm文件能作在线帮助吗?在窗体的helpfile、和helpcontext如何设置??? 如何根据列名用object来取出字段,急!!!! 关于箭头在数据窗口移动的问题? 再问个菜鸟问题,showmodaldialog的title怎样控制 javascript中如何取整? ALT和MFC的区别是什么?? 试用DELPHI6,BUG太多了! 我是新手,请问在delphi5中如何建库(orcle和sybase)? 问一个比较弱智的问题 js文件里如何使用另一个js文件里的函数30? 哪位大虾知道可以在哪里下载mpeg-1的codec,谁先告诉有效地址谁先得分!(不给分是小狗!) 可能很菜的问题,送分的问题!! 一个关于CDaoTableDefInfo的问题 ado的问题??求救!!!高分!!! 有关代码重用的问题,对Form的继承。 一个关于CString.Format的问题 学习编程时学图算法怎么学好? 一个很简单的CREATE TABLE语句为什么出错呢?向大家请教! jbuilder5运行需要最低配置 ,傻傻的问 Delphi6的盗版已经到了@_@ 喂,为什么我提问只能给最多37分,原先可比这要多的多 一个关于派生类的问题 关于页面关闭的问题 用new JTalbe(10, 20)创建了一个table,如何设置该table列(column)的宽度 请教一个关于用VC6开发outlook\exchange的问题。急!急! 时间服务器 请问一下,用DBM,如果用户注册的数量多了以后,程序的速度很一般的文本速度比较哪个快 纯数学问题:如何求模逆元? VB中实现进程间通信的方法?VB中的CallWindowProc的用法?VB中如何发送自定义的消息? 请问哪里能免费下载BCB5?下载多长时间没有关系,只要能够正确使用就可以了。 怎样得知CListCtrl中当前选项? 我想从WINME中自带的一个驱动程序提取出来在WIN97中安装,请问应如何做? 菜问题(2) 请教:为何数据库数据无法在网页上显示? CEditView 一定要override onChange function(ON_CONTROL_REFLECT(EN_CHANGE, OnChange))????;否则input 时不我待会错??? 请教:不通过页面,用VB如何得知来访者的IP? 如何将vcd转化为real的格式???????????急!!!!!!!!!!!!!! 对DMO播放内存MPEG2数据没有头绪,谁能给点提示? 支持bestbestbest!!!!!!!!!!!! 如何在win98下使用EJB? applet 可以打开到一个server的socket么 谁知道国内哪有下载jdk1.4,Thanks! 父亲的年龄是聪聪的9倍,母亲的年龄是聪聪的7.5倍,父亲弊母亲的6岁.聪聪今年几 某中学为帮助贫困山区的失学儿童重返课堂,要在全校开展一次献爱心捐款、捐物、捐书活动.请你为这次活动要求.运用对联,有文采并体现人文关怀,每条不少于十字 六年级同学向汶川大地震灾区的小朋友捐款3000元 五年级与六年级捐款数的比是4;5 5年纪比四年级少1/6五年级捐款多少?四年级捐款多少?某工厂女职工人数的6/7 正好是男职工人数的3/4 男职工24 下面图(1)是某市实验小学四五六年级在希望工程自愿捐款活动中学生捐款情况统计图,图(2)是该小学四五六年级分布图,已知三个年级共有学生950人,图(1):人均捐款数每元:四年级5元; 派立方木门发起的爱心捐书活动要捐多少本书啊?已经报名参加了书香暖童心活动了,想问下这个活动捐书有没有最低限制啊? 四川汶川地震发生后,实验小学一年级小朋友纷纷向灾区捐出自己的零花钱,已知一班所捐的钱数是二班、三班两个班和的2/3,二班捐的钱数是一班、三班和的2/5,又已知一班和三班所捐的钱数之 四年级同学为"希望工程"捐款,1班,2班,3班平均每班捐25元,2班,3班,4班平均每班捐28元,已知一班捐款26元,求4班捐款多少元 在为西部的捐书活动中,六年级五个班共捐书630本,其中一班捐书140本,二班比一班少捐10本,三班捐的本数是全年级的百分之20,四班于五班捐的本数比是6:7,四班捐了多少本? 实验小学为灾区小朋友捐款一班50人共捐款249元.二班48人平均捐款四元平均两个班每人捐款多少元? 小学二年级四个班的同学为希望工程捐款,一班,二班,三班平均每班捐款24元,二班,三班,四班,平均每班捐款26元,已知一班捐款22元,那么四班捐款多少元?用多元次方程解~ 班上要进行一次捐书活动,请在班上做一次捐书倡议的发言 实验小学为四川灾区小朋友捐款,五年级一班50人,共捐款290元,五年级二班有40人,平均每人捐款4元,两个班平均每人捐款多少元/ 为了过一个有意义的“六、一”儿童借,实验小学发起了向某希望小学捐赠图书的活动.在活动中,五年级一班捐赠图书100册,五年级二班捐赠图书180册,二班的人数是一班人数的1.2倍,二班平均没 某校初三一班和二班向贫困学生捐书活动,两个班捐书280册,二班捐的是一班1.8倍二班人数是一班人数1.2倍,二班平均每人比一班多捐一本书,求一班和二班各有多少人 某小学为玉树地震灾区捐款,已知五年级是六年级的3分之2,六年级比五年级多捐0.36万元,五年级捐款()万算式是什么! 实验小学向“希望小学”捐赠一批图书,其中文艺书占40%,连环画占1/4,余下的 840册是科普读物.实验小学共捐图书多少册? 光明小学原计划向山区捐书1200册,实际捐书比计划多10%,实际捐书多少册? 光明小学五六年级学生向四川省汶川县灾区捐款数额的比是3:4,五年级一共捐款2400元,六年级一共捐款多少元光明小学五六年级学生向四川省汶川县灾区捐款数额的比是3:4,六年级一共捐款多少 新化小学为希望小学捐款,六年级捐2448元,比五年级多20%, 的件数正好是全校的25%,全校共做好事多少件?学校开展学雷锋活动,四年级做了21件好事,比五年级少30%,相当于六年级的75%,六年级的件数正好是全校的25%,全校共做好事多少件? 某小学为玉树地震灾区举行赈灾捐款活动,已知五年级四个班平均每班捐款845元,六年级六个班共捐款7200元,那么五,六年级平均每班捐款多少元 学校组织为希望工程捐款活动,五,六年级捐款数的比是3:5.已知六年级比五年级多捐了400元,两个年级各捐少元? 学校开展学雷锋活动,四年级做了21见好事,比五年极少30%,相当于六年级的75%,六年级做的件数正好是全校的25%,全校共做好事多少件? 7年级学生为汶川地震灾区捐款共131元,正好是平均每人2元还多35元,则该班学生有多少人? 五年级共有72名学生向希望工程捐款零花钱,捐的总数刚好是72的倍数,而记账时有两个数字不清楚:( )52.7( )元 四年级做了21件好事,比5年级少30%,相当于六年级的75%,六年级做的件数正好是全校的25全校共做好事多少件? 5年级学生共为地震灾区捐款900元,其中五年级学生捐款数是四年级的1.5倍,五年级学生捐款多少元? 某校六年级同学为地震灾区共捐款4000元,占全校捐款总数的七分之四,五年级捐款数占全校的25%,五年级同学共计捐款多少元? 育红小学五、六年级为贫困山区学生捐书660册,其中五年级3个班,每个班平均捐120册.六年级有2个班,平均每个班捐书多少册?用方程解. 深圳某小学在“献爱心—为四川地震灾区捐款”活动中,六年级四个班共捐款4000元.其中一班捐款1000元,二班捐款数是六年级捐款总数的20%,三班与四班捐款数比是5:6求四班捐款多少元? 五、六年级同学共为希望小学捐款4500元, 2013年4月20日8:02,四川省雅安市芦山县发生7.0级大地震,许多公路由于地震引起的山体滑坡 在"爱心捐款"活动中,五年级同学捐款258元,5倍少12元,2倍多6元. 聪聪家 650米 少年宫 820 明明家 聪聪家和明明家距离多少米? 五、六年级同学共为希望小学捐款4500元,五、六年级同学各捐款多少元 数学题:2013年4月20日8时2分在四川省雅安市芦山县发生7.0级地震,有1.8万人等待安置,各地人民纷纷捐款灾区.某市一企业在得知灾区急需帐篷后立即与厂家联系购买帐篷送往灾区.已知用9万元 明明家离书店有800米,聪聪家离书店比明明家近1/8,求明明家与聪聪家的距离.(通过不同的位置.方向思考) 某校七年级四个班为希望工程捐款7 1班是四个班捐款的总和的六分之一.72班是四个班综合的三分之一.7 3 班是四个班总和的四分之一.7 4 班捐了169元.设四个班总和为x元,方程怎么列? 北京时间2013年4月20日8时2分在四川省雅安市芦山县发生7.0级地震北京时间2013年4月20日8时2分在四川省雅安市芦山县(北纬30.3,东经103.0)发生7.0级地震,震源深度13公里. 聪聪家 书店相距800米,明明家比聪聪家离书店近8分之1,聪聪家和明明两家距离是多少米? 某校七年级(2) 班40 名同学为“希望工程”捐款,共捐款400 元,捐款情况如下表:表格中捐款10元和15 元的人数被墨水污染了.问:捐10元和15元的人数各是多少?{最好是一元一次方程或算术法}( 2013年4月20号,四川省雅安发生了7.0级地震,为了抢救伤员,一架救援直升机从芦山县某镇A地起飞,2013年4月20日,四川省雅安发生了7.0级地震,为了抢救伤员,一架救援直升机从芦山县某镇A地起飞,运 红红家和聪聪家分别在学校的南\北两个方向上放学后他们同时走出校门各自回家,红红每分钟走80米,聪聪与红红速度比是5:4,10分钟后两个人同时到家.红红家和聪聪家相距多少米? 新城小学六年级同学向希望小学捐款4200元,五年级捐款的4\5和六年级同学捐款的4\7相等, 关于雅安大地震的作文450字(多多益善) 打同一份稿件,聪聪要用九分之四小时,明明要用35分钟,丽丽要用十五分之七,他们三个人中,谁的打字速度快.(写出算式) 星光小学六年级同学向希望工程捐款,五年级(1)班45人,一共捐款450.7元,五年级(2)班50元,平均每人捐款8.65元,两个班平均每人捐款多少元? 雅安大地震令人感动的事 注意是(子母事件) 作文500字 父亲的年龄是聪聪年龄的9倍,母亲的年龄是聪聪年龄的7.5倍,父亲比母亲大6岁.聪聪今年几岁呢?(列方程解答) 六年级捐款860元,比五年级多捐110元,五年级相当全校捐款的67分之15,全校捐款多少元? 512汶川大地震作文的开头怎么写 父亲的年龄是聪聪年龄的9倍,母亲的年龄是聪聪年龄的7.5倍,父亲比母亲大6岁.聪聪今年几岁? 六年级师生向汶川地震区小朋友捐书170本五年级捐书的本数是六年级的17分之15.算式答 谁有众志成城的(关于日本大地震的)作文开头 爸爸的年龄是聪聪的3倍,爸爸比聪聪大26岁,爸爸今年几岁?聪聪几岁?急 胜利小学学生开展支援灾区捐书活动,六年级捐书90本,占全校捐书总数的4分之1,全校捐书多少本? 关于雅安地震的作文开头结尾 妈妈的年龄是聪聪的5倍.爸爸的年龄比妈妈大三岁.是聪聪的5.5倍、聪聪几岁? 某班开展贫困山区学校捐书活动,捐的书比平均每人捐3本多21本,比平均每人捐4本少27本,有多少名学生算式 2013年4月20日8时02分,四川省雅安市芦山县发生7.0级强烈地震.某市接到上级通知,立即派出甲、乙两个抗震救灾小组同时乘车沿同一路线赶赴距出发点480千米的灾区.图中的折线、线段分别表示
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn