delphi字符串stringlist数组转换

发布于 2024-11-05 08:46:53 字数 45 浏览 6 评论 0原文

delphi中有没有一种简单的方法将字符串数组转换为tstringlist?

Is there a simple way in delphi to convert an array of strings to a tstringlist?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

听风吹 2024-11-12 08:46:53

创建字符串列表后,您只需调用 AddStrings()< /代码>

或者,对于不支持接受数组的 AddStrings() 重载的旧版本 Delphi,您可以自行推出。

function StringListFromStrings(const Strings: array of string): TStringList;
var
  i: Integer;
begin
  Result := TStringList.Create;
  for i := low(Strings) to high(Strings) do
    Result.Add(Strings[i]);
end;

使用开放数组参数可以为调用者提供最大的灵活性。

Once you have created the string list, you can simply call AddStrings().

Or for older versions of Delphi that do not support the AddStrings() overloads that accept arrays, you can roll your own.

function StringListFromStrings(const Strings: array of string): TStringList;
var
  i: Integer;
begin
  Result := TStringList.Create;
  for i := low(Strings) to high(Strings) do
    Result.Add(Strings[i]);
end;

Using an open array parameter affords the maximum flexibility for the caller.

三人与歌 2024-11-12 08:46:53

对于 Delphi 的预通用版本,您可以使用如下内容:

type
  TStringArray = array of string;

procedure StringListFromStrings(const StringArray: TStringArray; 
  const SL: TStringList);
var
  // Versions of Delphi supporting for..in loops
  s: string;

  // Pre for..in version
  // i: Integer;
begin
  // TStringList should be created and passed in, so it's clear
  // where it should be free'd.
  Assert(Assigned(SL));

  // Delphi versions with for..in support
  for s in StringArray do
    SL.Add(s);

  // Pre for..in versions
  // for i := Low(StringArray) to High(StringArray) do
  //   SL.Add(StringArray[i]);
end;

For pre-generic versions of Delphi, you can use something like this:

type
  TStringArray = array of string;

procedure StringListFromStrings(const StringArray: TStringArray; 
  const SL: TStringList);
var
  // Versions of Delphi supporting for..in loops
  s: string;

  // Pre for..in version
  // i: Integer;
begin
  // TStringList should be created and passed in, so it's clear
  // where it should be free'd.
  Assert(Assigned(SL));

  // Delphi versions with for..in support
  for s in StringArray do
    SL.Add(s);

  // Pre for..in versions
  // for i := Low(StringArray) to High(StringArray) do
  //   SL.Add(StringArray[i]);
end;
潜移默化 2024-11-12 08:46:53

使用最新的 Delphi 版本,您可以像这样调用 TStrings 和 TstringList 类的“addStrings”方法:

function StringListFromStrings(const Strings: array of string): TStringList;
var
  i: Integer;
begin
  Result := TStringList.Create;
  Result.addStrings(Strings);
end;

您可以在以下位置找到有关此方法的文档:
https://docwiki.embarcadero.com/Libraries/Sydney/ en/System.Classes.TStrings.AddStrings

With recent Delphi version you can call "addStrings" method of a TStrings and TstringList classes like this:

function StringListFromStrings(const Strings: array of string): TStringList;
var
  i: Integer;
begin
  Result := TStringList.Create;
  Result.addStrings(Strings);
end;

Yuo can find documentation about this method at:
https://docwiki.embarcadero.com/Libraries/Sydney/en/System.Classes.TStrings.AddStrings

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文