电子词典设计与开发毕业设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科毕业设计(论文)
题目:电子词典设计与开发
Development of Electron Dictionary
摘要
二十世纪后半叶,以电子计算机为代表的现代科学获得了突飞猛进的发展并迅速和人们的日常生活结合在一起。

计算机技术的发展和进步也使电子语言词典的诞生成为可能。

虽然只有十来年的历史,电子词典却已经迅速发展壮大,成为词典家族中具有旺盛生命力的一员。

尽管目前它尚不足以取代传统词典,但在英语学习和教学中,由于它实用、快捷、准确、经济等特点,已经成为传统英汉词典的有力竞争者,并对传统的词典提出了挑战。

本文将要介绍的软件就是一个多功能学单词软件,主要介绍了这个软件制作环境,制作流程,对数据库的操作以及它的使用方法。

用户可以根据自己的需要去查询单词,添加单词,删除单词,编辑单词等。

另外,它还给单词学习者们提供了一个背单词的好方法。

每一个用户都可以通过创建一个用户名来背诵单词,随时查看自己的历史记录,以便确定自己的背诵进度。

本文从软件工程的角度进行了详细的阐述。

该系统的开发工具是powerbuilder 9.0,使用的数据库为Adapt Server Anywhere 。

关键词:电子词典,powerbuilder,数据库
Abstract
20 half after centuries leaf, with computer for representative of the development that modern science acquires to advance by leaps and bounds combine quick combine together with the people's daily life.The calculator technical development and progresses also make the naissance of the electronics language Electron Dictionary make possible.Although only ten histories of the next years, the electronics Electron Dictionary has already developped quickly strong, become having a member of the prosperous vitality in the Electron Dictionary household.Though it is still not enough to replace the traditional Electron Dictionary currently, in English study and teaching, because of it practical, fast, accurate, economy etc. characteristics, have already become the emollient competitor of the traditional English-to-Chinese Electron Dictionary , and put forward the challenge to the traditional Electron Dictionary . The software that this text will introduce is a multi-function learn the single phrase software, mainly introduced this software manufacture environment, the manufacture process, to operation and its operation methods of the database.The customer can search the single phrase according to own demand, increasing the single phrase, deleting the single phrase, editting single phrase etc..Moreover, it returned to provide a good method that carries on the back the single phrase for the single phrase learners.Each customer can pass to establish an user's name to recite from memory the single phrase.At any time look into own history record, for the purpose of assurance recite from memory the degree of progress ownly.Carried on to elaborate carefully from the angle of the software engineering.It is Adapt Server Anywhere that the development tool of that system is the powerbuilder 9.0 databases of the usages. Key Words:The Electron Dictionary , powerbuilder 9.0, Adapt Server Anywhere
目录
前言 (5)
第一章系统分析 (6)
1.1 系统目标 (6)
1.2 系统需求分析 (6)
第二章系统总体设计 (7)
2.1 系统设计思想 (7)
2.2 功能设计细节问题 (7)
2.3 系统功能结构设计 (8)
2.4 模块功能说明 (9)
2.5 开发工具和环境 (10)
2.5.1 总体开发工具及环境 (10)
2.5.2 开发工具简介 (11)
第三章数据库的开发与设计 (13)
3.1 数据库需求分析 (13)
3.2 系统逻辑分析 (14)
3.3 数据库的连接 (15)
3.3.1 程序设计时与数据库的连接 (16)
3.3.2程序运行时与数据库的连接 (16)
第四章关键模块页面和代码设计 (18)
4.1 应用程序对象设计 (18)
4.2 软件封面设计 (18)
4.3 软件主界面设计 (20)
4.4 查询功能模块设计 (22)
4.5 轻松背单词模块设计 (23)
4.6 词库管理模块设计 (26)
第五章系统测试 (29)
5.1 系统测试环境 (29)
5.2功能测试 (29)
第六章系统发布 (32)
6.1 创建工程对象 (32)
6.2 发布 (33)
结论 (34)
致谢 (35)
参考文献 (36)
附录 ................................................................................................................ 错误!未定义书签。

前言
电子词典诞生于80年代末期。

如今市场上流行的有几十个品牌,数百个品种,集成了十几种甚至百余种功能,容量也从刚开始时的一万左右到现在的几万,十几万,有些品种则包含了几本不同词典的全部内容。

现在大多数电子词典可以自由扩充词库,或从互联网上生产商的网站上下载词库,对词典进行自动更新。

这对传统词典而言,其修订周期最少也得5到7年,这种袖珍电子词典已经成为学生的必备学习工具,据调查,在广州,上海,北京等大城市中,电子词典在高中生中的持有率已经接近50%,在大学生中持有率也不断上升。

目前市场商的主流电子词典有:文曲星、快译通、好易通、名人等系列产品。

除了主要用于查询单词以外所有掌上电子词典都或多或少的提供其他的辅助功能。

本人作为一个计算机应用的本科生,希望根据英语学习者的需求来设计一个实用的电子词典,以帮助英语学习者们更方便更快捷地查询单词、记忆单词,有效,自由的对词库进行管理,操作。

闲暇之余也可以用猜词游戏来巩固一下单词。

本文主要包含以下内容:
(1)系统需求分析和系统功能设计
(2)开发工具的选择及开发环境的设置,介绍了PB9.0及ASA数据库的基本情况。

(3)数据库的设计,介绍了数据库设计理论、系统中所用到的表的逻辑结构设计方法和设计过程等。

(4)功能模块的设计,具体介绍了如何实现各个功能模块,介绍了一些核心代码等。

(5)对系统进行测试与调试,对设计过程中产生的错误进行修正。

第一章系统分析
1.1 系统目标
电子词典的设计主要是用于帮助用户查找一些不懂的单词。

以确定意思,再加上一些相关的扩展功能。

1.支持用户查询需求,能够实现英汉互相翻译的功能
2.支持用户自定义词库能够使用户对词库进行操作,以便使用户获得更多
的资料。

3.加入轻松背单词功能,是用户对单词有一个及时全面的复习环境。

1.2 系统需求分析
用户在使用电子词典的时候,有可能会使用电子词典的查询功能,也有可能使用电子词典的轻松背单词功能。

通过对用户需求分析,初步确定该系统的基本需求情况:
1.用户在打开软件的时候,应该有一个漂亮的背景和背景音乐来舒和用户
的心情。

2.当用户需要查询的时候,软件必须提供这个单词的所有信息。

以便与用
户来获得所需要的信息。

3.可以自定义单词,使用户自己可以扩充词库。

4.用户可以根据自己的情况来选择级别来背诵单词。

5.用户在背诵单词的时候,可以选择每次背诵单词的数量,单词的范围。

第二章系统总体设计
2.1 系统设计思想
电子词典软件面向用户时,重要的是其可靠性,即用户能准确且较快速地查询到词语的相关释义。

本文中分析用到的电子词典外观可参见Challenges英语教学软件中的电子词典(Challenges是智能型多媒体教学软件,电子词典是其功能之一)。

词典软件准确而快速地响应来自于程序结构上的清晰和代码的优化。

而电子词典软件面向设计者时设计者总是希望以尽可能简单的结构、尽可能少的代码构造出更为理想的软件,尤其是快速地、成批地构建词库,因为建库的工作往往耗时长,容易出错,需要反复无数次地调试。

这在理论上包含了对词库的索引方式问题。

从全文检索的角度上来说,即是对关键字的有效选取。

由于这类软件中内嵌的电子词典的外观比较简洁,使用起来只需用鼠标进行点选就会有相应的释义出现,如果不深入分析的话,初见到它的人认为这是一种简单的、对网页进行的链接设定。

事实上,对词库中的词语和释义进行逐个链接的设定是比较麻烦的,很多词典软件的建库工作是建立在大量重复性的操作的基础上的,而且无法进行自动排序,只能手工逐条排序和添加,对按首字母进行的单词排序就更无从说起。

因此,以此为例,对实现电子词典软件的探索在于自动化、智能化方面的实现,而不是靠手工建库来完成。

2.2 功能设计细节问题
确定了软件设计结构后,通过编码和优化实现这一结构是不太复杂的。

但是涉及到相关的细节问题相当多,例如,程序的初始界面是怎样的,一开始运行程序,首先应该有字母表,否则用户无法选取;此外,单词预览窗口里应总是有一些单词(即使在初始状态下),这表现了友好的设计风范。

所以,当程序一旦加载,就应该出现字母表和以A字母开头的单词。

随着用户的使用,界面上的单词和释义不断做出变化,这一过程是交互的。

还可以给单词或释义配音,甚至用动画等方式带来更易接受的效果;合理的引导信息,当用户直接点击查询时时,智能型的软件可以给用户做出自动提示,例如告知:“请
填写您需要查找的单词”等等。

但这种引导信息不应成为冗余信息。

如果用户没有点准位置,而系统弹出一个提示框,要求用户选择是再试一次还是放弃,这就很不合理了。

因此对于智能化的设计一定要站在用户的角度上考虑,而不是一味炫耀设计者具有怎样的想法和水平。

如果软件的逻辑关系比较复杂,为便于用户的使用,可以加上“刷新”的功能,这样能更迅速地回到主界面,甚至可直接关闭电子词典功能,直接转到别的功能上去,实现软件间的相互调用;进一步的设想是,对软件做出一部分的开放式设计,让用户直接参与到设计中来例如加挂一个模块让用户进行软件DIY,用户可以随心所欲的添加自己的词库。

2.3 系统功能结构设计
电子词典作为一个大众应用软件来说,她的诞生无疑是给人们更多的权利去遨游在浩瀚的互联网。

所以一个好的电子词典软件应该使用起来更加方便,更加贴心,更符合用户的需求。

本电子词典主要包括以下几个功能模块。

系统功能模块图如下:
图 2.1 系统功能结构图
2.4 模块功能说明
1)汉译英功能模块说明:可以实现对英文单词对中文单词的查询功能。


用户在输入第一个字符的时候,以这个字符作为开头的单词会显示在下
边的数据窗口中,用户可以直接双击该单词以便显示这个单词的中文解
释。

也就是说,不需要完全输入用户想要找的单词。

只要用户有一点单
词的印象,那么,他就可以凭记忆来双击他想要的单词来显示该单词的
意思。

在单词解释窗口里,用户可以看到自己所需要的信息。

可以找到于之相
关的经典例句。

以便用户以后能对该单词更加熟悉。

同时还包括了近义
词,反义词,音标,等于单词想关联的信息。

2)英译汉功能模块说明
可以实现中文对英文的翻译,通汉译英一样。

在左下数据窗口里面也可以直接双击该单词来获得用户想要的相关信息
3)轻松背单词功能模块说明
(1)用户管理模块:这个模块的意义并不在于限制非法用户的登陆问题。

只是当不同的用户来使用不同的单词测验的时候,会产生不同的历
史记录。

使用用户管理功能模块以后。

会使个人对自己的情况有非
常深刻的了解。

(2)新用户注册模块:可以注册新的用户,条件是不能用已经存在的用
户名来注册,另外,这里加入了用户密码验证体系,假如注册用户
两次密码的输入不一致,也不能通过合法性验证
(3)用户登陆模块:这里就是用户的验证界面了。

假如正确的用户登陆
了,进入功能选择窗口。

而且历史记录这个数据窗口里就会显示相
应的历史记录。

假如用户不能正确的登陆的话。

则关闭窗口。

增加
恶意用户猜测密码的难度。

(4)单词浏览功能:当用户执行这个功能的时候,会跳出一个向导框出
来。

会提示用户浏览单词的速度。

假如用户选择手动的话。

那么用
户只要单击下一条就可以了。

当用户背完他所选组的所有单词以后,
结束这次背诵。

返回功能选择界面。

(5)单词测试功能:在这个功能模块里,可以对用户所选择的组进行测
试,如果用户是刚浏览过的一组单词,那么,在单词测试的词库设
置会默认为刚才浏览的一组单词。

假如用户正确了或者错误了,那
么将会弹出提示。

假如用户背诵的单词错误的总数高于总单词数量
的10%的时候,那么这组单词就不会通过。

无论通过于否,都会存进
历史记录里。

供用户查看。

(6)历史记录:在这个模块里,用户可以很轻松的看见自己背诵单词的
情况。

用户可以看见自己没有通过的组号,以及单词背诵的日期。

双击未通过的组可以进入单词测试模块,继续进行一次测试。

(7)词库设置:用户可以在这个里面设置这个词库。

注意:用户刚登陆
的时候词库设置的默认值都是空的。

必须在词库设置里先设置好词
库范围才能进行单词浏览,单词测试。

(8)猜词游戏:供用户在休息的时间里放松一下自己的功能模块。

用户
可以根据自己的要求和实力来自定义猜词的难度。

猜词的字母数越
少,难度越低,失误的机会数越多,难度也越低。

2.5 开发工具和环境
2.5.1 总体开发工具及环境
本系统采用的软件开发工具及环境如下:
操作系统: WINDOWS xp
编程工具: PowerBuilder9.0
数据库:Adaptive Server Anywhere数据库
开发用机器的硬件配置:
Pentium Ⅳ 1.70GHz、256MB内存、30GB硬盘等。

运行要求的配置:
硬件环境:英特尔奔腾处理器,166MHZ或更高的处理器、 32M RAM-ROM驱动器、256色、1024*768分辨率显示器(推荐使用更高的分辨率和颜色深度)软件环境:WINDOWS98/2000/XP
2.5.2 开发工具简介
PowerBuilder是一个图形化的应用程序开发环境。

使用PowerBuilder开发的应用软件由窗口构成,窗口中不仅可以包含按钮、下拉列表框及单选按纽等标准的Windows控件,还可以有PowerBuilder提供的特殊控件。

这些特殊控件可以使应用软件更容易使用,使应用软件的开发效率更高。

例如,数据窗口就是PowerBuilder提供的一个集成度很高的控件,使用该控件可以很方便地从数据库中提取数据,很简单地检索数据,提供图形化的数据显示方式,创建统计功能非常强大的数据统计表。

由于数据窗口对数据的操作是通过事务进行的,所以对数据的操作有很强的可靠性。

这些都为开发功能强大的数据库应用软件提供了可靠的保证。

商业化的软件开发要求有很好的移植性。

PowerBuilder既可以跨平台开发,也可以发行跨平台软件。

例如,在Windows 95下开发的程序,可以不修改源程序而形成UNIX下的执行文件或Macintosh下的执行文件。

在开发小组中,不同成员可以使用不同的开发环境,但由于PowerBuilder的支持,在不同的开发环境下看到的共享PowerBuilder对象是相同的,所以仍可以同时开发同一个应用程序。

随着软件技术的不断发展,PowerBuilder 8.0及时地强化了开发功能,并提供了一些配套的开发工具,成为一种易于使用的、可伸缩的并经实践证明的快速集成开发环境。

它在给用户提供一条转移到下一代平台的途径的同时,使用户仍能够保护和扩展现有的技术和应用上的投资。

Adaptive Server Anywhere是PowerBuilder自带的数据库管理系统,Adaptive Server Anywhere数据库可以与PowerBuilder运行在同一台机器上,作为PowerBuilder的数据库服务器,与PowerBuilder构成客户/服务器体系结构。

由于Adaptive Server Anywhere在功能上已具备了大型数据库的特点,因此使用Adaptive Server Anywhere有如下好处:
⑴由于Adaptive Server Anywhere本身已经是一个完整的数据库管理系统,所以在项目的开发阶段,单机即可开发大型数据库应用,而不必在网络状态下与
大型数据库管理系统连接起来开发;
⑵开发完成后,几乎不用更改,把开发出的应用系统拿到网络下即可运行在其他数据库上。

第三章数据库的开发与设计
电子词典的应用前景是很广阔的,许多诸如英语教学一类的软件中都会挂一个小型的英文词典。

这类词典词库的设计方法多种多样,大多是针对软件自身的特点进行特殊的考虑和设计,目的是方便用户的使用,取得较好的效果。

在电子辞典的设计过程中,设计者要考虑多方面的问题
因此,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,资料的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。

由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。

但这些技术方法与数据库系统并没有统一的相对应的模式,而是要根据应用系统对数据库不同的需求来选择不同的技术方法,甚至是几种不同的方法的融合
3.1 数据库需求分析
数据库结构设计的第一阶段,也是非常重要的一个阶段是数据库需求分析。

在这个阶段主要是收集基本资料以及数据处理的流程,为进一步设计打下基础。

根据以上的功能分析,系统主要需要建立的数据流图如下:
图 3-1 系统数据流程图
通过对用户需求和数据流程的分析,设计的数据项和数据结构如下:
1)用户名和密码表:用户名,密码(主码为用户名)
2)用户历史记录表:用户名,背诵时间,起始组,结束组,通过与否,背
诵级别(其中用户名和背诵时间为主码)
3)单词表:单词号,中文单词,英文单词,音标,词性,例句,翻译,是
否属于cet4级别,是否属于cet6级别,是否属于tofel级别的,是否
属于gre级别的。

3.2 系统逻辑分析
概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。

也就是要将概念上的结构转化为ASA数据库系统所支持的实际数据库模型。

该数据库系统要求具有以下方面的特点:
●结构合理,所建立的数据冗余度小,独立性强。

●建档、修改、查询、统计快而准确。

●保密性、可靠性好。

数据库的逻辑结构设计如下:
(1)用户名和密码表:用户名(userid),密码(userpassword)(主码为用户名)
图3-2 用户名和密码表
(2)用户历史记录表:用户名(userid),背诵时间(recitetime),起始组(groupbegin),结束组(groupend),通过与否(passornot),背诵级别(rank) (其中用户名和背诵时间为主码)
图3-3 用户历史记录表
(3)单词表:单词号(id),中文单词(cword),英文单词(eword),音标(ps),词性(kind),例句(example),翻译(translation),是否属于cet4级别(cet4),是否属于cet6级别(cet6),是否属于tofel(tofel)级别的,是否属于gre级别的(gre)。

(单词号为主码)
图3-4 单词信息表
3.3 数据库的连接
在PowerBuilder开发环境和应用程序能够操作数据库中的数据之前,必须首先与数据库建立联系,也就是连接到数据库上。

PowerBuilder与数据库的连接建立在驱动程序之上。

PowerBuilder通过数据库驱动程序接口实现与各种类型数据库的连接。

接口的参数可以通过一个Database Profile来完成。

对于每一个可能要用到的数据库,均可以建立一个Database Profile。

在此Database Profile中所记录的是建立到数据库的一些连接信息,如数据库管理信息(DBMS)的类型、用户账号、口令、数据库以及其他的连接参数。

当开发环境通过Database Profile连接到数据库上之后,在PowerBuilder 中使用数据库画笔可实现对该数据库中表格、视图等的操作,如创建表、修改表、删除表、增加/删除记录。

PowerBuilder中设计数据窗口的时候,通过“Database Profile”对话框实现与数据库的连接。

在应用程序中则一般是在应用程序对象中写连接数据库的程序代码,使得应用程序开始运行并实现与数据库的连接。

3.3.1 程序设计时与数据库的连接
在程序设计中可以使用“Database Profile”对话框完成配置和连接。

如果已经定义了所需数据库的配置,那么就可以通过单击选中该配置,然后单击“Connect”按钮,将系统连接到相应的数据库上。

如果没有定义数据库配置,需要创建新的数据库配置。

首先选择Tool菜单中的Database Profile子菜单,或者单击图标,出现“Database Profile”对话框。

在其中选择要配置的数据库使用的数据库接口,“ODB ODBC”节点。

然后,单击“New”按钮,打开“Database Profile Setup-ODBC”对话框,并设置所要连接数据库的配置信息。

完成设置后,单击“Preview”标签页,在该标签页中列出了数据库刚刚配置的语句。

单击“OK”按钮,返回到“Database Profile”对话框。

这时“ODB ODBC”节点下面就多了刚刚配置好的Database Profile。

选中该配置,单击该对话框中的“Connect”按钮,系统即通过专用接口连接到数据库上。

当PowerBuilder 8.0通过Database Profile 连接到数据库上之后,在程序上之后,在程序设计的创建数据窗口对象时,可以直接显示该用户在数据库中可以修改的表,通过选择某个(或者多个)表可以将它们和数据窗口对象连接起来。

3.3.2程序运行时与数据库的连接
在程序设计是和数据库的连接Database Profile对话框来实现的,在程序运行时,则需要通过应用程序对象来实现和数据库的连接。

在应用程序对象中实现与数据库连接,不在通过“Database Profile”对话框,而是使用Transaction 事物对象。

一般数据库的连接是在应用程序开始运行是建立起来的。

PowerBuilder9.0开发的应用程序的入口点是PowerBuilder9.0的应用程序对象。

每个PowerBuilder应用程序都必须有一个、而且只能有一个应用程序对象,在该应用程序对象中写入与数据库连接的程序代码,从而使得应用程序一开始变实现与
数据库的连接。

在“Database Profile”对话框完成设置后,单击“Preview”标签页,在该标签页中列出了配置的语句。

将连接数据库的代码复制到应用程序对象中,即可完成代码的编写。

第四章关键模块页面和代码设计
4.1 应用程序对象设计
PowerBuilder9.0开发的应用程序的入口点是PowerBuilder9.0的应用程序对象,运行是程序从这个入口点启动,所以应用程序对象的设计是应用程序设计的开始。

应用程序对象的事件不多,一共只有6个,分别是Open、Close、Idle、SystemError、ConnectionBegin、ConnectionEnd事件。

本应用程序对象中只用到Open事件,输入如下程序代码:
// Profile voc
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=voc;UID=dba;PWD=sql'"
connect;
open(w_open) //打开启动窗口;
4.2 软件封面设计
现在,一般的软件在启动都会出现软件封面,这样的做法不是没有必要的,因为,软件封面可以使用户更加放心,让他们知道程序还在继续着,并没有死掉。

如果有的程序在开始的时候需要执行连接数据库的请求,那么,软件启动界面就非常有必要了,它可以使用户在软件启动的时候会更耐心一点的等待软件启动完毕。

所以,在这个软件里,我设计了一个封面。

如下图所示:
图4 – 1 软件启动界面
在软件启动的时候需要对单词库进行分配,整理。

所以代码如下:在open事件里,主要代码如下:
timer(2)
int n, i = 0, m = 0 , a
a = 0
DECLARE c5 CURSOR FOR SELECT "voc"."id"
FROM "voc" where cet4 = 1 ; open c5; do while true
fetch c5
into :n;
a = a + 1;
if sqlca.sqlcode <> 0 then
exit
end if
loop
close c5;
DECLARE c1 CURSOR FOR SELECT "voc"."id"
FROM "voc" where cet4 = 1 ;
open c1;
do while m <> a - 1
fetch c1
into :n;
UPDATE "voc"
SET "cet4group" = :m / 3 + 1 where id = :n;
m = m + 1
loop
close c1;
m = 0
a = 0
DECLARE c6 CURSOR FOR SELECT "voc"."id"
FROM "voc" where cet6 = 1 ; open c6;
do while true
fetch c6
into :n;
a = a + 1;
if sqlca.sqlcode <> 0 then
exit
end if
loop
close c6;
DECLARE c2 CURSOR FOR SELECT "voc"."id"
FROM "voc" where cet6 = 1 ;
open c2;
do while m <> a - 1
fetch c2
into :n;
UPDATE "voc"
SET "cet6group" = :m / 3 + 1 where id = :n;
m = m + 1
loop
close c2;
m = 0
a = 0
DECLARE c7 CURSOR FOR SELECT "voc"."id"
FROM "voc" where tofel = 1 ;
open c7;
do while true
fetch c7
into :n;
a = a + 1;
if sqlca.sqlcode <> 0 then
exit
end if
loop
close c7;
DECLARE c3 CURSOR FOR SELECT "voc"."id"
FROM "voc" where tofel = 1 ;
open c3;
do while m <> a - 1
fetch c3
into :n;
UPDATE "voc"
SET "tofelgroup" = :m / 3 + 1 where id = :n;
m = m + 1
loop
close c3;
m = 0
a = 0
DECLARE c8 CURSOR FOR SELECT "voc"."id"
FROM "voc" where gre = 1 ;
open c8;
do while true
fetch c8
into :n;
a = a + 1;
if sqlca.sqlcode <> 0 then
exit
end if
loop
close c8;
DECLARE c4 CURSOR FOR SELECT "voc"."id"
FROM "voc" where gre = 1 ;
open c4;
do while m <> a - 1
fetch c4
into :n;
UPDATE "voc"
SET "gregroup" = :m / 3 + 1 where id = :n;
m = m + 1
loop
close c4;
Timer (2) //两秒钟后关闭
另外,还要实现timer事件:
close (parent)
4.3 软件主界面设计
本应用程序的主要功能都是在主窗口w_main及在其下打开的众多窗口中完。

相关文档
最新文档