use*_*105 1 delphi floating-point pointers delphi-2009
在我的应用程序中,我创建了TList类型列表,其中我将指针存储为1个字符串,每3个项目存储2个浮点(实际)值.
aList.Add(@sName); //string
aList.Add(@x1); //float
aList.Add(@x2); //float
Run Code Online (Sandbox Code Playgroud)
然后,我想从列表中获取值,但我只能为字符串执行此操作
sStr := string(lList.items[i]);
Run Code Online (Sandbox Code Playgroud)
但我无法得到浮点值,因为a := real(lList...)会导致无效的类型转换错误.
那么我该如何获得浮动值呢?
当然我有一个问题,如果字符串转换实际上会给我字符串值.我不擅长指针的东西,所以我不知道该怎么做.
我建议你创建一个记录:
TMyRecord = record
sName: String
x1: Double;
x2: Double;
end;
Run Code Online (Sandbox Code Playgroud)
然后创建该类型的通用列表:
var
MyRecordList: TList<MyRecord>;
Run Code Online (Sandbox Code Playgroud)
从那里,您应该能够轻松访问列表中的数据.
尝试将数据存储在TList中,并将特定数据类型存储在特定位置,这样就更麻烦了.