Массив delphi преобразования строкового строкового списка
Есть ли простой способ в delphi преобразовать массив строк в tstringlist?
Ответы
Ответ 1
Как только вы создали список строк, вы можете просто вызвать AddStrings()
.
Или для более старых версий Delphi, которые не поддерживают перегрузки AddStrings()
, которые принимают массивы, вы можете перевернуть свои собственные.
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;
Использование параметра открытого массива обеспечивает максимальную гибкость для вызывающего.
Ответ 2
Для предопределенных версий 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 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;