专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
  个同学在做计算器另个同学在做井字棋游戏这两个有个共同特点:包含数个具有同类功能Control控件(计算器数字按钮及井字棋 9个落子位)如果个个地创建这些Control控件不得不写大量重复代码修改起来比较麻烦个更好选择是建立Control控件下面是Button简单实现: Button btns = Button[9];private void ShowButtonArray{for( i = 0; i < 9; i){btns[i] = Button;//这句往往为初学者忽视须知要创建对象例子!btns[i].Location = .Drawin [阅读全文] [PDF]
    Control控件是由组相同类型Control控件组成它们共用个Control控件名具有相同属性但通常有区别属性值当建立Control控件时系统给每个元素赋个惟索引号(Index)即下标下标值由Index属性指定通过属性窗口Index属性可以知道该Control控件下标是多少第1个元素下标是O第2个元素下标是1以此类推其所有元素Name属性必须相同     Control控 [阅读全文] [PDF]
unit USWLMSelectDa;{$S-,W-,R-} {$C PRELOAD}erfaceuses Windows,Messages,SysUtils, Types, Classes, Graphics, Controls,StdCtrls,Forms, StrUtils,Math,ADODB,TFlatButtonUnit,USWLMStyleEdit;type TEditDataType = (sdString, sdInteg [阅读全文] [PDF]
unit USWLMSelectDa;{$S-,W-,R-} {$C PRELOAD}erfaceuses Windows,Messages,SysUtils, Types, Classes, Graphics, Controls,StdCtrls,Forms, StrUtils,Math,ADODB,TFlatButtonUnit,USWLMStyleEdit;type TEditDataType = (sdString, sdInteg [阅读全文] [PDF]
可视化控件(Visual Component)实际上就是一个类(class),要编写一个类,可以直接在*.pas文件中编写。但是要编写控件,则必须使用包(package)。从File菜单中选择New,新建一个Package,这就是存放和安装控件用的包。然后单击Package窗口中的Add按钮,添加一个元件(Unit)。 [阅读全文] [PDF]
有如下代码: procedure Change(a:.gif' /> of Int32); procedure Change0(var a:.gif' /> of Int32);type Ta = .gif' />[0..10] of Int32; procedure Change2(a:Ta); procedure Change3(var a:Ta);var aa:Ta; bb:.gif' /> of Int32;implementati [阅读全文] [PDF]
、概述 在用Delphi编写数据库时经常涉及到数据导入和导出操作如:将大型数据库中数据存储为便携文件以便于出外阅读;将存储在文件中数据信息导入到另外数据库中;而且通过将数据库中数据存储为数据文件更便于内部和间交换数据避免通过内存交换数据烦琐步骤例如在笔者编写通用报表中即以该Control控件作为数据信息传递载体 2、基本思路 作为数据报存储Control控件应能够存储和读入数据集基本信息(如:字段名字段显示名称字段数据类型记录数字段数指定 [阅读全文] [PDF]
在Delphi中编写控件的基本方法  作为Delphi程序员,要想进一步提高编程水平就必须掌握控件的编写方法,本篇文章将通过一个简单的例子来为初学者介绍编写控件的一些基本方法和模式。   这个例子控件叫TLeiLabel,是在TLabel的基础上增加两个实用的功能:一是使文字具有立体形状,二是使文字具有超链接属性。下面就让我们一步步来实现这些功能。   一、使文字具有立体形状   首先定义类型T3DEffect和属性Style3D分别如下:   T3DEffect=(Normal,Raised,Lowered, Shadowed); [阅读全文] [PDF]
传统Pascal 语言其大小是预先确定当你用结构声明数据类型时你必须指定元素个数专业员也许知道些许动态实现技术般是采用指针用手工分配并释放所需内存 Delphi 4中增加了非常简单动态实现思路方法实现过程效仿我前面讲过动态长串和长串样动态内存动态分配并且引用记数不过动态不支持 copy-on-write 技术这不是个大问题你可以把变量值设置为nil释放内存 这样你就可以声明个不指定元素个数并用SetLength 过程给分配个特定大小内存SetLength 过 [阅读全文] [PDF]
我们首先为这个Control控件添加些属性我们定义个Max属性用于设置或读取滚动条最大值在中般不直接使用属性所以要定义个变量和该属性对应起来边修改或读取其值它只在Control控件内部使用所以我们把它定义在private后⑵(般和属性相关联变量都以\"F\"开头例如FMax)定义好变量后再定义属性这个属性需要再Object Inspector窗口中可见所以把它定义再published后⑶定义语法是:  property <属性名>:<类型> [阅读全文] [PDF]
=txt>  定义完这些TBitmap类型变量属性后上面讲create过程和destroy过程中就需要编写代码了TBitmap也是个类所以在create过程中必须创建⑸在destroy过程中必须释放掉(free)⑹这里⑺所指inherited语句是用于指明该过程是从祖先类类中继承来(这个定不能掉)  我们编写是可视化Control控件所以必须在Control控件上画图我们这个Control控件祖先类TGraphicControl中封装有个Canvas(画布)对象我 [阅读全文] [PDF]
=txt>  编到这里就算是终于给自己新Control控件做了个外型了不过它还不能滚动现在我们来编写鼠标事件让我们能够操纵它鼠标事件过程定义和Pa过程很相似只是后面要加上参数介绍说明⑿,鼠标事件分为MouseDown、MouseMove和MouseUp 3个在定义后面都要加上override接下来在后面编写它代码注意:这里鼠标事件是Mouse…而不是通常OnMouse…可是在⒀处定义是干什么用呢?这里事件定义都是给用户使用也就是说当使用该Control控件时会在O [阅读全文] [PDF]
delphi 开发应用中每个窗体都有个对应窗体文件(.dfm)用来记录该窗体属性以及窗体上所有Control控件属性以便在窗体关闭后能准确地重新生成窗体几乎所有DELPHI参考书都没有提到过该文件具体情况偶尔提到也都泛泛而谈窗体文件是 2进制文件只有在DELPHI提供编辑环境中才能看到它本来面目对其进行操作可能会出现不可预知;而且在大多数情况下确实没有修改必要而本文谈到和窗体文件密切相关   要利用窗体文件首先必须了解该类型文件结构窗体文件结构很简单朋友们可以生成 [阅读全文] [PDF]
unitSliderMemo; erface usesWindows,Messages,SysUtils,Classes,Graphics,Controls,StdCtrls,Dialogs,  ExtCtrls; type  TSliderMemo=(TMemo)  private   FOnLoop:TNotyEvent;   FTopNow:eger;   FScrollSpeed:eger;   FTimer:TTimer;   FCanvas:TCont [阅读全文] [PDF]
    可视化Control控件(Visual Component)实际上就是个类()要编写个类可以直接在*.pas文件中编写但是要编写Control控件则必须使用包(package)从File菜单中选择New新建个Package这就是存放和安装Control控件用包然后单击Package窗口中Add按钮添加个元件(Unit)      在弹出对话框最上方选择New Comp [阅读全文] [PDF]
 可视化Control控件(Visual Component)实际上就是个类()要编写个类可以直接在*.pas文件中编写但是要编写Control控件则必须使用包(package)从File菜单中选择New新建个Package这就是存放和安装Control控件用包然后单击Package窗口中Add按钮添加个元件(Unit)  在弹出对话框最上方选择New Component个Control控件所有属性、思路方法、事件不可能都由自己编所以就需要选择祖先类(或者叫做\"父类\"或\"基类\")然后再在其上面添加自己属性、思路方法、事件在Ancestor type [阅读全文] [PDF]
数组由一组具有相同数据类型的元素组成。 1.数组类型的定义 数组类型定义的语法形式是: type <类型标识符>=array[下标类型]of<元素类型>; 数据元素所属类型称为数组的基类型,基类型可以是除文件类型以外的所有数据类型。“下标类型\"一般是子界类型。常用的有一维数组和二维数组,它们分别带有1个或2个下标,多个下标在定义时用逗号隔开,例如: type A=array[O..7]of Real; 、 B=array[1..5,1..5]of Integer; A定义为有8个元素的实型数组类型,B定义为有5×5个整型元素的二 [阅读全文] [PDF]
上述数组是静态的,即在定义数组变量时,必须指定数组的大小,系统在运行之前就为程序分配了内存空间。Delphi还可以使用动态数组,即在编译时不知道维数,在运行时动态分配的数组。为了定义一个动态数组,只要在定义时不指定维数,语法格式如下: var<数组变量名>:array of<元素类型>: 例如: var A:array of Integer; 定义了动态数组变量A,定义中只指定了基类型,而没有指定元素个数。程序运行时,用SetLength()过程为数组分配实际的内存空间,例如: SetLength(A,1 O); 系统为数组A分配 [阅读全文] [PDF]
当数组元素均为字符型时,称这个数组是字符型数组。 (1)字符数组的类型定义格式 type<字符数组名>=array[下标类型]of char; 例如,type chr=array E 0..9]of char;就定义了一个可存放1 0个字符的一维数组类型chr。 (2)字符数组的变量定义及使用 与数组类型变量定义和使用一样,但是它更适合将字符数组作为字符串处理的情形。 书后所附光盘中E:\delphi\program\exampl比一24,演示了字符数组的使用,输入字符并用字符串输出函数writeln输出到屏幕。 2.字符串类型 . 计算机编 [阅读全文] [PDF]
1 共19条 分1页