首页 期刊简介 最新目录 过往期刊 在线投稿 欢迎订阅 访客留言 联系我们
新版网站改版了,欢迎提出建议。
访客留言
邮箱:
留言:
  
联系我们

合作经济与科技杂志社

地址:石家庄市建设南大街21号

邮编:050011

电话:0311-86049879
友情链接
·中国知网 ·万方数据
·北京超星 ·重庆维普
经济/产业

信息类别

首页/本刊文章/第347期/管理/制度/正文

发布时间

2008/6/2

作者

□文/李兴原 丁 刚

浏览次数

1364 次

基于SQL Server数据库技术的多语言转换
  目前,实现多语言转化的主要技术包括使用配置文件和第三方多语种控件两种方法。这些方法存在很多缺点:使用配置文件时,因为多语种数据存放在用户可见的文本文件中,很容易损坏甚至丢失;使用第三方多语种控件时,需要输入大量的多语种数据,这些数据被编译到可执行文件中,导致系统载入速度变慢、性能降低,特别是在需要修改某些数据时,必须重新编译,使用不灵活。本文提出采用SQL Server数据库和Delphi技术实现应用软件的多语言转换,可以实现多种语言数据安全存储和快速获得,采用面向对象编程的继承思想,保持了多种语言应用软件界面一致性,而且提高了应用软件的开发效率。
  一、开发工具介绍
  SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。SQL Server是一个关系数据库管理系统,它最初是由Microsoft Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2 版本,在Windows NT推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft将SQL Server移植到Windows NT系统上专注于开发推广SQL Server的Windows NT版本;Sybase则较专注于SQL Server在UNIX操作系统上的应用。SQL Server 2000是Microsoft公司推出的SQL Server数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本优点的同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用。
  Delphi这个名字源于古希腊的城市名,它集中了第三代语言的优点,以Object Pascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其他产品生成的程序,它还是真正的面向对象的编程语言。Pascal语言的严谨加上可视化的优势和强大的数据库功能,使得它有充分的资本和微软的VB相媲美。Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言又有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序,缺省的应用程序是一个空白的窗体,您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率。
  二、方案设计
  本文借鉴面向对象程序设计的继承思想,提出使用SQL Server数据库载入技术实现多种语言的切换。(图1)










  此方案把大量多语言数据录入到数据库中,可缩短可执行文件长度,提高系统启动速度,而且在系统崩溃后,可以使用数据库恢复功能,得到原始数据,从而实现应用软件界面多种语言的正常切换。
  三、关键技术
  (一)数据库载入技术。在此方案中,第一,在数据库中创建一个语言种类编码表,对当前系统支持的语种进行编码。第二,创建一个应用软件界面列表,记录当前系统的界面个数,并为每个界面设置一个编码。第三,创建一个界面与语种的映射表,记录每个界面对应的语种。在系统登陆时首先选择语言,登陆成功后,无论进入哪个窗体界面,都在窗体的Onshow事件里根据系统当前语种编码查找每个控件的Caption,更改默认为新选择语种的Caption值。此方案需要在应用程序中创建一个父类窗体,在父类窗体的Onshow事件里写入多语种界面支持程序,其他窗体可以通过继承该父类窗体实现多语种自动载入。当应用程序需要加入新的支持语种时,还需要设计一个专用的界面以提供对可视化界面窗体的语种配置。
  (二)数据库表结构。在上述数据库中,用到语种编码表、窗体信息表、窗体控件语种配置表、Table字段配置表、Table字段列表、提示信息配置表等,以下是窗体信息表、窗体控件语种配置表的数据结构。(表1、2)
  (三)多语种配置数据录入。可视化界面支持多语种的一个重要方面是多语种数据的录入。假如全部采用手工录入,工作量将是非常巨大的。图2所示的专用多语种配置窗体frm_config,把每个子类窗体多语种界面数据录入数据库,大大减少了录入工作量。
  具体操作步骤:
  第一,通过手工记录每个窗体的信息至表1中;第二,在frm_config中用listbox列出表1中记录的所有窗体,每选中一个窗体,便自动读出该窗体所有子控件,这里可以使用窗体自带方法self.Controls[index]来获取,Controls[index]数组包含了该窗体全部子控件。(图2)







  但是,并非所有控件都有Caption,所以需要对每个TCon-trol使用(TControl is Tbutton)或(TControl is Tlabel)等进行判断和筛选,具体筛选什么控件,可以根据可视化应用软件在界面上使用带有Caption属性的控件而定。当把带有Caption的控件筛选出来后,可以用String-Grid组件列出,第一列是原TControl的Caption(默认简体中文),需要创建新的语种时,根据默认简体中文Cap-tion的内容,将映射值录入到对应的第二列,录入完毕保存到数据库中。通常需要多语种化的控件如:Tlabel,Tbutton,TDBGrid,TPanel,
Tcheckbox,TRadiobutton,TPopupmenu,Tmainmenu等,这些由可视化应用软件界面的控件使用情况来确定。
  (四)Onshow事件的实现原理。在父类窗体的Onshow事件中写入的多语种界面支持程序可以在其子类窗体重用,其子类窗体通过继承该父类窗体便可以自动实现多语种自动载入。OnShow事件实现原理是:根据当前界面语种编码和当前窗体名称读出当前窗体内控件的多语种配置记录,根据每条记录中控件的类型和名称,更新控件的Caption为当前语种下的值。
  (五)DBGrid控件的多语种化。在可视化应用软件界面中,DBGrid控件的多语种化是比较烦琐的,具体实现过程如下:
  step1:使用Table字段配置表和Table字段列表记录需要多语种化的数据;
  step2:定义全局过程;
  step3:过程调用。通过在任何含有DBGrid窗体On-show事件内调用这一过程,便可实现DBGrid表格中的多语种化。
  上述过程定义如下:
  procedure GP_UpDateTitleCaptionOfDBGrid(DataSet:TDataSet;DBGrid:TwwDBGrid;
TableName:String;xLgCodeID:integer);
  //DataSet:相关数据集名
  //DBGrid:要更新的数据表格控件
  //TableName:相关数据库表
  //xLgCodeID:要更新的语种
  (六)提示信息的多语种化。在可视化应用软件中有时需要给用户提示信息。对此,提示信息全部由“提示信息配置表”给出,定义一个全局动态数组,在程序启动时,从数据库中载入xMsg[x]=′MSG′的即是提示信息,调用提示信息时,只需要知道当前使用的是什么语种和信息序号。对此笔者设计了一个初始化全局变量的函数:procedure FS_LoadGlobalVar(xLgCode
ID:integer);该函数执行后将会初始全局消息队列(GS_MSG:ar-ray of String)和其他需要从数据库载入的变量初始值。当显示某个提示信息时,只需要给出他的序号。
  例如:ShowMessage(GS_MSG[12]);
//第12号提示信息,各个语种的第12号信息含义一致
  四、结语
  在基于SQL数据库技术的多种语言切换方案中,为了多种语言数据的安全存储和快速获得使用数据库技术载入最为稳妥,为提高代码的利用率,可采用面向对象编程的继承思想,不仅保持多种语言应用软件界面的统一性,而且提高了应用软件的开发效率。使用Delphi7和SQL Server数据库作为开发工具,成功地将本方案应用于支持多语言版本的图书信息管理系统,运行结果表明了该方案的有效性和实用性。■
 
版权所有:合作经济与科技杂志社 备案号:冀ICP备12020543号
您是本站第 32383824 位访客