Delphi学习心得
一、IDE界面
Delphi是Inprise公司推出的基于对象Pascal语言的可视化集成开发工具。利用Delphi编程,可以快速、高效地开发出基于Windows环境的各类程序,尤其在数据库和网络方面,Delphi更是一个十分理想的软件开发平台。
最新版本:Delphi2006(10.0)
商友3.x使用版本Delphi2.0
商友4.5、5.2使用版本Delphi6.0
1、主窗口:
(1)标题栏
标题栏中显示了当前的工程名,标题栏位于最上部。
(2)主菜单
通过主菜单可以实现集成开发环境中的绝大部分命令,愿意的话可以逐个浏览、使用一下主菜单中所有的命令。其中Delphi在主菜单栏中将“Component”(组件)和“Database”(数据库)作为独立的菜单项列出来,可以看出,利用Delphi 进行程序开发,组件和数据库将是两个非常重要的方面。
(3)工具栏
工具栏上的每个按钮都实现了IDE的某项功能,诸如打开文件或创建项目等。
(4)组件栏
组件面板包含了IDE中安装的所有的VCL组件和ActiveX控件。各选项页和组件在面板中的顺序和外观可以通过右击它或从主菜单中选择Component| configure Palette进行调整。在利用Delphi开发应用程序的过程中,正确、合理、恰当地使用组件非常重要。
2、窗体设计器
窗体设计器刚开始的时候是一个空白的窗口。可以把窗体设计器看作是艺术家的画布,在这块画布上可以描绘出各种各样的Windows应用程序。应用程序的用户界面正是由窗体实现的。只要从组件面板上选择一个组件并把它放到你的窗体上,就能够实现与窗体设计器的交互。可以用鼠标调整组件在窗体设计器上的位置和大小,还可以用Object Inspector和代码编辑器来控制组件的外观和行为。
3、对象编辑器(Object Inspector)
对象编辑器的功能是实现对象(尤其是组件)的属性设置,创建事件处理过程并进行管理。利用Object Inspector,可以修改窗体或组件的属性,或者使它们能够响应不同的事件。属性(property)是一些数据,如高度、颜、字体等,它们决定了组件在屏幕上的外观。事件(event)则是一种消息处理机制,它能够捕捉某种情况的发生并做出反应,像鼠标单击和窗口重画就是两种典型的事件。至于Object Inspector中显示哪个组件的属性和事件,取决于在窗体设计器中当前选择哪个组件。
对象编辑器分为下面的三个部分:
①对象列表
对象列表是一个组合框,包含了当前窗体上的所有组件。
有时一些组件因为太小或没有明显的标志,利用鼠标点击不容易选中,这时可以利用对象列表组合框来选择该组件。
②属性页(Property)
属性页中列举了当前被选中的对象(比如说组件)的属性。可以在程序设计的过程中直接对这些属性进行修改,也可以在程序运行期间通过代码进行修改。
在有些属性的前面有一个带有方框的加号标志,表明该属性是由一些子属性组成的。点击该加号标志就可以展开该属性,同时加号标志变成了一个带有方框的减号标志。
③事件页(Event)
通常情况下,事件处理过程为空。可以双击事件右面的组合框来添加事件的处理过程。如果要共用已存在的事件处理过程,可通过下拉式组合框进行选择。
4、代码编辑器(Code Editor)和代码浏览器(Code Explorer)
代码编辑器是输入代码来指定应用程序行为的地方,也是Delphi根据应用程序中的组件自动生成代码的地方。代码编辑器类似于一个多页的笔记本,每一页对应着一个源代码模块或文件。当向应用程序中加入一个窗体时,Delphi会自动创建一个新的单元,并添加到代码编辑器顶部的标签中。代码编辑器为代码的输入和编辑提供了一个方便的环境。代码识别技术
通过代码浏览器可以在代码编辑器中快速地定位,并可以在其中将定义的类
完善。
5、信息窗口(Message View)
信息窗口在代码浏览器窗口和代码编辑器窗口的下部,在编译和链接过程中出现的一些信息将显示在信息窗口中。如果双击信息窗口中的信息条目,当前位置将定位到代码编辑器中导致问题的代码处。
6、集成调试器
当程序编译、链接通过以后就可以运行,只是在一些地方与当初的预想不同。此时,可以利用集成调试器来解决问题,出可能存在逻辑错误的地方。
通常,可以在可能存在问题的代码处设置一些“断点”,程序执行到断点处就自动暂停,并转到代码编辑器中设置了断点的代码处。此时,可以通过“单步执行”将语句一条一条地执行下去。在执行的过程中,同时可以查看一些变量的数值,也可以查看堆栈、CPU、汇编代码和当前运行的线程等情况,然后出代码错误的地方并加以改正。
1设置/去除断点
断点的设置可以在程序调试前进行,也可以在程序调试期间进行。
设置/去除断点最简单的方法是在代码编辑器中,按F5键或利用鼠标点击代码行左边的灰竖条处。
2单步执行
当程序运行到断点处暂停后,可以按F8键或通过菜单命令Run|Step Over 单步执行下去。如果遇到过程或函数调用,程序将一次执行完成。
按下F7键或选择菜单命令Run|Trace Into,可以在遇到过程或函数调用的时候,进入过程或函数的内部。
3查看信息
在调试过程中,如果想查看某个变量的数值,可以在程序暂停的情况下,在代码编辑器中将鼠标移动到这个变量上稍停一下,就会出现一个小窗口显示该变量的数值。
通过菜单命令Run|Add Watch也可以对变量的数值进行查看,同时还会出现一个Watch List对话框。c语言编译器ide代码编辑
在程序单步执行的情况下,在代码编辑器中单击鼠标右键,选中弹出菜单的Debug|View CPU命令,将弹出CPU对话框显示当前CPU的有关情况。
此外,在程序单步执行时,通过菜单命令View|Debug Windows|Threads可以弹出Thread Status对话框,对当前运行的线程进行查看。
4中止运行
在程序调试期间,可能会由于代码的问题,程序在运行时停在了某个地方而不继续下去。这时可以按Ctrl+F2键或通过菜单命令Run|Program Reset来终止程序的运行。
二、基本语法
Delphi中使用的面向对象pascal编程语言并不是borland公司1995年发布可视化开发环境Delphi时才有的,它只是已有borland pascal产品的简单扩展。Borland没有发明pascal,但它推广并扩展了pascal。
1、注释
在Pascal中,注释括在大括号中或带星号的圆括号中。Delphi也认可C++风格的注释,即把注释放在双斜线后。例如
{this is a comment}
(*this is another comment*)
//this is a comment up to the end of the line
此外,编译器不编译代码中的空格、空行和Tab键空格,这些元素通称为空白,它们只用来提高代码的
可读性,不影响编译过程。在注释行前留一行空白,或把长的代码句分成较小的部分,这样能提高代码的可读性。
使用大写字母
Pascal编译器(不象其他语言的编译器)不考虑字符的大小写,因此标识符Myname、MyName、myname、myName、和MYNAME是完全相同的。总体上来说,这是Pascal的一大优点,因为在大小写敏感的语言中,许多语法错误是由不正确的大写引起的。不过Pascal语言的大小写不敏感特性有一个例外:控件包中的Register过程必须以大写字母R开始,因为需要与C++Builder兼容。
然而大小写不敏感也有不便之处:第一,你必须注意大小写不一致的标识符实际上是相同的,以避免把他们当成不同的元素使用;第二,你必须尽量保持大写使用的一致性,以提高代码的可读性。
2、变量
Pascal变量在使用前必须声明,声明变量时必须指定一种数据类型。下面是变量声明的例子:
var
Value:Integer;
IsCorrect:Boolean;
A,B:Char;
关键字var可以在许多地方使用,例如放在函数或过程的开始部分,用来声明函数或过程的局部变量;也可以放在单元中,用于声明全程变量。var关键字之后是一组变量名列表,每个变量名后跟一个冒号和数据类型名,一行中可以声明多个变量,如上例中最后一句。
一旦变量的类型被指定,你只能对变量执行该变量类型支持的操作。例如,在判断操作中用布尔值,在数字表达式中用整型值,你不能将布尔值和整型值混用(在C语言中可以这样)。
使用简单的赋值语句,可写出下面的代码:
Value:=10;
IsCorrect:=True;
但下面的语句是不正确的,因为两个变量数据类型不同:
Value:=IsCorrect;//error
在Delphi中编译这句代码,会出现错误信息:Incompatible types:'Integer'and 'Boolean'.(类型不兼容:‘整型’和‘布尔型’)。象这样的错误通常是编程错误,因为把一个True或False的值赋给一个整型变量没有什么意义。你不该责怪Delphi提示这样的错误信息,代码中有不对的地方Delphi当然要提出警告。
把变量的值从一种类型转换到另一种类型往往不难做到,有些情况下类型转换会自动实现,不过一般情况下需要调用特殊的系统函数,通过改变数据内部表示来实现类型转换。
在Delphi中,当你声明全程变量时,你可以赋给它一个初值。例如,你可以这样写:
var
Value:Integer=10;
Correct:Boolean=True;
这种初始化方法只能用于全程变量,不能用于过程或方法的变量。
3、常量
对于在程序运行期间保持不变的值,Pascal允许通过常量来声明。声明常量不必特定数据类型,但需要赋一个初值。编译器会根据所赋初值自动选用合适的数据类型。例如:
const
Thousand=1000;
Pi=3.14;
AuthorName='Marco Cantù';
Delphi根据常量的值来决定它的数据类型。上例中的Thousand变量,Delphi 会选用SmallInt数据类型(短整型--能容纳Thousand变量的最小整数类型)。如果你想告诉Delphi采用特定的类型,你可在声明中加入类型名,方法如下:const
Thousand:Integer=1000;
对于声名的常量,编译器有两种编译选择:第一种为常量分配内存,并把常量的值放入内存;第二种在常量每次使用时复制常量值。第二种方法比较适合简单常量。
资源串常量
当定义字符串常量时,你可这样写:
const
AuthorName='Marco Cantù';
从Delphi3开始,你可以用另一种方式写:
resourcestring
AuthorName='Marco Cantù';
上面两个语句都定义了一个常量,也就是定义了一个在程序运行期间保持不变的值,但两者的实现过程却不同,用resourcestring指令定义的字符串变量将被保存到程序资源的字符串表中。从例子ResStr你可了解资源串的实际作用,例子中设置了一个按钮,相应代码如下:
resourcestring
AuthorName='Marco Cantù';
BookName='Essential Pascal';
procedure TForm1.Button1Click(Sender:TObject);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。