Delphi
文章平均质量分 69
paulchenbo
这个作者很懒,什么都没留下…
展开
-
调用DLL中的窗体
(1)DLL源码 library ProjectDll; uses Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs, UnitDll in UnitDll.pas {Form1};//DLL中的窗体 procedure ProvaChild(ParentApplication转载 2007-03-02 10:12:00 · 627 阅读 · 0 评论 -
浅谈Object Pascal的指针
大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今的Object Pascal,可以说在指针运用上,丝毫不会逊色于C语言的指针。 以下内容分为八个部分,分别是 一转载 2007-07-31 16:52:00 · 643 阅读 · 0 评论 -
TreeView使用笔记
TreeView使用笔记TreeView由节点构成,建树通过对TreeView.items属性进行操作。Items是一个TTreeNodes对象,这是一个TTreeNode集。一、针对TTreeNodes,也就是 TreeView.Items,有这些属性:1、count,节点个数。2、item[index] ,通过index得到节点。二、针对TTreeNodes,也就是 TreeVi转载 2007-05-15 11:33:00 · 557 阅读 · 0 评论 -
组件制作三
VCL中的Shape是个很不错的控件,可以选择几种图形,以满足我们的需求,但有时候就是觉得它的可选图形少了一点,比如我们想要一个三角形,它却没有。于是就想到来扩展一下这个控件,名为ShapeEx。其实扩展的功能不多,只是增加了一些图形。而类也并不是继承自TShape,而是继承自TGraphicControl,这样可以让我们彻底看看图形控件的做法。Tshape也是继承自TGraphicControl原创 2007-05-21 11:37:00 · 508 阅读 · 0 评论 -
组件制作一
作为组件制作的开始,应该了解一些概念,我以为这些概念是非常重要的,将可以作为以后实践的理论基础。 一, 组件的简要层次结构。一般情况下,VCL的组件可以从Tcomponent为开始。其最明显的特征就是它的属性可以在设计时通过对象察看器来操纵,另外,他还能拥有其他组件。从Tcomponent下,分出非可视组件和可视组件。非可视组件如TOPenDialog,TTimer,TTab原创 2007-05-21 11:35:00 · 551 阅读 · 0 评论 -
线程使用
线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线程。当一个进程中用到超过一个线程时,就是所谓的“多线程”。那么这个所谓的“一段代码”是如何定义的呢?其实就是一个函数或过程(对Delphi而言)。如果用Windows API来创建线程的话,是通过一个叫做CreateThread的API函数来实现的,它的定义为: HANDLE CreateThread原创 2007-05-21 11:31:00 · 709 阅读 · 0 评论 -
组件制作二
接下来要动手来做一个组件了,我想了一个计数器组件,功能方面是比较简单的,但这不是本章的重点,这一章的重点是说明一个组件的制作全过程。在其中可以学到很多组件制作的技巧,当然这些也是我从书上学得的。好了,开始制作吧: 这是一个可以计数的组件,为了简单,我以秒为单位,当开始时,他就从0开始增加,并显示出来,到3600时,它又回到0,如此循环。当然它也可以停止,暂停,继续。另外,他还有一个时间事件原创 2007-05-21 11:36:00 · 431 阅读 · 0 评论 -
组件制作五
这将是最后一个组件了,目标定为非可视化,事实上非可视化组件要比可视化组件难做,因为是从TComponent继承而来,就没有了很多属性和事件。而这些都要我们从头来做过。这个非可视化组件,我决定为托盘组件,其中用到的技术较多,我不如列一个表出来,然后再来讲解好一点。另外,可能篇幅会多一些,请耐心看。用到的技术:1作为核心功能,当然是托盘的应用啦。2 托盘组件怎么样影响到主窗口最小化时隐原创 2007-05-21 11:41:00 · 569 阅读 · 0 评论 -
Delphi流操作技巧总结
TMemoryStream的继承关系如下 TObject | TStream | TCustomMemoryStream | TMemoryStream 如何使用TMemoryStream? 其实TmemoryStream使用就跟TStream 一样 具体的属性,方法可看帮助。 下举一例: 如我原创 2007-05-30 09:24:00 · 643 阅读 · 0 评论 -
谈Delphi编程中“流”的应用
什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式。如果你对流的操作非常熟练,在程序中利用流的方便性,写起程序会大大提高效率的。 下面,笔者通过四个实例:E转载 2007-05-30 09:29:00 · 561 阅读 · 0 评论 -
Delphi数据库处理
第一节 BDE、ADO、InterBase和dbExpress Delphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi 6.0开始还加入了一种dbExpress方法。 另外,Delphi还提供了专门处理Borland 公司自己的数据库产品InterBase 数据库的专门的方法。 BDE(Borland Databas Engine), 是Del转载 2007-05-30 09:54:00 · 921 阅读 · 0 评论 -
在DELPHI中用TreeView控件从数据库中动态装载信息
1.PInfo表结构ID VARCHAR(50)FullName VARCHAR(50)ParentID VARCHAR(50)2.Unit文件unit Info;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls,转载 2007-04-27 17:14:00 · 3301 阅读 · 0 评论 -
实现对TreeView的遍历
摘 要:对TreeView的遍历关键字:TreeView类 别:Delphi & IDE function TForm1.AllOverTreeView(node:TTreenode):TTreenode;begin while node begin if node.HasChildren then begin node:=node.getFirs转载 2007-04-27 17:10:00 · 1572 阅读 · 1 评论 -
在Delphi中实现类型安全的容器,Delphi泛型库DGL引介(提供源码下载)
在Delphi中实现类型安全的容器 Delphi泛型库--DGL(The Delphi Generic Library)简介 by [email protected],2004.09.12DGL库下载 安装方法:将库解压到一个目录,然后在Delphi中添加搜索路径最近都在使用Delphi,但Delphi转载 2007-07-06 11:34:00 · 800 阅读 · 0 评论 -
delphi与SQL Server存储过程编程详解
首先,打开sql server管理器,在pubs数据库中建一个测试表,表名为test,字段有id,name,和desc,全部为字符型,如果你不知道建表,那么打开sql查询分析器,贴上以下的代码,然后按执行,就会自动生成test表.转载 2007-03-02 09:59:00 · 670 阅读 · 0 评论 -
深入Delphi下的DLL编程
引 言相信有些计算机知识的朋友都应该听说过“DLL”。尤其是那些使用过windows操作系统的人,都应该有过多次重装系统的“悲惨”经历——无论再怎样小心,没有驱动损坏,没有病毒侵扰,仍然在使用(安装)了一段时间软件后,发现windows系统越来越庞大,操作越来越慢,还不时的出现曾经能使用的软件无法使用的情况,导致最终不得不重装系统。这种情况常常是由于dll文件的大量安装和冲突造成的。这一方面说转载 2007-03-02 10:22:00 · 792 阅读 · 0 评论 -
在SQLServer中调用Com组件
有时候,出于SQL Server本身的功能不足,我们需要用外部的程序来实现,而Com由于其语言的无关性和强大的功能就成为与Sql Server接口的首选,并且sql Server本身也提供了这方面的系统存储过程用以实现与com的接口。这几个相关的系统存储过程为: sp_OACreate 在 Microsoft® SQL Server™ 执行个体建立 OLE 对象的执行个体。转载 2007-03-02 10:31:00 · 2629 阅读 · 0 评论 -
[Delphi]TChart7图像导出汇总
TChart7控件图像导出汇总1. TChart7前的版本 2. TChart7导出BMP、WMF 3. TChart7导出JPG(JPEG) 4. TChart7导出GIF 5. TChart7导出PCX 6. TChart7导出HTM 7. TChart7导出PNG 8. 结语1. TChart7前的版本TChart7前的TCha转载 2007-03-16 11:31:00 · 1230 阅读 · 1 评论 -
让你的dbgrideh的column自动适应宽度
EhLib控件的强大表格处理能力,相信使用过的朋友都有领会,但DBGrdiEh没有发布自动根据栏宽的方法,的确是有点遗憾。 不过还好,在DBGrdiEh的OptionsEh中,我们可以发现有个dghDblClickOptimizeColWidth选项,可以让用户在栏头的宽度调整位置上,双击鼠标以自动调整栏宽度。 既然该功能已经实现,但却没能在DBGridEh发布的方法中找到该方法,经过笔者原创 2007-03-20 11:29:00 · 1120 阅读 · 0 评论 -
DBGridEH - 实现点击标题排序
数据源为adoQuery1、首先设置dbGridEh里需要排序的字段的Title->Titlebutton属性为true2、设置dgGridEh的optionsEh->dbhautoSortMarking属性为true3、在dbGridEh的ontitleButtonClick事件里面判断。procedure Tfrmmain.dbgGridEh1TitleBtnClick(Sen原创 2007-03-20 11:29:00 · 517 阅读 · 0 评论 -
DBGRIDEh
排序功能使用方法: 1、TDBGridEh的OptionsEh/SghAutoSortMarking属性设置为:True;2、TDBGridEh.Columns[*]的Title/TitleButton属性设置为:True。关于多表头导出的设计思路有网友提示:可以按HTML方式导出,只是文件后缀名改成xls就可以实现多表头导出EXCEL原创 2007-03-23 15:49:00 · 579 阅读 · 0 评论 -
让DBGridEh自动适应列宽
EhLib控件的强大表格处理能力,相信使用过的朋友都有领会,但DBGrdiEh没有发布自动根据栏宽的方法,的确是有点遗憾。 不过还好,在DBGrdiEh的OptionsEh中,我们可以发现有个dghDblClickOptimizeColWidth选项,可以让用户在栏头的宽度调整位置上,双击鼠标以自动调整栏宽度。 既然该功能已经实现,但却没能在DBGridEh发布的方法中找到该方法,经过笔者转载 2007-03-25 14:01:00 · 1410 阅读 · 0 评论 -
在Delphi中使用动态图标
在应用程序的编写中,组合框(ComboBox)、列表框(ListBox)、等常见的部件,通常不仅要用于显示文字,而且还要显示其与文字相关的图标。在一般的Windows应用程序中,这些图标的显示都要随列出的显示文本的变化而变化,例如在组合框中列出当前目录下的所有文件时,在组合框左边就显示与文件名相关联的图标,这就是所谓的动态图标。在Delphi中使用动态图标的步骤如下: 一、图标的获取 要使原创 2007-03-27 09:42:00 · 714 阅读 · 0 评论 -
DBGridEH序号的自动生成
序号的自动生成1.定义变量 private maxno:integer; public bmodified:boolean;2.写函数 function max(const a,b:integer):integer; begin if a>b then result:=a else result:=b; end;3 For原创 2007-04-05 20:13:00 · 2239 阅读 · 0 评论 -
Delphi 字符串操作
这几个函数都包含在StrUtils中,所以需要uses StrUtils; 假设字符串是 Dstr := ’Delphi is the BEST’, 那么 LeftStr(Dstr, 5) := ’Delph’ MidStr(Dstr, 6, 7) := ’i is th’ RightStr(Dstr, 6) := ’e BEST’ ~~~~~~~~~~~~~~~~~~~~~~~~~ functi转载 2007-06-12 11:16:00 · 1064 阅读 · 0 评论