- 浏览: 161639 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
goye:
测试可用 很好
Delphi 关闭 DEP (2008/xp sp3?) -
yhjhoo:
参考我写的一篇文章,也是关于ubuntu svn客户端的,跟在 ...
Ubuntu下的图形界面SVN客户端 – eSvn -
com1com4:
hangxin06066 写道你好啊,set SVNLOOK= ...
svn强制添加注释脚本 -
hangxin06066:
你好啊,set SVNLOOK="C:\Progra ...
svn强制添加注释脚本 -
com1com4:
找了几个简单的小项目测了一下, 似乎是没啥问题当打算全部转的时 ...
[转]用 SVN Importer 实现 CSVNT 到 SVN 的转换
类型可以分为基本(fundamental)和一般(generic)类型。基本类型的范围和形式是相同的,不管是基于何种CPU 和
操作系统;而一般类型的范围和形式是平台相关的
大多数内置类型属于基本类型,但少数整数、字符、字符串和指针类型属于一般类型。
在需要的时候使用一般数据类型是一个好注意,因为它们提供优化的性能和轻便性。
类型也可以分为简单类型、字符串类型、结构类型、指针类型、过程类型和变体类型。
下面的提纲显示了Object Pascal 数据类型的分类:
simple简单类型
ordinal有序类型
integer 一般(generic)整数类型是Integer 和Cardinal
基本整数类型包括Shortint、Smallint、Longint、
Int64、Byte、Word 和Longword
character 基本字符类型是AnsiChar 和WideChar。
一般字符类型是Char,它相当于AnsiChar。
Boolean 布尔类型为Boolean、ByteBool、WordBool和LongBool,Boolean是首选的
enumerated
subrange
real实数类型 Real48 Single Double Extended Comp Currency
string 字符串类型 ShortString AnsiString WideString
structured
set
array
record
file
class
class reference
interface
pointer
procedural
Variant
(type identifier)
标准函数SizeOf 作用于所有变量和类型标志符,它返回一个整数,表明存储指定类型的数据所需要的内存数(字节)。
有序类型包括整数、字符、布尔、枚举和子界类型。有序类型定义一个有次序的数值集合,除了它的第一个值以外,其它每个值都有一个唯一的前驱值(predecessor);除了最后一个外,其它每个值都有一个唯一的后继值(successor)
Ord 有序类型表达式 序数值
Pred 有序类型表达式 表达式的前驱值
Succ 有序类型表达式 表达式的后继值
High 有序类型的变量或标志符 类型的最大值
Low 有序类型的变量或标志符 类型的最小值
例程High、Low、Succ、Pred、Inc、Dec、IntToStr 和IntToHex 完全支持Int64 参数。
而且,Round、Trunc、StrToInt64 和StrToInt64Def 返回Int64 类型的值;
少数例程(包括Ord)根本不能对Int64 数值进行操作。
当把整数类型的最后一个值增大或把第一个值减少时,结果将回到整数类型的开头或尾部
。内置函数Chr,返回一个在AnsiChar 或WideChar取值范围内任意一个整数的字符值。比如,Chr(65)返回字母A。
<Leo>Inc()是什么呢?
对ByteBool、WordBool 和LongBool 来说,若它的序数不为0,它就被认为是True。在一个需要Boolean类型的环境种,
编译器自动把非0 值转换为True。
在Object Pascal 中,布尔表达式不能和整数或实数进行换算。所以,若X 是一个整数变量,语句
if X then ...;
会产生编译错误
定义一个枚举类型,使用下面的语法:
type typeName = (val1, ..., valn)
type Size = (Small = 5, Medium = 10, Large = Small + Medium);
比如:type Suit = (Club, Diamond, Heart, Spade);
在声明变量时,可以直接使用(val1,…,valn)结构,它就像一个类型名称:
var MyCard: (Club, Diamond, Heart, Spade);
子界类型表示其它有序类型(称为基础类型)的一个子集:它的形式为Low..High
• Extended 类型比其它实数类型有更高的精度,但不够轻巧。当使用Extended 类型创建的文件要跨平
台共享时,务必小心。
• Comp(computational)类型对Intel CPU 是优化的,表示为64 位整数,但它被分类位实数类型,因为它的行为不像有序类型(比如,你不能递增和递减)。保留此类型只是为了向后兼容性,使用Int64可获得更好的性能。
• Currency 类型有固定的小数点,可以把在货币运算中出现的错误减到最少。It is stored as a scaled
64-bit integer with the four least significant digits implicitly representing decimal places. 当在赋值
语句和表达式中与其它实数类型混合使用时,它的值会自动除以或乘上10000。
在赋值语句和表达式中,字符串类型可以混合使用,编译器自动进行所需的转换。但对于过程或函数,
当使用引用方式传递字符串时,类型必须正确。
在默认的{$H+}状态下,编译器把string(当它的后面没有包含数字的中括号时)解释为AnsiString;
使用{$H-}指示字把它解释为ShortString。
标准函数Length 返回一个字符串的字符个数;SetLength 设置一个字符串的长度。
可以像数组一样对字符串使用索引。若S 是一个字符串变量,i 是一个整数表达式,则S[i]表示S 中第
i 个字符(或者,严格说来,是第i 个字节)。对于ShortString 或AnsiString,S[i]是AnsiChar 类型;对于
WideString,S[i]是WideChar 类型。语句 MyString[2] := ’A’; 把值A 赋给MyString 的第2 个字符。
若S 是一个ShortString 变量,Ord(S[0]),和Length(S)一样,将返回S 的长度;给S[0]赋值,就像调用SetLength
,将改变S 的长度。
var MyString: string[100];声明一个叫做MyString 的变量,它的最大长度是100 字节,
标准函数High 和Low 能作用于short-string 类型名和变量,High 返回它的最大长度,Low 返回0。
AnsiString 类型又称为长字符串,它可以动态分配,并且长度只受内存限制。它使用8 位ANSI 字符。
长串变量是一个指针,占据4 个字节的内存。当变量为空时(也就是长度为0 的字符串),指针为nil,
此时,它不需要额外的内存
因为长串变量是指针,所以,两个或更多的变量可以引用同一个值,而不必使用额外的内存。编译器利
用这一点节省资源和进行快速赋值。只要一个长串变量被销毁或赋给一个新值,原来的串(变量的前一
个值)引用计数减1,而新的值(如果有的话)引用计数加1。若引用计数为0,它的内存被释放。这个
过程被称为reference-counting。当使用字符串索引改变其中的一个字符时,若字符串的引用计数大于1,
将生成串的一个拷贝,这被称为copy-on-write 机制。
WideString 类型是动态分配的、由16 位Unicode 字符所构成的字符串。在大多数方面,它和AnsiString
相似。(注:宽字符串没有引用计数,不支持copy-on-write 机制,但支持内存动态分配。)
在Win32 下,WideString 和COM BSTR 类型兼容。
Object Pascal 支持单字节和多字节字符以及字符串,适用的类型有:Char、PChar、AnsiChar、PAnsiChar
和AnsiString。对多字节字符串使用索引是不可取的,因为S[i]表示S 中第i 个字节(不一定是第i 个字
符),但是,标准字符串处理函数有多字节版本,它们还实现了locale-specific ordering for characters(多
字节函数的名称通常以Ansi 开头,比如StrPos 的多字节版本是AnsiStrPos)。多字节支持依赖于操作系
统和本地设置(current locale)。
Object Pascal 使用WideChar、PWideChar 和WideString 类型支持Unicode 字符和字符串。
字符串常量和类型PChar、PWideChar 是赋值兼容的,后两者表示指针,
它们指向一个以0 结尾的Char 或WideChar 字符数组。
一个字符指针(PChar 或PWideChar)可以像数组一样使用索引。
结构类型包括集合、数组、记录,也包括类、类引用(class-reference)和接口类型。
除了集合只能包含有序值以外,结构类型可以包含其它的结构类型,且结构的层次不受限制。
默认情况下,一个结构类型的值被圆整为字(word)或者双字(double-word),这样访问起来更迅速。
当声明一个结构类型时,可以包含关键字packed,这将对数据的存储进行压缩(并不是压缩,只是不再
圆整数据,而保留它的自然结构)。比如:
type TNumbers = packed array[1..100] of Real;
使用packed 使数据访问变慢,并且在使用字符数组的情况下,能影响类型兼容性
集合(Set)是同一种有序类型的值的聚集,它们包含的值没有内在的顺序,且一个值在集合中包含两次并没有
实际意义。声明:
type
TSomeInts = 1..250;
TIntSet = set of TSomeInts;
?等同於:type TIntSet = set of 1..250;
有了上面的声明,你就可以像下面这样构造集合了:
var Set1, Set2: TIntSet;
...
Set1 := [1, 3, 5, 7, 9];
Set2 := [2, 4, 6, 8, 10]
你也可以直接使用set of …构造直接声明变量:
var MySet: set of ’a’..’z’;
...
MySet := [’a’,’b’,’c’];
静态数组类型以下面的格式声明:array[indexType1, ..., indexTypen] of baseType
比如:var MyArray: array[1..100] of Char;
一个多维数组是数组的数组,比如:
type TMatrix = array[1..10] of array[1..50] of Real;
就等价于
type TMatrix = array[1..10, 1..50] of Real;
可使用这样的索引:MyMatrix[2,45],或像这样:MyMatrix[2][45]。
packed array[Boolean,1..10,TShoeSize] of Integer; 等价于
packed array[Boolean] of packed array[1..10] of packed array[TShoeSize] of Integer;
标准函数Low 和High 作用于数组类型(的标志符)或变量,它们返回数组第1 个索引(类型)的最小
值和最大值;Length 返回数组第1 维的元素个数
一维、压缩的(packed)、Char 类型的静态数组称为packed string,它和字符串类型兼容,也和其它具有
相同元素个数的packed string 兼容。
array[0..x] of Char 类型的数组,是0 下标开始的字符数组,它用来存储零结尾字符串,并且和PChar 类
型兼容。
??????值或把它??SetLength函??,它的?存被重新分配。
动态数组以下面的形式声明: array of baseType
比如:var MyFlexibleArray: array of Real;
要取消动态数组的分配,给它的变量赋值nil,或者把变量传给Finalize
不要对一个动态数组变量使用运算符‘^’,也不要对它使用New 或Dispose 过程
若X 和Y 是同一类型的动态数组变量,X := Y 使X 指向和Y 相同的数组(在这个操作之前,不必给X
分配内存)。不像字符串和静态数组,动态数组不会在被写之前自动拷贝。
使用索引给动态数组赋值(比如,MyFlexibleArray[2] := 7),不会为数组重新分配内存;编译时,索引
边界检查也不会给出提示。
要截断一个动态数组,把它传给SetLength 或Copy,并把返回的值赋给数组变量(SetLength 通常更快)
记录(类似于其它语言中的结构)表示不同种类的元素的集合,每个元素称为“字段”,声明记录类型时
要为每个字段指定名称和类型。声明记录的语法是
type recordTypeName = record
fieldList1: type1;
...
fieldListn: typen;
end
比如:
type
TDateRec = record
Year: Integer;
Month: (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
Day: 1..31;
end;
只有在实例化时才进行分配,像下面的样子:
var Record1, Record2: TDateRec;
Record2 := Record1; 把Record1 的值拷贝给Record2
也可以使用record ...构造直接声明变量:
var S: record
Name: string;
Age: Integer;
end;
一个记录类型能拥有变体部分,它看起来就像case 语句
type
TEmployee = record
FirstName, LastName: string[40];
BirthDate: TDate;
case Salaried: Boolean of
True: (AnnualSalary: Currency);
False: (HourlyWage: Currency);
end;
要声明一个文件类型,使用下面的语法:type fileTypeName = file of type
操作系统;而一般类型的范围和形式是平台相关的
大多数内置类型属于基本类型,但少数整数、字符、字符串和指针类型属于一般类型。
在需要的时候使用一般数据类型是一个好注意,因为它们提供优化的性能和轻便性。
类型也可以分为简单类型、字符串类型、结构类型、指针类型、过程类型和变体类型。
下面的提纲显示了Object Pascal 数据类型的分类:
simple简单类型
ordinal有序类型
integer 一般(generic)整数类型是Integer 和Cardinal
基本整数类型包括Shortint、Smallint、Longint、
Int64、Byte、Word 和Longword
character 基本字符类型是AnsiChar 和WideChar。
一般字符类型是Char,它相当于AnsiChar。
Boolean 布尔类型为Boolean、ByteBool、WordBool和LongBool,Boolean是首选的
enumerated
subrange
real实数类型 Real48 Single Double Extended Comp Currency
string 字符串类型 ShortString AnsiString WideString
structured
set
array
record
file
class
class reference
interface
pointer
procedural
Variant
(type identifier)
标准函数SizeOf 作用于所有变量和类型标志符,它返回一个整数,表明存储指定类型的数据所需要的内存数(字节)。
有序类型包括整数、字符、布尔、枚举和子界类型。有序类型定义一个有次序的数值集合,除了它的第一个值以外,其它每个值都有一个唯一的前驱值(predecessor);除了最后一个外,其它每个值都有一个唯一的后继值(successor)
Ord 有序类型表达式 序数值
Pred 有序类型表达式 表达式的前驱值
Succ 有序类型表达式 表达式的后继值
High 有序类型的变量或标志符 类型的最大值
Low 有序类型的变量或标志符 类型的最小值
例程High、Low、Succ、Pred、Inc、Dec、IntToStr 和IntToHex 完全支持Int64 参数。
而且,Round、Trunc、StrToInt64 和StrToInt64Def 返回Int64 类型的值;
少数例程(包括Ord)根本不能对Int64 数值进行操作。
当把整数类型的最后一个值增大或把第一个值减少时,结果将回到整数类型的开头或尾部
。内置函数Chr,返回一个在AnsiChar 或WideChar取值范围内任意一个整数的字符值。比如,Chr(65)返回字母A。
<Leo>Inc()是什么呢?
对ByteBool、WordBool 和LongBool 来说,若它的序数不为0,它就被认为是True。在一个需要Boolean类型的环境种,
编译器自动把非0 值转换为True。
在Object Pascal 中,布尔表达式不能和整数或实数进行换算。所以,若X 是一个整数变量,语句
if X then ...;
会产生编译错误
定义一个枚举类型,使用下面的语法:
type typeName = (val1, ..., valn)
type Size = (Small = 5, Medium = 10, Large = Small + Medium);
比如:type Suit = (Club, Diamond, Heart, Spade);
在声明变量时,可以直接使用(val1,…,valn)结构,它就像一个类型名称:
var MyCard: (Club, Diamond, Heart, Spade);
子界类型表示其它有序类型(称为基础类型)的一个子集:它的形式为Low..High
• Extended 类型比其它实数类型有更高的精度,但不够轻巧。当使用Extended 类型创建的文件要跨平
台共享时,务必小心。
• Comp(computational)类型对Intel CPU 是优化的,表示为64 位整数,但它被分类位实数类型,因为它的行为不像有序类型(比如,你不能递增和递减)。保留此类型只是为了向后兼容性,使用Int64可获得更好的性能。
• Currency 类型有固定的小数点,可以把在货币运算中出现的错误减到最少。It is stored as a scaled
64-bit integer with the four least significant digits implicitly representing decimal places. 当在赋值
语句和表达式中与其它实数类型混合使用时,它的值会自动除以或乘上10000。
在赋值语句和表达式中,字符串类型可以混合使用,编译器自动进行所需的转换。但对于过程或函数,
当使用引用方式传递字符串时,类型必须正确。
在默认的{$H+}状态下,编译器把string(当它的后面没有包含数字的中括号时)解释为AnsiString;
使用{$H-}指示字把它解释为ShortString。
标准函数Length 返回一个字符串的字符个数;SetLength 设置一个字符串的长度。
可以像数组一样对字符串使用索引。若S 是一个字符串变量,i 是一个整数表达式,则S[i]表示S 中第
i 个字符(或者,严格说来,是第i 个字节)。对于ShortString 或AnsiString,S[i]是AnsiChar 类型;对于
WideString,S[i]是WideChar 类型。语句 MyString[2] := ’A’; 把值A 赋给MyString 的第2 个字符。
若S 是一个ShortString 变量,Ord(S[0]),和Length(S)一样,将返回S 的长度;给S[0]赋值,就像调用SetLength
,将改变S 的长度。
var MyString: string[100];声明一个叫做MyString 的变量,它的最大长度是100 字节,
标准函数High 和Low 能作用于short-string 类型名和变量,High 返回它的最大长度,Low 返回0。
AnsiString 类型又称为长字符串,它可以动态分配,并且长度只受内存限制。它使用8 位ANSI 字符。
长串变量是一个指针,占据4 个字节的内存。当变量为空时(也就是长度为0 的字符串),指针为nil,
此时,它不需要额外的内存
因为长串变量是指针,所以,两个或更多的变量可以引用同一个值,而不必使用额外的内存。编译器利
用这一点节省资源和进行快速赋值。只要一个长串变量被销毁或赋给一个新值,原来的串(变量的前一
个值)引用计数减1,而新的值(如果有的话)引用计数加1。若引用计数为0,它的内存被释放。这个
过程被称为reference-counting。当使用字符串索引改变其中的一个字符时,若字符串的引用计数大于1,
将生成串的一个拷贝,这被称为copy-on-write 机制。
WideString 类型是动态分配的、由16 位Unicode 字符所构成的字符串。在大多数方面,它和AnsiString
相似。(注:宽字符串没有引用计数,不支持copy-on-write 机制,但支持内存动态分配。)
在Win32 下,WideString 和COM BSTR 类型兼容。
Object Pascal 支持单字节和多字节字符以及字符串,适用的类型有:Char、PChar、AnsiChar、PAnsiChar
和AnsiString。对多字节字符串使用索引是不可取的,因为S[i]表示S 中第i 个字节(不一定是第i 个字
符),但是,标准字符串处理函数有多字节版本,它们还实现了locale-specific ordering for characters(多
字节函数的名称通常以Ansi 开头,比如StrPos 的多字节版本是AnsiStrPos)。多字节支持依赖于操作系
统和本地设置(current locale)。
Object Pascal 使用WideChar、PWideChar 和WideString 类型支持Unicode 字符和字符串。
字符串常量和类型PChar、PWideChar 是赋值兼容的,后两者表示指针,
它们指向一个以0 结尾的Char 或WideChar 字符数组。
一个字符指针(PChar 或PWideChar)可以像数组一样使用索引。
结构类型包括集合、数组、记录,也包括类、类引用(class-reference)和接口类型。
除了集合只能包含有序值以外,结构类型可以包含其它的结构类型,且结构的层次不受限制。
默认情况下,一个结构类型的值被圆整为字(word)或者双字(double-word),这样访问起来更迅速。
当声明一个结构类型时,可以包含关键字packed,这将对数据的存储进行压缩(并不是压缩,只是不再
圆整数据,而保留它的自然结构)。比如:
type TNumbers = packed array[1..100] of Real;
使用packed 使数据访问变慢,并且在使用字符数组的情况下,能影响类型兼容性
集合(Set)是同一种有序类型的值的聚集,它们包含的值没有内在的顺序,且一个值在集合中包含两次并没有
实际意义。声明:
type
TSomeInts = 1..250;
TIntSet = set of TSomeInts;
?等同於:type TIntSet = set of 1..250;
有了上面的声明,你就可以像下面这样构造集合了:
var Set1, Set2: TIntSet;
...
Set1 := [1, 3, 5, 7, 9];
Set2 := [2, 4, 6, 8, 10]
你也可以直接使用set of …构造直接声明变量:
var MySet: set of ’a’..’z’;
...
MySet := [’a’,’b’,’c’];
静态数组类型以下面的格式声明:array[indexType1, ..., indexTypen] of baseType
比如:var MyArray: array[1..100] of Char;
一个多维数组是数组的数组,比如:
type TMatrix = array[1..10] of array[1..50] of Real;
就等价于
type TMatrix = array[1..10, 1..50] of Real;
可使用这样的索引:MyMatrix[2,45],或像这样:MyMatrix[2][45]。
packed array[Boolean,1..10,TShoeSize] of Integer; 等价于
packed array[Boolean] of packed array[1..10] of packed array[TShoeSize] of Integer;
标准函数Low 和High 作用于数组类型(的标志符)或变量,它们返回数组第1 个索引(类型)的最小
值和最大值;Length 返回数组第1 维的元素个数
一维、压缩的(packed)、Char 类型的静态数组称为packed string,它和字符串类型兼容,也和其它具有
相同元素个数的packed string 兼容。
array[0..x] of Char 类型的数组,是0 下标开始的字符数组,它用来存储零结尾字符串,并且和PChar 类
型兼容。
??????值或把它??SetLength函??,它的?存被重新分配。
动态数组以下面的形式声明: array of baseType
比如:var MyFlexibleArray: array of Real;
要取消动态数组的分配,给它的变量赋值nil,或者把变量传给Finalize
不要对一个动态数组变量使用运算符‘^’,也不要对它使用New 或Dispose 过程
若X 和Y 是同一类型的动态数组变量,X := Y 使X 指向和Y 相同的数组(在这个操作之前,不必给X
分配内存)。不像字符串和静态数组,动态数组不会在被写之前自动拷贝。
使用索引给动态数组赋值(比如,MyFlexibleArray[2] := 7),不会为数组重新分配内存;编译时,索引
边界检查也不会给出提示。
要截断一个动态数组,把它传给SetLength 或Copy,并把返回的值赋给数组变量(SetLength 通常更快)
记录(类似于其它语言中的结构)表示不同种类的元素的集合,每个元素称为“字段”,声明记录类型时
要为每个字段指定名称和类型。声明记录的语法是
type recordTypeName = record
fieldList1: type1;
...
fieldListn: typen;
end
比如:
type
TDateRec = record
Year: Integer;
Month: (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
Day: 1..31;
end;
只有在实例化时才进行分配,像下面的样子:
var Record1, Record2: TDateRec;
Record2 := Record1; 把Record1 的值拷贝给Record2
也可以使用record ...构造直接声明变量:
var S: record
Name: string;
Age: Integer;
end;
一个记录类型能拥有变体部分,它看起来就像case 语句
type
TEmployee = record
FirstName, LastName: string[40];
BirthDate: TDate;
case Salaried: Boolean of
True: (AnnualSalary: Currency);
False: (HourlyWage: Currency);
end;
要声明一个文件类型,使用下面的语法:type fileTypeName = file of type
发表评论
-
DELPHI设置枚举类型size
2014-02-02 01:09 2553delphi枚举类型长度默认为2个字节(单字),而在 ... -
VMWare CentOS 6.5 minimal 安装vmware-tools
2013-12-15 23:50 5426今天在VMWare实验安装CentOS 6.5,系统的安装很 ... -
Oracle 11G rollback段出错修复
2013-11-15 01:00 1082测试服务器的磁盘满了,经分析由于测试服务器经常进行大量 ... -
Weblogic 10.3.6 服务注册脚本
2013-05-23 06:08 1343为降低维护难度,把脚本分成两部分 1 把%WL_HOME% ... -
GBK编码字符串转UTF-8
2012-12-12 23:59 2771由于项目需要, 需要把GBK编码的字符串转成UTF-8编码, ... -
Oracle MD5 函数
2013-05-14 19:34 970CREATE OR REPLACE FUNCTION md5 ... -
Delphi实现deamon进程
2012-10-31 10:38 873某程序因调用外部库比较多,容易异常退出,一时间未找到具体问题点 ... -
Weblogic 10.3.6 加载JPA2.0
2012-09-12 13:30 3945项目原来用JBOSS 5.1开发,引用了JPA2的库 ... -
Oracle10g高级复制笔记(同步复制)
2012-03-05 03:01 1502本例涉及两个站点. 主体定义站点(master ... -
PLSQL不安装Oracle客户进行连接(绿色版)
2012-03-04 14:42 28011. 到Oracle网站上下载instantclient-b ... -
获取高精度时间差(Delphi)
2011-10-19 07:29 2071由于GetTickCount精度只有10~16ms MSDN ... -
Delphi禁用windows键
2011-09-29 00:28 1366type tagKBDLLHOOKSTRUCT = pa ... -
mysql 0000-00-00 日期格式JDBC读取问题
2011-08-29 12:03 1217zeroDateTimeBehavior What sho ... -
Delphi declaring a constant array of records.
2011-07-12 19:17 953type TSampleEnumType = ( ... -
OpenVPN nat配置笔录
2011-06-29 02:36 1487#192.168.10.0 为虚拟网卡地址 ... -
PostgreSQL 9 数据类型
2011-04-24 17:53 2228切换到PostgreSQL提上日程了,简单做点笔记。 摘自: ... -
利用flash AVM加速Base64运算
2011-02-02 23:07 1365放假前, 有个应用需要对web页的一部分内容base64编码发 ... -
postgresql安装笔记
2010-11-15 22:11 969Oracle的手到处伸, 换个数据库玩玩, 准备一下也好. ... -
mysql 5.1的几种分区类型
2010-09-27 02:28 1153啊呀~忙了好一段时间~数据库的优化说了好久~没精力去动一点点, ... -
[转]STL vector list deque比较
2010-08-09 01:52 24801 vector 向量 相当于一 ...
相关推荐
最新版 delphi-modbus-develop 1.6.7
本文将重点讨论如何在Delphi集成环境中利用OpenCV进行开发,以及一个特别针对Delphi 2010到XE8优化的OpenCV组件——"Delphi-OpenCV-master"。 首先,"Delphi-OpenCV-master"是专为Delphi 2010至XE8版本设计的OpenCV...
Delphi binding for OpenCV Experimental Delphi binding for OpenCV 4.7.0 Development environment - Delphi 10.4, 11 x64 platform only
"ffmpeg-delphi-pascal-headers-3.0.2.zip" 是一个针对 Delphi 用户的 FFmpeg 头文件包,包含了 FFmpeg 3.0.2 版本的 Pascal 头文件,适用于 Delphi 的 FFVCL 库。 FFVCL (FFmpeg Video Component Library) 是一个 ...
标题中的"delphi-modbus-tcp三方控件,支持Delphi11"表明这是一个专为Delphi编程环境设计的第三方Modbus TCP库,用于在Delphi 11应用程序中实现Modbus通信。Modbus是一种广泛使用的工业通信协议,主要用于设备间的...
这个"delphi-modbus-tcp-indy.7z"压缩包包含的是用Delphi编写的Modbus TCP组件,它基于两个不同的Indy版本——Indy 9和Indy 10。 Indy(Internet Direct)是Delphi和C++Builder中的一套网络库,提供了一组跨平台的...
Delphi26Binaries-2019.27-.pak
Delphi-OpenCV (master) OpenCV version - 2.4.6 Development environment - Delphi XE2-XE4 Contributors: Laentir Valetov email:laex@bk.ru Mikhail Grigorev email: sleuthhound@gmail.com How to install: ...
在本学习笔记中,我们将详细探讨如何在使用DELPHI语言进行Windows开发时获取和管理Windows进程信息。这包括对相关Windows API函数的深入了解,特别是那些与进程列表和模块列表相关的函数。此外,我们还将分析如何...
本项目“Delphi-OpenCV-master 2.4.13”是将OpenCV库与Delphi集成的实践案例,适用于Delphi 2010到10.3的开发环境。Delphi是一款强大的面向对象的 Pascal 编程工具,常用于桌面应用开发,与OpenCV的结合使得开发者...
Kassl-dOPC4Delphi-Trial-Setup.exe
OPEN CV LIBRARY for DELPHI
标题中的"TMQTTClient-delphi.rar_MQTT delphi_TMQTTClient-delphi_delphi ssl"揭示了这个压缩包包含的是一个适用于Delphi开发环境的MQTT客户端库,名为TMQTTClient-delphi,特别强调了它支持SSL/TLS加密连接。...
Delphi是一种流行的面向对象的编程语言,常用于开发高效且安全的应用程序。本篇将详细讲解Delphi中涉及到的HMAC-SHA签名、SHA加密、MD5加密、URL编码与解码以及Base64编码与解码的相关知识。 首先,HMAC-SHA(Hash-...
ISuperObject 接口提供了诸如 `AsBool`, `AsInt`, `AsFloat`, `AsString`, `AsArray` 和 `AsObject` 等方法,用于访问不同类型的 JSON 值。同时,`Add`, `AddPair`, `SetProp`, `GetProp` 等方法用于构建和读取 JSON...
Delphi源码大全-应有尽有 Delphi源码大全-应有尽有 Delphi源码大全-应有尽有 Delphi源码大全-应有尽有 Delphi源码大全-应有尽有 Delphi源码大全-应有尽有 Delphi源码大全-应有尽有 Delphi源码大全-应有尽有 Delphi...
Delphi手册----全面地介绍delphi的各项功能!.doc
DevExpress_VCL_18.1.4_Full_Source_with_DxAutoInstaller_for_Delphi_7-Delphi_10.3_Rio_Downloadly.ir.rar
这篇学习笔记专注于通过案例分析来深入理解Delphi的使用。在设计工资管理软件时,我们需要考虑不同的数据结构和数据库表单来有效地存储和处理信息。 首先,我们来看"机器基本资料"表单(machbase)。这个表单主要...
"delphi-rest-client-api-master"是一个专门针对Delphi7及其后续版本设计的网络连接组件,它使得Delphi开发者能够轻松地与RESTful服务进行交互。 一、REST API基础 REST是一种基于HTTP协议的应用程序编程接口设计...