由Borland公司推出的Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了MicrosoftWindows图形用户界面的许多先进特性和设计思想,采用了d性可重复利用的完整的面向对象程序语言(Object-OrientedLanguage)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
Delphi是Borland公司研制的新一代可视化开发工具,可在Windows3x、Windows95、WindowsNT等环境下使用。当前,DELPHI也可以为LINUX平台上开发应用,其在LINUX上的对应产品Kylix。
DELPHI拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言和基于部件的开发结构框架。Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。主要特点如下:
(1)直接编译生成可执行代码,编译速度快。由于Delphi编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。在处理速度和存取服务器方面,Delphi的性能远远高于其他同类产品。
(2)支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。
(3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实际需要逐步完善。
(4)具有可重用性和可扩展性。开发人员不必再对诸如标签、按钮及对话框等Windows的常见部件进行编程。Delphi包含许多可以重复使用的部件,允许用户控制Windows的开发效果。
(5)具有强大的数据存取功能。它的数据处理工具BDE()是一个标准的中介软件层,可以用来处理当前流行的数据格式,如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为广大开发者提供了DELPHIFORPHP,以高度可视化的方式全面支持面向对象的PHP网站开发,大大提高了PHP开发网站的代码复用程度,成为WEB应用开发的新利器。
计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。
电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
计算机所能识别的语言只有机器语言,即由0和1构成的代码。但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。
目前通用的编程语言有两种形式:汇编语言和高级语言。
汇编语言的实质和机器语言是相同的,都是直接对硬件 *** 作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的 *** 作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际 *** 作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的 *** 作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体 *** 作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:
解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,例如VisualC++、VisualFoxpro、Delphi等。
学习编程,从何入手
如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!
方案一Basic语言&VisualBasic
优点
(1)Basic简单易学,很容易上手。
(2)VisualBasic提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。
(3)众多的控件让编程变得象垒积木一样简单。
(4)VisualBasic的全部汉化让我们这些见了English就头大的人喜不自禁。
缺点
(1)VisualBasic不是真正的面向对象的开发文具。
(2)VisualBasic的数据类型太少,而且不支持指针,这使得它的表达能力很有限。
(3)VisualBasic不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得VisualBasic的编译速度大大变慢。
综述:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB做出自己的作品。对于那些把编程当做游戏的朋友来说,VB是您最佳的选择。
方案二Pascal语言&Delphi
优点
(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。
(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。
(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。
(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。
缺点
Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。
综述:方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。
方案三C语言&VisualC
优点
(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。
(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。
(3)VC是微软制作的产品,与 *** 作系统的结合更加紧密。
缺点
对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。
综述:VC是程序员用的东西。如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。
C语言简介
方案四C语言&CBuilder
优点
(1)C语言的优点全部得以继承。
(2)完全的可是化。
(3)极强的兼容性,支持OWL、VCL和MFC三大类库。
(4)编译速度非常快。
缺点
由于推出的时间太短,关于它的各种资料还不太多。
综述:我认为CBuilder是最好的编程工具。它既保持了C语言编程的优点,又做到了完全的可视化。
方案五SQL语言&PowerBuilder
对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。但是对于初学者来说,也许是最好的数据库开发工具。各种各样的控件,功能强大的语言都会帮助你开发出自己的数据库应用程序。
JSP简介
在Sun正式发布JSP(JavaServerPages)之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照Sun的说法,JSP能够适应市场上包括ApacheWebServer、IIS40在内的85%的服务器产品。
JSP与ASP的简单比较
JSP与Microsoft的ASP技术非常相似。两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在ASP或JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP和JSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。
ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别。
此外,ASP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译 *** 作仅在对JSP页面的第一次请求时发生。
运行环境
执行JSP代码需要在服务器上安装JSP引擎。此处我们使用的是Sun的JavaServerWebDevelopmentKit(JSWDK)。为便于学习,这个软件包提供了大量可供修改的示例。安装JSWDK之后,只需执行startserver命令即可启动服务器。在默认配置下服务器在端口8080监听,使用localhost:8080即可打开缺省页面。
在运行JSP示例页面之前,请注意一下安装JSWDK的目录,特别是"work"子目录下的内容。执行示例页面时,可以在这里看到JSP页面如何被转换成Java源文件,然后又被编译成class文件(即Servlet)。JSWDK软件包中的示例页面分为两类,它们或者是JSP文件,或者是包含一个表单的HTML文件,这些表单均由JSP代码处理。与ASP一样,JSP中的Java代码均在服务器端执行。因此,在浏览器中使用"查看源文件"菜单是无法看到JSP源代码的,只能看到结果HTML代码。所有示例的源代码均通过一个单独的"examples"页面提供。
JavaServlet是一种开发Web应用的理想构架。JSP以Servlet技术为基础,又在许多方面作了改进。JSP页面看起来象普通HTML页面,但它允许嵌入执行代码,在这一点上,它和ASP技术非常相似。利用跨平台运行的JavaBean组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。JSP必将成为ASP技术的有力竞争者。
SQL语言简介
SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle,Sybase,Informix,SQLserver这些大型的数据库管理系统,还是像VisualFoxporo,这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
StructuredQueryLanguage包含4个部分:
数据查询语言DQL-DataQueryLanguageSELECT
数据 *** 纵语言DQL-DataLanguageINSERT,UPDATE,DELETE
数据定义语言DQL-DataDefinitionLanguageCREATE,ALTER,DROP
数据控制语言DQL-DataControlLanguageCOMMITWORK,ROLLBACKWORK
SQL的历史
在70年代初,EECodd首先提出了关系模型。70年代中期,IBM公司在研制SYSTEMR关系数据库管理系统中研制了SQL语言,最早的SQL语言(叫SEQUEL2)是在1976年11月的IBMJournalofR&D上公布的。
SQL的优点
SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。
(1)非过程化语言
SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行 *** 作,可 *** 作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。
(2)统一的语言
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。SQL为许多任务提供了命令,包括:
查询数据
在表中插入、修改和删除记录
建立、修改和删除数据对象
控制对数据和数据对象的存取
保证数据库一致性和完整性
以前的数据库管理系统为上述各类 *** 作提供单独的语言,而SQL将全部任务统一在一种语言中。
(3)是所有关系数据库的公共语言
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。
Java语言简介
一Java的由来
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢
Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。
在Java出现以前。Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力,面SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到:噢,这正是我想要的。于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。
二Java的定义
Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
Java的开发环境有不同的版本,如sun公司的JavaDevelopersKit,简称JDK。后来微软公司推出了支持Java规范的MicrosoftVisualJJava开发环境,简称VJ。
三Java的特点
1平台无关性
平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和 *** 作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。
2安全性
Java的编程类似C,学习过C的读者将很快掌握Java的精髓。Java舍弃了C的指针对存储器地址的直接 *** 作,程序运行时,内存由 *** 作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。
3面向对象
Java吸取了C面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。
4分布式
Java建立在扩展TCP/IP网络平台上。库函数提供了用>
5键壮性
Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已 *** 纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供:Null指针检测、数组边界检测、异常出口、Bytecode校验。
四Java与C/C语言
Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。C安全性不好,但C和C被大家接受,所以Java设计成C形式,让大家很容易学习。
Java去掉了C语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。
Java去掉了以下几个C和C功能:
指针运算
结构
typedefs
#define
需要释放内存
这将减少了平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。
面象对象:Java实现了C的基本面象对象技术并有一些增强,(为了语言简单,删除了一些功能)。Java处理数据方式和用对象接口处理对象数据方式一样。
五Java与Internet
我们知道,早先的>
Java并不是为Internet,>
Java程序和它的浏览器HotJava,提供了可让你的浏览器运行程序的方法。你能从你的浏览器里直接播放声音。你还能播放页面里的动画。Java还能告诉你的浏览器怎样处理新的类型文件。当我们能在2400baud线上传输视频图象时,HotJava将能显示这些视频。
当今Internet的一大发展趋势是电子商务,而Internet的安全问题是必须解决的问题,通常大的部门应设置防火墙,阻止非法侵入。
电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能与运行于不同平台的机器的全世界客户开展业务。Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的首选语言。
Java程序被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器解释运行。
Delphi简介
Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以ObjectPascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。
Delphi的出现打破了V承可视化编程领域一统天下的局面。并且Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言。PASCAL语言的严谨加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板。许多人当时都认为Pascal是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境。
Delphi在你编好程序后自动转换成EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运行。它的数据库功能也挺强的,是开发中型数据库软件理想的编程工具。Delphi适用于应用软件、数据库系统、系统软件等类型的开发。而且它拥有和VB差不多一样的功能,而且一样能应用API函数,这在控制Windows很有用。
Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了MicrosoftWindows图形用户界面的许多先进特性和设计思想,采用了d性可重复利用的完整的面向对象程序语言(Object-OrientedLanguage)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
Delphi的基本形式
Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。
Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应Windows的基本 *** 作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。
WebMail是指在网页中实现邮件的发送 使用Delphi开发Web Server程序是非常简单的 Delphi中提供了大量的元件和对象 下面通过一个例子来介绍如何利用Delphi开发一个响应用户输入的ISAPI的WebMail程序 为了简单 程序没有对传送的数据提供保密
首先 在Web服务器端安装数据库引擎dbe 并设置好数据库别名 yh 指向一个包含用户名和用户密码的数据库文件user db 接着建立两个HTML文件 名字分别为 dl qd 放在Web服务器的缺省目录下(如 c \inetpub\root)
dl 的内容如下
<><head><title>发送邮件系统</title></head><body><h >发送邮件系统</h ><p>请输入您的用户名及密码</p><form method= post action= /scripts/SendMail ><p>用户名<input type= text length= name= username >密码 < input type= password length= name= password ></p><p><input type= submit value= 确定 ><input type= reset value= 清除 ></p></form></body></> qd 文件内容如下
<><head><title>填表</title></head><body><form method= post action= feedback ><p>请填入接收邮件地址:toaddress:<input type= text length= name= toaddress ></p><p>请填入主题<input type= text length= name= subject ></p><p>内容 </p><p><input type= textarea length= width= name= body ></p><p><input type= submit value= 确定 ><input type= reset value= 清除 ></p></form ></body ></ > 在Delphi中新建一个基于ISAPI的Web Server Application 手动增加nm tp query pageproducer 其中 pageproducer 的file属性为c:\inetpub\ root\qd nm tp 的host(发送邮件服务器的地址)在这里为 tp netease port: 全局变量为 sername:string;flag:boolean
增加一个路径为feedback的动作项 其代码如下
Var Count:integer;S:string; BeginQuery close;Query sql clear;S:= select count(username) from user dbswheresusername= ;S:=s+request contentfields values[ username ]+ ;S:=s+ and password= ;S:=s+request contentfields values[ psword ]+ ;Query sql add(S);Query open;If query count= then response content:= <><head><title></title><body>用户名 密码不正确 请重新输入</body></> Else Username:=request contentfields values[ username ];Response content:=pageproducer content;End; 再增加一个路径为Sendmail的动作项 它的程序代码如下
Var body:string;BeginFlag:=true;body:=request contentfields values[ body ];Pageproducer doc clear;Pageproducer doc add( < >< body > );Nm tp postmessage clear;Nm tp postmessage fromaddress:=username+ @netease ;Nm tp postmessage from:=username;Nm tp postmessage body add(body);Nm tp postmessage toaddress add(request contentfields values[ toaddress ]);Nm tp postmessage subject:=request contentfields values[ subject ] Nm tp connect;If flag=true then beginNm tp sendmail;nm tp disconntent;endpageproducer doc add( </body></> );response content:=pageproducer content;end; 增加nm tp 的OnConnect事件添加如下代码
lishixinzhi/Article/program/Delphi/201311/24974
目前在许多学习软件 游戏光盘中 经常会看到各种图形显示技巧 凭著图形的移动 交错 雨滴状 百页窗 积木堆叠等显现方式 使画面变得更为生动活泼 更能吸引观众 本文将探讨如何在Delphi中实现各种图形显示技巧 一 基本原理在Delphi中 实现一副图像的显示是非常简单的 只要在Form中定义一个TImage组件 设置其picture属性 然后选择任何有效的 ICO BMP EMF或 WMF文件 进行Load 所选文件就显示在TImage组件中了 但这只是直接将图形显示在窗体中 毫无技巧可言 为了使图形显示具有别具一格的效果 可以按下列步骤实现 定义一个TImage组件 把要显示的图形先装入到TImage组件中 也就是说 把图形内容从磁盘载入内存中 作为图形缓存 创建一新的位图对象 其尺寸跟TImage组件中的图形一样 利用画布(Canvas)的CopyRect功能(将一个画布的矩形区域拷贝到另一个画布的矩形区域) 使用一定技巧 动态形成位图文件内容 然后在窗体中显示位图 二 实现方法下面介绍各种图形显示技巧 推拉效果将要显示的图形由上 下 左 右方向拉进屏幕内显示 同时将屏幕上原来的旧图覆盖掉 此种效果可分为四种 上拉 下拉 左拉 右拉 但原理都差不多 以上拉效果为例 原理 首先将放在暂存图形的第一条水平线搬移至要显示的位图的最后一条 接着再将暂存图形的前两条水平线 依序搬移至要显示位图的最后两条水平线 然后搬移前三条 前四条 直到全部图形数据搬完为止 在搬移的过程中即可看到显示的位图由下而上浮起 而达到上拉的效果 程序算法 procedure TForm Button Click(Sender: TObject);varnewbmp: TBitmap;i bmpheight bmpwidth:integer;beginnewbmp:= TBitmap Create;newbmp Width:=image Width;newbmp Height:=image Height;bmpheight:=image Height;bmpwidth:=image Width;for i:= to bmpheight dobeginnewbmp Canvas CopyRect(Rect( bmpheight-i bmpwidth bmpheight) image Canvas Rect( bmpwidth i));form Canvas Draw( newbmp);end;newbmp free;end; 垂直交错效果原理 将要显示的图形拆成两部分 奇数条扫描线由上往下搬移 偶数条扫描线则由下往上搬移 而且两者同时进行 从屏幕上便可看到分别由上下两端出现的较淡图形向屏幕中央移动 直到完全清楚为止 程序算法 procedure TForm Button Click(Sender: TObject);varnewbmp:TBitmap;i j bmpheight bmpwidth:integer;beginnewbmp:= TBitmap Create;newbmp Width:=image Width;newbmp Height:=image Height;bmpheight:=image Height;bmpwidth:=image Width;i:= ;while i< =bmpheight dobeginj:=i;while j > dobeginnewbmp Canvas CopyRect(Rect( j- bmpwidth j) image Canvas Rect( bmpheight-i+j- bmpwidth bmpheight-i+j));newbmp Canvas CopyRect(Rect( bmpheight-j bmpwidth bmpheight-j+ ) image Canvas Rect( i-j bmpwidth i-j+ ));j:=j- ;end;form Canvas Draw( newbmp);i:=i+ ;end;newbmp free;end; 水平交错效果同垂直交错效果原理一样 只是将分成两组后的图形分别由左右两端移进屏幕 程序算法从略 雨滴效果原理 将暂存图形的最后一条扫描线 依序搬移到可视位图的第一条到最后一条扫描线 让此条扫描线在屏幕上留下它的轨迹 接着再把暂存图形的倒数第二条扫描线 依序搬移到可视位图的第一条到倒数第二条扫描线 其余的扫描线依此类推 程序算法 procedure TForm Button Click(Sender: TObject);varnewbmp:TBitmap;i j bmpheight bmpwidth:integer;beginnewbmp:= TBitmap Create;newbmp Width:=image Width;newbmp Height:=image Height;bmpheight:=image Height;bmpwidth:=image Width;for i:=bmpheight downto dofor j:= to i dobeginnewbmp Canvas CopyRect(Rect( j- bmpwidth j) image Canvas Rect( i- bmpwidth i));form Canvas Draw( newbmp);end;newbmp free;end; 百叶窗效果原理 将放在暂存图形的数据分成若干组 然后依次从第一组到最后一组搬移 第一次每组各搬移第一条扫描线到可视位图的相应位置 第二次搬移第二条扫描线 接着搬移第三条 第四条扫描线 其余扫描线依此类推 程序算法 procedure TForm Button Click(Sender: TObject);varnewbmp:TBitmap;i j bmpheight bmpwidth:integer;xgroup xcount:integer;beginnewbmp:= TBitmap Create;newbmp Width:=image Width;newbmp Height:=image Height;bmpheight:=image Height;bmpwidth:=image Width;xgroup:= ;xcount:=bmpheight div xgroup;for i:= to xcount dofor j:= to xgroup dobeginnewbmp Canvas CopyRect(Rect( xcount*j+i- bmpwidth xcount*j+i) image Canvas Rect( xcount*j+i- bmpwidth xcount*j+i));form Canvas Draw( newbmp);end;newbmp Free;end; lishixinzhi/Article/program/Delphi/201311/8405
学习软件开发经常会涉及到数学和英语的知识,所以需要有一定的数学和英语基础,这样可以让软件开发变得事半功倍。千锋教育就有线上免费的软件开发公开课,。
千锋教育采用全程面授高品质、高体验培养模式,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务,在职业教育发展道路上不断探索前行。如果你擅长英语和数学,你可以跳过这一步。软件的 *** 作是通过某种程序语言来实现的,所以学好程序语言是做好软件开发的必修课。所以,如果你想学软件开发,第二步就是选择一门编程开发语言来学习,集中精力学好一门语言。一般来说,要想做好软件开发,至少要学一门编程语言。目前主流的编程语言有Java、PHP、C#语言,软件开发形式有多种,先学好这些基础语言,之后再慢慢扩展。除了学习基础语言,还要学习数据库的知识。在软件开发中,数据的存储和调用至关重要。HTML,CSS,Java脚本等相关的前端语言也是需要掌握的,经过这四个学习阶段,我们已经基本掌握了一套完整的软件开发流程,后面深入学习的话,就需要掌握各种框架。千锋官网每日更新最新软件开发基础知识内容,巩固日常学习中的基础技能。更有免费的软件开发视频教程帮助学员快速学习。
以上就是关于怎样提高delphi编程效率全部的内容,包括:怎样提高delphi编程效率、学习编程,从何入手、如何用Delphi开发简单的WebMail程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)