List:= TList<string> пробежать от начала до конца

antox
Дата: 13.07.2019 13:54:41
Пробежать по массиву с помощью Low/High можно, а как по TList или только

for i:=0 to List.count-1


использовать?

var
  a: array [0..2] of string;
  List: TList<string>;
  i: integer;
begin
  a[0]:='a';
  a[1]:='b';
  a[2]:='c';

  List:=TList<string>.create;
  List.Add('a');
  List.Add('b');
  List.Add('c');

  for i:=Low(a) to High(a) do  //работает
    begin
      lbl1.Caption:= a[i]+', ';
    end;

  for i:=low(List) to High(List) do //НЕ работает
    begin
      lbl1.Caption:= List.Items[i]+', ';
    end;


Так тоже не работает:

 for i:=low(List.count) to High(List.count) do //НЕ работает
    begin
      lbl1.Caption:= List.Items[i]+', ';
    end;
Dmitri Krizhanovski
Дата: 13.07.2019 14:12:54
antox,

var
  ...
  Item: string;
begin
  ...
  for Item in List do
    begin    
      lbl1.Caption := Item + ', ';
    end;
  ...
  end;
X-Cite
Дата: 13.07.2019 15:53:41
Судя по всему автору нужно это?

lbl1.Caption := string.Join(', ', List.ToArray());
Vlad F
Дата: 14.07.2019 00:22:13
antox,
Позвольте, однако, полюбопытствовать, что именно скрывается за фразой "так тоже не работает"?
rgreat
Дата: 14.07.2019 00:25:02
У него ни один из вариантов правильно работать не должен.
antox
Дата: 14.07.2019 08:55:08
Dmitri Krizhanovski
antox,

var
  ...
  Item: string;
begin
  ...
  for Item in List do
    begin    
      lbl1.Caption := Item + ', ';
    end;
  ...
  end;


Отлично! Спасибо
antox
Дата: 14.07.2019 08:57:28
Vlad F
antox,
Позвольте, однако, полюбопытствовать, что именно скрывается за фразой "так тоже не работает"?


На один компилятор ругается, другой при выполнении ошибка
antox
Дата: 14.07.2019 08:57:59
rgreat
У него ни один из вариантов правильно работать не должен.


Если бы хоть один заработал, то не открывал бы пост ))
X-Cite
Дата: 14.07.2019 11:39:32
for i:=low(List.count) to High(List.count) do


Вы вообще понимаете что здесь написали? Какая жесть...
alekcvp
Дата: 14.07.2019 12:08:06
antox
Пробежать по массиву с помощью Low/High можно, а как по TList или только

А в чём смысл? Это массив может быть объявлен, например, как
A: array [-3..20] of Integer
а TList - он всегда имеет индексы от 0 до Count-1, соответственно Low/High там в принципе не нужны.