利用字符调用变量中的值(100分)

  • 主题发起人 主题发起人 20126301
  • 开始时间 开始时间
2

20126301

Unregistered / Unconfirmed
GUEST, unregistred user!
给来访者的问候:圣诞快乐!
若定义一记录类型,如:
TuserInfo=record
sUserName:string;
sAge:string;
sAdd:string;
end;
userInfo:TuserInfo;
我想用和记录类中的变量名相同的字符来获取其中的值, 如字符 sAge怎样得到
变量sAge中的值呢?
 
procedure getit;
var sAge :string;
recorder:TuserInfo;
begin
sAge:=recorder.sAge;
end;
就是如此简单;
也可:move(Recorder.Sage,sage,sizeof(Recorder.sAge));
 
同意ChinaYA
 
if S = 'sAge' then
Result := userInfo.sAge
[:D]
 
>>我想用和记录类中的变量名相同的字符来获取其中的值, 如字符 sAge怎样得到
>>变量sAge中的值呢?
[red]能说清楚点吗?[/red]
 
大家可能没有理解我的意思, 我想获得userInfo中的值, 利用一个函数来返回
函数中的
参数是字符型,参数值与userInfo中的变量相同,这样做是为了返回与参数相同的变量的值.
在函数体中当然可以用if做判断然后返回
但在delphi中的对象调用时, 若一Tedit的名为
edtName,可以用[?]Tedit('edtName')来调用, 而调用userInfo中的值可否也能这样做呢?
 
Tedit('edtName')来调用是绝对行不通的!但你可以用Delphi提供的FindComponent函数
但此方法对你的UserInfo这种情况就不适用了
所以真要这么做还是用IF吧![:)]
 
同意上面的,要动态生成赋值语句怎么可能呢。
其实你的问题应该用一个case语句来判断,判断文本框中输入的内容,‘动态’转换
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部