gpt4 book ai didi

delphi - Delphi中如何获取结构项

转载 作者:行者123 更新时间:2023-12-03 15:57:01 24 4
gpt4 key购买 nike

今天是我使用 Delphi 的第一天。

我有这样的记录:

type 
FT_Device_Info_Node = record
Flags : DWord;
DeviceType : Dword;
ID : DWord;
LocID : DWord;
SerialNumber : array [0..15] of Char;
Description : array [0..63] of Char;
DeviceHandle : DWord;
end;

后来我只能读取数组,例如它有效:FT_DeviceInfoList[0].SerialNumber但我无法访问任何 DWord 项目,例如FT_DeviceInfoList[0].ID 是不可能的。

你能帮我解释一下吗?

编辑:这是我想从记录中获取信息的按钮单击过程:

procedure TForm1.checkFTDIClick(Sender: TObject);
var
i : integer;
begin
ftStatus := FT_CreateDeviceInfoList(@dwNumDevs);
SetLength(FT_DeviceInfoList,dwNumDevs);
ftStatus := FT_GetDeviceInfoList(FT_DeviceInfoList, @dwNumDevs);
If ftStatus <> FT_OK then ShowMessage('Error '+IntToStr(ftStatus));

Form1.ComboBox1.Items.Clear;
for i:=0 to dwNumDevs-1 do
begin
Form1.ComboBox1.Items.Add(FT_DeviceInfoList[i].Description);//works
//Form1.ComboBox1.Items.Add(FT_DeviceInfoList[i].ID);//compilation error
end;
Form1.ComboBox1.ItemIndex := 0;

end;

FT 内容来自 FTDI 库,返回状态正常。

最佳答案

您想要的代码是:

Form1.ComboBox1.Items.Add(FT_DeviceInfoList[i].ID);

这会导致编译错误。这是因为 Add 需要一个 string 类型的参数。但是您传递的是一个DWORD,一个整数参数。

通过调用IntToStr将其从整型数据类型转换为字符串:

Form1.ComboBox1.Items.Add(IntToStr(FT_DeviceInfoList[i].ID));

关于delphi - Delphi中如何获取结构项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13285724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com