gpt4 book ai didi

delphi - 获取数组类型记录字段的长度

转载 作者:行者123 更新时间:2023-12-03 15:18:28 25 4
gpt4 key购买 nike

我正在编写一个包装器,用于与外部二进制 API 进行通信。 API 使用 PDU(打包二进制记录)进行通信。字符串是 AnsiChar 数组并且以零结尾:

type 
TSomePDU = packed record
//...
StringField: array[0..XYZ] of AnsiChar;
//...
end;
PSomePDU = ^TSomePDU;

我想编写一个 FillPDUString 过程,它接受一个 String 并填充 char 数组,但我想避免在使用该过程的任何地方跟踪 MaxLength,因此我需要以某种方式获取给定指针的声明的数组大小字段:

function GetMaxSize(const Field: array of AnsiChar): Integer;
begin
// ???
end;

//...
GetMaxSize(ARecord.StringField);

这可能吗?

最佳答案

如果我理解正确的话,那么你可以使用Delphi的Length功能

以下是获取长度的方法:

function GetMaxSize(const Value: PSomePDU): Integer; 
begin
Result := Length(Value.StringField);
end;

关于delphi - 获取数组类型记录字段的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9887307/

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