能否动态声明一个变量 ( 积分: 50 )

  • 主题发起人 主题发起人 woodlee
  • 开始时间 开始时间
W

woodlee

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中
IF A > B THEN
//声明一个变量TT为string
IF A< B THEN
//声明一个变量RR为string

怎么声明这两个变量
 
不可以.

c或者vb可以, 但这样绝对不是一种良好的编程习惯.
而且这样的代码也会使程序可读性变低.
 
Delphi是不允许的
 
可以用动态数组来变相实现这个功能
 
没见过这样写的
 
两个都声明 有什么问题?
 
不行,C可以的,这样的习惯很不好.读代码不方便.
 
估计楼主是用惯了C的。
Delphi不允许这样做的。
 
动态声明一个变量类型不可
 
这是delphi比较垃圾的地方,什么良好习惯,什么阅读方便,都是借口,
良好习惯不等于就要强制限制,阅读方便,但代码是执行的,也不见得
不定义就很不方便,如果代码很长,var在山顶,而代码在山脚,我就
不觉得这样阅读起来很方便,写程序的时候还要爬上山顶来定义变量,
我就觉得很不方便。
 
代码很长就应该尽量按功能划分成模块,软件工程上讲究的是模块一般不要超过100行
 
你可以这样,但不能强求,delphi 有时候要分模块,会产生很多冗余代码,
这些代码用于模块间的参数传递,我曾经在一个exe里面增加功能,由于没有
空间插入代码,结果就是将这些冗余的代码“优化”掉,留出百多K的位置,
插入我的代码,而这个exe只有2兆,就是说它的1/20的代码是为了源代码好看
而加上去。
 
可以动态生成数组,一维的或二维的都可以。
如:
type
TMyArray = Array of String;
...
var
MyGroup:TMyArray;
...
setlength(MyGroup,3);
...
这是可以的。
但你的思路我有些看不明白。

在程序中
IF A > B THEN
//声明一个变量TT为string
IF A< B THEN
//声明一个变量RR为string

接下来你要判断TT或是RR哪一个变量存在么?
可不可以这样:
Var
AIsBig:boolean;
...
IF A > B THEN AIsBig:=True Else AIsBig:=False;
 
不清楚楼主真正要达到何种效果。
是C的宏么??? DELPHI 没有哦。
是TT,RR在代码执行时,根据TT所设置的string值:A > B 来执行条件操作么?

本人还是喜欢C的语法罗,DELPHI编码太规范,太死板了。。。
 
多人接受答案了。
 
后退
顶部