怎么判断变量的数据类型?(50分)

  • 主题发起人 主题发起人 HunterHua
  • 开始时间 开始时间
H

HunterHua

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么判断变量的数据类型?如该变量是string还是Integer等.
 
晕~~~~~~~~~~~~~~~~~~``
 
如果要回答可能很难,
try
inttostr(x)
except
// 不是int
end;
// 是 int

但是你这一问真不懂。
你应该知道它是什么类型的啊。
 
用这个办法:
在你声明变量时(不要告诉我你没声明过变量呀)时,给变量名加个小标记,
如integer型变量Count则这样声明(在Count的前面加小写字母i):
如string型变量FileName则这样声明(在FileName的前面加小写字母s):
就像下面你看到的这样:
var
iCount : integer;
sFileName : string;

据说每个microsoft的程序员都是这样做的,对于判断变量数据类型很方便!
 
不好意思,我主要是想判断是否存在该变量(如是否存在名为'aaa'的变量),
若不存在,我就要进行特殊处理.
 
不好意思,不知道你为何要判断是否存在变量?我可从来没听说过要这么干的。
 
不要把delphi当vb、foxpro用
 
你输入aaa,然后把鼠标放到上面有提示的是有声明否则没有声明。
 
这好象没法写吧,因为你在程序代码中 给变量的命名跟计算机实际执行
是两码事啊。
而且在Delphi中,未经声明的变量根本无法通过编译。

VB中,即使你通过了编译,但当程序执行到的时候还是一样要出错的
 
查看delphi的帮助,这个函数就可以解决你的问题!
function VarType(const V: Variant): Integer;
const
varEmpty = $0000;
varNull = $0001;
varSmallint = $0002;
varInteger = $0003;
varSingle = $0004;
varDouble = $0005;
varCurrency = $0006;
varDate = $0007;
varOleStr = $0008;
varDispatch = $0009;
varError = $000A;
varBoolean = $000B;
varVariant = $000C;
varUnknown = $000D;
varByte = $0011;
varStrArg = $0048;
varString = $0100;
varAny = $0101;
varTypeMask = $0FFF;
varArray = $2000;
varByRef = $4000;
这是可行的吧!
 
同意楼上.这种判定在三层结构中经常要用到的.
 
补充一下的是,判定类型应该用varisstr,varisarray,varisfloat..............
这类函数返回一个布尔型值,直接判断就可以了.
 
多人接受答案了。
 
后退
顶部