- 博客(26)
- 资源 (7)
- 收藏
- 关注
原创 DWORD
1个二进制位称为1个bit,8个二进制位称为1个Byte,也就是1个字节(8位),2个字节就是1个Word(1个字,16位),则DWORD(DOUBLE WORD)就是双字的意思,两个字(32位)
2013-10-28 14:11:00 1573
转载 Int64:是Delphi中最大的整数,64位有符号整数
声明:type Int64 = -9223372036854775808..9223372036854775807;描述:Int64是64位存储的有符号整数。这个大小已经是固定的了,在以后的Delphi版本中也不会再改变。像IntToStr这样的函数也支持Int64类型(通过重载实现)。整数常量超过Integer类型的最大值时,将强制转换为Int64类型。备注:在Delphi中没有无符
2013-10-21 11:45:57 8558
转载 Delphi 中PChar()函数的用法
PChar是一个指针, 它的大小只有32位. 定义时由Delphi自动填0. 要将PChar作为字符串 使用的话必须自己分配内存用完必须自己释放. PChar型字符串由#0表示字符串结尾 Delphi所提供的相关PChar字符串的操作都是判断#0来决定字符串的结尾的。 因为PChar是指针,所以它能指向任何地方(也就是说它不一定非要指向字符串不可). 把一个String赋值给PCh
2013-10-18 16:21:53 6293
转载 delphi Move操作
var s:string; ps:Pchar; b:pbyte; len:integer; begin s:=edit1.Text; //字符串 ps:=pchar(s); //转成pchar类型, len:=length(s);//取字符串长度,占用多少字节 getmem(b,len);//申请内存,pchar,
2013-10-18 16:18:25 805
转载 (Delphi)New,Getmem,ReallocMem联系与区别(转)
procedure New(var P: Pointer); {为一个指针变量分配内存,会自动计算指针所指数据结构需要空的空间大小}procedure GetMem(var P: Pointer; Size: Integer); {分配一个指定大小的内存块(连续),并用P指向它}procedure ReallocMem(var P: Pointer; Size: Integer);{重新
2013-10-18 13:32:49 986
转载 setlength
setlength(xxx,N);//设置xxx的长度为NTmpstr[1]//Tmpstr的第一个字符Read(Tmpstr[1],NumberBytes)//读取Tmpstr第一个字符开始NumberBytes个字符同理write...的原理就是写入指定字符
2013-10-18 11:45:51 978
原创 有关属性传值
procedure TGameProcessTable.SendGetCard;beginm_StartPlayer.Cards[m_StartPlayer.nCard] := m_GetCard;end; -------------------------------------------- TGameTable = class m_StartPlayer
2013-10-18 11:12:46 531
原创 div 和 mod
DIV:a div b=trunc(a / b) 直接去掉小数trunc(3.7)=3 trunc(3.1)=3 / 为浮点运算div 为取整运算,不是四舍五入,如 9 div 10 = 0 MOD:就是取余数,小学学过的。先用100整除6,取余数就是(100 mod 6)100 mod 6=410 mod 4=2
2013-10-17 13:41:36 2064
转载 [delphi函数] Dispose 释放为指针分配的内存空间
Dispose 功能说明:释放为指针分配的内存空间。 参考实例: var P: Pinteger; // 声明一个Integer(整型)指针 begin New(P); P^ := 100; Dispose(P) // 释放内存 end;
2013-10-15 12:03:13 1450
转载 delphi dispose释放内存的方法 New 和 GetMem 的区别
delphi dispose释放内存的方法 New 和 GetMem 的区别 定义一个record 类型,经过多次new dispose后,从windows任务管理器看,占用的内存比启动时大了很多,似乎越来越大设置 ReportMemoryLeaksOnShutdown := true; 再运行,仍然没有提示 memory leak。其实就是dispose 本身的原因。delp
2013-10-15 12:02:21 1235
转载 FillChar
System单元的FillChar过程用来把指定内存段中的所有字节赋为相同的值,它通常用来清空数据。FillChar的格式是FillChar(var X; Count: Word; Value),X是指定的内存段,如数组变量,Count是内存段的大小,即字节数,Value是填充的值,可以是Byte、Char或Boolean等单字节类型的值。如果你要把元素类型为Shortint、Integer或Lo
2013-10-15 10:51:53 1182
转载 sizeof
12345int i; sizeof( i ); // oksizeof i; // oksizeof( int); // ok sizeof int;// error sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。 已知 ch
2013-10-15 10:36:17 584
原创 delphi中关键字inherited
A是基类、B继承A、C继承B、若C函数中有inherited方法,则C中所调用的以及实现的就是全为B中的,同样,B中若有inherited,则B中调用的全为A中的。 代码如下: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For
2013-10-14 16:58:21 4307
转载 shl 和 shr
x:=x shl 1 二进制数向左移1位,尾部补1个零,相当于x:=x*2;x:=x shl 2 二进制数向左移2位,尾部补2个零,相当于x:=x*4;...x:=x shl n 二进制数向左移n位,尾部补n个零,相当于x:=x*2^n;x:=x shr 1 二进制数向右移1位,首部补1个零,相当于x:=x div 2;x:=x shr 2 二进制数向右移2位,首部补2个零
2013-10-12 17:16:05 801
转载 delphi 中 single 转 str 类型
用FloatToStr(s)转换 或用有格式的Format('%10.2f',[s])函数。以下是源码:procedure TForm1.Button1Click(Sender: TObject);vars:single;begins:=1234.56;showmessage(FloatToStr(s));//或有格式的 showmessage(Format('
2013-10-11 11:49:34 1977
转载 Single,Double,Extended区别
实数类型代表不同格式的浮点数。Single类型占的字节数最小,为4个字节;其次是Double 浮点类型,占8个字节;Extended 浮点类型,占10个字节。这些不同精度的浮点数据类型都与IEEE( 电气和电子工程师协会)标准的浮点数表示法一致,并且 CPU数字协处理器直接支持这些类型,处理速度也最快。
2013-10-11 11:48:02 1814
原创 Pointer 和 @
Pointer(s)是强制转型得到的指针,如Pchar(s)@是取地址。@Pointer(s)=@s基本上是这样的。 @S返回的是S的实际地址,Pointer是指针地址,本身是需要空间存放的,Pointer(S)方式是强制转换,你给他的是一个值,那么他返回的就是一个值
2013-10-11 11:34:36 682
转载 Delphi pointer .
怎样才能访问pointer指针的所有数据?(最好有多种方法一起说明) 例: var p:pointer begin p:=一个指针变量 p:=p+1;//为什么不能这样使用?怎样才能指向下一个地址? end;var p: pointer; s: string; begin s:= 'abc'; p:= PChar(s); //给指针赋值 p:
2013-10-11 11:32:18 3324
转载 sqrt
pascala := sqrt(sqr(x-x[j])+sqr(y-y[j]));b := sqrt(sqr(x-x[k])+sqr(y-y[k]));c := sqrt(sqr(x[j]-x[k])+sqr(y[j]-y[k])); 格式:SQRT()功能:返回指定表达式的平方根。自变量表达式的值不能为负。例:SQRT(16)=4
2013-10-10 16:37:22 892
转载 sqr
1、在多数编程语言中,sqr(x)代表求非负数x的算术平方根 例: sqr(4) = 2 ;2、在pascal语言中,Sqr(x)代表 求x的平方。 例:sqr(4)=16
2013-10-10 16:34:08 1756
原创 Delphi中inherited问题
inherited Create(AOwner); 和直接写inherited有区别吗 有区别,inherited Create是指定调用父类的Create方法,当然你也可以inherited Destory等等,如果直接写inherited则默认以本方法名在父类中调用 inherited就是调用祖先类的函数,如果不带参数就是默认调用同名函数如果带参数则表明子类中的函
2013-10-10 14:54:17 2475
转载 Delphi 变体类型(Variant)的介绍(流与变体类型的相互转换、变体类型常用的函数) .
一、变体类型常用的函数介绍: Variant: 一种可以拥有各种数据类型; 也可以告诉目前存储的数据是什么类型(通过使用VarType函数); 可以给相同的Variant分配不同的数据类型,只要Variant包含数字值就可以执行算法; variant数组只不过是variant型的数组,不必包含同类型的数据;1、 VarArrayOf函数:更快捷的创建一维变体数组,可以创
2013-10-09 11:22:42 989
转载 Delphi中TDateTime使用心得
TDateTime是一个比较常用的类型,用于表达日期时间类型的数据。但是,刚刚接触delphi的新手在使用这个类型的时候往往会不知所措,不知道该怎样使用才能得到自己想要的结果。这里说说我在使用过程中的一点心得,其中大部分的内容是来自于delphi帮助,所以如果看了这篇文章对TDateTime还有什么不清楚的可以去看看Delphi的帮助。另外在这篇文章里我也会告诉大家我使用帮助的心得,这对老手或许是
2013-10-09 09:30:08 1526
转载 delphi中Record 和Packed Record的区别
Record 和Packed Record 第一种不带packed关键字的结构体表明编译器编译时要求进行字对齐,而第二种带packed关键字的结构体表明编译器编译该结构体时不需要进行字对齐,这种方式对结构体中的字段访问会比第一种方式慢!但是更节约空间。有Packed 的占用内存小,但是速度慢一点。没Packed 的占用内存大,但是速度快一点 比如: TA
2013-10-08 11:41:51 693
cppcheck-1.85-x86-Setup
2018-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人