delphi7操作.docx_第1页
delphi7操作.docx_第2页
delphi7操作.docx_第3页
delphi7操作.docx_第4页
delphi7操作.docx_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1,保存所做的工作及时地保存所做的工作至关重要。对设计者来讲,有两个文件需要保存:库单元文件(以.PAS为后缀)和工程文件(以.DPR为后缀)。从主菜单上选择File|Save Project As.项,Delphi会显示标题为“Save Unit1 As(先保存单元)”的文件保存对话框,Delphi 2.0 允许用户更改存储路径,您可以在下拉式列表框中选择。最好将您的文件保存在自己的目录中。在编辑框中键入demoform.pas以保存库单元文件;然后显示标题为“Save Project As(保存工程)”的另一个文件保存对话框,键入sample.dpr。Delphi保存这两个文件并返回窗体窗口。不要把库单元和工程存成一样的文件名,Delphi要求两者不同。第一次保存后,以后可以随时通过Speed Bar中的“Save All(ctrl+shift+s)”和“Save file”来保存工程文件和库单元文件。一般来讲,当确认文件的改变后,要同时存储这两个文件。2,第一个范例:Caption属性 :&RoundRec,则(按R键即触发这个键)(1)点动写有“Additional”的页标签,切换到Additional页,找到“Shape(形状部件)”部件(其图标为圆、方形、三角形三个几何体)。Name:Shape1 (2)点动“Dialog”页标签,选择以16色网格做图标的ColorDialog部件并把它放到窗体的任意位置。因为这一部件是不可视部件,所以它的位置并不影响大局。Name:ColorDialog1加个按钮:ColorDialog1.Execute; Shape1.Brush.Color := ColorDialog1.Color;(3)“Additional”部件页,选择一个“BitBtn”按钮(4)按钮:Shape1.Shape := stRectangle;3. 常用的文本相关部件 它们是Label(标签)、Edit(文本编辑)、MaskEdit(格式编辑)、Memo(备注)、List Box(列表框)、Combo Box(组合框)。除了MaskEdit在Additional页之外,其它的都在Standard页中。Label部件 Label(标签)一般放在对象的旁边,用来标记这些对象,从而对用户的操作进行提示,也可以用来显示其它信息。您可以在标签中设置热键(方法),也即在Caption属性值段中输入含有“&”的字串,当用户使用“Alt+关键字母”时,将自动选中它所指向的对象。方法是设置Label部件的FocusControl属性,在值段中,选用与它关联对象的对象名。Edit、MaskEdit、Memo部件都是用作接收、显示用户输入文本的。它们具有一些相同的属性。ReadOnly在运行时间内控制对象是否可以进行Windows的操作,当此值为False时,该框内的文本就不能被复制到剪贴板上。MaxLength可以设置输入文本的长度限制。用PasswordChar属性可以按照显示隐蔽密码的方法显示用户输入文本,例如,它的缺省值为“*”,运行时,您的输入将用“*”来显示,从而提供了一种安全措施。您可能也发现了,当一个字段被加上高亮度显示时,按键操作会将这一字段删除,替换成当前的键盘输入。这种设置为操作提供了方便,您不必每次先删除原来的文本;但也可能会导致误删文本。将AutoSelect属性设置成False,这种替代功能就被取消了。MaskEdit是格式文本输入对象。它的EditMask属性为它提供了过滤文本的格式。点动这一属性的省略按钮,会弹出过滤编辑对话框,除了Delphi为您提供的几种屏蔽格式,您也可以自己编写,查阅“帮助”,会为您提供更详细的用法介绍。Memo是备注框,与以上对象不同的是,它可以接收多行文本输入。将ScrollBars设置成ssVertical,可以为它加上一个垂直的滚行条。Align属性调整该对象在窗口中的对齐情况,有alNone(无对齐指定)、alBottom(底部对齐)、alClient(全窗口显示)等可以选择;而Alignment属性则决定了文本在框中的对齐显示格式。Lines属性访问的文本被存储在一个TStrings对象中,按动它的省略按钮,可以通过对话框向它增加文本,也可以用程序对这一属性进行操作,以达到修改或增加备注文本的目的。下列程序段将Edit1的文本加入到ListBox1中,并清空Edit1中的文本:procedure TForm1.AddButtonClick(Sender:TObject);beginListBox1.Items.Add(Edit1.text);Edit1.Text := ;end;常见的组合框初始化用以下的语句可以实现,它用下拉式列表框的第一项来初始化组合框的缺省值。procedure TForm1.ComboBox1Text(Sender:TObject);beginif ComboBox1.Text = thenComboBox1.Text := ComboBox1.Items.String1 ;end;4.一些控件简介 Speed Button部件(多个speed button按钮,制作工具条)Speed Button(加速按钮)部件在Additional页上,是进行工具条快速设计的理想部件。它只有一个位图,没有标题。需要提起读者注意的是,用多个Speed Button制作一个工具条时,必须先放置一个窗口类部件,如Panel(操作板)、Group Box(群组框)等。否则试图将加速按钮先制作好再移上去,您会发现它会总是处于窗口类部件下面不可见。当然,您可以对加速按钮进行复制、粘贴到窗口类部件上处理,那就另当别论了。Check Box与Radio Button部件Radio Button是“互锁”的,用户选择定一个后,其它的将自动设置为不选;而Check Box部件则是分立的,您可以同时选中其中的几个,也可以一个都不选。Group Box、Radio Group及Panel部件Group Box(群组框)、Radio Group(选项按钮组)部件都可以将部件分类、成组。它们都有标题,可以用文字表征成组部件的标题或信息。Radio Group可以进行Column和Item属性的设定,以决定其上的无线按钮的提示文本及显示格式。Panel部件也可以达到将部件分组的目的。通过编程向窗口加一个操作板部件,以书写提示和帮助信息,也不失为一种好方法。以上三个部件都在Standard页。NoteBook、TabSet及TabbedNoteBook部件记事本部件NoteBook一般和标签集部件TabSet共同使用,用来创制含有标签的重叠多窗体窗口。Pages属性包含了一个页名列表,在编程时,将TabSet的Tabs属性设置成NoteBook的Pages属性,就可以使页标签和相应的窗体对应起来。 另外一个部件TabbedNoteBook是带有标签的多窗体窗口,不过,它的页标签设在窗口的上面。它们相当于多个分组部件的集合,每次查看其中的一页。以上三个部件在Win 3.1页。在Win95页上还有TabControl、PageControl等部件。它们对于生成Windows 95风格的标签集是很重要的。分界部件在Win 3.1页上,还有Header(表头)部件,它在窗口中产生一个凸起的题条,提供了一个可视化的文本显示区域。Additional页的Bevel(立体框)部件提供了一个方框,它的单一线条或整个边框都可以通过Style属性设置为外凸或内凹,可以美化窗口。在Win95页上,HeaderControl、StatusBar等部件,为您使用Winows95风格的界面提供了重要元素。Image部件图象部件Image在Additional页上,用来在窗口中显示一幅图片,可以在picture属性中调入图象文件。Delphi支持位图(.BMP)、图标(.ICO)、图元(.WFM)三种文件格式。比较重要的属性是Autosize和Strech。它们决定了图象在窗口中的显示尺寸。Autosize属性为True表示按原尺寸显示,Strech属性为True表示图象按对象图框的大小显示,这时图象的大小可以人为改变。PaintBox部件 在System页上还有一个PaintBox(绘图框)部件,它在窗体上为您提供一块可供绘图的区域。这一部件需要编程实现它的功能,一个只有在运行时才有效的重要属性Canvas是完成绘图的关键。PaintBox部件不能单独存在于窗体中,必须把它放在固定的分组部件中。OutLine部件 OutLine(略图)部件在Win 3.1页上,它适用于显示分层的数据、文本。在Delphi中,略图部件具有很宽的设置范围。它的Lines属性可以设置每一词条的文本或数据。一般一个空格相当于一个层次,如果在项目前加一个空格则表示它处于树的下一层。所以在进行Lines属性编辑的时候不能用Tab键。在编程时用Lines和Items属性来访问略图的名称、索引及完整的路径名。OutLineStyle属性用来配置显示时关系图的风格,您可以选定用旁边有图标的缩进方式,也可以选择连线方式。目录访问部件 Delphi为您提供了强大的文件目录访问部件。您可以针对具体的用途设计自定义的文件对话框。在部件选项板上选中System页,您将发现这些部件,它们是文件列表框FileListBox、目录列表框DirectoryListBox、驱动器下拉式列表框DriveComboBox和过滤式下拉列表框FilterComboBox部件。 文件列表框部件FileListBox显示当前目录中的文件,缺省的设置是显示所有文件。通过改变Mask属性来设置过滤器,可以适用DOS的标准通配方式,选择要显示的文件名。当指定多个过滤器时,之间用“;”隔开。目录列表框部件DirectoryListBox显示当前驱动器内的目录,并且允许用户在程序执行时切换目录。Column属性决定目录在窗口中用多少列进行显示,当窗体空间不够时,用几列进行显示将有助于全面地显示目录信息。在Delphi中,当窗口空间显示不下全部信息时,将自动加上滚行条,以方便用户的操作。 驱动器下拉式列表框部件DriveComboBox显示当前所在的驱动器,并且在执行时允许用户在驱动器之间切换。作为程序员在应用这一部件时,应考虑当用户选择到不存在的驱动器时,进行容错、提示处理。FilterComboBox(过滤式下拉文件列表框)部件显示当前文件过滤器类型,例如*.*,*.pas等。在执行时允许用户在下拉列表中选择要显示的文件类型。对Filter属性进行初始化,就会得到下拉式列表。除了以上的四个部件外,在Sample页上,Delphi还提供了一个目录略图部件DirectoryOutline。它将当前磁盘中的目录结构显示成一个多层次的略图,也允许用户在运行时进行目录的层次显示切换。滚动部件ScrollBar部件 ScrollBar(滚行条)是在Windows应用程序中常见的结构,在Delphi中多数部件有自己的是否加入滚行条的属性ScrollBar,但一个独立的滚行条部件仍是很有意义的。它在部件选项板的Standard页,提供一种可以改变菜单或是画面中可见部分的工具,可以以一定的增量在一定范围内滚动。Position属性是个整形值,如果需要以动态的方式显示滚行条,可以在程序中通过操作这一属性来实现。ScrollBox部件ScrollBox(滚动框)部件是加上了水平、垂直滚行条的群组框部件,它在Additional页上,用作在窗体中提供一个可以多方向滚行的工具。如果您只想显示较大幅面的一个部分,并允许您的用户对其进行滚行操作,ScrollBar将是理想的选择。您可以先在全幅面的滚动框中进行全面设计,然后适当地缩小外框,两个方向的滚行条将自动显示。它的Position属性是集成在HorzScrollBar和VertScrollBar两个集属性下的,编程时,可以选定这两个属性进行操作。几个进度显示部件在System、Sample、Win 95、OCX等页上,Delphi还为用户提供了几个部件,完成显示进度,增量等操作。部件Gauge可以显示成长条状的或饼状的进度指示仪表。例如在安装软件时,可以编程让这一部件显示目前安装的百分比。微调按钮部件SpinButton含有指示向上、向下的两个按钮,它可以用来调节数值,使被控制的值按一定的增量单位,由用户操作递增或递减。微调编辑框SpinEdit是微调按钮和编辑框的结合,它在编辑区域显示了数值,又在右侧设了微调按钮,使得用户选择调节按钮或改变数值的方式,来调整数据的值,并返回Value属性。网格、表格部件在Additional页中,还有字符串表格部件StringGrid,绘图表格部件DrawGrid等。它们可以用来模拟按网格排列的事物,如成排的按键、操纵钮、字符串等。属性RowCount和ColCount设置了在网格中显示的行列的数目,设置FixedCols和FixedRows的值,可以固定一些行列避免运行时被用户改变。Options集属性含有字符串表格部件的显示方式、操作方式等,可以查阅帮助获得详细的信息,此处不再一一表述。图形表格部件DrawGrid使得用户可以用表格的方式显示非文本的数据,它的应用面比字符串表格部件更为广泛,可以把图片和文本一起放在网格中。颜色网格部件ColorGrid在Sample页上,它提供控制前景色和背景色的界面,通过属性ForeGroundColor和BackGroundColor可以访问到,也可以通过程序,把得到的颜色赋值给其它对象的颜色属性。 Sample页的日历部件Calendar也是用表格的方式表现的,它提供了一个简单的以月份为库单元的日历表格,通过设定Year和Month的值,可以得到相对应的月份的日历。多媒体(MultiMedia)和OLE部件媒体播放器部件MediaPlayer和OLE部件可以在System页上找到。媒体播放器部件在处理多媒体文件时很有用。它显示一个VCR风格的控制面板,让您记录或播放多媒体的图像、声音文件。您可以通过属性的设定来控制部件上的各个按钮,如改变显示颜色、增减按钮数目等。改变一下ColoredButtons、EnabledButtons、VisableButtons的各个子属性值,您就不难发现它们控制的显示效果。具体的应用已经超过本简介的目的,请参阅帮助以及后文的详细介绍。 OLE客户端部件OLEContainer在窗体中创建一个OLE用户区域,用于与Delphi外部的某个对象进行接口。若对外部的Paradox表格、Word文件、扩展页等进行操作,则对象本身的应用程序必须支持OLE操作。Delphi提供了支持OLE应用的对象清单,单击ObjClass属性的省略按钮,就会显示出来。具体的应用,请查阅帮助或阅读后文的详细阐述。菜单的设计(进入菜单设计器Menu Designer,跟vc差不多)Mainmenu和popupmenu控件上双击即进入。(1) 要加嵌入式菜单,按住ctrl+向右键;(2)设定动作:events页上OnClick事件。(3)设定加速键和热键 您可以设定加速键,与前文的例程相同,只需在输入时,将“&”放到需要指定为加速键的字母前面,该字母将被用下划线显示,运行时,按“Alt+加速键字母”可以激活该菜单条。设定热键也是很方便的,只需在Object Inspector中该菜单条的ShortCut属性值段的下拉菜单中,为它选定一个热键组合即可。在运行时,通过“Ctrl+热键字母”来激活菜单条。加速键和热键并不矛盾,您可以同时指定它们。System页上的Timer控件:Enabled属性表示了计时器打开还是关闭;用Interval属性设置两个OnTimer事件间的间隔,单位是毫秒,也即千分之一秒。将间隔置为0相当于关闭计时器,Interval的最大允许值是32767,也即32.767秒。在窗体中放置一个计时器Timer部件,将它的Interval属性置为100(每隔10毫秒触发一次),双击部件进入代码编辑器,在它的事件中加入这样一句程序:MessageBeep(0);使用公用对话框部件Delphi为您在Dialogs页上提供了几个标准对话框,它们是文件打开OpenDialog;文件保存SaveDialog;字体Fontdialog;颜色ColorDialog;打印PrintDialog;打印设置PrintsetupDialog;查找FindDialog;替换ReplaceDialog等部件。OpenDialog和SaveDialog部件 OpenDialog(文件的打开)和SaveDialog(保存对话框)部件处理文件的打开与存储,它们拥有完全相同的属性域。DefaultExt属性表示缺省扩展名。当用户没有输入文件的后缀时,可以为用户文件自动加扩展名。FileName属性指定出现在FileName正文框中的缺省文件名。Filter属性提供了文件过滤器。FileEditStyle决定在输入文件名时用Edit还是Combo- Box;设置为fsComboBox时,允许使用历史列表HistoryList属性,这在应用程序需要经常选择文件时,可以节约大量的时间。HistoryList属性保存有在File Name下拉式编辑框中显示的文件名,使用TStrings的省略按钮可以编辑历史列表。您也可以编程实现将HistoryList属性设为以前用OpenDialog打开的文件名历史列表。下列程序段可以实现自动历史文件名加载:if OpenDialog1.Execute thenOpenDialog1.HistoryList.Insert(0,OpenDialog1.FileName);ColorDialog和FontDialog颜色对话框ColorDialog我们在前文的例程中已经用过,其更详细的功能如Options的设定请查阅在线帮助。 字体对话框Font可以帮助用户获取各种方式的字体。使用OnApply事件,可以使得Font对话框中包含一个Apply按钮,按动它,对话框中设定的字体会立即应用到指定的对象中,而对话框仍然是打开的,这样更便于观察修改的结果。 以下的例程在窗体中先放置一个按钮Button1,调用字体对话框来改变按钮上的Caption属性显示的字体:Procedure TForm1.Button1Click(Sender:TObject);beginFontDialog1.Execute; end;Procedure TForm1.FontDlgApply(Sender:Tobject);beginButton1.Font:= FontDialog1.Font;end;PrintDialog和PrintSetupDiaog打印对话框PrintDialog和打印设置对话框PrintSetupDialog可以显示标准打印、打印设置对话框,支持打印文件和打印设置功能,设置它的Options属性可以规定对话框的表现形式FindDialog和ReplaceDialog FindDialog和ReplaceDialog提供了查找、替换两个对话框部件,对于寻找和替换文本是极其有用的。在FindDialog和ReplaceDialog中都有OnFind事件,当用户单击寻找对话框中的Find Next按钮时将触发这一事件。FindText属性中保存了用户在Find What编辑框中输入的文本。在ReplaceDialog中还有OnReplace事件,当用户单击替换对话框中的Replace和Replace All按钮时,将触发OnReplace事件。FindText和ReplaceText属性分别保存了用户在Find What和Replace With编辑框中输入的文本。 5,创建多窗体工程项目例一:两个窗体可以互相切换(1)创建一个含有About框的例程步1:Form1里一个button:打开About窗口;步2:创建About(File-New-Form),Form2(将Form2的BorderStyle属性设置为bsDialog,则窗口成为运行时不能改变大小的对话框)步3:代码:uses Unit2; (unit1单元中引用unit2)procedure TForm1.Button1Click(Sender: TObject); beginForm2.Show;end;步4:生成exe。(两个窗体可以互相切换)例二:(只有modal窗关了,才可回主窗体)在Form2窗体中添加一按钮(ModalResult属性设置为mrOK;按钮的标签的Caption改为OK;这样一个有模式的About框已经建成了。将窗体Form1中Button1的OnClick处理过程的代码改变如下:Form2.ShowModal;/(只有form2关了,才可以看到主form1)指定自动创建窗体有时不希望在应用程序加载时自动创建所有窗体。Delphi可以指定哪些窗体被自动创建。 选用Project|Options,Delphi显示Project options对话框。如果Forms不是当前页,按动下标签使之可见。 图示为Delphi装载的TextEdit例程(.Delphi 2.0DemosdocTextEdit.dpr)。在MainForm正文框中输入主窗体的名字。当应用程序启动时,主窗体自动打开并获取输入焦点。对MDI应用,主窗体的FormStyle属性必须设置为fsMDIForm。在Auto-created Forms列表框中列出了在启动时自动创建的窗体,缺省时工程文件的所有窗体都在此列中。如果不需要自动创建窗体,使用箭头按钮把窗体移动到Available Forms列表框中。自动创建的窗体可以用Show方法进行显示,而不自动创建时,必须编程实现窗体的显示。在TextEdit工程中,定义一个TEditForm类型的变量EditForm,使用了以下的代码显示第二个窗体:BeginEditForm := TeditForm.Create(Self);EditForm.Open(OpenFileDialog.Filename);EditForm.Visible := True;End;也即,必须使用Create方法创建窗体,同时将窗体的Visible属性设为真。6管理工程(View|Project Manager)Project Manager 窗口上有增加、删除对象以及查看对象的加速按钮。Options加速键能够打开前文所述的Project Options对话框。如果在Project Manager打开时编辑了工程各文件的源代码,可单击Update加速条按钮刷新对象列表。7 样板使用和保存样板样板使用:Delphi界面座左上角,第二排(New Items)把编好的成样板:form界面,右键-Add to Repository-选中所需的form即可。第二章Delphi面向对象的编程方法在设计用户界面时,可以使用Object Inspector(Object Inspector)来改变其属性;但有时需要在程序执行时改变属性的值,而且有些属性只能在执行时改变,这些属性在Delphi的在线帮助的“Proprety”主题中被标为执行期属性。进行这种改变,就必须使用赋值语句。Edit1.Color := clRed;变量定义: varValue ,Sum : Integer;Line : String;例子:procedure TForm1.addClick(Sender: TObject);varX , Y: Integer;(局部变量只能定义这。)beginX := 100;Y := 20;Edit1.Text := IntToStr(X + Y);end;预定义类型 Object Pascal有多个预定义的数据类型,您可以说明任何这些类型的变量:整形:Integer的范围是-32768到32767,占2字节的内存;Shortint从-128到127,占1字节内存;Longint从-2147443648到2147483647 占4字节内存;Byte从0到255,占1字节;Word从0到65535,占2字节内存。它们都是没有小数部分的数字。实型:Single可以包含7到8位有效小数部分,占用4字节的内存;Double类可以包含15到16位有效小数部分,占用8字节的内存;Extended类型包含19到20位有效小数部分,占用10字节内存;Comp可以包含19到20位有效小数部分,占用8字节内存。以上实数类型只有在8087/80287选项N+打开才可以使用。Real可以包含11到12位有效小数部分,占用6字节内存。它只有在和以前Borland Pascal兼容的情况下才使用,否则应使用Double或Extended。布尔型:Boolean,只包含true或False两个值,占用1字节内存。字符型:Char,一个ASCII字符;字符串类型String一串最长可达255个ASCII字符。指针型:Pointer,可以指向任何特定类型。字符串型:PChar,是一个指向以零结尾的字符串的指针。 除了预定义类型外,Delphi还有自行定义的类型。上述例程的TColor就是这种类型。此外,用户还可以定义自己的数据类型,这部分内容将在下文中详细讲述。 整型类别和实型类别都各有五种类型,同一类别中,所有的类型与其他同类别的都相容,您可以将一种类型的值赋给相同类别中不同类型的变量或属性,而只需要这个值的范围在被赋值的变量或属性的可能值范围内。例如,对于一个Shortint型的变量,可以接受在-128到127范围内的任意整数,例如Shortint类型的7;您不能将300赋给它,因为300已经超出了Shortint的范围了。将范围检查功能打开(选用Options|Project,并在Compiler Options Page中选择Range Checking),将会检查出一个范围错误;如果Range Checking没有被打开,那么程序代码将可以执行,但被赋值的值将不是您期望的值。常量:constPi = 3.14159;Answer = 342;ProductName = Delphi;Memo的使用:(将memo部件的ScrollBars属性设为ScVertical,以便加上滚行条。将WordWrap属性设置为True,这样当用户输入文本到达Memo部件的右边缘时会自动回行。将Line属性第一行的Memo1文本删除,使得memo部件在初始显示时为空的)Memo1.CutToClipboard;OpenDialog.Execute;/dlg的使用Memo1.lines.LoadFromFile(OpenDialog.FileName);if ColorDialog1.Execute then/if else语句Form1.Color := ColorDialog1.ColorelseForm1.Color := clRed;Case语句:procedure TForm1.Button1Click(Sender: TObject);varNumber : Integer;beginNumber := StrToInt(Edit1.Text);case Number of1,3,5,7,9: Label2.Caption := 奇数;0,2,4,6,8: Label2.Caption := 偶数;10.100: /10100之间是复合语句begin Label2.Caption := 在10到100之间;Form1.Color := clBlue;end;elseLabel2.Caption := 大于100或为负数;end; end;Repeat语句:i := 0;repeati := i+1;Writen(i);until i=10;/(i=10是判断语句)while语句:i := 0; while i0 thentest2(A); 经前置说明,调用未执行的过程Test2writeln(A);end; procedure Test2(var A:Integer);经前置说明的Test2的执行部分beginA :=A div 2;if A0 rhentest1(A); 在Test2中调用已执行的过程Test1 end;procedure TForm1.Button1Click(Sender:TObject);beginAlpha := 15; 给Alpha赋初值Test1(Alpha); 第一次调用Test1,递归开始end;新的数据类型枚举类型typeTdays=( Sunday ,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday); varDayOfWeek:TDays; 在枚举型中,括号中的每一个值都有一个由说明它的位置决定的整形值。例如Sunday有整形值0,Monday有整形值1等。您可以把DayOfWeek说明为一个整形变量,并将一星期的每一天赋一个整形值以达到相同的效果,但用枚举型会使得程序可读性好,编写容易。当您在枚举型中列出值时,您同时说明了这个值是一个标识符。例如您的程序中如果已经含有TDays类型且说明了DayOfWeeks变量,则程序中便不能使用Monday变量,因为它已经被说明为标识符了。子界类型type Thours = 0.23;TValidLetter = A . F;TDays = ( Sunday ,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday); 枚举型TWorkDay = Monday.Friday; 一个TDays型的子界 子界型限定了变量的可能取值范围。当范围检查打开时,(在库单元的Implementation后面有$R*.DFM字样表示范围检查打开,否则您可以在Options|Project|Complier Options中选择Range Cheking来打开范围检查),如果变量取到子界以外的值,会出现一个范围检查错误。数组typeTCheck = array1.10 of Double;则变量说明改为:varCheck :TCheck;( 或者直接定义:varCheck : array 1.10 of Double;)赋值:for J := 1 to 10 doCheckJ := 0.0;多维数组typeTtable = array1.20,1.20 of Double;vartable1:TTable;varCol,Row:Integer;for Col :=1 to 20 dofor Row := 1 to 20 doTable1Col,Row := 0.0;字符串类型typeMyString: string15;varMyName: MyString;赋值:MyName := Frank.Smith集合类型typeTvowels=set of Char;varVowels:TVowels;beginVowels := a,e,i,o,u;if Edit1.Text1 in Vowels thenLable2.Caption := 是元音;elseLable2.Caption := 请再试;end;记录类型typeTEmployee=recordName : string20;YearHired:1990.2000;Salsry: Double;Position: string20;end;varNewEmployee,PromotedEmployee:TEmployee;访问记录的单域:NewEmployee.Salary := 1000;编写如下的语句可以给整个记录赋值:with PromotedEmployee dobeginName :=;YearHired := 1993;Salary := 2000.00Position := editor;end;您的程序可以将记录当成单一实体来操作:PromptEmployee := NewEmployee;Pascal语句的架构(unit库单元:(和c+的类一样)当您设计您的窗体时,Delphi自动建立一个和您的窗体有关的库单元。库单元结构:(接口,实现,初始化)unit interfaceuses 公有说明函数的声明在这。implementationuses 私有说明过程和函数的执行部分initialization 选择性的选择性的初始化程序end.建立与窗体无关的新库单元File|New Unit这时一个新的库单元加入了工程,新库单元的代码如下:unit Unit2;interfaceimplementationend.With限定符(限定这个类了,这个部件了,)例:beginListBox1.Clear;ListBox1.MultiSelect :=True;end改成: with (ListBox1) dobeginClear;MultiSelect :=True;end建立非可视化对象:type Temployee = class(TObject);Name := String25;Title := String25;HourlyPayRate : Double;function CalculatePayAmount:Double;end;TEmployee只是一个对象类型,通过一个构造函数的调用从而被实例取代或创建。varEmployee : TEmployee;Employee := TEmployee.Create;/才可被使用把您的注销放在tryfinally程序模块的finally部分,而把对象的程序代码放在try部分是编程的好习惯。Employee.Free;第三章字符串列表(Strings属性)及应用(1)计算列表中的字符串数目:FontCount:=Screen.Fonts.Count;(屏幕的字数目)(2)访问指定字符串(字符串列表有一个可索引的Strings属性) 以下代码是等价的:Memol.Lines.Strings0:=This is the first line.;Memol.Lines0:=This is the first line.;(3)查找字符串的位置:Indexof方法可查找指定字符串的位置。Indexof有一个字符串类型的参数,方法返回列表中匹配字符串的位置。如果列表中无匹配字符串,将返回- 1。if FileListBox1.Items.IndexOf(AUTOEXEC.BAT) -1 then(4)在列表中加入字符串要把字符串加至列表尾部,使用Add方法,把字符串作为参数传递。要把字符串插入列表中,使用Insert方法,传递两个参数:插入的位置和字符串。例如,要把“Three”插入至列表中的第三个位置,使用代码 Insert(2,Three)(5)在列表中移动字符串Move方法可实现字符串的移动,它有两个参数:现行位置和要移动的位置。以下代码把第三个字符串移至第五的位置:Move(2,4);(6)除列表中的字符串使用Delete方法可以删除指定的字符串。Delete的参数是指定字符串的位置,如果不知道字符串的位置,可使用Indexof方法。要删除字符串列表中所有的字符串,可使用Clear方法。以下代码删除列表框中的指定字符串:With ListBox1.Items dobeginif Indexof(bureaucracy)-1 thenDelete (Indexof(bureaucracy);end;(7)复制完整的字符串列表Outline1.Lines:=ComboBox1.Items;/覆盖并复制Outline1.Addstrings(ComboBox1.Items);/加

温馨提示

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

评论

0/150

提交评论