数组 – 如何在Delphi中正确声明数组属性?
发布时间:2020-12-15 09:21:33 所属栏目:大数据 来源:网络整理
导读:我正在尝试创建一个数组来将TStringList的每个项目存储到一个数组中,该数组的大小可能会根据所述TStringList中的项目数量而有所不同. 我知道我的语法错误,我想要的可能是动态数组,所以[0..100]可能是错误的,但我找不到任何替代语法在线. ProductAvailability
我正在尝试创建一个数组来将TStringList的每个项目存储到一个数组中,该数组的大小可能会根据所述TStringList中的项目数量而有所不同.
我知道我的语法错误,我想要的可能是动态数组,所以[0..100]可能是错误的,但我找不到任何替代语法在线. ProductAvailabilityResult = Class(TRemotable) private FResultArray : array[1..100] of string; published property ResultArray[Index: Integer]: array of string read FResultArray write FResultArray; End; 这就是我如何调用它并填充它. conditionList是我的TStringList,我将填充到我的数组中. for I := 0 to conditionList.Count - 1 do begin aProductAvailabilityResult.ResultArray[I] := conditionList[I]; end; 如果您可能有或没有对我正在做的事情有其他建议,这个设置的原因是因为它是一个通过SOAP服务器发送结果的Web服务应用程序,我不认为我的PHP / Soap客户端可以读取TStringLists,所以我需要先将它传递给一个数组. 让我知道,谢谢! 解决方法
虽然有一些语法错误,但您已声明了
array property.但是,您在问题和注释中声明您希望属性是动态数组.这与数组属性不同.
声明一个动态数组属性,如下所示: type ProductAvailabilityResult = class(TRemotable) private FResultArray: TArray<string>; published property ResultArray: TArray<string> read FResultArray write FResultArray; end; 填充它像这样: var i: Integer; List: TStringList; par: ProductAvailabilityResult; arr: TArray<string>; .... List := ...; par := ...; SetLength(arr,List.Count); for i := 0 to List.Count-1 do arr[i] := List[i]; par.ResultArray := arr; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |