You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi 10.2 Tokyo:如何将单选的TArray<string>转换为字符串写入编辑框

把单目录选择的TArray转成字符串写入编辑框的方法

刚好碰到过类似的场景,给你捋捋怎么处理:

既然你已经限制用户只能选单个目录,那TArray<string>类型的Directories里要么是空(用户点了取消),要么就只有一个路径元素。你可以按下面的步骤来转换并写到编辑框里:

  • 先判断数组是否有内容:避免空数组访问导致崩溃,这是开发里的好习惯
  • 提取唯一的目录路径:因为限制了单目录,直接取数组的第一个元素就行
  • 赋值给编辑框:把转好的字符串设置成编辑框的文本

给你贴一段Unreal里的代码示例,你可以直接参考:

// 假设调用SelectDirectory后得到了TArray<string> Directories
FString TargetDir;

// 先检查数组长度,处理用户取消选择的情况
if (Directories.Num() > 0)
{
    // 把std::string转成UE的FString,方便后续操作
    TargetDir = FString(Directories[0].c_str());
}
else
{
    // 用户取消选择时,设置空字符串或者自定义提示文本
    TargetDir = TEXT("未选择目录");
}

// 假设你的编辑框是UEditableTextBox类型的指针,命名为DirEditBox
if (DirEditBox != nullptr)
{
    DirEditBox->SetText(FText::FromString(TargetDir));
}

小提醒:

  • 如果你的TArray里存的是UE原生的FString而不是标准std::string,那直接TargetDir = Directories[0]就行,不用转c_str()
  • 千万别忘了判断数组长度,哪怕你限制了单目录,也要处理用户取消的场景,不然很容易踩崩溃的坑

内容的提问来源于stack exchange,提问作者malimiwo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:21:09