摘要:
format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:
首先看它的声明:function format(const format: string; const args: array of const): string; overload;事实上format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,......
摘要:
delphi的接口陷阱
现在我所知的有两大陷阱:
陷阱一、接口的类型转换陷阱
a) 不能把一个对象引用强制转换成这个引用的类型没有声明实现的接口,即使这个对象实际实现了这个接口(呵呵,优点拗口)。
b) 当把一个对象变量赋给一个接口变量,在把这个接口变量赋还给对象变量时,这个对象变量的地址已经变了,也就是不再是原来的对象了,而是指向一个错误的地址。
例如:
i1 = interfac......
关于VCL的编写 (一) 怎样编写自己的VCL控件
怎样编写自己的vcl控件
vcl控件的开源,给我们带来了享之不尽的好处.不像以前的ole控件以及activex,你完全可以重写delphhi标准控件,而且网上这方面的资源很多. 【程序编程相关:
Delphi处理SQL Server多媒】
用过delphi的朋友们,大概对delphi的最喜欢delphi的不是他的强类型的pascal语法,而是强大的vcl控件,本人就是一位vcl控件的爱好者. 【推荐阅读:
源码交流网,提供50套商业源码免费下载】
【扩展信息:
用AdoDataSet实现数据表的导入导】
关于如何编写vcl控件,与多delphi的书籍里都有介绍,在此简单的说明一下.
在delphi中,tcomponent是所有vcl构件的基础.编写非可视构件以便从tcomponent派生.delphi提供了若干专门用于制作控件(可视构件)的基本构件类型,都是从tcontrol与twincontrol派生而来.其派生关系如下:
tcontrol---tgraphiccontrol---tcustomlabel
twincontrol--tcustomcontrol---tcustomgrid
---tbuttoncontrol--tcustomgroupbox
---tscrollingwincontrol--tcustompanel
---tcustomcombobox
---tcustomedit
---tcustomlistbox
tcontrol的子类型用于非窗口式控件,twincontrol的子类型 则用于窗口式控件.除非特殊需要,一般不直接从tcontrol与 twincontrol派生新控件,而是从其子类型派生.这样可以充分利 用原有的属性.事件与方法,减少很多工作量.
编写控件,首先要选择适当的vcl对象类型作为父对象,以派生新的对象.
下面给出一个具体的例子,来实现一个增强型的edit输入框,是他可以根据输入的数据类型对输入字符进行有效性判断,增加类似于tlabel一样的左对齐.中对齐.右对齐功能.
通过delphi的构件向导从tedit继承生成自己的控件:
teditdatatype = (dtpstring, dtpinteger, dtpfloat); //输入的数据类型
tmyedit=class(tedit)
private
falignment: talignment;
fdatatype: teditdatatype;
fprecision: integer;
procedure setalignment(const value: talignment);?? //用来设置对齐方式方法
procedure setprecision(const value: integer);???????????? ...
下一页 摘要:
假设有一组数字 1~1000,请将它们随机填充在一个数组中要求:1、数组中无重复数字2、整个程式运算很快!
william 兄解答var
nums: array[1..1000] of integer;
i,j,k,temp: integer;
begin
for i := low(nums) to high(nums) do
nums[i] := i;
for i :=......