DELPHI应用程序设计 实验指导书 king分享_第1页
DELPHI应用程序设计 实验指导书 king分享_第2页
DELPHI应用程序设计 实验指导书 king分享_第3页
DELPHI应用程序设计 实验指导书 king分享_第4页
DELPHI应用程序设计 实验指导书 king分享_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DELPHI应用程序设计实验指导书枣庄学院计算机系2007年9月实验1 DELPHI可视化开发环境 实验学时:2学时背景知识:集成开发环境、窗体程序特点。目的要求:1. 基本掌握Delphi编译环境。 2. 简单了解窗体程序运行特点。 实验内容:1. 在一个窗体上建立一个按钮,要求用户每单击一次按钮,按钮的高度增加一倍。 1) 新建项目文件 File New Application 2) 设计窗体3) 创建一个按钮,并拖到合适的位置和大小 4) 编写按钮单击响应代码5) 双击按钮,输入如下代码:Button1.Height:=Button1.Height*2;6) 执行程序 2. 建立一个应用

2、程序,要求在一个窗口上显示一个Delphi系统提供的Customer.db数据表,并对此表具有浏览、编辑、修改、删除表中记录的功能。其中Customer.db数据表在DBDEMOS所指定的数据库中。 1) 新建项目文件2) 设计窗体 在组件面板上选择Data Controls标签,创建两个控件DBGrid1、DbNavigator1;在BED上选择table组件,命名为table1;DataAccess上选择datasource组件,命名为datasource13) 设置组件属性 设置table1的databasename属性为dbdemos,tablename为customer.db,act

3、ive为true;设置datasource1的dataset属性为table1;设置dbgrid1和dbnavigator1的datasource1属性为datasource14) 执行程序 实验说明: 1. Form1主窗体是由系统缺省创建。 2. 窗体文件和单元文件一一对应。 3. 编写Button1点击事件既可由双击按钮产生,也可在对象观察器中点击按钮时间产生。注意问题: 1. 要清晰了解项目文件和单元文件结构。 2. 注意用户自己输入代码位置及其作用。 3. 组件之间的连接方式及其产生的作用。 4. 注意别名与物理数据库之间的关系。 实验2 结构化异常处理实验学时:4 学时 背景知识:

4、异常处理语句,异常对象。 目的要求: 1. 熟悉Delphi的异常处理语句。 2. 多层异常的实现 。 实验内容:1. 编写一个捕捉被零除异常的控制台程序 a) 新建一个控制台程序 File New other New console Application OK b) 编写代码,代码如下:var R1,R2:Double;beginwhile True do Begin try/设置陷井 write(输入一个实数:); readln(R1);write(输入另一个实数:);readLn(R2);writeln(现在用第二个数除第一个数);writeln(答案是:,(R1/R2):5:2);

5、except / 捕捉错误on EzeroDivide do / 处理被0除错误 writeln(不能被0除!);on EinOutError do/ 处理输入/输出错误 writeln(不是有效数); end;end;end.c) 执行程序 程序2:2. 利用多层异常捕捉语句,编写一个读取文本文件的控制台程序 a) 新建一个控制台程序 b) 编写代码,代码如下:var F:TextFile;S: string;Begin AssignFile(F,c:Foo.txt); Try/设置外层陷井,Reset(F);Try/置内层陷井ReadLn(F,S); /读一行信息到S变量中FinallyC

6、loseFile(F);/关闭文件End; Except /处理外层陷井捕获的异常on EInoutError doShowMessage(访问文件错误!); End; ShowMessage(S);end.c) 执行程序 实验3 Application 对象的应用 实验学时:4学时 背景知识: Delphi自建的全局对象、Delphi 程序运行机制。目的要求: 1. 掌握Application对象属性特点。2. 利用Windows API函数的强大功能。实验内容:. 建立一个新项目。. 在新建项目主窗体上,放入四个按钮组件。. 将四个组件属性分别设置为“取应用程序标题”、“设置主窗体标题”、

7、“取当前应用程序文件名”和“取当前应用程序路径”。. 分别编辑按钮组件的点击事件。. 运行程序。 注意问题: 注意引用Windows API函数的条件和具体含义。实验4 资源文件的使用及编程技巧 实验学时: 4学时 背景知识: 资源文件中存放的是应用程序中使用的位图、图标、光标等数据。目的要求: 1. 掌握资源文件的组成及创建方法。 2. 掌握Delphi程序对资源文件的使用方式。 3. 封面程序的实现方法4. 避免应用程序重复启动的实现方法 实验内容:1. 编写一个程序 ,用于获取自建资源文件中创建的资源。1) 资源文件的创建 运行imageeditor软件:ToolsImage Edito

8、r 2) 资源文件的调用 打开项目文件:projectview source有一条语句$R *.res ,用于实现对项目默认资源文件的读取。默认资源文件与项目同名,扩展名为.res,与项目文件保存在同一目录下。若要使用自己创建的资源,可在该语句的后边再加一条语句,如$R C:MyReferenceResFile.res2. 编写一个程序 ,在主窗体启动之前显示系统封面1) 在项目文件中编写如下代码:Application.Initialize;SplashFrm:=TSplashFrm.Create(Application); /创建封面SplashFrm.Show; /显示封面SplashF

9、rm.Update; /强制更新封面Application.CreateForm(TMainFrm,MainFrm);/创建主窗体SplashFrm.Free; /删除封面窗体Application.Run;/运行主程序 2) 运行程序3. 编写程序,实现程序只能同时运行一次。1) 查找窗口法 a) 新建一个项目b) 打开项目文件,键入如下代码:program Project1;uses Forms, windows, Unit1 in Unit1.pas Form1;$R *.resVar Hwnd:Thandle;beginHwnd:=FindWindow(TForm1,Main); /查

10、找主窗体 If Hwnd=nil then /如果没找到应用程序的主窗体则启动应用程序 BeginApplication.Initialize;Application.CreateForm(TForm1, Form1);Application.Run; end;end.2) 互斥对象法a) 新建一个项目b) 打开项目文件,键入如下代码:program Project1;uses Forms, windows, Unit1 in Unit1.pas Form1;$R *.resVAR Mutex:THandle;begin Mutex:=CreateMutex(NIL,True,Form1);/

11、判断创建互斥对象是否成功 IF GetLastErrorERROR_ALREADY_EXISTS THEN BEGIN Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end; ReleaseMutex(Mutex);end.实验说明: 1. 仔细体会Image Editor工具创建资源文件的过程。 注意问题 1. 在项目文件中对资源文件引用时注意路径问题。2. 从资源文件中调入图标、光标或图片时,它们的标识符必须全部大写。 实验5 MDI程序的编写 实验学时: 学时 背景知识:窗体

12、创建、自动创建窗体、可用窗体。目的要求: 1. 掌握窗体的创建方式 。 2. 掌握模式窗体和无模式窗体 。3. 掌握MDI程序的实现方法4. 掌握框架窗体的实现方法实验内容: 1. 编写一个程序 ,动态创建窗体,并用模式和无模式方法对其进行显示。1) 新建一个项目 2) 将窗体命令为fmain,再创建两个窗体,分别为form2和form3。单击projectoptions forms,将form2和form3设为可用窗体。单击file use unit,添加对unit2和unit3的引用 。3) 在主窗体上建立两个按钮button1和button2,分别用于模式显示form2和无模式显示for

13、m3。4) 对button1和button2的单击事件进行编码。 /button1的单击事件if assigned(form2) then form2.Free;/form2若存在,释放 form2:=Tform2.Create(self);/动态创建form2 form2.ShowModal;/模式显示 form2.Free;/释放form2/button2的单击事件if assigned(form3) then form3.Free;/form2若存在,释放 form3:=Tform3.Create(self);/动态创建form2 form3.Show;/模式显示对form3的close

14、事件进行编码。 action:=cafree;/关闭form3时将其释放 form3:=nil;2. 编写一个MDI程序1) 新建一个项目,将窗体form1的formstyle设为fsMDIForm。在窗体上放个button1,用于显示子窗体。 2) 新建一个窗体form2,将其formstyle设为fsMDIChild。在其close事件中添加如下语句:action:=caFree;3) 在form中添加对unit的引用,并将form2设为可用窗体。4) 对form1中的button1的单击事件进行编码:5) Form2:=Tform2.create(self); 6) 运行程序3. 编写一

15、个程序,利用框架技术实现界面复用。1) 新建一个项目2) 在窗体上创建按钮button1和button2,分别用于控制嵌入框架窗体。放入panel1,用作容纳框架窗体的容器。界面如右图所示。3) 单击filenew frame,新建两个框架frame2和frame3.对button1和button2的单击事件进行编码:/button1的单击事件if assigned(frame2) then /判断是否初始化 frame2.free; frame2:=tframe2.Create(self);/创建frame2 frame2.Align:=alclient; /使框架窗体充满panel组件 f

16、rame2.Parent:=panel1;/设置frame2的容器/button2的单击事件if assigned(frame3) then /判断是否初始化 frame3.free; frame3:=tframe2.Create(self);/创建frame3 frame3.Align:=alclient; frame3.Parent:=panel1;/设置frame3的容器实验说明:. 设置可用窗体在ProjectProject Options菜单中设置。 . 设置unit1单元可访问Unit2单元可在File Uses Unit菜单中设置。 注意问题: . 正确设置可用窗体。 . 模式窗

17、体和无模式窗体的释放方式。实验6 选作一个小型的实用项目 实验学时: 4学时 背景知识:Pascal语法规范,窗体设计,组件使用。目的要求: 1. 根据前面所学知识,选做一个小型的实用项目。可选主题如下: 1) 文本编辑器a) 文本编辑器功能要求:采用MDI技术实现,以微软自带的写字版为参考,要求实现其大部分功能。b) 涉及技术:常用对话框的使用;RichEdit控件2) 媒体播放器a) 媒体播放器功能要求:以微软自带的MediaPlayer为参考,要求实现其大部分功能。b) 技术方案选择:Delphi自带的mediaplayer组件;导入ActiveX控件,如RealPlayer插件、Med

18、iaPlayer等。3) 计算器a) 计算器功能要求:以微软自带的计算器为参考,要求实现其大部分功能。实验步骤:略 实验7 数据库的连接与配置 实验学时:学时 背景知识:BDE,ODBC 目的要求: 1. 掌握ODBC数据源的设置方式。 2. 掌握数据库组件的用法。 实验内容: 1. 打开ODBC管理器。 2. 创建新数据源。 3. 创建ODBC数据源对应的数据库。 4. 建立BDE与ODBC的数据源连接。 5. 打开Delphi的Database Desktop工具软件。 6. 选择要创建表的类型,创建数据库表。7. 向新建表中输入部分数据。8. 建立项目文件。9. 置入组件并正确连接。10

19、. 运行程序。实验说明: 1. ODBC在操作系统控制面板上。 注意问题 1. 数据源名称和物理数据库关系。 实验8 数据表的常用操作 实验学时:学时 背景知识:Table、Datasource、DBGrid 等组件和书签变量目的要求: 1. 掌握BDE组件连接数据库的方法 。2. 掌握数据集组件实现数据表操作的方法。 3. 熟悉记录指针保存和恢复的方法 。 实验内容: 1. 创建一个程序,能实现数据表的浏览、能对记录指针的位置进行保存和恢复.实验步骤:1. 新建一个应用程序2. 界面设计:如图所示,主要控件有:Table1、DBGrid1、Groupbox1、Groupbox2、Groupb

20、ox3、 FirstButton、PriorButton、NextButton、LastButtont、MoveByButton和Edit1 。3. 编码:1) 在单元的public部分定义一个书签变量,如:BM: TBookmarkStr; 2) 为 5个导航按钮的单击事件编写代码3) 为获取、恢复和清除按钮的单击事件编写代码,代码如下:procedure TForm1.GetButtonClick(Sender: TObject); /“获取”按钮的OnClick事件begin BM:= Table1.Bookmark; /获取指针 GotoButton.Enabled := True; / 使设置“恢复”按钮可用 GetButton.Enabled := False; / 使设置“获取”按钮不可用 ClearButton.Enabled := True; / 使设置“清除”按钮可用end;4) 为获取、恢复和清除按钮的单击事件编写代码,代码如下:procedure TForm1.GotoButtonClick(Sender: TObject); begin Table1.Bookmark := BM; /恢复指针位置end;procedure TForm1.ClearButtonClick(Sender: TObject); begin BM :=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论