




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Delphi程序设计作业1一、问答题1、结构化程序设计的基本原则是什么?结构化程序设计的基本原则是:取消goto语句,程序中只允许顺序、分支和循环三种控制结构,其中每一种结构只能有一个入口和一个出口。任何算法都必须(也可以)由这三种基本结构及三种结构的嵌套所构成。结构化程序设计要求采用自顶向下、逐步求精的设计方法和单入口、单出口的控制结构。2、简述面向对象技术中“类”与“对象”的概念。结合Delphi中使用的组件,举例说明什么是类、什么是对象。类是对象的抽象及描述,它是具有统一属性和方法的一类对象的统一描述体,是用来定义某类对象共有属性和方法的模板。而对象是类的实例。在Delphi环境中,组件板上的组件就是类的概念,例如按钮组件就是按钮类。而用户在窗体上创建的一个按钮就是对象的概念(按钮对象)。用户可以在窗体上用按钮类创建若干个按钮对象,它们都是按钮类的实例。3、在Delphi中,什么是对象的属性、方法和事件?一个对象是由属性、方法和事件所组成。属性表示对象中的数据,方法是对象能够执行的动作,事件是能够引起对象反应的条件。4、简述利用Delphi开发一个项目的基本步骤。l 建立一个新的项目l 建立窗体l 在窗体上加入对象l 检查和设定对象属性l 编写对象的事件处理程序l 编译、试运行,并进行代码调试l 保存项目文件,退出Delphi 环境5、下列哪些条目可作为Delphi的变量名,哪些不行,并说明原因。 abc 123 abc123 123abc file a!合法的变量名是:abc abc123不合法的变量名是:123 123abc(不能是数字或数字开头)file(变量名不能采用语言中的保留字)a!(变量名中不能包含某些特殊符号,如“!”)6、写出下列函数或表达式的值。 int(2.718) = 2.0 round(2.718) = 3 odd(3) true chr(65) = A StrToInt(2005) = 2005 IntToStr(121) = 121 (23 mod 5) + (23 div 5) = 7 ( (x=5) OR (x=-5) ) AND ( x in 1.9 ) 当x=10时,表达式的值为假(或false)7、将下列数学式子写成Delphi程序中的表达式 答案:sqr(sin(x+y) / sin(sqr(x) + sqr(y) 答案 Sqrt(p*(p-a)*(p-b)8、要想在程序中定义一个常量p,代表圆周率3.14,请写出该常量的定义语句。 const p = 3.14 ;9、在Delphi程序代码中,打开一个老文件、以及创建并打开一个新文件所使用的过程各是什么?打开一个老文件:reset(文件变量名) 创建并打开一个新文件:rewrite(文件变量名)或简答 reset 和rewrite10、在一个单元中,全局变量和局部变量的含义是什么?说明在单元文件中如何定义这两种变量(可举例说明)。局部变量只能在定义它的程序块中使用,且其生命周期也只存在于从程序块开始执行到程序块执行结束。在一个事件处理程序中的变量说明部分,能够定义一个局部变量,供该事件处理程序内部使用。而全局变量可以在单元中的各程序块中使用(共享),且生命周期存在于整个单元代码的活动期中。在Implementation保留字后(但不要在程序块里)定义的变量就是全局变量。11、如果想查看showmessage过程的帮助信息,请你说出两种获取帮助信息的方式。 通过主菜单Help的Delphi Help命令调出帮助主页面,在“索引”页输入框中输入要查找的showmessage单词,即可找出相关的帮助信息。 在代码中如果调用了showmessage过程,可将光标置于该单词中,然后按F1键,即可找出该过程的帮助信息。12、一个项目由一组文件组成。其中一些主要文件的后缀有:.dpr .pas .dfm .dcu .dpr .pas .dfm 等请说出这些文件的中文名称及用途。答:.dpr 项目文件,存放项目的主程序 .pas 单元文件,存放源代码,如事件处理程序等。 .dfm 窗体文件,数据文件,记录窗体上的数据信息(如组件位置等) .dcu 目标文件,保存.pas编译后得到的结果。 .dpr .pas .dfm 是备份文件,便于用户恢复到较早的一个项目版本。13、用于摆放其他组件的组件可以称之为“容器组件”。除窗体组件外,请你再说出一个容器组件的名字。答:Panel 或 GroupBox14、简述Edit组件下面几个属性的用途:Font Hint Name ReadOnly Text 答:Font :设置编辑框内的字体属性Hint :设置提示信息(当光标指向编辑框时弹出的提示信息)Name :对象标识名ReadOnly:设置只读属性。如为True ,则用户界面上编辑框只能显示信息,不能写(不能输入)。Text : 该属性的值就是编辑框中的内容15、简述Edit组件下面几个方法的功能: Clear SetFocus SelectAll答:Clear是清除编辑框中的内容;SetFocus是使编辑框获得焦点(光标进入编辑框中,编辑框变得可操作) ;SelectAll是选中编辑框中的全部文本。16、简述Edit组件下面几个事件的引发条件:OnChange OnClick OnEnter OnExit OnKeyPress答:OnChange 当编辑框中内容改变时引发该事件OnClick :当鼠标单击编辑框时引发该事件OnEnter :当光标进入编辑框时引发该事件OnExit :当光标离开编辑框时引发该事件OnKeyPress :当在编辑框中输入文本时,每次按键都会引发该事件17、ListBox、ComboBox和RadioGroup 三个组件都有一个Items属性,请说出该属性对三个组件的用途各是什么?答:对ListBox:该属性的值(多行)为列表框中的内容。 对ComboBox:该属性的值(多行)为下拉选单中的内容。 对RadioGroup:该属性决定了一组单选按钮的个数和每个按钮的名称。18:RadioGroup和CheckBox对象都是通过用户鼠标点击来确定输入。请你说出代码中如何获取用户在这两个对象上的选择。答:对RadioGroup对象,是通过对ItemIndex属性确定用户在一组单选按钮中的选择:该属性为0表示选择了第1个按钮,为1表示选择了第2个按钮,依此类推。对CheckBox对象,是通过Checked属性确定选择状态。该属性为True表示选中状态,为False表示未选中状态。19、你如何理解OpenDialog(打开文件对话框)和SaveDialog(保存文件对话框)这两个组件的基本功能?它们负责文件的打开和保存吗?答:两个组件对象只是提供了一个Windows的标准对话框。用户在对话框中可以指定要打开或要保存的文件的名字,并将用户在对话框中选择的文件名存入Filename属性中。这两个组件对象并不执行打开或保存文件的操作。20、简要回答“什么是Delphi?”答:Delphi是面向对象的、可视化的集成开发环境。它使用对象Pascal作为基本的编程语言,它可用来开发各种图形用户界面的程序,特别是数据库的应用程序。二、编程题1、开发用户界面如下图所示的应用程序:功能说明如下:用户可以通过单选按钮选择运算类型(加减乘除),然后在两个输入框中输入操作数和被操作数,按“运算”键,答案显示在输出框。在界面上,两个复选框的功能要求是:当“预清”复选框被选中时,每当用户将焦点置入一个输入框,该输入框自动清空,否则输入框不清。当“显示余数”复选框被选中后,在进行除法运算时,结果将显示商和余数(见图例),否则只显示整除的结果。系统还有以下要求:l 当输入框没有输入时就按运算键,系统要给出提示信息。l 输入框只能接受数字字符,不能输入非数字字符。l 输入的两个操作数都只能在1100之间。 答案:procedure TForm1.Button1Click(Sender: TObject); /运算按钮var x,y,z :integer;begin x:= strtoint(edit1.Text); y:= strtoint(edit2.Text); case radiogroup1.itemindex of 0: z:= x+y ; 1: z:= x-y ; 2: z:= x*y ; 3: z:= x div y; end; edit3.text:=inttostr(z); if checkbox2.checked and (radiogroup1.itemindex=3) then if (x mod y0)then edit3.text:=Edit3.text+ 余 + inttostr(x mod y) ;end;procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char); begin /输入字母检查,必需是09 if key in 0.9 then exit else key:=chr(0);end;procedure TForm1.Edit1Enter(Sender: TObject); /预清begin if checkbox1.checked then edit1.Clear ;end ;procedure TForm1.Edit2Enter(Sender: TObject); /预清begin if checkbox1.checked then edit2.Clear ;end;procedure TForm1.Edit1Exit(Sender: TObject); /检查edit1输入(空或越界)var x : integer ;begin if (edit1.Text=) then begin showmessage(缺第1操作数) ; edit1.SetFocus ; exit ; end ; x:= strtoint(edit1.Text); if (x100) then begin showmessage(第1操作数越界); edit1.SetFocus ; end ;end;procedure TForm1.Edit2Exit(Sender: TObject); /检查edit2输入(空或越界)var x : integer ;begin if (edit2.Text=) then begin showmessage(缺第2操作数) ; edit2.SetFocus ; exit ; end ; x:= strtoint(edit2.Text); if (x100) then begin showmessage(第2操作数越限); edit2.SetFocus ; end ;end;procedure TForm1.Button2Click(Sender: TObject); /退出按钮begin form1.close;end;-2、开发用户界面如下图所示的应用程序:功能说明:该界面是一个教师信息录入界面。用户在编辑框(Edit1)中输入姓名,利用单选按钮(RadioGroup1)指定性别,利用组合框(ComboBox1)选择或直接输入所在系,利用列表框(ListBox1)指定职称。当输入完上述信息后,单击“确定”按钮,教师信息将显示在右边的Memo1编辑窗口中。提示:在组合框和列表框中可以预置少量测试数据。答案:通过RadioGroup1的Items属性设置两个单选按钮(“男”和“女”),并将属性Column设置为2(按钮摆两列)。通过ComboBox1的Items属性设置下拉选单中的系名。通过ListBox1的Items属性设置列表框中的职称列表。“确定”按钮的单击事件处理程序如下:procedure TForm1.Button1Click(Sender: TObject);begin memo1.Lines.Add(edit1.Text); if radiogroup1.ItemIndex = 0 then memo1.Lines.Add(男) else memo1.Lines.Add(女) ; memo1.Lines.Add(combobox1.Text); memo1.Lines.Add( listbox1.Itemslistbox1.itemindex );end;3、开发用户界面如下图(左)所示的应用程序,右图是设计界面。 功能说明:单击开始按钮,时钟启动,每秒钟改变一次;单击停止按钮,时钟停止。提示:该界面要建立一个Timer对象。还要用到Time和TimeToStr两个函数。答案:建立Timer1对象,并将Interval属性设置为1000(间隔1秒),将Enabled属性的初始值设置为False。建立一个Panel1对象作为显示时间的面板。代码如下:procedure TForm1.Timer1Timer(Sender: TObject);begin panel1.Caption := Timetostr(time);end;procedure TForm1.Button1Click(Sender: TObject); /开始按钮begin timer1.Enabled := true ;end;procedure TForm1.Button2Click(Sender: TObject); /停止按钮begin timer1.Enabled := false ;end;4、开发一个简单的编辑器,设计界面如下图所示:该编辑器功能要求如下:l 编辑窗口使用Memo组件实现,并为其设置垂直滚动条。l 单击“打开文件”按钮,弹出打开文件对话框,用户指定要打开的文件后(限于纯本文件),文件内容加载到编辑窗口中。l 单击“保存文件”按钮,弹出保存文件对话框,用户指定要保存的文件名后,编辑区的内容保存到指定文件中,然后清空编辑区。l 单击“复制”按钮,编辑区中被选择的内容拷贝到剪贴板。l 单击“剪切”按钮,编辑区中被选择的内容剪切到剪贴板。l 单击“粘贴”按钮,剪贴板中的内容拷贝到编辑区当前光标处。答案:建立的组件有:memo1、opendialog1、savedialog1、button15编码如下:procedure TForm1.Button1Click(Sender: TObject); /打开文件begin if opendialog1.Execute then memo1.Lines.LoadFromFile(opendialog1.FileName) ;end;procedure TForm1.Button2Click(Sender: TObject); /保存文件begin if savedialog1.Execute then begin memo1.Lines.SaveToFile(savedialog1.FileName) ; memo1.Clear ; end ;end;procedure TForm1.Button3Click(Sender: TObject); /复制begin memo1.CopyToClipboard ;end;procedure TForm1.Button4Click(Sender: TObject); /剪切begin memo1.CutToClipboard ;end;procedure TForm1.Button5Click(Sender: TObject); /粘贴begin memo1.PasteFromClipboard ; end;Delphi程序设计作业2班级 姓名 分数 一、问答题1、在一个项目中,什么是主窗体?如何指定一个主窗体?答:主窗体是项目的主界面。当一个Delphi应用程序启动后,首先建立并出现在屏幕上的就是主窗体,而其他窗体则要根据用户的操作要求而出现。默认情况下,项目中第一个建立的窗体就是主窗体。但在设计界面可以通过菜单项Project/Options进入窗体设置界面,指定项目中的某个窗体作为项目的主窗体。 2、通过窗体的BorderStyle属性可以将窗体设置为对话框样式。简述对话框式窗体的主要特征是什么?答:当窗体设置为对话框时,窗体的标题栏上可以有关闭按钮,但没有最大、最小按钮,而且窗体大小在运行时不能改变(鼠标拖动窗体边框不起作用)。3、如果在主窗体上有一个按钮,其功能是打开一个子窗体,请你简述在设计该项功能时需要做哪些编码工作(可举例说明)。答: 在主窗体的单元代码中,要在uses子句中指定子窗体单元的名字。例如主窗体Form1,对应的单元名为Unit1;子窗体Form2,对应的单元名是Unit2。那么在Unit1的uses子句中要包含单元名Unit2。 在按钮的单击事件处理程序中,调用子窗体的Form2.Show或Form2.ShowModal方法打开Form2子窗体。4、简述如何关闭模式子窗体并返回到调用它的主窗体中(要至少给出两种方法)。答: 在代码中将子窗体的ModalResult属性设置为一非零值。 设置一个关闭子窗体的按钮,将按钮的ModalResult属性设置为一非零值。5、建立一个MainMenu对象的作用是什么?它是否出现在运行界面上?PopupMenu对象与MainMenu对象有什么不同?答:MainMenu对象的作用是用于主菜单设计。双击该对象可以打开菜单设计窗口。MainMenu对象本身并不出现在运行界面上。PopupMenu对象是用于设计快捷菜单。6、简述在一个窗体上设计多页面的操作步骤。答:首先建立一个PageControl对象,并排放好位置,它是设计页面的母板。然后单击PageControl对象,在弹出的快捷菜单中执行命令“New Page”,即可建立一个页面。7、菜单项有几种类型?简述复选框型菜单项的设计方法(包括必要的代码)。答:菜单项有3种类型:普通按钮型、复选框型和单选按钮型。复选框型菜单项的设计方法如下:假定菜单项的名字为N1,在菜单项单击事件处理程序中编写如下代码:procedure TForm1.N1Click(Sender: TObject);begin N1.Checked := not N1.Checked ; if N1.checked then /执行菜单项选中时需要执行的动作 else /执行菜单项未选中时需要执行的动作end ;8、工具栏上的按钮有几种类型?简述单选按钮型按钮的设计方法(包括必要的代码)。答:工具栏上的按钮有3种类型:普通按钮型、复选框型和单选按钮型。单选按钮型工具栏按钮的设计方法如下:建立工具条对象ToolBar1在工具条上建立若干SpeedButton按钮。将需要实现互斥功能的一组按钮的GroupIndex属性设定为非零的同一个值(同组)。为每个按钮编写单击事件处理程序。例如为SpeedButton1编写代码如下:procedure TForm1. SpeedButton1 Click(Sender: TObject);begin / 对齐 选中SpeedButton1时所要执行的动作end; 9、如何从一个项目中删除一个窗体及相应的单元文件?答:利用菜单命令:Project / Remove From Project10、设置窗体的Font(字体)属性有什么作用?答:可以为摆放在窗体上的对象(如标签、编辑框等)提供默认的字体设置。二、编程题1、设计一个屏幕编辑程序,如下图所示。其中前三个图分别给出3个主菜单的内容,最后一个图给出运行界面示例。 功能要求如下:主菜单结构如上图所示。其中3个颜色菜单项为单选按钮型(确定编辑框背景颜色),2个字体菜单项为复选框型(确定编辑框中的字体)。工具栏按钮有3个:左对齐、居中和右对齐(决定编辑框中文本对齐方式)。请写出该项目中采用了哪些组件对象,关键属性如何设置,并列出编写的代码(适当给以注释)。答:组件有memo1(编辑框)、opendialog1和savedialog1(对话框)MainMenu1(主菜单)、toolbar1(工具条)、speedbutton13(工具栏上的按钮)等。有关颜色的3个菜单项的RadioItem属性设置为True,GroupIndex属性设置为同一非零值。3个快捷按钮(对齐)的GroupIndex属性设置为同一非零值。有关代码如下:procedure TForm1.N2Click(Sender: TObject); /“打开”菜单命令begin if opendialog1.Execute then memo1.Lines.LoadFromFile(opendialog1.FileName);end;procedure TForm1.N3Click(Sender: TObject); /“保存”菜单命令begin if savedialog1.Execute then memo1.Lines.SaveToFile(savedialog1.FileName);end;procedure TForm1.N5Click(Sender: TObject); /“退出”菜单命令begin close ;end;procedure TForm1.N7Click(Sender: TObject); /“剪切”菜单命令begin memo1.CutToClipboard ;end;procedure TForm1.N8Click(Sender: TObject); /“复制”菜单命令begin memo1.CopyToClipboard ;end;procedure TForm1.N9Click(Sender: TObject); /“粘贴”菜单命令begin memo1.PasteFromClipboard ;end;procedure TForm1.N13Click(Sender: TObject); /“无色”选项begin N13.Checked := true ; memo1.Color := clWindow ;end;procedure TForm1.N11Click(Sender: TObject); / “黄色”选项begin N11.Checked := true ; memo1.Color := clyellow ;end;procedure TForm1.N12Click(Sender: TObject); /“绿色”选项begin N12.checked := true ; memo1.Color := clLime ;end;procedure TForm1.N15Click(Sender: TObject); /粗体begin N15.Checked :=not N15.Checked ; /翻转 if N15.checked then memo1.Font.Style:= memo1.Font.Style + fsBold else memo1.Font.Style:= memo1.Font.Style - fsBold;end;procedure TForm1.N16Click(Sender: TObject); /斜体begin N16.Checked :=not N16.Checked ; /翻转 if N16.checked then memo1.Font.Style:= memo1.Font.Style + fsItalic else memo1.Font.Style:= memo1.Font.Style - fsItalic;end;procedure TForm1.SpeedButton1Click(Sender: TObject); /工具栏左对齐begin memo1.Alignment := taLeftJustify ;end;procedure TForm1.SpeedButton2Click(Sender: TObject); /工具栏居中对齐begin memo1.Alignment := taCenter ;end;procedure TForm1.SpeedButton3Click(Sender: TObject); /工具栏右对齐begin memo1.Alignment := taRightJustify ;end;2、编写一个多页面程序,要求用户在第1页输入姓名、年龄,第2页输入住址、邮编及电话,在第3页中,单击“综合”按钮,在Memo组件中显示汇总信息。运行界面示例如下: 要求:写出项目中建立的主要组件对象,并给出“综合”按钮的单击事件处理程序代码。答:建立的组件对象有PageControl1、memo1、button1及若干label和edit对象等。procedure TForm1.Button1Click(Sender: TObject); /“综合”按钮begin Memo1.Clear; Memo1.Lines.Add(姓名:+ Edit1.Text); Memo1.Lines.Add(年龄:+ Edit2.Text); Memo1.Lines.Add(住址:+ Edit3.Text); Memo1.Lines.Add(邮编:+ Edit4.Text); Memo1.Lines.Add(电话:+ Edit5.Text);end;3、在第2题的基础上增加询问功能,即当用户单击“综合”按钮后,弹出一个询问框,询问用户是否还显示时间信息,如果用户回答“否”,则只显示综合信息,如果用户回答“是”,则在综合信息后再追加时间信息。下图是询问框及显示时间信息时的界面示例: 要求:询问框由项目的第2个窗体(form2)实现,要求设计成对话框样式。请给出设计询问对话框的主要过程,并给出实现询问功能的“综合”按钮的代码。答:建立Form2,将其Caption属性设置为“询问对话框”。将其BorderStyle属性设置为bsDialog 。在Form2上建立一个Label对象和2个Button对象。将两个Button对象的Caption属性分别设置为“是”和“否”,将它们的ModalResult属性分别设置为mrYes和mrNo。(也可以使用BitBtm按钮)“综合”按钮的单击事件处理程序如下:implementation$R *.dfmuses unit2 ; procedure TForm1.Button1Click(Sender: TObject);begin Memo1.Clear; Memo1.Lines.Add(姓名:+ Edit1.Text); Memo1.Lines.Add(年龄:+ Edit2.Text); Memo1.Lines.Add(住址:+ Edit3.Text); Memo1.Lines.Add(邮编:+ Edit4.Text); Memo1.Lines.Add(电话:+ Edit5.Text); if form2.ShowModal = mryes then Memo1.Lines.Add(日期:+ datetimetostr(date);end;end.Delphi程序设计作业3班级 姓名 分数 一、问答题1、假定建好的一个paradox数据库位于D盘根目录下的mydb子目录里(该数据库就称之为mydb)。如果在窗体上建立了一个Database1对象,请你说出该对象如何与数据库相连(描述主要设置过程)。答:双击Database1,在打开的属性设置对话框中,先指定Driver name为STANDARD(即Paradox数据库),然后设置path=D:mydb。2、如果在界面上用二维表的格式显示mydb数据库中student表的内容,请你说出需要建立哪些数据库对象?它们的主要属性如何设置?答:依次建立Database1、Table1、DataSource1、DBGrid1对象。Database1与mydb数据库相连;Connected属性置为true。Table1的DatabaseName属性指定Database1中定义的数据库名字;TableName属性指定student.DB;Active属性置为True。DataSource1的DataSet属性指定为Table1。DBGrid1的DataSource属性指定为DataSource1。3、对于DBGrid对象,如何通过它的属性设置使各列标题为中文显示?答:打开Columns属性对话框,加入数据集的所有字段(Add All Fields),然后对每一字段对象的Title属性进行设置,在Caption子属性中置入中文标题。4、DBText、DBEdit、DBGrid都能显示来自数据库中的数据,请你说出它们的不同之处。答:DBText和DBEdit都能显示数据库当前记录某字段的值,但DBText是只读的,而DBEdit可读可写。DBGrid可以显示数据集中多行多列数据。5、在常用的数据控件中,只需指定DataSource而不需指定DataField的控件有哪些?答:DBGrid、DBNavigator6、简述如何利用Table组件和Query组件实现对数据库的修改。答:对Table组件。通过其方法(如InsertRecord、Delete、EditPost等)实现对数据库的修改。对Query组件,通过其SQL属性中的SQL语句(如delete、update、insert)实现对数据库的修改7、Query组件的Open方法和ExecSQL方法的功能是什么?它们有什么不同?答:都是执行Query中的SQL语句。Open方法是执行查询语句,而ExecSQL方法是执行非查询语句。8、当Query中的SQL语句带有参数时,在设计阶段如何为它们赋值,在运行时又如何为它们赋值?答:在设计阶段,在Query对象的Params属性中可以设置初始值。在执行阶段,利用Query的ParamByName方法为参数赋值。9、如何为数据集组件建立永久字段?建立永久字段的好处是什么?答:双击数据集组件对象,在打开的窗口中加入的字段就成为永久字段。建立永久字段的好处是:可以在设计阶段对字段对象进行设置,并可以增加新的字段(计算字段和查找字段)。10、什么是计算字段?在什么事件中计算该字段的值?答:计算字段要人工建立,其值不是来自数据库、而是在显示时通过计算获得。在OnCalcFields事件中计算出计算字段的值。二、上机题1、熟悉delphi的数据库环境,并利用建表界面依次建立以下几张表:系表:dep(dno,dname,tel)学生表:student(sno,sname,sex,birthday,dno) 课程表:course(cno,cname,credit,ctime,quota)选课表sc(sno,cno,grade)注意:l 定义各表的主码。l 在student表的dno列上定义引用完整性约束(外来码)。l 在上述表中插入一些测试数据。2、编写一个如下图所示的查询语句练习界面。用户在输入框输入一条查询语句,然后按“执行”按钮,查询结果显示在下面的表格里。提示:将memo1对象中的查询语句存入Query对象的代码是:query1.SQL := memo1.Lines ;答案:procedure TForm1.Button1Click(Sender: TObject); /执行按钮begin query1.Close; query1.SQL := memo1.Lines ; query1.Open ;end;3、编写界面如下图所示的“系学生 主从查询”应用程序。两个按钮可以控制系记录的浏览,而学生信息总是显示当前系的学生记录。提示:系学生数要动态计算。答案:procedure TForm1.Table1AfterScroll(DataSet: TDataSet); begin query1.Close ; /根据当前系计算学生数 query1.ParamByName(dno).Value :=table1dno ; query1.Open ; query2.Close ; /根据当前系显示学生记录 query2.ParamByName(dno).Value :=table1dno ; query2.Open ;end;procedure TForm1.Button1Click(Sender: TObject); /上一记录begin table1.Prior ;end;procedure TForm1.Button2Click(Sender: TObject); /下一记录begin table1.Next ;end;4、编写界面如下图所示的学生选课界面。该界面的功能要求如下:l 用户输入学号,然后按“确定” 键,程序检查是否有该学号:如果没有则给出提示信息;如果有则在表格里显示该学生可选的课程(即该学生没有选过的课程)。l 用户在表格里选中一门课程,然后按“选课”键,完成一次选课操作(即在sc表中插入一条选课记录)。l 用户输入课程号,然后按“查找”键,可以快速定位要找的课程(使该课程在表格里成为当前课程)。答案:procedure TForm1.Button3Click(Sender: TObject); /“确定”按钮begin query1.Close ; /判断学号是否存在 query1.ParamByName(sno).Value := edit1.Text; query1.Open ; if query1sno= null then begin showmessage(无此学生); exit; end; query2.Close ; /显示学生可选课程 query
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高龄老年高血压特点
- 济南市2025-2026学年七年级上学期语文期末测试试卷
- 集安市2025-2026学年九年级上学期语文期中模拟试卷
- 电费账务基本知识培训总结
- 电脑钉钉显示课件
- 高质量培智说课课件
- 高职考现在进行时课件
- 电脑电缆知识培训课件
- 高考常见谦敬词课件
- 第5课《一着惊海天》课件-2025-2026学年统编版语文八年级上册
- 汉密尔顿抑郁量表(HAMD)
- 2025年锅炉检验员资格考试试卷:锅炉检验员考试模拟试题与解析
- 淋巴瘤健康教育课件
- 《Sketch Up 软件运用》课件(共九章)
- 煤灰管道清理方案(3篇)
- 电信营业员的理论考试题及答案
- 2025年河北大学版(2024)小学信息科技三年级(全一册)教学设计(附目录 P179)
- 安保技能活动方案
- 物资部档案管理制度
- 2025-2030中国烟花爆竹市场竞争动态分析及前景销售格局研究报告
- 2025年普通高等学校招生全国统一考试数学试题(全国一卷)(有解析)
评论
0/150
提交评论