packed-string和Char0下标开始的字符数组({$T+}
T2是一个表达式,若
array[0..n] of Char)
T2的值在T1的取值范围内,并
类型
Data types, variables and constants
且至少下面一个条件成立,则T2可以赋给T1:
z T1和T2是同一种类型,并且不是文件类型或包含文件类型的结构类型
z T1和T2是兼容的有序类型
z T1和T2都是实数类型
z T1是实数类型,T2是整数类型
z T1是PChar类型或任何字符串类型,而T2是字符串常量
z T1和T2都是字符串类型
z T1是字符串类型,T2是字符或packed-string类型
z T1是一个长串类型,T2是一个PChar类型
z T1和T2是兼容的packed-string类型
z T1和T2是兼容的集合类型
z T1和T2是兼容的指针类型
z T1和T2都是类、类引用或接口类型,并且T2继承自T1
z T1是一个接口类型,T2是实现T1的一个类
z T1是PChar或PWideChar,T2是一个0下标开始的字符数组(array[0..n] of Char)
z T1和T2是兼容的过程类型(在一些赋值语句中,一个函数或过程的标志符被认为是过程类型)z T1是Variant类型,T2是整数、实数、字符串、字符、布尔或接口类型
z T1是整数、实数、字符串、字符或布尔类型,T2是Variant
z T1是IUnknown或IDispatch接口类型,T2是Variant类型(若T1是Iunknown,T2
必须是varEmpty、varUnknown或varDispatch;若T1是Idispatch,T2的类型编码必须是
或varDispatch。)
Declaring types(声明类型)
Declaring types(声明类型)
一个类型声明指定一个标志符,来表示一种数据类型。类型声明的语法为
type newTypeName = type
这里,newTypeName是一个有效的标志符。比如,给定如下的类型声明
type TMyString = string;
你就可以声明变量
var S: TMyString;
一个类型标志符的范围不能包含类型声明本身(指针类型除外),所以举例来说,你不能在声明一个记录时循环使用它。
当声明一个和已有类型完全相同的类型时,编译器把它看作是已有类型的别名。这样,在下面的声明中type TValue = Real;
var
X: Real;
Y: TValue;
type newTypeName = type type
例如
type TValue = type Real; varEmpty
- 71 - 的类型编码
Data types, variables and constants
这将强制编译器创建一个不同的新类型TValue。
Variables(变量)
Variables: Overview(概述)
变量是一个标志符,它的值能在运行时改变。从另一个角度看,变量是内存中某个位置的名称,你能使用这个名称读取或写入内存中的这个位置。变量就像数据的容器,因为它们是有类型的,它们也就告诉了编译器如何解释它们存储的数据。
Delphi中定义的绝大部分变量是System和SysInit单元中的普通变量。这两个单元的区别是:应用程序加载的每个包都共享System单元中的变量而拥有自己SysInit
可以改变它们的值。但是如果不小心的话,也会给Delphi造成很大的破坏。其它变量(
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-50.html
上台后坚持独立外交
最后的笑脸帅啊