17

Delphi で文字列の配列を tstringlist に変換する簡単な方法はありますか?

4

2 に答える 2

14

文字列リストを作成したら、単純に を呼び出すことができます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;

オープン配列パラメーターを使用すると、呼び出し元に最大の柔軟性が提供されます。

于 2011-05-04T16:48:17.867 に答える
9

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;
于 2011-05-04T17:48:32.060 に答える