我定义了一个record类型myrecord,里面有多个字段,都是字符类型str1,str2..... 这些字段的值在其他函数中赋值,在另外函数中能得到字段变量strname,这个strname可能是str1,也可能是str2... 我想通过这个strname变量查找到myrecord中相应字段的值,比如当strname为str1时,能找到myrecord.str1的具体值。敬请大侠们赐教!
解决方案 »
- FileStream
- 怎麼做軟鍵盤?用於瀏覽網頁的觸摸屏程序用
- 如何遍历当前软件运行目录下的download目录下的所有文件夹
- 一个关于Random()函数的问题!谁帮我看看!
- DBChart小问题烦劳大家
- 函数返回值问题
- Unit1.pas(43): Undeclared identifier: 'ShellExecute'
- 请问如何让应用程序始终处于屏幕的最上层?(在线等待!!!)
- 怎么让一个窗口始终在依附在另一个进程的一个窗口前面?
- delphi环境下代码求助
- delphi Idftp获取文件目录 怎么映射到TreeView或者TshellTreeView?
- sametext,comparestr,comparetext有什么不同?请详细解之!
showmessage(myrecord.str1)
else if strname='str2' then
showmessage(myrecord.str2)
...
http://www.cnblogs.com/del/archive/2009/10/15/1583969.html
Type
TMyRecord = record
ID : integer;
Str1 : String;
Str2 : String;
Str3 : String;
Str4 : String;
Str5 : String;
Str6 : String;
Str7 : String;
....
end;
第二种方法
针对以前的情况,str1..strn连续的排列.
可以这样
var
R : TMyRecord;
P : PString;
begin
R.Str3 := 'aa';
P := @R.Str1;
P := Ptr(integer(P) + (3-1) * 4);
ShowMessage(P^);
end;
注意是连续排列的情况,也就是说可以根据str后的数字来获取它的位置.