作者:大海 delphi中的变体记录 //Integer类型刚好是4个字节,ShortInt类型是1个字节,但是Windows中内存是4字节分配, //所以这里其实还是4个字节,用SizeOf可以看到这个record的大小是8字节,这样虽然浪 //费了空间,但是加快了速度(Windows内存分配中的边界对齐原理) TPerson =record Age: Integer; Sex
Delphi中的Record类型中,与之C语言对应的即是结构体类型(struct),也可能是为了符合C语言或C++程序员的习惯,对于它在Delphi中的应用存在的一些问题进行初步的说明。在Delphi中的记录体类型有两种方式定义 Type     RecTest = record (packed)      
转载 精选 2010-02-04 15:28:01
8049阅读
Delphi中的Record类型中,与之C语言对应的即是结构体类型(struct),也可能是为了符合C语言或C++程序员的习惯,对于它在Delphi中的应用存在的一些问题进行初步的说明。在Delphi中的记录体类型有两种方式定义 Type     RecTest = record (packed)       ID
原创 2023-04-23 09:12:47
517阅读
1. 起源此问题源于[秋风人事档案管理系统]用Delphi XE重编译中所发现。快十年了,当初Delphi 7所编写项目,想用Delphi XE重新编译,并打算做为Free软件发布,编译错误中发现此问题,感觉颇有些意思,遂记录下来,以做备忘。自Delphi 2009之后我转做c#之WinForm界面开发,Delphi 2010之后未实际做过项目,因此至此才遇到此问题。此时Delphi XE更新已至
转载 6月前
78阅读
TlistView组件功能: (1) TListView 控件可以用来显示各项带图标的列表,包括大图标和小图标的;也可以用来显示带有子项的列表,Windows操作系统的资源管理器中文件夹窗口就是最好的应用例子,就是我们打开"我的电脑"后能够看到各个盘符的界面 ( 2) TListView控件基本能实现和DBGrid控件一样的功能,很多时候根据程序需要可以完全用TListView来替换DBGrid
打印          打印对于许多 Windows 程序员来说是十分棘手的问题。        Delphi 简化了打印时用户所必须了解的大部分内容。用户可以很轻松地写出简单的打印程序来输出文本和位图化了的图像。对于更为复杂的打印,仅需了
今天做的一个项目中要使用一大串数据进行处理。如何对这一系列的数据进行保存成为一个首要的问题。唉,Delphi啊,你何时才能支持泛型啊。在C#,C++这都不是问题了啊。在Delphi里只有TStringList这个容器可以使用,但是它是处理字符串的。一进一出,需要大量的typecast时间。用链表??不值得。上网一查,呵呵,可以用动态数组。看来我还是一个新手,这个东西我都不知道啊。啥时候Delphi
1.抽象  (相当于制造前 画图纸/捏造/想象对象的阶段,还没开始造)1.1.类在 type 之下定义.1.2.类的结构:type TPerson = class end;TPerson,你可以随便取,但应该符合命名规范.前面的T 为类名约定前缀,你可以不要.2.实例化.(把抽象好的对象制造出来)所有的类都需要实例化才能使用.2.1.如果你的类,抽象在A单元(窗体)中,
Delphi中的Record类型中,与之C语言对应的即是结构体类型(struct),也可能是为了符合C语言或C++程序员的习惯,对于它在Delphi中的应用存在的一些问题进行初步的说明。在Delphi中的记录体类型有两种方式定义 Type             &nb
转载 5月前
30阅读
1.简单类型(Simple)简单类型包括实数类型(Real)和有序类型(Ordinal)。有序类型又包括整数类型、字符类型、布尔类型、枚举类型和子界类型等。1-1.有序类型有序类型是一个有序数的集合。在每一种有序类型中,任何一个该类型的元素都有一个唯一的先行数(第一个除外)和唯一的后继数(最后一个除外)。而且,每个值均有一个确定的序号。对整型数而言,该序号就是该整数的本身。而其它的有序类型(子界类
Record 和Packed Record 第一种不带packed关键字的结构体表明编译器编译时要求进行字对齐,而第二种带packed关键字的结构体表明编译器编译该结构体时不需要进行字对齐,这种方式对结构体中的字段访问会比第一种方式慢!但是更节约空间。有Packed 的占用内存小,但是速度慢一点。没
转载 2017-03-17 11:28:00
132阅读
2评论
SetLength(OldDeptInfo,0); //释放旧数组 OldDeptInfo:=nil; 这样也可以; //SetLength(OldDeptInfo,Length(NewDeptInfo)); //不需要设定长度; OldDeptInfo:= NewDeptI...
转载 2015-03-27 16:47:00
175阅读
2评论
TStrings类    出于效率的考虑,Delphi并没有象C++和Java那样将字符串定义为类,因此TList本身不能直接存储字符串,而字符串列表又是使用非常广泛的,为此Borland提供了TStrings类作为存储字符串的基类,应该说是它除了TList类之外另外一个最重要的Delphi容器类。要注意的是TStrings类本身包含了很多抽象的纯虚的方法,因此不能实
转载 4月前
66阅读
结构化程序设计04让编程改变世界Change the world by programRepeat语句 Repeat语句用来实现“直到型循环”,其语法格式及功能如下(介个就像C的do……while, 就是不管三七二十一,干完再考虑后果)。   [格式] [codesyntax lang="delphi"] Repeat 循环体; Until (循环条件); [/codesyn
1.类的虚方法(virtual)和动态方法(dynamic)方法的定义:TMyClass = class procedure Proc1(x,y: Real); virtual; //虚方法 function Fun1(x,y: Real): Real; virtual; procedure Proc2(x,y: Real); dynamic; //动态方法 functio
1、把窗体置于屏幕中央设置窗口的position属性值。屏幕中间是 poScreenCenter,桌面中间是poDesktopCenter2、修改form的name,以及form类的name很多时候我们创建一个窗体,delphi会自动创建默认的名字,实例名Form1和类名TForm1,当整个项目中有多个窗体时,必须要修改窗体类名,简单快捷可行的方法是,双击.dfm文件,修改其窗体属性的name,比
转载 4月前
35阅读
​//Integer类型刚好是4个字节,ShortInt类型是1个字节,但是Windows中内存是4字节分配,//所以这里其实还是4个字节,用SizeOf可以看到这个record的大小是8字节,这样虽然浪//费了空间,但是加快了速度(Windows内存分配中的边界对齐原理)TPerson = recordAge: Integer;Sex: ShortInt;end;TPackedPerson =
转载 2020-11-10 11:50:00
776阅读
2评论
<一>在Delphi中静态调用DLL top 调用一个DLL比写一个DLL要容易一些。首先给大家介绍的是静态调用方法,稍后将介绍动态调用方法,并就两种方法做一个比较。同样的,我们先举一个静态调用的例子。 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, For
type personInfo=Record //定义Record Name:String[10]; Age:integer; end; //写记录包括新键与添加记录 procedure WriteRec; var NewRec:PersonInfo; //声明Rec变量 F:File of PersonInfo; //Rec型文件变量 RecFileName:ShortString; //保存R
转载 2019-09-03 15:55:00
96阅读
2评论
数组是可以通过索引来引用的同类型数据的列表。按照存储空间的获取方式,Delphi支持的数组类型有两种,即静态数组和动态数组。所谓静态数组就是在声明时就已经确定大小的数组类型。数组的下标一般下界值都为0,不建议使用非0下标。静态数组:1 标准方法: var MyArr: array[0..10] of Integer; //定义静态数组2 可以使用非0下标: var MyArr: a
  • 1
  • 2
  • 3
  • 4
  • 5