Delphi - 将类型数组转换为字符串数组

时间:2014-01-10 11:42:28

标签: arrays string delphi types

我目前正在使用Delphi进行编程,需要将数组'BookArray:TBook'数组转换为BookArray2:string'数组。 是否有函数或者无论如何将类型数组转换为字符串数组?

谢谢,乔治。

2 个答案:

答案 0 :(得分:3)

您需要一个将您的类型转换为字符串的函数。让我们假设它像这样存在:

function BookToString(const Book: TBook): string;

然后将该函数应用于数组的每个元素:

function BookArrayToString(const Books: array of TBook): TArray<string>;
var
  i: Integer;
begin
  SetLength(Result, Length(Books));
  for i := 0 to high(Books) do
    Result[i] := BookToString(Books[i]);
end;

答案 1 :(得分:1)

没有标准功能可以做到这一点。您需要逐步检查tbook数组并将其中的内容转换为字符串并将其放入stringarray中。

SetLength(BookArray2, length(BookArray))
for i := 0 to High(BookArray) do begin
  BookArray2[i] := BookArray[i].Author + ' ' + BookArray[i].Title + ' ' + IntToStr(BookArray[i].Edition);
end;