Welcome 微信登录

首页 / 软件开发 / Delphi

第六章-文件管理(二)(4)

第六章-文件管理(二)(4)

第六章-文件管理(二)(4)2007-05-076.4 文件管理综合举例:文件管理器的实现 在本章的最后,我们利用Delphi提供的文件控件和文件管理函数开发一个简单的文件管理器。虽然这一文件管理器还无法和Windows提供的文件管理器相比拟,但它也为一般的文件操作提供了足够多的功能,而且如果读者感兴趣,还可以对它做进一步的扩充。在后边的拖放操作一章中,我们就为它提供了拖放支持,使它看起来更象一个“文件管理器”。6.4.1 设计基本...
第六章-文件管理(三)(1)

第六章-文件管理(三)(1)

第六章-文件管理(三)(1)2007-05-072.画出每个自画项目 这在TabSet的OnDrawTab事件处理过程中完成。这一事件处理过程的参数中包含了待画项目索引、画板、待画区域、是否被选中等。这里我们只利用了前三个参数。事实上利用最后一个参数,我们可以对被选中的标签进行一些特殊的视觉效果处理。这一工作就留给读者自己去完成。 procedure TFMForm.DriveTabSetDrawTab(Sender: TObject; TabCanvas...
第六章-文件管理(三)(2)

第六章-文件管理(三)(2)

第六章-文件管理(三)(2)2007-05-076.4.5.2 文件拷贝、移动、删除、更名 文件拷贝的关键是使用了以文件句柄为操作对象的文件管理函数,因而提供了一种底层的I/O通道。在Object Pascal中这一点是利用无类型文件实现的。在文件拷贝中首先检查目标文件名是否是一个目录。如是则把原文件的文件名添加到目标路径后,生成目标文件全路径名。而后提取源文件的时间戳,以备拷贝完成后设置目标文件。拷贝过程中使用了返回文件句柄或以文件句柄为参数的文件管理函...
第六章-文件管理(三)(3)

第六章-文件管理(三)(3)

第六章-文件管理(三)(3)2007-05-076.4.5.3 一致的界面 文件拷贝、文件移动、 文件更名以及后边的改变当前目录在形式上都表现为从一个源文件到一个目标文件。因而可以采用统一的用户界面,即ChangeForm对话框这四个菜单项共用一个Click事件处理过程,通过对Sender参数的检测,决定将要打开对话框的标题和显示内容。当用户按OK键关闭且目标文件(目录)非空时,程序弹出一个消息对话框要求用户进一步确认,而后执行相应的动作。共用的事件处理过...
第六章-文件管理(三)(4)

第六章-文件管理(三)(4)

第六章-文件管理(三)(4)2007-05-076.4.6 其它文件管理功能的实现 在子窗口的Function菜单中,定义了一些其它的文件管理功能:● Search :查找一个给定名字的文件,若存在则显示该文件属性● Disk View :显示当前驱动器的大小和剩余空间● View type :确定显示文件的类型 6.4.6.1 文件查找 当用户单击Search菜单项时,程序弹出一个对话框(如图6.10),要求输入待查找的文件名和查找路径。文件名可以是通配...
第六章-文件管理(三)(6)

第六章-文件管理(三)(6)

第六章-文件管理(三)(6)2007-05-086.4.7.2 删除目录 在实现目录删除过程中,远不如创建目录那么顺利。碰到的问题是:1.RmDir不允许删除当前目录。但为了操作方便,我们要求删除的恰恰是当前目录;2.目录删除后调用Refresh方法或Update方法并不能使该目录从屏幕显示中去除。因而当用户试图进入该目录时会导致系统崩溃。对第一个问题,我们的解决办法是把当前目录转换到其父目录。假如读者记得目录也被操作系统作为一种特殊的文件对待的话,那么就...
第六章-文件管理(三)(7)

第六章-文件管理(三)(7)

第六章-文件管理(三)(7)2007-05-086.4.7.4 改变当前目录 改变当前目录的实现非常简单,只要修改DirectoryOutline的Directory属性。但需注意的是:当改变后目录所在驱动器也发生变化时应相应修改DriveTabSet的当前值。由于驱动器名与DriveTabSet的索引属性TabIndex之间并没有确定的对应关系,因而需要通过一个循环进行查找匹配。Change Directory的菜单事件处理过程是FileChange,即...
第五章-Delphi图形图像编程(一)(1)

第五章-Delphi图形图像编程(一)(1)

第五章-Delphi图形图像编程(一)(1)2007-05-08在Delphi中,专门定义了一组对象和部件用以绘制图形,完成一些简单的图像功能。利用这些对象、部件的方法,可以方便地绘制各种常用图形;通过设置它们的属性,能得到不同风格的图形。另外,通过对鼠标事件的定义,可以方便的设计图形绘制程序。本章将介绍以下内容:1. TCanvas,TPen,TBrush,TColor对象的方法及属性;2. 绘图功能的实现;3. TImage,TPicture,TBit...
第五章-Delphi图形图像编程(一)(2)

第五章-Delphi图形图像编程(一)(2)

第五章-Delphi图形图像编程(一)(2)2007-05-085.1.3 TBrush OBject(画刷对象)画刷对象用以填充图形,如用画刷颜色或图案对矩形或椭圆进行填充。TBrush拥有一个画刷句柄(HBrush)。画刷的颜色定义在Color属性中。画刷还有一个Bitmap属性,该属性只能在运行时得到,画刷可使用位图填充图形以产生特殊效果。位图大小为8个象素点,高8个象素点宽。Style属性定义了画刷填充图形的风格。5.1.4 TColor类型TCo...
第五章-Delphi图形图像编程(二)(1)

第五章-Delphi图形图像编程(二)(1)

第五章-Delphi图形图像编程(二)(1)2007-05-08画直线时,用户只有在松开鼠标才能看见直线,对直线的变化不能进行实时观测。这是因为鼠标移动时程序没有进行某种应。Delphi定义了OnMouseMove事件来响应鼠标移动。以下代码可使用户随时观测直线的变化: procedure TForm1.FormMouseMove(Sender:Tobject)beginDrowto(X,Y);Moveto(origin);end. origin是起始...
第五章-Delphi图形图像编程(二)(2)

第五章-Delphi图形图像编程(二)(2)

第五章-Delphi图形图像编程(二)(2)2007-05-085.3 图像对象概述 5.3.1 TGraphic对象TGraphic对象是TBitmap ,TIcon,Tmetafile对象的基类。如果知道图像的具体类型( 如位图, 图标元文件) , 则应将图像贮存在相应类型的对象中( 如TBitmap,TIcon,Tmetafile),否则应该使用可贮存任何图像类型的TPicture对象。 5.3.2 TPicture对象 TPicture对象可以保存...
第四章-文本编辑器的设计(一)(1)

第四章-文本编辑器的设计(一)(1)

第四章-文本编辑器的设计(一)(1)2007-05-08本章介绍多文本界面(MDI)、多页面界面(MPI)技术;VCL库中TMemo,TEdit 控件以及有关文本编辑的常用对话框的使用。我们开发的MPIEdit.dpr是一个文本编辑的实用程序,可实现如下功能:● MDI的编辑环境● MPI的编辑环境● 创建打开、编辑、保存文件● 查找、替换文件中指定的字符串● 复制、粘贴、剪切字符串● 设置文件字体大小● 打印文件 本章将通过MPIEdit实用程序逐一介绍...
第四章-文本编辑器的设计(一)(2)

第四章-文本编辑器的设计(一)(2)

第四章-文本编辑器的设计(一)(2)2007-05-084.2 多页面界面 多页面界面是一种非常友好的界面形式。它由一个窗体和多个页面组成, 关于每个页面的信息列在窗体底部的标签(Tabs)上,用户可通过选择标签来进行页面切换。 每次只有一个页面显示在窗体中。MPI较MDI使用更为方便,且切换速度更快。本章例程就是多页面界面的例子。另外Delphi集成开发环境中的代码编辑(Code Editor)窗体是MPI应用在文本编辑中的实例。在MPI中,一个窗体内的...
第四章-文本编辑器的设计(一)(3)

第四章-文本编辑器的设计(一)(3)

第四章-文本编辑器的设计(一)(3)2007-05-08当用户在多个页面中进行切换时,程序应当保证对当前页面进行编辑。 例如在多页编辑器中,用户选中某一页面,即可对该页面中的文件进行编辑、寻找、设置、打印等。为了实现这一功能,定义了一个TMemo类型的变量:Memo1,该变量没有实例化,每次调用DynaAdd,DynaDel方法均定把TabIndex指定页面的Memo指针传给Memo1。这样在程序运行中,始终有一个实例化的Memo指针赋给Memo1,而菜单...
第四章-文本编辑器的设计(一)(4)

第四章-文本编辑器的设计(一)(4)

第四章-文本编辑器的设计(一)(4)2007-05-08TMemo部件提供了一组关于选择文本的属性和方法。如果想在部件成为当前控件时自动选择文本,可设置 AutoSelect 属性。运行时可用SelectAll 方法选中部件的全部文本。 Selstart属性返回选中文本的开始位置,SelText 包含着被选中的文本。SelLength属性返回选中文本的长度,这两个属性可用于字符串的查找和替换。下一节将详细讨论。TMemo的Modified属性是一个运行时才...
第四章-文本编辑器的设计(二)(1)

第四章-文本编辑器的设计(二)(1)

第四章-文本编辑器的设计(二)(1)2007-05-084.4.2查找对话框部件 查找对话框部件为应用程序提供查找对话框, 用户可使用查找对话框在文本文件中查找字符串。可用Execult方法显示查找对话框,如图4.8。应用程序要查找的字符放到FindText属性中。Options 属性可决定查找对话框中有哪些选项。例如, 用户可选择是否显示匹配检查框。Options的常用选项如表4.2所示。如果用户在对话框中输入字符并选择FindNext按钮,对话框将发生...
第四章-文本编辑器的设计(二)(2)

第四章-文本编辑器的设计(二)(2)

第四章-文本编辑器的设计(二)(2)2007-05-08例程中TEditForm.Replace方法响应OnReplace事件,Replace方法首先判断控制中被选中字符串是否与替换字符串相等,如果不等则进行替换。而后根据Options中的方式循环进行查找替换。直至无匹配字符串为止。其代码如下: procedure TEditForm.Replace(Sender: TObject);varFound: Boolean;beginwith Replac...
<< 1 2 3 4 5 6 7 8 9 10 >>