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

怎样在TDataset中汉英混用-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
怎样在TDataset中汉英混用-Delphi资料

我们知道,在 TDataset 控件中,字段名是可以用中文的,不过在实际编程时往往中文字段不比英文字段显得方便,相反出错的几率到是很高的。而针对客户或是制成实用(商品化)的软件,没有了中文表达,没有了适合本国国情特色 的界面,该软件又是不成功的。如果 TDataSet 能提供这样一种转换功能,即内部是英文字段,而呈现给用户的是中文界面,不仅查找、搜索对用户来说容易、简单而且大大简化了开发者的编程难度,那么这样的属性(功能)应该是大受欢迎的。

实现这样的转换可以有好几种方法。

一种是静态转换。所谓静态,即是在设计字段或制作表头时,修改其相关Lebel 或 DisplayLabel。无论该字段是否引用或参照别的字段,一旦形成可执行的组件对象,这中形式也就随之固定下来。到了实际运行时,这时的形式也可以满足一般的需求。但是这种形式不具备伸缩性,也不具备可扩充性。

另一种是动态修改。我们从 TTable 控件得知,Fields 属性是该 Table 的字段属性,而其每一字段的 DisplayLabel 属性是在运行时可以改动的。利用这一点,我门可以制作一个通用的作用于 TDataSet 的控件,使其具有数据感知功能,在数据库加载时替我们做这个动态转换。至于控件对象选用 TDataset 而不选用 Table(TQuery)是出于移植性的考虑。

下面说一说其工作原理。

当一 Delphi 的执行程序加载到内存当中时,它首先是完成各成员对象的初始化即完成 Load 事件

然后才根据需要执行各组件的 Create

对于继承自 TDataSet的TTable、TQuery 等也不例外。我们关心的是 Form 的 Close事件和 TTDataSet 的 Open 和 Close 事件,当我们连结(HOOK)到这些对象的Notify事件,也就具备了被事件驱动(唤醒)的功能。SetEnevts 和 RestoreEvents 这两个过程是起到在Load(装载)时设置主单元 Form和 TDataSet 的OPen和Close 事件,在关闭(主单元或数据库)时,恢复其原来的事件。GetForm 为获取主单元的窗体的过程。IniFileName 为保存有字段中英文对照表的 INI 文件。

其格式如下:

[DEFAULT] ; 设置为缺省库

RKSJ=入库时间 ;字段名 RKSJ 中文: 入库时间

DJ=单价 ;字段名 DJ 中文:单价

YS=颜色 ;字段名 YS 中文:颜色

BZ=备注 ;字段名 BZ 中文:备注

[DEFAULT_SIZE] ;缺省库字段长度

RKSJ=12 ;字段 RKSJ 显示长度为 12

DJ=8 ;字段 DJ 显示长度为 8

YS=10 ;字段 YS 显示长度为 10

BZ=40 ;字段 BZ 显示长度为 40

IniSection 指定该库(TTable

TQuery) 位于 IniFileName 的哪一区。我们看到在 Load 这个重载过程中,有一个Loading 的变量,它是为了防止在构建Form或DataMoudle时加载了SetEvents

而我们的目的是在运行时设置,而不是在 Delphi的集成环境里进行 Form 的设计时。在 Save 的过程中,IniFileName 的存取位置在该执行程序的目录下,Save 过程分为两部分进行。

当用户指定了IniSection 时,对于本 FDataSet 的字段都将放在指定的 IniSection 区中, 期间对以前的任何数据不作保留。

当用户没有指定 Inisection 时,FDataSet 的字段都将放在 Default(缺省)区中,此时对保存的 FDataSet 字段做进一步的更新处理。

ID爆发的物联网时代,我们该如何管理手中的数百个账户 取代Google Maps?苹果大幅优化Apple Maps用户体验 中交兴路系统架构师杨晓明:Hadoop+Storm+ HBase…,打造交通行业创新型服务 雨果·巴拉的第二春:我与小米的那些事儿 为什么Android Wear能统领智能手表领域? LinkedIn缘何抛弃Ruby,转投NodeJS怀抱 【OSTC讲师专访】九秒社团李明:开源对游戏产业的渗透与帮助 IBM 2014中国论坛:挖掘新互联网时代下“智慧企业”的发展之路 Facebook工程部副总裁Cory Ondrejka谈企业在早期所遇到的管理瓶颈 小团队管理工具选择:不需要大而全 《近匠》聚合CEO左磊:基础数据免费,API开放 IDC:HTML5与原生应用之争还将长存 不甘称臣,Google誓要击败Amazon 【OSTC讲师专访】腾讯追风(QcloudMna):开源移动加速SDK Google Go:一门为云而生的编程语言 3月26日:没有Larry Page,就没有今天的Google Hortonworks再获1亿美元融资,Hadoop领域三足鼎立 Intel收购Basis Science,欲拓展可穿戴设备市场 Facebook以20亿美元收购Oculus:虚拟现实将是未来计算平台又一大事件 基于NodeJS的14款Web框架 Hadoop导航:版本、生态圈及MapReduce模型 把黑匣子送上“云” 失联困境能否不再 看看全球十大电信巨头的大数据玩法 尹绪森:打开圈子拥抱变化,谈Spark玩家的自我修养 从Healthbook看苹果将如何颠覆移动医疗和健身追踪 Google可穿戴:详解Android Wear的十大功能 初创企业非技术人员的迷思 【OSTC讲师专访】王兴博:Genesis-3D,3D开源游戏引擎 Facebook发布开源项目Tweaks,让iOS应用开发更加便捷 移动开发创业团队再下一城!UCloud与飞流战略合作 【走进支付宝】即将开场,问题大征集! 哪里有卡通警察???? 如何实现在子窗口中加上listctrl等控件?谢谢! 哪里有好用的Win2000下用的五笔软件? 对IP数据包截获,过滤,TCP协议分析的朋友请留下email 高手请进!50分赠送!!!!!!!!!!!!!(运行正确即送分)! 一个关于dropdowndw的问题 普通PC是否有装UNIX的必要? 谁有好的加密算法介绍几个,在这里谢谢大家了! alter table--问题 请求帮助!help me!回答正确一定给分 哪里有卡通警察???? int64@163.com 我在一个.CPP文件中定义了一种ENUM类型,我怎样在其他的.CPP中定义此ENUM类型的变量? 小问题 Crystal reports的问题 a question about sqlserver + delphi 有关数据库的设计 请问谁有360度可以许多张图片旋转的代码。 各位大虾,kde下的KDevelop怎么用,尤其是C++编程? 急!急!急!急!急!急!急!急! 我该如何调试一个进程外的exe组件呢?我该如何调试一个进程外的exe组件呢? 打包的问题? 如何在一个MFC程序中取得theApp的指针?? vb与ACCESS200以上版本的兼容性问题 怎么做到的录像? 能不能在基于对话框的程序里实现串行化? MS专家请进:行锁定问题 怎样得到一个文件的扩展名 我在VB中引用了"Microsoft DAO2.5/3.5 compatibility Library",请问在做安装程序时要添加什么DLL和库文件? 高手请进!35分赠送!!!!!!!!!!!!!(运行正确即送分)! sos sos sos 求一源程序或者代码,或者详细制作方法 求教:用java怎样写,内详。 那位兄弟介绍一下国外的找工作情况 在我的主程序中调用ActiveX DLL的问题。 急救:ucdos98,如有请发给我,guicheng.wang@hisensecom.com 高分感激!!! 一个简单的问题? 买了个内置硬猫,装上驱动后机器慢得要命,好象一直在等待什么,而此时system进程占用cpu为99%。 关于专用打印机指令问题!!! 候捷和候俊杰是什么关系?? Crystal Reports的问题 什么是命名空间? 请问怎样订阅google上的新闻组?? 浏览器中的时间选择 谁知道程序员大本营2001光盘那个EXE文件的制作方法吗? 为什么没有actionscript的论坛?那个可是前沿啊/ 错误类型:Microsoft JET Database Engine (0x80040E09)是什么错误啊?请大虾们帮忙! 紧急:请问怎样在windows me中添加、设置并使用传真机 有谁有字节序转换的c代码?现在我要将网络字节序和主机字节序相互转换,但又不能调用api,不知那位大侠可以帮忙?先谢了! 用.NET制作安装盘的一些问题 有谁有字节序转换的c代码?现在我要将网络字节序和主机字节序相互转换,但又不能调用api,不知那位大侠可以帮忙?先谢了! 不能访问asp文件了?? 能做到让页面不刷新吗? 什么是绝压,什么是差压 养鸡场的母鸡产的蛋不能孵出小鸡,原因可能是? 母鸡如何受精孵出小鸡的?小时候在乡下看见过母鸡孵小鸡,但就是搞不懂母鸡怎样受精的,我从没见过鸡交配?请高人了却我好几年的疑惑 谁知道真空度、表压、绝压的区别 母鸡从来没有跟公鸡接触过,母鸡生出的蛋能孵出小鸡吗? 母鸡孵化鸡蛋,有的蛋可以孵化成小鸡,有的不行.请问公鸡是怎样使母鸡受精的? 差压的含义是什么? 为什么公鸡不在时!母鸡能生蛋却孵不出小鸡来. 寻,尺,丈,里都是古代的长度单位,请按由小到大的顺序排例 1.74Mpa(表压)是多少绝对大气压? 自然环境描写如何起到暗示社会环境的作用?从资料上看到自然环境描写的作用之一是“暗示社会环境,揭示社会本质特征”.我不太理解这一点,谁能给我举一个例子? 长度单位寻,丈,尺,寸从大到小排列是 谁能用最通俗易懂的语言阐述表压 绝压 大气压 真空度之间的关系 语文阅读中自然环境描写和景物描写的具体区别? 质量为m的物体从静止开始自由下落,不计空气阻力,在t秒内重力对物体做功的平均功率是? 请问麦式真空表测出来的绝压跟当地的大气压有什么关系?麦式真空表测出来的绝压跟大气压有关系莫? 点击 我为少男少女们歌唱 第三节中,诗人把“快乐或者好的思想”比作 和 ;这两者的相似点是 我等十分钟 物体从高处自由若不计空气阻力则重力做功的功率将如何变化 为什么母鸡孵蛋可以孵出小鸡?人却不行?母鸡是怎么孵出小鸡来的? 现代文品读文言诗文点击 我为少男少女们歌唱2009年版 寻,里,尺,丈大小排列帮帮忙 是不是所有的鸡蛋都能孵出小鸡? 初一语文题:仿照《我为少男少女们歌唱》写一节诗.我为少男少女们歌唱.我歌唱早晨,我歌唱希望,我歌唱那些属于未来的事物,我歌唱我歌唱正在生长的力量.我的歌呵,你飞吧,飞到年轻人的 “寻、尺、丈、里”的单位排序按照古文中的顺序从小到大排列. 城市的鸡蛋达到一定温度可以孵出小鸡来吗?要孵多少天? 青春的梦想诗歌(仿照我为少男少女们歌唱) 我为少男少女歌唱 少男少女有什么含义 是升华要的温度高还是熔化要的温度高?如果升华要的温度高,那钨丝的熔点是3000摄氏度以上,日光灯的温度在2000摄氏度左右,为什么钨丝却能够升华?如果升华要的温度低,那他应该连熔化的温 语文阅读题经常问表现手法,或者写作手法,请问有哪些,各表达什么作用? 主要内容 普通家庭怎么把鸡蛋孵成小鸡 我为少男少女们歌唱的内容和来源是什么 我为少男少女们歌唱 里的少男少女有什么深层的含义 表压在1公斤和2公斤的压力下天然气中C5的露点?二楼的,请问您是在哪里找的?可以的话,给个根据好吗? 1.概括第二节所表达的意思______________________________________________________2.诗首句说“我为少男少女们歌唱”,可接着说“我歌唱早晨……歌唱那些正在生长的力量”,这样写是否突兀?为什么?________ 单位长度怎么数怎么数?就是这个.数单位长度、要不要算起点和终点.还是数起点不数终点还是数终点不数起点? 除氧器安全阀压力是表压还是绝压 描写一种大自然的声音大自然的声音丰富多彩,但要将其描绘得生动传神.还需要妙笔生花.比如"蝈蝈在窃窃私语" 根据鸡蛋的外形如何判断孵化后的小鸡是公鸡还是母鸡 燃气热水器夏季模式时有煤气味刺眼,是燃气没烧尽吗?自已可以调吗?燃烧时是中间大火两边没什么火 《我为少男少女们歌唱》作者为什么说他变年轻了? 我为少男少女歌唱我为少男少女们歌唱.我歌唱早晨,我歌唱希望,我歌唱那些属于未来的事物 我歌唱正在生长的力量.我的歌呵,你飞吧,飞到年轻人的心中 去找你停留的地方.所有使我像草一样 描写年轻人啊,学生的古诗,就是写什么朝气蓬勃的精神啊什么的,也可以是适合中学生朗诵的古诗就是相当于少壮不努力,老大徒伤悲那种的 要押韵点的,还有,一定要是古诗! 家用自吸泵的电容怎么接就是线圈的三根线、和电容还有220V外线怎么接 最大的数字单位是兆吗? 若将诗歌我为少男少女们歌唱改为我为青少年歌唱好不好?为什么? 生活在黄土高原上的人们为什么大多居住在窑洞呢 怎么辨别母鸡生出的蛋是孵小鸡的 阅读小诗,《青年人》青年人青年人,珍重的描写吧,时间正翻着书页,请你着笔!1.诗中“描写”“着笔”用的好不好,为什么?2.本是所要表达的主旨是什么? 港华燃气的天然气硫份是多少 兆是什么单位,数字后面有几个0?要正确的,不要胡编 语文中环境描写中的社会环境描写有什么作用 石油硫含量的标准是什么我说的是石油啊,哥哥! 兆后面的数字单位是什么?如题··· 描写天气阴沉的句子句子一定要好,必须要描写天气阴沉 刚生出来的小鸡蛋,母鸡不在旁边可不可以孵出小鸡?可以的话请说怎么孵.意思是母鸡不在小鸡蛋的身边,,我只有小鸡蛋,,怎么让它孵出小鸡? 天然气或液化气的总硫含量单位由mg/m3如何转换成ppm,可现在又不让用ppm,应换成什么呀! 压力变送器的表压和绝压到底是什么样的概念呢? 母鸡孵鸡蛋可以孵出小鸡来,我去孵鸡蛋,能不能孵出小鸡来? 鸡蛋放在冰箱里还能孵出小鸡吗?(受精过的)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘