将TArray <string>转换为字符串(Delphi 10.2 Tokyo)

时间:2018-03-13 15:52:38

标签: arrays string delphi directory

我想将TArray<string>(第三个SelectDirectory(out Directories参数)函数的第二个参数)转换为字符串,以便将所选路径写入编辑框。

但我不允许用户进行多项选择。因此,只能选择一个目录。

我该怎么办?

2 个答案:

答案 0 :(得分:5)

虽然你只提到了一个单元素数组的特殊情况,但是将TArray<string>转换为单个字符串的一般方法是将所有数组元素用给定字符串分隔,这是使用string.Join

const
  sep = ',';
var
  arr: TArray<string>;
  S: string;
begin
  S := string.Join(sep, arr);
end;

答案 1 :(得分:2)

如果SelectDirectory()返回True,则保证输出数组中至少 1个元素。由于您未启用多个选择,因此保证阵列中只包含 1个元素。所以只需按索引访问该元素:

var
  dirs: TArray<string>;

if SelectDirectory('', dirs) then
  Edit1.Text := dirs[0]; // <--