《台州电大陈元的数据库应用程序设计离线作业(共75页).docx》由会员分享,可在线阅读,更多相关《台州电大陈元的数据库应用程序设计离线作业(共75页).docx(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上浙江大学远程教育学院数据库应用程序设计课程作业姓名:陈 元学 号:1年级:2013年秋学习中心:台州电大作业第一章1.5 如何保存Delphi的项目?尝试自己动手创建一个项目,并保存。答:执行File|Save All菜单命令或单击工具栏中的Save All按钮便可保存,在保存时可以对工程文件和单元文件进行改名,但后缀名不能改。保存文件之后,单击工具中的Run按钮或按F9键,系统将开始编译、连接、运行该工程。1.7 尝试设计如图110所示的窗体。(图见教材P15页图110)图110答:设计界面: 运行界面: 第二章2.8设计如图25所示的界面。单击“按钮1”或“按钮2
2、”时在标签上显示用户所执行的操作。单击“开启/停用按钮”可控制“按钮1”和“按钮2”是否可用,单击“退出系统”按钮时,结束程序的运行。答:设计界面: 运行界面: 代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; ctlButton: TButton; exitButton: TBu
3、tton; showLabel: TLabel; procedure Button1Click(Sender: TObject); /按钮1 procedure Button2Click(Sender: TObject); /按钮2 procedure ctlButtonClick(Sender: TObject); /开启停用按钮 procedure exitButtonClick(Sender: TObject); /退出按钮 private Private declarations public Public declarations end;var Form1: TForm1; ctl
4、Status:integer = 0; /控制按钮1和2的开启和关闭,0表示当前为开启,1表示关闭implementation$R *.dfmprocedure TForm1.Button1Click(Sender: TObject);begin form1.showLabel.Caption := 您点击了按钮1;end;procedure TForm1.Button2Click(Sender: TObject);begin form1.showLabel.Caption := 您点击了按钮2;end;procedure TForm1.exitButtonClick(Sender: TObj
5、ect);begin form1.Close;end;procedure TForm1.ctlButtonClick(Sender: TObject);begin if ctlStatus = 0 then begin form1.Button1.Enabled := false; form1.Button2.Enabled := false; ctlStatus := 1; end else begin form1.Button1.Enabled := true; form1.Button2.Enabled := true; ctlStatus := 0; end;end;end.2.9 设
6、计如图26所示的界面。当单击按钮时,可控制文本框中字体的颜色。图25图26答:设计界面运行界面:代码:(按钮快捷键的设置方法为在字母前加&,如&R,&G,&B)unit test;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; btnRed: TButton; btnGreen: TButton; btnBlue: T
7、Button; procedure btnRedClick(Sender: TObject); procedure btnGreenClick(Sender: TObject); procedure btnBlueClick(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1;implementation$R *.dfmprocedure TForm1.btnRedClick(Sender: TObject);begin form1.Edit1.Font.
8、Color := clred;end;procedure TForm1.btnGreenClick(Sender: TObject);begin form1.Edit1.Font.Color := clgreen;end;procedure TForm1.btnBlueClick(Sender: TObject);begin form1.Edit1.Font.Color := clblue;end;End.第三章3.8 下列实数中哪些是合法的,哪些是不合法的?不合法的请说明理由。(A)0.25E+02(B).25+2(C)25E+2(D)34.5(E).123(F)-3E-4答:(A)合法,即
9、为25 (B)不合法,小数点前必须有数字,如表示为0.25+2 (C)合法,即为2500 (D)合法,即为34.5 (E)不合法,同(2) (F)合法,即为-0.00033.12 数学式子sin30。写成Delphi表达式是下列哪个?(A) Sin30(B)Sin(30)(C)SIN(30。)(D)Sin(30*Pi/180)答:D,使用正切函数时需要把角度转化为弧度表示。第四章4.7 利用3个数字编辑框分别输入小时、分、秒,换算共有多少秒,然后使用标签输出。答:设计界面:运行界面:代码:unit Unit1;interfaceuses Windows, Messages, SysUtils,
10、 Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin;type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; SpinEdit1: TSpinEdit; SpinEdit2: TSpinEdit; SpinEdit3: TSpinEdit; Label4: TLabel; procedure SpinEdit1Change(Sender: TObject); procedure SpinEdit2Change(Se
11、nder: TObject); procedure SpinEdit3Change(Sender: TObject); private Private declarations procedure CalculateTimeToSencond(timeKind:String; time:integer); public Public declarations end;var Form1: TForm1; hour: integer = 0; minute: integer = 0; second: integer = 0; tot:integer = 0;implementation$R *.
12、dfmprocedure TForm1.CalculateTimeToSencond(timeKind:String; time:integer);begin if timeKind = hh then hour := time else if timeKind = mi then minute := time else if timeKind = ss then second := time; tot := hour * 60 * 60 + minute * 60 + second; form1.Label4.Caption := 总共为 + IntToStr(tot) + 秒;end;pr
13、ocedure TForm1.SpinEdit1Change(Sender: TObject);begin Form1.CalculateTimeToSencond(hh, StrToInt(Form1.SpinEdit1.Text);end;procedure TForm1.SpinEdit2Change(Sender: TObject);begin Form1.CalculateTimeToSencond(mi, StrToInt(Form1.SpinEdit2.Text);end;procedure TForm1.SpinEdit3Change(Sender: TObject);begi
14、n Form1.CalculateTimeToSencond(ss, StrToInt(Form1.SpinEdit3.Text);end;end.4.8 在编辑框中输入一个实数,利用备注框输出该实数及其平方和平方根。答:设计界面:运行界面:代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; M
15、emo1: TMemo; Label2: TLabel; procedure Edit1Change(Sender: TObject); procedure FormCreate(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1; num1 : Real; /原实数 num2 : Real; /实数平方 num3 : Real; /实数平方根implementation$R *.dfmprocedure TForm1.Edit1Change(Sender
16、: TObject);begin if form1.Edit1.Text then begin num1 := StrToFloat(form1.Edit1.Text); num2 := Sqr(num1); num3 := Sqrt(num1); form1.Memo1.Lines.Clear; form1.Memo1.Lines.Add(实数为 : + FloatToStr(num1); form1.Memo1.Lines.Add(平方为 : + FloatToStr(num2); form1.Memo1.Lines.Add(平方根为 : + FloatToStr(num3); end;e
17、nd;End.第五章5.11 任意给定3个实数,按照从大到小的顺序依次输出这3个数。答:设计界面:运行界面:代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) num1Edit: TEdit; Label1: TLabel; Label2: TLabel; resultLabel: TLabel; num2Edit: TEdit; num3Edit: T
18、Edit; procedure num1EditChange(Sender: TObject); procedure num2EditChange(Sender: TObject); procedure num3EditChange(Sender: TObject); private Private declarations procedure CompareNumber(); public Public declarations end;var Form1: TForm1; num1 : Real; /数字1 num2 : Real; /数字2 num3 : Real; /数字3 compn
19、um : Real; /比较时转换2数 outStr : String; /输出结果;implementation$R *.dfmprocedure TForm1.CompareNumber();begin if (trim(form1.num1Edit.Text) ) And (trim(form1.num2Edit.Text) ) And (trim(form1.num3Edit.Text) ) then begin num1 := StrToFloat(form1.num1Edit.Text); num2 := StrToFloat(form1.num2Edit.Text); num3
20、:= StrToFloat(form1.num3Edit.Text); if num2 num1 then begin compnum := num1; num1 := num2; num2 := compnum; end; if num3 num1 then begin compnum := num1; num1 := num3; num3 := compnum; end; if num3 num2 then begin compnum := num2; num2 := num3; num3 := compnum; end; outStr := FloatToStr(num1) + , +
21、FloatToStr(num2) + , + FloatToStr(num3); form1.resultLabel.Caption := outStr; end;end;procedure TForm1.num1EditChange(Sender: TObject);begin form1.CompareNumber;end;procedure TForm1.num2EditChange(Sender: TObject);begin form1.CompareNumber;end;procedure TForm1.num3EditChange(Sender: TObject);begin f
22、orm1.CompareNumber;end;end.5.13 假设工资的增幅标准为:若基本工资大于等于1000元,增加工资20%;若小于1000元大于等于800元,则增加工资15%;若小于800元,则增加工资10%。请根据用户在文本框中输入的基本工资,计算出增加后的工资。答:设计界面:运行界面:代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Lab
23、el1: TLabel; Edit1: TEdit; Label2: TLabel; resultLabel: TLabel; procedure Edit1Change(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1; salary: Real; outSalary: Real;implementation$R *.dfmprocedure TForm1.Edit1Change(Sender: TObject);begin salary := Str
24、ToFloat(form1.Edit1.Text); if (salary = 1000) then outSalary := salary * (1 + 0.2) else if (salary = 800) then outSalary := salary * (1 + 0.15) else if (salary 800) then outSalary := salary * (1 + 0.1); form1.resultLabel.Caption := FloatToStr(outSalary);end;End.第六章6.5 设s=1X2X3XXn,求s不大于20000时最大的n。答:设
25、计界面:运行界面:代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; resultLabel: TLabel; procedure FormCreate(Sender: TObject); private Private declarations public P
26、ublic declarations end;var Form1: TForm1; number, n, tot: Integer;implementation$R *.dfmprocedure TForm1.FormCreate(Sender: TObject);begin tot := 1; n := 0; number := StrToInt(form1.Edit1.Text); While tot = number do begin n := n + 1; tot := tot * n; end; form1.resultLabel.Caption := IntToStr(n-1);e
27、nd;end.6.10 在标签上输出100200之间的所有的奇数,其中3的倍数除外。答:设计界面:运行界面:代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) resultLabel: TLabel; procedure FormCreate(Sender: TObject); private Private declarations public Pu
28、blic declarations end;var Form1: TForm1; number, i: Integer; outStr: String;implementation$R *.dfmprocedure TForm1.FormCreate(Sender: TObject);begin for i:= 100 to 200 do begin if i mod 2 0 then if i mod 3 0 then outStr := outStr + + IntToStr(i); form1.resultLabel.Caption := outStr; end;end;end.第七章7
29、.4 求1200这200个数的和,当和大于10000时结束计算。(要求使用转向语句)答:设计界面:运行界面:代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Label1: TLabel; procedure FormCreate(Sender: TObject); private Private declarations public Public
30、declarations end;var Form1: TForm1; sum, n : integer;implementation$R *.dfmprocedure TForm1.FormCreate(Sender: TObject);begin sum := 0; n := 0; repeat n := n + 1; sum := sum + n; if (sum 10000) then break; until n = 200; form1.Label1.Caption := 总和为 + IntToStr(sum);end;end.第八章8.8 编写函数,输出100500之间所有能同时
31、被3和13整除的数。答:设计界面:运行界面:代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Label1: TLabel; procedure FormCreate(Sender: TObject); private Private declarations Function checkNum(num:integer):boolean; public
32、 Public declarations end;var Form1: TForm1;implementation$R *.dfmFunction TForm1.checkNum(num:integer):boolean; var n :boolean;begin if (num mod 3 = 0) And (num mod 13 = 0) then n := true else n := false; result := n;end;procedure TForm1.FormCreate(Sender: TObject); var i : integer; var out : string
33、;begin for i := 100 to 500 do begin if checkNum(i) then out := out + + IntToStr(i); end; form1.Label1.Caption := out;end;end.第九章9.2 打开对话框组件和打开图片对话框组件有什么异同点?答:两者都会打开一个对话框用于选择电脑本地上的文件; 不同的是前者可以选择全部类型的文件,而后者只可以选择图片类型的文件,并且可以预览图片。第十章10.7 菜单命令项与工具栏按钮的单击事件中的代码是否可以关联?如何关联?答:可以关联,将工具栏按钮ToolButton的Style属性设置为
34、tbsDropDown,然后在MenuItem属性中选择对应的菜单项即可。第十一章11.4 调用子窗体的close方法时是否可关闭该子窗体?若不能,需要怎么做?答:调用close方法只能最小化窗口,如果要真正关闭,需要调用free方法,早子窗体的OnClose事件中使用代码Action :=CaFree;把Action动作参数设定为CaFree。第十二章12.3 使用红色的画笔在窗体中绘制一个半径为5的圆,并且用黄色来填充圆的内部。答:设计界面:运行界面:代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Cla
35、sses, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormPaint(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1;implementation$R *.dfmprocedure TForm1.FormPaint(Sender: TObject);var r, x, y:integer;begin r := 5; x := 80; y := 50
36、; Canvas.Pen.Color := clred; Canvas.Pen.Width :=1; Canvas.Brush.Color := clyellow; Canvas.Ellipse(x, y, x+r*2, y+r*2);end;end.第十三章13.3 打开一个文本文件有几种方法?区别是什么?答:有3种打开文件的方法:(1) 对于文本文件,Reset过程以只读方式打开一个文件,并将文件的指针移动到文件开头。对于类型文件和无类型文件,Reset过程以可读写方式打开文件。(2) Rewrite过程以写的方式创建并打开一个新文件,若该文件已经存在,此操作将使文件被覆盖。对于一个已打开
37、的文件,则先关闭文件,并重新创建一个新文件覆盖原有文件,文件指针设置到开头处。(3) Append过程打开一个已存在的文本文件,并以追加的方式在文件末尾添加文本。第十四章14.4 使用Database DeskTop设计如表145所示的数据表,并创建简单的应用程序完成数据的浏览和编辑功能。表145 数据表字段设置说明字段名类型长度说明Id字符型4产品编号Name字符型20产品名称Price数值型产品单价Count短整型产品库存量答:设计界面:(数据库设计)运行界面:14.6 使用数据库软件(如Sql Server2000)创建如表146所示的数据表,并开发一个学生档案管理系统,完成学生基本信息
38、的添加、删除、修改等。同时,可以按照学生的学号、姓名等进行数据的查询。最后,将学生的基本信息以报表的方式输出。表146 数据表字段设置说明字段名类型长度说明Id字符型8学号Name字符型8姓名Sex字符型2性别Birthday日期型4出生日期Address字符型50家庭住址答:(1)使用的数据库软件为Sql Server 2008 R2,依据题目设计的数据表结构为表名为Students(2) 本系统包含5个Form,分别为FormMain主界面,FormTable信息录入查询界面,FormReport学生信息报表界面,FormHelp系统帮助界面,FormAbout系统关于界面(3)各Form
39、详细内容:A:FormMain设计界面:运行界面:代码:unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, Unit3, Unit1, Unit4, Unit5;type TMainForm = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMe
40、nuItem; N7: TMenuItem; N8: TMenuItem; Label1: TLabel; Label2: TLabel; Label3: TLabel; procedure N8Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure N4Click(Sender: TObject); procedure N7Click(Sender: TObject); private procedure closeApp; public Public