多功能电子词典的设计与实现毕业设计论文初稿2-8与终稿1-2
合肥师范学院本科生毕业论文(设计)多功能电子词典的设计与实现摘要二十世纪后半叶,伴随着社会的迅速发展与进步,以电子计算机为代表的现代科学获得了突飞猛进的发展并迅速和人们的日常生活结合在一起。
计算机技术的发展和进步也使电子语言词典的诞生成为可能。
虽然只有十来年的历史,电子词典却已经迅速发展壮大,成为词典家族中具有旺盛生命力的一员。
尽管目前它尚不足以取代传统词典,但在英语学习和教学中,由于它实用、快捷、准确、经济等特点,已经成为传统英汉词典的有力竞争者,并对传统的词典提出了挑战。
本文将要介绍的软件就是一个多功能学单词软件,主要介绍了这个软件制作环境,制作流程,对数据库的操作以及它的使用方法。
用户可以根据自己的需要去查询单词,添加单词,删除单词,编辑单词,浏览词库中的单词,也可以进行四六级考研词汇等。
另外,它还给单词学习者们提供了一个背单词的好方法。
每一个用户都可以通过创建一个用户名来背诵单词,随时查看自己的历史记录,以便确定自己的背诵进度。
本文从软件工程的角度进行了详细的阐述。
该系统的开发工具是Microsoft Visual Basic 6.0,使用的数据库为Microsoft Access version 7.0 。
关键词:电子词典,Microsoft V isual Basic 6.0,数据库ABSTRACT20 half after centuries leaf,with the rapid development of society, 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 electronicslanguage 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 Access database that the development tool of that system is the powerbuilder 9.0 databases of the usages.Key words:The Electron Dictionary ,Microsoft Visual Basic 6.0, Access database目录摘要 (1)ABSTRACT (2)1 概述 (1)2 系统分析 (2)2.1系统目标............................... 错误!未定义书签。
2.2系统需求分析 (2)2.2.1 功能需求 (2)2.2.2 性能需求 (3)3 系统开发工具简介 (4)3.1 Visual Basic 6.0 概述 (4)3.1.1 Visual Basic 6.0 简介 (4)3.1.2 Visual Basic 6.0 语言的特点........ 错误!未定义书签。
3.1.3 Visual Basic 6.0 的版本 (5)3.2ADO对象............................... 错误!未定义书签。
3.3 数据库基础与 Access 的应用 (5)3.3.1 数据库的概念和术语 (5)3.3.2 Microsoft Access 简介 (6)3.4 开发工具和环境 (6)4 系统总体设计 (7)4.1 系统设计思想 (7)4.2 功能设计细节问题....................... 错误!未定义书签。
4.3 系统功能结构问题 (7)4.4 模块功能说明 (8)4.4.1 查询功能 (8)4.4.2 词库管理功能 (8)5 数据库的开发与设计 (9)5.1 数据库需求分析 (9)5.2 系统逻辑分析 (9)5.3 数据库的链接 (9)6 系统详细设计 (10)6.1 欢迎界面设计 (10)6.2 系统主界面设计 (12)6.3 查询模块设计 (12)6.4 词库管理模块设计 (13)6.5 专业词库模块设计 (14)6.6 相关模块设计 (14)7 系统测试 (18)7.1 系统测试环境 (18)7.2 功能测试 (18)结论............................... 错误!未定义书签。
参考文献.. (22)致谢 (23)附录 (24)1 绪论电子词典诞生于80年代末期。
如今市场上流行的有几十个品牌,数百个品种,集成了十几种甚至百余种功能,容量也从刚开始时的一万左右到现在的几万,十几万,有些品种则包含了几本不同词典的全部内容。
现在大多数电子词典可以自由扩充词库,或从互联网上生产商的网站上下载词库,对词典进行自动更新。
这对传统词典而言,其修订周期最少也得5到7年,这种袖珍电子词典已经成为学生的必备学习工具,据调查,在广州,上海,北京等大城市中,电子词典在高中生中的持有率已经接近 50%,在大学生中持有率也不断上升。
目前市场商的主流电子词典有:文曲星、快译通、好易通、名人等系列产品。
除了主要用于查询单词以外所有掌上电子词典都或多或少的提供其他的辅助功能。
本系统的设计目标是通过深入学习和研究程序设计技术、数据库系统的开发和应用技术,设计和开发出一款能够满足不同用户需求的多功能电子词典系统,以帮助英语学习者们更方便、更快捷地查询单词、记忆单词,既有效,又自由的对词库进行管理和操作。
2 系统分析2.1系统需求分析在整个毕业设计期间,我通过需求分析、概要设计、详细设计三个阶段完成了整个设计过程。
本章是对其中的需求分析做一个比较详细的介绍。
2.1.1 功能需求随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
愈来愈深刻地影响着人类社会的经济和文化生活;影响着人们的思维方式和工作方式。
电子词典有着传统文本词典无法比拟的优越性:多种多样的检索方式、便利的查询窗口、灵活的显示界面和连续的参见功能,无一不体现这种知识媒体的智能化和人性化特色;电子多媒体在词典中的应用,更使得单调、呆板的词典变得形象生动在词典中获取知识变得轻松和快捷。
词典是信息密集的载体,电子计算机以其高容量、高效率、高精度改变着词典编纂与编辑出版的传统方式。
事实上,从20世纪90年代以来,词典领域最引人注目的地方就在于计算机在词典编纂各阶段及词典与用户界面等方面起着越来越重要的作用。
目前,国内外大部分中小学生仍然使用着传统的英汉词典,不仅查询效率不高、不易携带,而且存储容量有限;与此同时,传统词典的单词印刷出错误码率高,同时内容越来越难以满足用户的需求。
为了解决上述问题,本毕业设计采用VB可视化集成开发语言编写程序,利用Microsoft Access 2000构建数据库,通过大部分数据库组件提供的接口技术来实现VB与数据库的连接,开放源代码,加深使用者对该系统的了解与认识,为用户提供了完善和修改本系统的平台。
当今社会的发展使人们越来越清楚地看到单词查询方面的重要性,它直接决定查询效率与质量。
诚成设计—电子词典设计与开发—北京理工大学珠海学院(毕业设计)
北京理工大学珠海学院毕业设计诚信承诺书本人郑重承诺:我所呈交的毕业设计《电子词典设计与开发》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。
承诺人签名:日期:年月日电子词典设计与开发摘要随着社会的发展,以电子计算机为代表的现代科学获得了突飞猛进的发展,并且迅速与人们的日常生活结合在一起。
计算机技术的发展给人们的生活带来很多方便,同时也推动新的电子产品的诞生,电子词典就是其中之一。
虽然电子词典的出现到现在仅仅只有十几年的历史,然而,电子词典得到迅速发展,成为词典家族中最具有潜力的一员。
目前,电子词典还没有完全取代传统词典,但由于它具有实用、快捷、准确、便捷、经济等特点,已经成为传统词典的有力竞争者。
因此,本课题对英汉词典的开发与相关程序的编写开展了研究。
课题对Trolltech公司的QT/Embedded的深入分析和研究的基础上,开发了基于Intel Pxa270的嵌入式电子词典。
进而进行了相关的功能的设计。
关键词:数据库QT/Embedded嵌入式电子词典Design and Development of Electronic DictionariesABSTRACTWith the development of society,as represented by the modern computer science to the rapid development and quickly with people's daily lives together.Development of computer technology to bring a lot of people's lives easy,but also to promote the birth of new electronic products,electronic dictionary is one of them.Although the emergence of electronic dictionary is only now just ten years of history,however,the rapid development of electronic dictionaries,a dictionary of the most promising family of a member.Currently,the electronic dictionary has not completely replace the traditional dictionary,but because it has a practical,fast,accurate, convenient,economical,has become a strong competitor of traditional dictionaries.Therefore, the issue of English-Chinese dictionary program development and preparation of relevant studies carried out.Subject to the Trolltech's QT/Embedded-depth analysis and research,based on the developed based on Intel Pxa270embedded electronic dictionary.Then carried out the functions related to the design.Key words:Database QT/Embedded Embedded electronic dictionary目录摘要 (III)ABSTRACT (IV)1前言 (1)1.1概述 (1)1.2研究背景 (1)1.3研究目标 (1)1.4需求分析 (2)1.4.1用户需求分析 (2)1.4.2功能需求分析 (2)1.5本章小结 (3)2QT简介 (4)2.1QT的背景介绍 (4)2.2QT实现的结构原理 (4)2.3QtSql模块简介 (5)2.3.1Qt数据库驱动程序 (5)2.3.2连接和查询 (6)2.3.3查看表 (14)2.4QT应用程序的实现 (17)2.5本章小结 (18)3SQLite及SQLite Expert Profession (19)3.1.1SQLite的功能 (19)3.1.2SQLite的特性 (20)3.2SQLite Expert Professional的介绍 (21)3.2.1利用SQLite Expert Professional把其它数据库中的数据转换成SQLite中的数据 (21)3.3本章小结 (23)4系统框架描述 (24)4.1系统模块 (24)4.2主要功能 (24)4.3平台简介 (24)4.4UP-TECHPXA270-S核心模块资源 (26)4.5本章小结 (27)5详细设计 (28)5.1数据库设计 (28)5.1.1数据库需求分析 (28)5.1.2系统逻辑分析 (28)5.1.3数据库的连接以及建表 (28)5.2程序实现原理图 (29)5.3程序流程图 (30)5.4界面设计 (30)5.4.1主窗体设计 (30)5.5电子词典的功能实现 (33)5.5.1单词搜索 (33)5.5.2加入生词本 (34)5.5.3删除词条 (34)5.5.4添加词条 (35)5.6本章小结 (36)6测试及运行结果 (37)6.1测试目标 (37)6.2测试预期结果 (37)6.3运行结果 (37)6.3.1单词搜索 (38)6.3.2加入生词本 (39)6.3.3删除词条 (40)6.3.4添加词条 (41)6.4本章小结 (42)7论文总结 (43)参考文献 (44)附录 (45)谢辞 (51)1前言1.1概述随着新的ARM芯片不断问世以及这些芯片的价格下降,嵌入式产品开始潜移默化的取代早期的一些单片机,并在社会各行各业中占有越来越重要的位置,嵌入式产品也由此成为众多工程师选择开发高端产品的芯片首选。
基于人工智能的智能电子词典设计与实现
基于人工智能的智能电子词典设计与实现近年来,随着人工智能技术的不断发展和普及,各种人工智能产品的应用不断扩大,其中智能电子词典也由于其便携、实用的特点而越来越受到人们的追捧。
当前市面上的智能电子词典由于其机能其他不尽人意,面对越来越多的用户需求,本文旨在提出一种基于人工智能的智能电子词典设计,并探讨其实现的方法与技术。
一、智能电子词典的需求与市场智能电子词典是一款便携、实用的翻译工具,其具有词汇量大、海量例句、音频口语、手写输入等实用功能,这使得它成为众多学生、翻译人员和旅游者们不可或缺的一部分。
智能电子词典通过固定词汇的基础上,加入了大量的实用功能,并将其装载进一个便于携带的电子设备中,使人们在学习语言过程中更加高效便利。
据统计,智能电子词典在中国市场占据了极高的份额。
其中以英语智能电子词典的销售量最为突出,二者的销售量占了智能电子词典市场销售总量的八成以上。
由此可见,目前市场对智能电子词典品牌的词汇量和机能的要求已经超出了基础翻译需求,而如何提高其便捷性、准确性、人性化和速度,成为了市面上各种智能电子词典所需要解决的问题。
二、智能电子词典的设计原则与实现思路要实现人工智能的智能电子词典,需从以下几个方面考虑:1. 词汇库的构建词汇库是智能电子词典的基础,在构建智能电子词典的时候,可以通过如今人工智能的语言处理技术来进行词汇库的建立。
通过爬虫技术,可以从不同的网站上获取最新的语言数据,并通过人工智能技术筛选出一些更加权威、更有价值的语言材料,来构筑更加完备、丰富的词汇库。
2. 人性化的交互方式智能电子词典必须注重人性化的交互过程,采用用户友好的界面设计,实现人机交互的舒适度和效率。
在语音输入方面,可以通过语音智能识别技术来实现对人声的识别;在手写输入方面,可以通过对人手写需要进行高精度的识别,从而更方便用户进行输入;在感知需求方面,可以通过智能人机交互技术,特别是视觉、触觉和语言交互,使智能电子词典更智能化、更个性化,从而让用户更舒适地使用。
电子词典组论文(范文)
1.需求分析(写出自己负责模块的需求)计算子信息管理在数据保存、数据交换、数据查询等方面快速可靠,具备人工操作所无法比拟的优势。
当前,电子词典已成为人们生活中不可缺少学习工具,帮助我们学习英语,口语,国际交流有着重要的作用,因此电子词典成了大众的必备工具。
2.输入输出的要求采用图形界面形式,点击文件选择要操作的功能。
仅当选择退出操作时,退出词典。
3.文件模块该功能模块用于对英翻汉,汉翻英、备份,退出等功能模块的切换,实现对汉语的翻译及英语的翻译,词典的备份。
包含的子功能模块如图1下:图1 文件子功能模块A.英汉词典:用于查询英语单词的汉语意思,此模块中识别英语单词,若输入汉语或其他的字符串会提示出错;B.汉英词典:用于查询汉语意思的英语单词,此模块中识别汉语,若输入其他的字符串会提示出错;C.备份词库:系统在运行或操作过程中难免出现意外情况,比如机器断电、误删除、修改错误、原本完好的数据库可能会因为上述意外情况而引起丢失或者出现无法打开数据库,导致系统无法正常运行。
为避免此类情况的发生,数据库备份可以将完好的词库做一个备份存到磁盘或其他存储介质上,以便于发生特殊情况用来恢复词库;D.退出:退出电子词典。
4.总体设计文件模块:主要用由类DateWin中的Listwords方法实现英翻汉词典,在Listwords使用if-else的判断来实现汉英词典功能。
5.详细设计6.测试分析6.1实现英语单词的查询功能6.2汉翻译功能的实现7.参考文献8.总结9.附件(代码清单)public void Listwords() throws SQLException{String cname,ename;try{String url = "jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=D://db//myEnlish.MDB";Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection con=DriverManager.getConnection(url);Statement ExlStmt=con.createStatement();if(label.getText().equals("输入要查询的英语单词:")){// System.out.println("b");ResultSet rs=ExlStmt.executeQuery("SELECT * FROM vocabulary");while(rs.next()){ename=rs.getString("单词");cname=rs.getString("解释");// System.out.println(ename+" "+cname);if(ename.equals(englishtext.getText())){chinesetext.append(cname+'\n');}}con.close();//关闭数据库if(chinesetext.getText().equals("")){JOptionPane.showMessageDialog(this,"查无此词!","警告",JOptionPane.WARNING_MESSAGE);}}else if(label.getText().equals("输入要查询的汉语意思:")){ //System.out.println("b1");ResultSet rs=ExlStmt.executeQuery("SELECT * FROM vocabulary WHERE 解释LIKE '%"+englishtext.getText().trim()+"%'");while(rs.next()){System.out.println("b2");ename=rs.getString("单词");cname=rs.getString("解释");chinesetext.append(ename+" "+cname+'\n');}System.out.println("b3");con.close();//关闭数据库if(chinesetext.getText().equals("")){JOptionPane.showMessageDialog(this,"查无此单词!","警告",JOptionPane.WARNING_MESSAGE);}}}catch(Exception ex){ex.printStackTrace();}。
电子词典系统的设计与实现5.0
第三章 数据库设计..................................................................................................... 16
3.1 数据库系统设计................................................................................................................... 16 3.2 电子词典系统数据表结构................................................................................................... 16
C++多功能电子词典课程设计
青岛理工大学C++面向对象课程设计报告院〔系〕:电脑工程学院专业:电脑科学与技术学生:_班级:__学号:题目:多功能电子词典_________起迄日期:_2021.6.23~2021.7.5设计地点:电脑学院机房指导教师:完成日期: 2021 年7月 5 日目录一、需求分析-------------------------------------------------------------------------------11.选做此课题或工程的---------------------------------------------------------------1 2.程序所实现的功能------------------------------------------------------------------2二、设计内容---------------------------------------------------------------------------------31. 根据所选题目,给出模块图-------------------------------------------------------42. 画出主程序及其主要模块的流程图----------------------------------------------53. 编写程序代码-------------------------------------------------------------------------5三、调试分析--------------------------------------------------------------------------------51. 实际完成的情况说明〔完成的功能,支持的数据类型等〕。
-------------62. 程序的性能分析。
电子词典的设计与实现
电子词典的设计与实现近年来,随着科技的发展,各类电子产品不断涌现,其中电子词典成为越来越多人的必备工具。
电子词典具有方便携带、实用便捷等优点,而其设计与实现也往往牵扯到词库的建设、功能的设计以及用户体验等多个方面。
一、词库建设词库是电子词典的核心,影响着其使用效果。
词库的建设需要收集大量的文字资料,并采用专业的编辑方式进行整理,保证词库数据的质量。
除此之外,还需要考虑电子词典使用的场景和需求,例如列入特定行业的词汇、常用外语词汇等。
此外,词库的更新也是不可忽视的一个问题。
随着时代的发展,新兴词汇不断涌现,旧有词汇的用法也在不断改变。
因此,词库的更新需要跟随时代步伐,及时收录新兴词汇和新用法,保证用户使用的准确性和时效性。
二、功能设计电子词典除了基本的单词查询外,还需要具备一些其他便捷的功能,例如词语发音、例句展示、翻译等。
这些功能的设计需要考虑用户使用场景和使用习惯,同时也需要具有良好的交互性和易用性。
例如,在词语发音方面,需要保证发音准确性和流畅性,以及提供多种发音选项以满足不同用户的需求。
在例句展示方面,需要提供丰富的例句,并保证其与词汇语境的紧密联系。
在翻译方面,需要考虑多语言翻译的准确性和自然性,并能提供多种语言相互翻译的功能。
三、用户体验用户体验是电子词典设计与实现中不可忽视的一个方面。
良好的用户体验不仅可以提高用户使用的便捷度和效率,还可以提高用户的满意度和忠诚度。
因此,电子词典的设计需要从用户的角度出发,考虑用户的使用场景和使用习惯,提供便捷的操作方式和良好的视觉效果。
良好的用户体验应该具有以下特点:1.简洁明了:界面简洁明了,功能齐全但不过于复杂,操作简单直观。
2.快速响应:查询速度快,无卡顿、无延迟。
3.多语言支持:提供多语言支持,方便不同语种用户的使用。
4.数据准确性:数据源准确可靠,避免用户因错误数据导致的使用误解。
5.便捷携带:轻便、小巧、易于携带,方便用户在室内、室外、旅途中使用。
电子词典设计与实现
电子词典设计与实现
电子词典的设计与实现可以分为以下几个步骤:
1.需求分析:根据用户需求确定电子词典的功能和特性,例如支持多
种语言、提供联想、显示单词释义、提供例句等。
2.数据收集:收集词典所需的词汇数据,可以通过有关的词典书籍、
在线词典API或者其他途径获取。
3.数据处理:对收集到的词汇数据进行处理和整理,包括建立索引、
分词等操作,以便于后续的查询和展示。
4.用户界面设计:设计电子词典的用户界面,包括框、按钮、显示结
果的区域等元素,要求界面简洁、直观,方便用户使用。
5.查询功能实现:根据用户输入的关键词,在词汇数据中进行查询,
找到对应的词条和释义,并将结果展示给用户。
6.功能扩展:根据需求,可以添加一些附加功能,如联想、生词本管理、发音播放等。
7. 测试与调试:对设计与实现的电子词典进行测试,确保词典的功
能正常运行,没有bug和错误。
8.上线部署:将电子词典部署到服务器或者移动设备上,供用户使用。
9. 后续维护与更新:随着用户使用的反馈和需求变化,持续对电子
词典进行维护和更新,修复bug,添加新功能,提升用户体验。
以上是电子词典设计与实现的一般步骤,具体实现过程可能还会有其
他细节和技术选择,根据具体需求和技术条件进行调整。
电子词典系统设计实验报告
电子词典系统设计实验报告12121583 曹连强周四6-8一、项目要求:1、在实验板上设计实现一个无操作系统的简易电子词典2、设计友好的人机交互界面3、:字符输入、功能选择、英汉翻译。
二、电子词典系统实现具体功能:1.能够通过键盘输入英文。
键盘作为本系统中最主要的输入设备,需要完成26个英文字母的输入,并且需要上翻页,下翻页,上一行,下一行,翻译,退格等功能。
要求键盘至少要有16个按键,每个按键都可以被处理器及时,准确地读入。
2.提供友好的人机界面,将输入的内容和翻译的结果显示在LCD的相应区域内。
3. 对输入的单词即时翻译。
4.可以记忆3个已经查询过的的单词。
在无操作系统的电子词典系统中,由于是单任务环境,因此此时系统的各个功能模块均按照顺序执行。
初始化后,即进入翻译待机状态,等待用户的输入操作。
当用户输入操作发生后,系统调用键盘或触摸屏中断进行键值读取,将键值传给主函数中的系统功能实现模块,该模块按不同的输入键值进行相应的功能选择,最后将此次操作的结果输出到LCD上。
三、程序设计可将电子词典的软件设计分为如下几个主要模块:键值处理、翻译、词库设计和LCD 显示。
1、键值处理电子词典的输入设备为键盘和触摸屏,要完成的功能为:(1)键盘:10个英文字母和6个功能键输入(2)触摸屏:6各功能键的输入2、翻译:3、词库设计翻译功能中通过将输入单词和词库中相应的单词进行比较得到要显示的翻译结果,因此,词库可采用结构体实现,此结构中包括4项:英文单词、词性、汉语释意、英文例句。
4、LCD显示功能翻页、选行及翻页结果的输出都可以归到LCD显示功能中,这些功能都可以通过调用LCD 实验中的相关函数完成。
四.设计程序////////////////////////////////////////////////////////////#include "Ts_sep.h"#include <string.h>///////////////////////////////////////////////////////////#include "def.h"#include "2410lib.h"#include "option.h"#include "2410addr.h"#include "interrupt.h"#include "lcdlib.h"//#define STN_LCD#define TFT_8_0/////////////////8888888////////////////////////////#define LOOP 1#define ADCPRS 39#define TS_JUSTIFY_LEFTTOP 1#define TS_JUSTIFY_RIGHTBOT 2#define TS_START 3///////////////////8888888888888888//////////////////////void Lcd_Disp_Char(void);void Lcd_Disp_Grap(void);void Frame(void);//设置背景框架void Clearscreen(void);//清屏//void Key_init(void);//初始化键盘void Cursor(int flag);void CursorCl(int flag);void delay( int count );void disp();void translate(int num);static int x=0,y=0,letter=0,flag=0,wei=0,prev[5],i,j;//函数里有调用我换成全局变量int which[20];//此时满足罗列单词int word,w;int m,n;////////////////////////////////////////////////int ts_status = TS_JUSTIFY_LEFTTOP;int ts_lefttop_x, ts_lefttop_y, ts_rightbot_x, ts_rightbot_y;int ts_lcd_x, ts_lcd_y;///////////////////////////////////////////////typedef struct{int w; //单词对应的值int o;int r;int d;int s;char c[20]; //英文单词char e[20]; //翻译}str_word;str_word dictionary[20]={{1,3,5,0,0,"ACE","王牌"},{2,5,5,0,0,"BEE","蜜蜂"},{1,4,4,0,0,"ADD","增加,计算"},{2,1,4,0,0,"BAD","坏的"},{4,5,3,1,4,"DECAD","十;十数"}};////////////////////////////////////////////////////////void Adc_or_TsSep() __attribute__ ((interrupt("IRQ")));void Adc_or_TsSep(void){int i;U32 Ptx[6], Pty[6];rINTSUBMSK |= (BIT_SUB_ADC|BIT_SUB_TC); // Mask sub interrupt (ADC and TC)// TC(Touch screen Control) Interruptif(rADCTSC & 0x100){PRINTF("\nStylus Up!!\n");rADCTSC &= 0xff; // Set stylus down interrupt}else{PRINTF("\nStylus Down!!\n");// <X-Position Read>rADCTSC=(0<<8)|(0<<7)|(1<<6)|(1<<5)|(0<<4)|(1<<3)|(0<<2)|(1);// Down,Hi-Z,AIN5,GND,Ext vlt,Pullup Dis,Normal,X-positionfor(i=0;i<LOOP;i++); //delay to set up the next channelfor(i=0;i<5;i++){rADCCON|=0x1; // Start X-position conversionwhile(rADCCON & 0x1); // Check if Enable_start is lowwhile(!(0x8000&rADCCON)); // Check ECFLGPtx[i]=(0x3ff&rADCDAT0);}Ptx[5]=(Ptx[0]+Ptx[1]+Ptx[2]+Ptx[3]+Ptx[4])/5;// <Y-Position Read>rADCTSC=(0<<8)|(0<<7)|(1<<6)|(1<<5)|(0<<4)|(1<<3)|(0<<2)|(2);// Down,GND,Ext vlt,Hi-Z,AIN7,Pullup Dis,Normal,Y-positionfor(i=0;i<LOOP;i++); //delay to set up the next channelfor(i=0;i<5;i++){rADCCON|=0x1; // Start X-position conversionwhile(rADCCON & 0x1); // Check if Enable_start is lowwhile(!(0x8000&rADCCON)); // Check ECFLGPty[i]=(0x3ff&rADCDAT1);}Pty[5]=(Pty[0]+Pty[1]+Pty[2]+Pty[3]+Pty[4])/5;rADCTSC=(1<<8)|(1<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(0<<2)|(3);// Up,GND,AIN,Hi-z,AIN,Pullup En,Normal,Waiting modePRINTF("TOUCH Position = (%04d, %04d) ", Ptx[5], Pty[5]);m=Ptx[5];n=Pty[5];if(ts_status == TS_JUSTIFY_LEFTTOP){ts_lefttop_x = Ptx[5];ts_lefttop_y = Pty[5];ts_status = TS_JUSTIFY_RIGHTBOT;PRINTF("\nLeft top (0, 0) -> (%04d, %04d)\n", ts_lefttop_x, ts_lefttop_y);PRINTF(" 请触摸屏幕右下角位置\n");}else if(ts_status == TS_JUSTIFY_RIGHTBOT){ts_rightbot_x = Ptx[5];ts_rightbot_y = Pty[5];ts_status = TS_START;PRINTF("\nRight bottom (319, 239) -> (%04d, %04d)\n", ts_rightbot_x, ts_rightbot_y);PRINTF("[2] 请点击触摸屏\n");}else{/* ts_lcd_x = 320 - (Ptx[5] - ts_rightbot_x) * 1.0 / (ts_lefttop_x - ts_rightbot_x) * 320.0 ;ts_lcd_y = (Pty[5] - ts_lefttop_y) * 1.0 / (ts_rightbot_y - ts_lefttop_y) * 240.0 ;if(ts_lcd_x > 319) ts_lcd_x = 319;if(ts_lcd_x < 0) ts_lcd_x = 0;if(ts_lcd_y > 239) ts_lcd_x = 239;if(ts_lcd_y < 0) ts_lcd_x = 0;PRINTF("LCD Position = (%04d, %04d)\n", ts_lcd_x, ts_lcd_y);*/}}rSUBSRCPND |= BIT_SUB_TC;rINTSUBMSK =~ (BIT_SUB_TC); // Unmask sub interrupt (TC)ClearPending(BIT_ADC);}void Ts_Sep(void){PRINTF("------触摸屏测试------\n");PRINTF("[1] 触摸屏校准\n 请触摸屏幕左上角位置\n");ts_status = TS_JUSTIFY_LEFTTOP;rADCDLY = (50000); // ADC Start or Interval DelayrADCCON = (1<<14)|(ADCPRS<<6)|(0<<3)|(0<<2)|(0<<1)|(0);// Enable Prescaler,Prescaler,AIN7/5 fix,Normal,Disable read start,No operationrADCTSC = (0<<8)|(1<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(0<<2)|(3);// Down,YM:GND,YP:AIN5,XM:Hi-z,XP:AIN7,XP pullup En,Normal,Waiting for interrupt modepISR_ADC = (unsigned)Adc_or_TsSep;rINTMSK &=~(BIT_ADC);rINTSUBMSK =~(BIT_SUB_TC);// while(1);delay(200);// rINTSUBMSK |= BIT_SUB_TC;//rINTMSK |= BIT_ADC;// PRINTF("----触摸屏测试结束----\n");}//////////////////////////////////////////////////////void Main(void){unsigned char ch='1';/* 配置系统时钟 */ChangeClockDivider(1,1); // 1:2:4ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz/* 初始化端口 */Port_Init();/* 初始化串口 */Uart_Init(0,115200);Uart_Select(0);/* 打印提示信息 */PRINTF("\n---LCD测试程序---\n");PRINTF("\n请将UART0与PC串口进行连接,然后启动超级终端程序(115200, 8, N, 1)\n");/* LCD初始化 */Lcd_Port_Init();#ifdef STN_LCDLcd_Init(MODE_CSTN_8BIT);Glib_Init(MODE_CSTN_8BIT);Lcd_CstnOnOff(1);Glib_ClearScr(0xff, MODE_CSTN_8BIT);#else#ifdef TFT_8_0rGPCCON &= ~(3<<8);rGPCCON |= (2<<8);Lcd_Init(MODE_TFT_16BIT_640480);Glib_Init(MODE_TFT_16BIT_640480);Glib_ClearScr(0xffff, MODE_TFT_16BIT_640480);Lcd_PowerEnable(0, 1);Lcd_EnvidOnOff(1);#elseLcd_Init(MODE_TFT_16BIT_240320);Glib_Init(MODE_TFT_16BIT_240320);Glib_ClearScr(0xffff, MODE_TFT_16BIT_240320);Lcd_PowerEnable(0, 1);Lcd_EnvidOnOff(1);#endif#endif#define LCD_DISP_CHAR#ifdef LCD_DISP_CHARLcd_Disp_Grap();#endif//布局Glib_FilledRectangle(0,0,640,240,0xffff); //白底// Glib_Rectangle(60,80,620,110,0x0000);//首字母框Glib_Rectangle(60,80,620,440,0x0000);//主框Glib_Line(290,110,290,410,0x0000);//分割线1Glib_Line(60,110,620,110,0x0000);//分割线2Glib_Line(60,410,620,410,0x0000);//分割线3Glib_Line(172,410,172,440,0x0000);//分割线4Glib_Line(284,410,284,440,0x0000);//分割线5Glib_Line(396,410,396,440,0x0000);//分割线6Glib_Line(508,410,508,440,0x0000);//分割线7// Glib_Rectangle(520,80,620,120,0x0000);//upGlib_disp_hzk16(110,420,"上", 0x0000);// Glib_Rectangle(520,140,620,180,0x0000);//downGlib_disp_hzk16(222,420,"下", 0x0000);// Glib_Rectangle(520,200,620,240,0x0000);//DelGlib_disp_hzk16(334,420,"清屏", 0x0000);// Glib_Rectangle(520,260,620,300,0x0000);//EnterGlib_disp_hzk16(446,420,"查询", 0x0000);// Glib_Rectangle(520,320,620,360,0x0000);//CancelGlib_disp_hzk16(558,420,"返回", 0x0000);Ts_Sep();while(1)//大循环等键按下{Cursor(flag);ch = Key_GetKeyPoll();/////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////if((m>=145&&m<237)&&(n>395&&n<540))ch='E';//qingpinif((m>=145&&m<237)&&(n>678&&n<830))ch='C';//Shangif((m>=145&&m<237)&&(n>540&&n<678))ch='D';//Xiaif((m>=145&&m<237)&&(n>57&&n<219))ch='B';///shanchuif((m>=145&&m<237)&&(n>219&&n<395))ch='F';//quedingm=n=0;/////////////////////////////////////////////////////////////////////////////// /////////////////////////////switch(ch){case '1'://aGlib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区letter=1;//1表示输入字母为1Glib_disp_hzk16(90+wei*20,90,"A", 0x0000);//显示界面显示aprev[wei]=1;//存放disp();//显示单词区的单词wei++;//下一个放字母位置if(wei>=5){Glib_disp_hzk16(340,90,"已满", 0x0000);//单词字母小于等于四个delay(1000);Glib_disp_hzk16(340,90,"已满", 0xffff);//清掉"已经满了"};//超出错误,只能查四位break;case '2'://bGlib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区letter=2;//1表示输入字母为1Glib_disp_hzk16(90+wei*20,90,"B", 0x0000);//显示界面显示aprev[wei]=2;//存放disp();//显示单词区的单词wei++;//下一个放字母位置if(wei>=5){Glib_disp_hzk16(340,90,"已满", 0x0000);//单词字母小于等于四个delay(1000);Glib_disp_hzk16(340,90,"已满", 0xffff);//清掉"已经满了"};//超出错误,只能查四位break;case '3'://cGlib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区letter=3;//1表示输入字母为1Glib_disp_hzk16(90+wei*20,90,"B", 0x0000);//显示界面显示aprev[wei]=3;//存放disp();//显示单词区的单词wei++;//下一个放字母位置if(wei>=5){Glib_disp_hzk16(340,90,"已满", 0x0000);//单词字母小于等于四个delay(1000);Glib_disp_hzk16(340,90,"已满", 0xffff);//清掉"已经满了"};//超出错误,只能查四位break;case '4'://dGlib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区letter=4;//1表示输入字母为1Glib_disp_hzk16(90+wei*20,90,"D", 0x0000);//显示界面显示aprev[wei]=4;//存放disp();//显示单词区的单词wei++;//下一个放字母位置if(wei>=5){Glib_disp_hzk16(340,90,"已满", 0x0000);//单词字母小于等于四个delay(1000);Glib_disp_hzk16(340,90,"已满", 0xffff);//清掉"已经满了"};//超出错误,只能查四位break;case '5'://eGlib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区letter=5;//1表示输入字母为1Glib_disp_hzk16(80+wei*20,90,"E", 0x0000);//显示界面显示aprev[wei]=5;//存放disp();//显示单词区的单词wei++;//下一个放字母位置if(wei>=5){Glib_disp_hzk16(340,90,"已满", 0x0000);//单词字母小于等于四个delay(1000);Glib_disp_hzk16(340,90,"已满", 0xffff);//清掉"已经满了"};//超出错误,只能查四位break;case '6'://fbreak;case '7'://gbreak;case '8'://hbreak;case '9'://ibreak;case '0'://jbreak;case 'A'://kletter=11;break;case 'C'://上flag--;if(flag>=0&&flag<=3){Cursor(flag);//单词列表选中变色CursorCl(flag+1);}//再上恢复刚才那条的背景色else flag=0;break;case 'D'://下flag++;if(flag>=0&&flag<=3){Cursor(flag);CursorCl(flag-1);}else flag=3;break;case 'E'://cancel清屏Glib_FilledRectangle(70,90,339,109,0xffff);//先清单词区Glib_FilledRectangle(65,120,280,400,0xffff);//先清罗列单词区Glib_FilledRectangle(300,120,610,400,0xffff);//清翻译区for(j=0;j<=10;j++){which[j]=0;};letter=0;wei=0;for(j=0;j<=5;j++){prev[j]=0;};break;case 'F'://enter确定Glib_FilledRectangle(300,120,610,400,0xffff);//主翻译区if(flag>=0&&flag<=3)translate(which[flag]);//显示结果break;case 'B'://del删除Glib_FilledRectangle(70,120,280,400,0xffff);//先清罗列单词区letter=0;wei--;prev[wei]=0;//上一位变0Glib_FilledRectangle(70+wei*30,90,70+wei*30+20,109,0xffff);//消掉一个字母wei--;disp();wei++;break;default:Glib_disp_hzk16(500,90,"←请输入单词", 0x0000);break;}}}void disp(){y=0;//初始单词显示位置for(i=0;i<=20;i++){if((dictionary[i].w==prev[0])&&(wei==0)){//第一个字母正which[y]=i;//存放哪几个单词显示了Glib_disp_hzk16(80,120+32*y,dictionary[i].c, 0x0000);//显示单词y++;//位置改变}if((dictionary[i].w==prev[0])&&(dictionary[i].o==prev[1])&&(wei==1)){//前两个字母正确which[y]=i;//存放哪几个单词显示了Glib_disp_hzk16(80,120+32*y,dictionary[i].c, 0x0000);//显示单词y++;//位置改变}if((dictionary[i].w==prev[0])&&(dictionary[i].o==prev[1])&&(dictionary[i].r==pr ev[2])&&(wei==2)){//前3个字母正确which[y]=i;//存放哪几个单词显示了Glib_disp_hzk16(80,120+32*y,dictionary[i].c, 0x0000);//显示单词y++;//位置改变}if((dictionary[i].w==prev[0])&&(dictionary[i].o==prev[1])&&(dictionary[i].r ==prev[2])&&(dictionary[i].d==prev[3])&&(wei==3)){//前4个字母正确which[y]=i;//存放哪几个单词显示了Glib_disp_hzk16(80,120+32*y,dictionary[i].c, 0x0000);//显示单词y++;//位置改变}}}void translate(int num){//显示单词选项3个Glib_disp_hzk16(300,120,dictionary[num].e, 0x0000);}//void Clearscreen(void) //清屏//{// Glib_FilledRectangle(65,81,499,99,0xffff);// Glib_FilledRectangle(65,121,499,439,0xffff);// Glib_Line(240,120,240,440,0x0000);//}void Cursor(int flag){Glib_FilledRectangle(65,121+flag*32,75,153+flag*32,0x55);}void CursorCl(int flag){Glib_FilledRectangle(65,121+flag*32,75,153+flag*32,0xffff);}void Lcd_Disp_Grap(void){int i,j;for(j=0;j<240;j++)for(i=0;i<320;i++) //RRRGGGBBPutPixel(i,j,((i/40)<<5)+((j/30)<<2)+(((j/15)%2)<<1)+((i/20)%2)); }void delay( int count ){int cnt;for( count = count; count>0; count--)for( cnt = 0; cnt < 100; cnt++);}。
Linux下电子词典的设计与实现
毕业设计(论文)题目:Linux下电子词典的设计与实现学生姓名学号201022080223班级通信102202H班所属院(系)电子信息工程系指导教师2014 年5 月20日Linux下电子词典的设计与实现摘要随着嵌入式技术的发展,智能移动终端的普及,用户对数据处理和管理需求也不断提高,更多的用户群也越来越希望能对嵌入式产品中的数据进行更有效的管理,嵌入式数据库便是一个非常有效的工具。
如何在智能终端中使用嵌入式数据库以及如何让嵌入式数据库在嵌入式设备中充分有效的使用有限的存储资源成为嵌入式系统研究的重要方向。
本文的主要任务是对电子词典的设计,主要功能有英译汉、汉译英、生词库储存等。
本设计主要应用的技术有数据库、Qt、本设计用SQLite的B+树索引机制进行改进,将改进后的SQLite与Qt/Embedded相结合设计和实现智能终端中的电子词典。
本设计的特点是操作简单、快速、实用性强。
关键词:嵌入式,用户界面,数据库,B+树The Design and Implementation of Electronic Dictionary Basedon LinuxAbstractWith the development of embedded technology, the popularity of smart mobile devices, users of data processing and management needs is also rising, more and more users want to be able to embedded products for more efficient data management, embedded database is a very effective tool. How intelligent terminal using the embedded database and how to make an embedded database in embedded devices fully effective use of the limited storage resources has become an important research direction of embedded systems. The main task is to design electronic dictionary, the main function of Chinese Translation, Chinese to English, raw thesaurus storage. The main application of the technology are designed database, Qt, this design SQLite B + tree indexing mechanism to improve the improved SQLite with Qt / Embedded combining design and implementation of intelligent terminal electronic dictionary. This design is characterized by simple, fast, and practical.KeyWords: Embedded,Qt,SQLite,B+ tree目录摘要 (I)Abstract (II)第1章绪论............................................................ - 1 -1.1 研究背景和意义.................................................. - 1 -1.2 数据库在电子词典中的应用........................................ - 1 - 第2章系统需求分析..................................................... - 3 -2.1用户需求分析..................................................... - 3 -2.2可行性分析....................................................... - 3 - 第3章相关技术......................................................... - 5 -3.1 Qt/Embedded体系结构与框架....................................... - 5 -3.2 Qt/Embedded的信号与槽机制....................................... - 5 -3.2.1 信号与槽的连接与实现....................................... - 6 -3.2.2 元对象编译器............................................... - 6 -3.3 SQLite数据库.................................................... - 7 -3.4 SQLite的索引机制................................................ - 7 -3.4.1 B+树的概念................................................. - 8 -3.4.2 B+树查找................................................... - 8 -3.4.3 B+树插入................................................... - 8 -3.4.4 B+树删除................................................... - 9 - 第4章电子词典的设计与实现............................................ - 10 -4.1 建立电子词典的开发与运行环境................................... - 10 -4.2 使用Qt/Embedded设计运用程序的方法............................. - 10 -4.3 电子词典的界面设计与实现....................................... - 11 -4.4 电子词典的功能设计与实现....................................... - 12 -4.4.1 系统的功能模块图.......................................... - 12 -4.4.2 功能的实现步骤............................................ - 12 - 第5章系统的界面实现.................................................. - 15 -5.1 主界面......................................................... - 15 -5.2 生词本界面..................................................... - 15 -5.3 添加单词界面................................................... - 16 -5.4 编辑单词界面................................................... - 16 - 第6章电子词典设计中遇到的问题........................................ - 18 -6.1 设计中文查询功能的问题......................................... - 18 -6.2 音标正确显示的实现............................................. - 18 - 第7章总结............................................................ - 19 - 参考文献............................................................... - 20 - 致谢................................................................... - 21 - 附录................................................................... - 22 -第1章绪论1.1 研究背景和意义随着计算机技术的飞速发展,嵌入式系统已经成为该领域的一个重要方面,得到了更多的应用。
A3000多功能电子词典设计与开发的开题报告
A3000多功能电子词典设计与开发的开题报告一、研究背景和意义在信息时代,信息交流越来越频繁,学习和工作场合需要涉及到众多领域的知识,在这个过程中,经常需要查阅和翻译词语、阅读英语文章和文献等。
因此,电子词典已经成为人们学习和工作的必备工具之一。
本项目旨在设计和开发一款A3000多功能电子词典,该词典除了基础的查字典、翻译等功能外,还具有听力练习、阅读英语文章、背单词、语言学习等多种功能,帮助用户更加全面、高效地学习英语。
二、研究内容和方法本项目主要研究内容包括硬件设计和软件开发两个方面。
硬件设计方面,主要是通过选取合适的硬件平台、设计电路原理图、PCB板等,完成电子词典的硬件设计。
软件开发方面,主要是针对A3000多功能电子词典,开发用户交互界面、数据管理模块、查字典、翻译、听力练习、阅读英语文章、背单词、语言学习等多个模块的软件程序。
研究方法主要采用文献调研法、实验法、原型设计法等。
三、预期成果本项目预期达到以下成果:1.设计完成可运行的A3000多功能电子词典硬件平台,包括选取适宜的硬件平台、电路设计、PCB设计等。
2.设计完成用户交互界面、数据管理模块、查字典、翻译、听力练习、阅读英语文章、背单词、语言学习等多个模块的软件程序。
3.完成多个功能的测试、优化等,以满足用户的需求。
四、进度安排和预算本项目的进度安排如下:第一阶段(1-2周):文献调研和研究市面上的电子词典硬件和软件。
第二阶段(2-3周):A3000多功能电子词典的硬件设计。
第三阶段(3-4周):A3000多功能电子词典的软件开发。
第四阶段(1-2周):A3000多功能电子词典的测试和优化。
预算方面,本项目将涉及到电子元器件、硬件开发工具、软件开发工具等多项费用,初步预计总费用为5000元。
