




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Delphi的实际应用 作者: 学号: 班级:摘 要Delphi是最高效的开发工具,本论文从实际常用的技术、经验、讲解Delphi的一些技术实现,和技术理论讲解,以及讲解在实际中的应用 关键词 Delphi 编写,Delphi调试WEB程序(ISAPI或CGI),Delphi6中调试web程序步骤,简单调试ISAPI。1 引言Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。2 Delphi的基本介绍 Delphi,是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD)。它的前身,即是DOS时代盛行一时的“BorlandTurbo Pascal”,最早的版本由美国Borland(宝兰)公司于1995年开发。2.1详细介绍Delphi由Borland公司推出的Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了MicrosoftWindows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编译器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作Delphi的每一个设计细节,都将带给您一份欣喜。Delphi是Borland公司研制的新一代可视化开发工具,可在Windows3.x、Windows95、WindowsNT、WindowsXP、Windows Vista、Windows7等环境下使用。当前,Delphi 也可以在LINUX平台上开发应用,其在LINUX上的对应产品Kylix。Delphi 拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。Object Pascal语言是在Pascal语言的发展起来。Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor),以及各种开发数据库的应用程序,如DesktopDataBase Expert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(Resourse Workshop)。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。2.2 Delphi的发展历程 1995 1.0 支持16位Windows开发。基于框架(VCL)的,可拖曳、可视化的开发环境1996 2.0 以32位编译器为核心,支持C/S数据库开发1997 3.0 语法:加入接口(Interface)的机制。IDE:首次提供了(Code Insight)1998 4.0 语法:加入动态数组和方法覆盖等支持。IDE:增强调试能力,提供代码模板1999 5.0 增强了IDE和调试器,提供了TeamSource。简化Internet的开发,增强数据库支持2001 6.0 提供了Web Service。跨平台的Kylix 1.0和CLX2002 7.0 提供了.NET的过渡,增强的Internet开发(IntraWeb),完善数据库支持,增加了Indy网路元件和Rave Report资料库报表,并且支援UML及XP的程式制作。2003 8.0 单纯的for .NET版本,拥有C#的能力,保留了Delphi的易用性(业内视为一个过渡版本)2004 9.0 正式名称:Delphi 2005。语法:加入了inline及for in loop等功能。IDE:把Borland Delphi. Net、Borland Delphi Win32、Borland C#、Enterprise Core Objects等环境和功能集成成一个开发工具,因此可以在Win32和.NET开发环境中切换或同时进行2005 10.0 发布名称:Borland Developer Studio(BDS) 2006。集成C+ Builder; ECO(Enterprise Core Objects)升级到ECO III; 集成Together for Delphi,可以在同一个IDE中进行UML开发;QA Audits和QA Metrics可以快速的把握专案的设计和代码的质量。2006 Turbo Borland将BDS 2006拆分成几个独立的版本(Delphi for win32、Delphi for .net、C#、C+ Builder),而且不能同时安装两个不同的版本。由于Borland的IDE生产部份独立成为一家名为codegear的公司,所以这个版本是以Borland名义推出的最后一个版本。2007 11.0 正式名称:CodeGear RAD Studio - Delphi 2007。2008 5.7 Borland正式宣布将CodeGear子公司出售给Embarcadero(易博龙)技术公司。2008 8.25 Embarcadero发布CodeGear Delphi 2009 Pre-release版。2009 8.25 Embarcadero发布CodeGear.RAD.Studio.2010版2010.8.30 Embarcadero 发布 Delphi XE(又名Delphi 2011,代号为Fulcrum)2011.1.27 Embarcadero公司宣布成立一个新的精简版Delphi Starter Edition,是在爱好者和谁得到一个稍微简化的功能集为一个小的创业公司的价格,旨在可用性。2.3 特点特性Delphi发展至今,从Delphi1、Delphi2到现在的Delphi2011,不断添加和改进各种特性,功能越来越强大。Delphi5开始添加了对IDE(集成开发环境)的很多改进新特性,扩展了数据库支持(ADO和InterBase数据库),带有Internet支持的MIDAS改进版,TeamSouse版本控制工具,转换功能,框架概念以及很多的新组件与新特性。Delphi 6.0是Borland公司推出的一套无论是界面还是功能都近乎完美的应用程序开发工具。与以前的Delphi版本相比,Delphi 6.0使用更简便,效率也更高。Delphi 7.0Delphi 7.0使用更简便,效率更高,最稳定的一个版本,被称为开发人员的工具之最,也是Borland产品最顶峰时期,更是风靡全球。Delphi2010内置的Direct 2D模块及开发库,其新加的功能:拥有一个能同时运作于x86和x64的IDE,在此IDE下将会有跨平台编译器,能够编译用于linux和MAC的应用程序;将会支持windows7下的触摸式编程;强化的DataSnap;将支持云计算;将支持函数式编程,这需要很多时间,据David估计是2011会实现。Delphi XE2实现了跨平台通用开发,通过Delphi XE2所带的FireMonkey平台,Delphi可以开发跨平台应用程序,并原生编译到Windows和Mac OS X平台。FireMonkey还可以为iPhone、iPod Touch和iPad创建iOS应用,并分发到苹果公司的应用商店。Delphi的FireMonkey应用程序拥有完全的硬件加速。2.3.1 特点(1)直接编译生成可执行代码,编译速度快。由于Delphi编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。在处理速度和存取服务器方面,Delphi的性能远远高于其他同类产品。(2)支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。(3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实际需要逐步完善。(4)具有可重用性和可扩展性。开发人员不必再对诸如标签、按钮及对话框等Windows的常见部件进行编程。Delphi包含许多可以重复使用的部件,允许用户控制Windows的开发效果。(5)具有强大的数据存取功能。它的数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如xBase、Paradox等,也可以通过BDE的SQLLink直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。Delphi既可用于开发系统软件,也适合于应用软件的开发。(6)拥有强大的网络开发能力,能够快速的开发B/S应用,它内置的IntraWeb和ExpressWeb使得对于网络的开发效率超过了其他任何的开发工具。(7)Delphi使用独特的VCL类库,使得编写出的程序显得条理清晰,VCL是现在最优秀的类库,它使得Delphi在软件开发行业处于一个绝对领先的地位。用户可以按自己的需要,任意的构建、扩充、甚至是删减VCL,以满足不同的需要。(8)从Delphi8开始Delphi也支持.Net框架下程序开发。当前DELPHI 已经成为一个品牌,而不仅仅是一个开发平台或开发语言的名称。当前DELPHI产品已经由CodeGear公司继续发展,该公司是BORLAND公司的全资子公司。当前,CodeGear为广大开发者提供了DELPHI FOR PHP,以高度可视化的方式全面支持面向对象的PHP网站开发,大大提高了PHP开发网站的代码复用程度,成为WEB应用开发的新利器。2.4 编程方法Delphi的编程语言是以Pascal为基础的。Pascal语言具有可读性好、编写容易的特点,这使得它很适合作为基础的开发语言。同时,使用编译器创建的应用程序只生成单个可执行文件(.EXE),正是这种结合,使得Pascal成为Delphi这种先进开发环境的编程语言。将讨论ObjectPascal的主要特点,并讲解如何在事件处理过程和其他应用程序中,使用它来编制程序代码。本章将讲解Delphi应用程序中最常用的ObjectPascal语法,而不是Pascal语言的一切细节。如果您完全不熟悉Pascal编程,请参阅一些基础的Pascal教程。如果您具有编程经验,并能熟练地使用其他流行程序语言,您将在本章的ObjectPascal中发现一些相同的概念。如果您已经熟悉了BorlandPascal,就可以快速浏览或跳过本章。编写ObjectPascal程序代码在编写自己的ObjectPascal程序时,要注意程序的可读性。Pascal语言是英式结构语言,在程序中选择合适的缩排、大小写风格,并在需要时将程序代码分行,会使得程序代码能够很容易地被自己和他人读懂。一般的程序员都有这样的体验:如果不给程序加上适当的注解,一段时间后,自己也难以理清程序的流程。给程序及时地加上注释是良好的编程习惯。Delphi的注释需要加注在之间,编辑器会把它们处理成为空白。Delphi保留了BorlandPascal编辑器的风格,关键字采用黑体字,被注释的部分会变暗,这使得编程风格良好,易读易写。2.5 语句类型 2.5.1 赋值语句在事件处理过程中,最常用到的工作就是把一个新值赋给一个属性或变量。在设计用户界面时,可以使用ObjectInspector(ObjectInspector)来改变其属性;但有时需要在程序执行时改变属性的值,而且有些属性只能在执行时改变,这些属性在Delphi的在线帮助的“Proprety”主题中被标为执行期属性。进行这种改变,就必须使用赋值语句。下文的赋值语句表征一个OnClick事件。当按钮按动后,将编辑框部件Edit1的Color属性置为clRed:procedureTForm1.Button1Click(Sender:TObject);beginEdit1.Color:=clRed;end;当按动按钮后赋值语句被执行,编辑框变成红色。在语句中,部件的名称在属性前,中间用“.”表示属性的所属关系。这样就准确地指定了要将clRed值赋给哪一部件的哪一属性。赋值号为“:=”,不论给属性还是给变量赋值,都是将右边的值赋给左边的属性或变量。当将一个属性值、变量、常量或文本数据赋给属性或变量时,所赋值的类型和接受此值的属性或变量的类型应相同或兼容。一个属性或变量的类型定义了此属性或变量的可能值集合,也定义了程序代码可以执行的运算。在前边的例程中,编辑框部件的Color属性和clRed的类型都是TColor。可以在在线帮助中找到一个属性的类型;另外一种方法是在ObjectInspector中选定该属性值段,并按下F1键,则类型将在属性说明的结尾处列出,例如Color属性列出下边的语句:PropertyColor:TColor;有些属性是只读(ReadOnly)的,它们只能被读取,不能被改变。请查阅在线帮助,在Delphi中这些只读属性都有注解。标识符的说明与使用标识符是Delphi应用程序中一些量的名称,这些量包括变量(var)、常量(const)、类型(type)、过程(procedure)、方法(Method)及其他,ObjectPascal在应用标识符时,必须首先说明它们。ObjectPascal是强类型语言,它的编译器可以检查确保赋给变量或属性的值是正确的类型,以便于您改正错误。因为ObjectPascal是编译语言,所以Delphi的执行速度要比使用解释语言快得多。在使用标识符前说明它们,可以减少程序错误并增加代码的效率。变量变量是程序代码中代表一个内存地址的标识符,而此地址的内存内容在程序代码执行时可以被改变。在使用变量前必须对它进行说明,即对它进行命名,并说明它的类型。在所有变量说明以前加上保留字var。变量说明左边是变量的名称,右边则是该变量的类型,中间用(:)隔开。varValue,Sum:Integer;Line:String;在窗体中加入一个名称为Edit1的编辑框,再加入一个名称(属性Name)为Add的按钮部件,并建立如下的事件处理过程:procedureTForm1.addClick(Sender:TObject);varX,Y:Integer;beginX:=100;Y:=20;Edit1.Text:=IntToStr(X+Y);end;在本例中,当按动ADD按钮时,编辑框中显示值120。在ObjectPascal中,必须确保变量或属性被赋予类型相同或兼容的值。您可以尝试将赋给X的值改为100.0,或去掉IntToStr函数,在编译时会出现类型不匹配的错误,这也说明了ObjectPascal强类型语言的特点。2.5.2 过程函数过程与函数是程序中执行特定工作的模块化部分。Delphi的运行库包含许多过程与函数以供您的应用程序调用。您不必了解过程与函数的逻辑,但要知道过程与函数的用途。在对象中说明的过程和函数称为方法(Method)。所有的事件处理过程都是过程,以保留字procedure开头。每一个事件处理过程只包含了当这一事件发生时需要执行的程序代码。在事件处理过程中使用Delphi已经存在的过程与函数,只需在程序代码中调用它们即可。2.5.3 case语句case语句适用于被判断的变量或属性是整形、字符型、枚举型或子界型时(LongInt除外)。用case语句进行逻辑跳转比编写复杂的if语句容易阅读,而且程序代码整形较快。下面的例程显示一个使用case语句的窗体:建立如下的事件处理过程:procedureTForm1.Button1Click(Sender:TObject);varNumber:Integer;beginNumber:=StrToInt(Edit1.Text);caseNumberof1,3,5,7,9:Label2.Caption:=奇数;0,2,4,6,8:Label2.Caption:=偶数;10.100:beginLabel2.Caption:=在10到100之间;Form1.Color:=clBlue;end;elseLabel2.Caption:=大于100或为负数;end;end;执行程序,当Edit1部件接受到一个值,并按动“OK”按钮触发程序后,Number便被赋值为用户输入的数值。case语句根据Number的值判断该执行哪一条语句。象if语句一样。case语句也有可选择的else部分。case语句以end结尾。3 Delphi 编写ActiveX控件(OCX控件)的知识和样例 3.1ActiveX应用情况简介 ActiveX控件也就是一般所说的OCX控件,它是 ActiveX技术的一部分。ActiveX是微软公司推出的基于组件对象模型COM的技术,包括对Windows 32位应用编程接口(Win32 API)和组件对象模型的一系列扩充和增强,目标是把计算机桌面环境与因特网环境集成起来,同时保护在Windows技术中现有的开发投资。微软的 ActiveX技术根本上就是修改过的OCX技术,使它能够跨越Internet,主要是使用WWW来传递控件。 ActiveX控件可以被集成到很多支持ActiveX的应用当中去,或者直接用来扩展应用的功能,这些支持ActiveX的应用包括C+ Builder、Delphi、Visual dBASE、 Visual Basic、Visual C+、Internet Explorer、Netscape Navigator等。ActiveX控件还可以使用在因特网上,在网页上使用它来发布信息、处理与用户的交互,但是需要使用支持ActiveX的浏览器才能阅读这些网页。目前已经开发出来的ActiveX控件越来越多,由于ActiveX控件具有很好的特性,我们可以在编程的时候选择使用合适的控件来加快自己的应用开发。可以不夸张地说,ActiveX控件是Windows平台编程必不可少的法宝。使用ActiveX控件是相对比较简单的。但是,开发ActiveX控件并不是一件简单的事情,必须要熟悉而不只是了解ActiveX技术才能开发出好的ActiveX控件。而COM、OLE等ActiveX技术对于一般的程序员来说,是比较复杂难懂的。所以,ActiveX控件的开发者一般都是“老鸟”级别的程序员。 但是如果您有了Inprise公司的Borland Delphi,那又另当别论了。Delphi作为Windows平台上最优秀的程序开发工具之一,为ActiveX控件的开发提供了强有力的支持,让您轻松地开发ActiveX控件。Delphi的开发者仅仅需要了解一些ActiveX控件的简单知识,就可以使用Delphi提供的工具来快速开发自己的 ActiveX控件。本文详细介绍了利用Delphi所提供的工具来快速开发ActiveX控件的技巧。 3.2ActiveX控件的相关知识 要开发ActiveX控件,我们先得简单了解一下ActiveX控件的一些相关知识。在Delphi中,一个ActiveX控件由如下几个部分组成: VCL(可视化构件库)控件、属性、方法、事件,以及一个或者多个相关的类型库,其中每个部分都有各自的作用。 3.2.1VCL构件在Delphi中,一个ActiveX控件是由一个或者多个VCL构件经过包装以后得到的。所以,要使用Delphi来开发ActiveX控件,必须先得开发出或者选择要进行包装的VCL构件。也正是由于这个原因,我们可以将Delphi里大量优秀的VCL构件包装成ActiveX控件,从而可以在别的不能够直接使用VCL构件的开发工具(如Visual Basic、Visual C+)里也能够使用到这些控件啦! 但是,在Delphi里可以用来做ActiveX控件的VCL构件必须是TWinControl的后代。如果想用一个TGraphiControl的子类做ActiveX控件,在大多数情况下只需要把它的基类变为TCustomControl即可。有的VCL构件是被注册成非ActiveX控件的,例如EditControl,这些控件也不能做ActiveX控件。3.2.2类型库类型库包含了控件的类型定义信息,提供了比接口更多的详细信息,是控件向它的宿主程序提供服务信息的一种途径。类型库的目的是为其他应用编程工具提供关于它包含的构件对象的信息。开发ActiveX控件时,Delphi把类型库信息存入一个.TLB文件中及一个对应的Pascal文件(.TLB文件的Pascal语言版本),编译时类型库将作为资源链入DLL或者EXE等中。类型库的元素包括:(1)类型库信息:包括类型库的总体信息和特征、当前类型库引用的其他类型库;(2)构件类:代表整个ActiveX控件,包含了提供给客户应用的接口;(3)接口属性和方法、事件; (4)枚举类型:一种用作数据类型的相关常量,可以用在类型库的其他地方定义属性和方法。Delphi提供了一个类型库编辑器,用于观察或修改类型库,可以使用它来增加、修改、删除类型库的各种元素。类型库的界面上可以看到,左边是一个树形结构,各种元素的成员作为子节点出现;右边是根据左边所选中的元素类型显示不同的页签,可以对该元素的一些属性进行编辑。3.2.3属性、方法和事件 VCL构件的属性、方法和事件自然就变成为ActiveX控件的属性、方法和事件。控件的属性,例如颜色、标签等;控件的方法是请求控件执行某些动作;事件则是控件给宿主程序的一个通知,发生了一些事情。3.2.4属性页 ActiveX控件所带的属性页可以让控件的使用者查看和修改控件的属性。您可以把几个属性捆绑在一个属性页上,也可以只为一个属性提供一个属性页。3.3快速开发ActiveX控件下面就让我们来使用Delphi具体做一个ActiveX控件。假设我们现在面临的问题是,在使用Visual C+(VC)开发一个应用的时候,需要使用一个Grid控件来处理界面的事情,而使用VC所提供的FlexGrid控件又很麻烦,发现Delphi里的 TStringGrid构件非常合适。但是TStringGrid是Delphi里的VCL构件,又不能直接被VC使用,怎么办呢?不用愁,我们只要把 TStringGrid包装成为VC可以使用的ActiveX控件就可以解决这个问题了。Delphi为ActiveX控件的开发提供了两个向导:1、ActiveX控件向导可以让你把一个VCL构件包装成为一个ActiveX控件。下面将会使用到这个向导。2、ActiveForm向导则可以把几个VCL构件包装成为一个ActiveX控件或者开发一个完整的ActiveX应用。3.4开发实例: 在Delphi当中把TStringGrid包装成一个ActiveX控件的主要步骤:1、 点击【File】【New】【Other】菜单项,打开【New Items】,选择【ActiveX】;2、 选择【ActiveX Library】选项卡,点击ok,创建工程。3、 点击【File】【New】【Other】菜单项,打开【New Items】,选择【ActiveX】;4、 选择【ActiveX Control】选项卡,点击ok,打开【ActiveX Control Wizard】窗口;5、 在【VCL Class Name】组合框中选择VCL类(如TStringGrid),单击Ok;6、 添加代码;7、 运行程序,生成ocx文件。8、在Delphi中单击【Component】【Import ActiveX Control】菜单项,打开【Import ActiveX】窗口,在窗口中点击【Add】,然后选择ocx文件,然后单击Install按钮安装组件。如果成功,在ActiveX组件页中将显示该组件。1、首先,要启动ActiveX控件向导,创建ActiveX项目首先,要启动ActiveX控件向导,选择File菜单里的New命令,在弹出的对话框里选择ActiveX页签,然后双击ActiveX Control图标即可。向导中的第一个域要求选择一个要进行包装的VCL构件,点击选择TStringGrid。其他几个域取缺省值即可,如果需要包含版本信息等其他信息,也可以选上。点击OK按钮,向导将生成一个Delphi的ActiveX控件开发项目 StringGridXControl1,包括以下几个的文件:1.一个ActiveX项目文件(dpr后缀名),包含了启动、初始化一个ActiveX控件所需要的代码。通常是不需要修改这个文件的。2.一个类型库文件(tlb后缀名),定义和实现了ActiveX控件向外所提供的接口、属性、方法和事件。Delphi专门为这个文件提供了一个Pascal版本的文件(tlb扩展名),而且自动维护这两个文件的一致性。3. 一个ActiveX实现的文件(Pas扩展名),使用了Delphi ActiveX框架(DAX)定义和实现了这个ActiveX控件,具体实现类型库里定义的接口。这个文件是我们经常需要修改的。DAX是Delphi对ActiveX控件的COM规约的实现方式。4. 如果选择了包括一个“关于”对话框的话,还有一个对应的对话框实现文件。 Delphi的ActiveX控件向导根据所包装的VCL构件的属性、方法和事件生成了ActiveX控件相应的属性、方法和事件。但是它没有把 VCL构件使用非OLE类型(如集合、数组等)的属性、方法和事件转换过去。例如,TStringGrid的Options属性是集合类型的, RowHeights是数组类型的,在控件向导所生成的属性中就没有这些属性。但是有时候偏偏这些属性、方法和事件是很重要的,这时就需要手工添加一些属性、方法和事件!2、在ActiveX控件中添加一个属性和实现的方法:现在为这个ActiveX控件添加一个BRowSelect属性,这个属性本来是TStringGrid的Options属性的子属性,控制Grid是否处于行选中状态。在StringGridXControl1项目里打开ActiveX实现文件StringGridImp1.pas,选择【Edit】菜单里的【Add To Interface】命令(注意:只有打开了实现文件,这个命令才能使用),Delphi将弹出增加接口对话框。在对话框里的Interface项选择Properties/Methods-IStringGridX,然后在Declaration里写入BRowSelect属性的声明(如果你选中了对话框里的Syntax Helper选项,Delphi将随时提示你应该输入的内容):Property BRowSelect:WordBool;点击OK后,这个属性的相关信息将自动加入到控件的实现文件、类型库文件和对应的Pascal文件中。因为控件的接口是双向的,所以在Pascal文件里使用了读和写两个方法来实现控件的属性。1、Delphi自动在类型库里加入了以下声明:property BRowSelect: WordBool read Get_BRowSelect write Set_BRowSelect;这说明了:对于BRowSelect这个属性,有一个读方法Get_BRowSelect,一个写方法Set_BRowSelect。Delphi自动在控件的实现文件里加入了对BRowSelect属性的读和写访问方法的声明和实现:function Get_BRowSelect: WordBool; safecall;procedure Set_BRowSelect(Value: WordBool); safecall;这时候这两个方法的实现体是空的,必须得自己填入具体实现的代码:2、在实现文件中编写代码function TStringGridX.Get_BRowSelect: WordBool;begin /以下代码由自己根据需要编写,获得现在是否处于行选中状态 with FDelphiControl do Result := goRowSelect in Options ;end;procedure TStringGridX.Set_BRowSelect(Value: WordBool);begin /以下代码由自己根据需要编写,设置行选中状态 with FDelphiControl do begin if Value then Options := Options + goRowSelect else Options := Options - goRowSelect; end;end;3、生成ActiveX控件(OCX控件) 这时候,使用类型库编辑器来查看类型库,可以看到新增加的BRowSelect属性。好了,做好了前面这些工作以后,选择Project菜单的Build StringGridXControl1命令即可生成我们所需要的ActiveX控件。在项目的目录下,我们可以找到 StringGridXControl1.ocx这个文件,这个就是我们的ActiveX控件啦!4、把ActiveX控件(OCX控件)注册到系统中1、在Delphi中单击【Component】【Import ActiveX Control】菜单项,打开【Import ActiveX】窗口,在窗口中点击【Add】,然后选择ocx文件,然后单击Install按钮安装组件。如果成功,在ActiveX组件页中将显示该组件。2、把它拷贝到Windows 9x的System目录或者Windows NT/2000的System32目录里面。在DOS命令行状态中,运行命令:regsvr32.exe c:winntsystem32alasunsmscon.ocx(regsvr32 StringGridXControl1.ocx)在系统中注册这个StringGridX控件。3、在Delphi中,打开创建该ActiveX控件的工程(*.dpr)文件,然后选择Run-Register ActiveX Server.注意,以上第2种方法和第3种方法操作只是向Windows消息系统注册了该ActiveX控件,但是并没有将其添加到Delphi的VCL库中。还无法在其它程序中调用。我们还需要进行第1中方法中的操作。如果已经注册完毕就可以在Import ActiveX中查找,如果没有就需要点击【Add】充文件的路径添加。4 Delphi的实际应用 4.1美国海军舰队现代化计划美国华盛顿特区华盛顿海军基地美国海军舰队现代化计划( Fleet Modernization Program, FMP) 推行宗旨是为了确保美国海军在船舰设备上持续居于全球领先地位。美国国防部自90年代起大幅缩减资源预算,美国海军现有船舰数目已由全盛之80年代中期的600艘骤减为260艘,为维持美国海军独步全球的海上武力,其适应的方法唯有加速现代化与精进船舰效能。技术层面数据库/服务器Oracle (HP9000)作业平台Windows NT Server网络TCP/IP,Novell及数据机s其他技术采用Citrix Winframe数据库容量,共计175个数据表,200,000笔记录,1GB数据数据用户数量,全世界共有500个用户开发层面工具Delphi Client/Server Suite其他评估中工具SQL Windows,PowerBuilder开发成员18位程序设计师开发周期少于六个月实用日期1996年8月4.2 应用简介舰队现代化计划(FMP)的主要任务是促使美国海军在船舰与战术系统方面,保有绝对的技术领先地位。采用Delphi将后勤、预算及执行功能联接于单一的Client/Server结构数据库应用程序,可大幅增进舰队现代化计划(FMP)的效益。PowerBuilder与SQL Windows经评估后则显得速度太慢。4.3 投资效益于使用旧有的开发工具相比,应用程序的快速开发与程序组件的重复使用等优点在开发时间方面至少可节省六个月以上。快速的学习曲线可使程序设计师在二个月内轻松地熟悉并掌握Delphi面向对象程序设计(OOP)技术。这个崭新的系统每年至少可节省百分之二十的维护经费。4.4应用状况舰队现代化计划管理系统包含下列三项不同功能:后勤保存海军各艘船舰现代化的相关数据,包括料件使用、需求、变更及详细的进厂维修周期,此项功能的原软件系统为已有十年历史之EMPMIS系统。 预算计划者可深入探究各种资金分配组合,比较各项目的差异以获取最大的整体效益,并执行假设推论以满足确认需求,此项功能之原软件系统为已有六年历史的SABRES系统。 执行追踪所有核定过的预算支用情形,实际上是本计划的检验工具,此项功能的原软件系统为已有六年历? SAFE系统。 FMP希望象舰队管理那
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版供电设备检修维护合同范本
- 2025版互联网企业数据安全责任劳动合同
- 二零二五年电工电气设备维护保养服务合同
- 2025版电子产品线下零售代理销售合同范本
- 2025版金融机构信贷资产证券化合同模板
- 二零二五年度火锅店装修与装修材料质量保证合同
- 二零二五版人工智能芯片研发股权投资合同
- 2025版网络设备销售与集成合同
- 2025版汽车抵押贷款中介服务合同模板
- 二零二五年度中小学教室使用租赁合同范本
- 疾病诊断讲课
- 2025年武汉市中考英语试卷真题(含答案)
- DGTJ08-85-2020 地下管线测绘标准
- 端粒长度预测模型-洞察及研究
- 2025新《治安管理处罚法》解读
- 浙江省舟山市2024-2025学年高二下学期6月期末物理+答案
- 执法办案培训课件
- 气候变化对水资源供需关系的动态演变分析
- 行政执法培训课件
- 老年人吸入性肺炎护理
- 春季儿童增高课件
评论
0/150
提交评论