Delphi 程序设计实验
报告 ----成语词典 ----成语词典
学 号:07041437 姓 名: 周 涛 nbsp;赵 敏
南昌航空大学
信息工程
一、实验目的
1、灵活掌握本课程所学基本
程序设计内容和一般组件的用法,
设计一个具 有简单快捷查询功能的成语查询界面。 2、 熟悉 Query 或 ADOQuery 组件的常用属性和方法, 利用 Query 或 ADOquery 组件实现静态和动态查询的方法。 3、熟悉 SQL 语言各语句的语法和使用方法。 4、熟悉 TABLE 或 ADOTABLE 组件的
常用属性和方法。 5、掌握 DateSource 组件的作用和常用的属性设置。
二、实验内容
综合运用前面所学各章节内容设计一个成语查询界面,能够实现对成语查 询、添加、删除和保存功能。
三、实验要求 实验要求
1、创建成语字典查询
系统所需的表(成语字典表) ,并能连接上数据库。 2、用 ADOTable 控件或 Table 控件完成对所建成语字典表的插入、修改、删 除功能。 3、用 ADOQuery 控件或 Query 控件完成对成语的精确和模糊
查询。 4、完成对成语字典查询结果保存为 Word
文档。 5、除运用上述控件外,还需运用菜单、工具条、富文本等多种控件。
四、实验代码
unit Umain;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Provider, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBClient, ADODB, StdCtrls, jpeg, Buttons, MPlayer;
type TForm1 = class(TForm) ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSetProvider1: TDataSetProvider; ClientDataSet1: TClientDataSet; DataSource1: TDataSource; DBGrid1: TDBGrid; chengy: TEdit; DBNavigator1: TDBNavigator; insret: TButton; delete: TButton; change: TButton; edtexplain: TEdit; save: TButton; ComboBox1: TComboBox; new: TButton;
BitBtn2: TBitBtn; groupboxforresult: TGroupBox; memoforsave: TMemo; editforresult: TEdit; Image2: TImage; MediaPlayer1: TMediaPlayer; procedure chengyChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure insretClick(Sender: TObject); procedure deleteClick(Sender: TObject); procedure changeClick(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure FormCreate(Sender: TObject); procedure saveClick(Sender: TObject); procedure newClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; intindex, intjudge, intcnt:integer; filename:string; dx:integer; implementation {$R *.dfm} //实现成语查找功能和成语 word 保存功能 procedure TForm1.chengyChange(Sender: TObject); var sql:string;
begin ADOQuery1.Close; ADOQuery1.SQL.Clear; case intindex of 0: begin sql := 'select * from t_hanwords where word = ''' + chengy.Text + ''''; end; 1: begin sql := 'select * from t_hanwords where word like ''' + chengy.Text + '%'''; end; end; inc(intcnt); ADOQuery1.SQL.Add(sql); ADOQuery1.Open; ClientData
Set1.Refresh; if then begin intjudge := 0; edtexplain.Text ADOQuery1.FieldByName('meaning').AsString; editforresult.text := '该词已查到'; end else begin intjudge := 1; editforresult.text := '暂无此词'; := ( not (ADOQuery1.FieldByName('word').AsString = '' ) )
end; if ( chengy.Text = '' ) then begin edtexplain.Text := ''; editforresult.text := ''; end; end; //实现插入功能 procedure TForm1.FormShow(Sender: TObject); begin chengy.SetFocus; end; procedure TForm1.insretClick(Sender: TObject); var sql:string; begin if chengy.Text='' then begin end; ADOQuery1.Close; ADOQuery1.SQL.Clear; sql := 'insert int