Как заполнить числами динамический массив?
Добавлено: 17.11.2009 09:45:28
Здравствуйте!
я заполняю ListBox случайными значениями:
Потом мне все эти значения нужно перекинуть в динамический массив:
Но при заполнении массива выходит ошибка Out of bounds.
Причём если заменить StrToInt(InputList.Items.Strings[i]) на i, к примеру, или на Random(ELEMENT_MAX),
то массив заполняется. А вот брать значения из ListBox не хочет. Как я понял не хочет работать с StrToInt.
Что я не правильно делаю? Подскажите пожалуйста.
я заполняю ListBox случайными значениями:
- Код: Выделить всё
const
ELEMENT_CNT = 1000;
ELEMENT_MAX = 10000;
.....
.....
var
i: Integer;
begin
Randomize;
with InputList.Items do
begin
BeginUpdate;
Clear;
for i := 0 to Random(ELEMENT_CNT) do
begin
Add(IntToStr(Random(ELEMENT_MAX)));
end;
EndUpdate;
end;
end;
Потом мне все эти значения нужно перекинуть в динамический массив:
- Код: Выделить всё
var
TempArray: array of Integer;
i: Integer;
begin
SetLength(TempArray, ELEMENT_CNT);
for i := 0 to ELEMENT_CNT - 1 do
begin
TempArray[i] := StrToInt(InputList.Items.Strings[i]);
end;
end;
Но при заполнении массива выходит ошибка Out of bounds.
Причём если заменить StrToInt(InputList.Items.Strings[i]) на i, к примеру, или на Random(ELEMENT_MAX),
то массив заполняется. А вот брать значения из ListBox не хочет. Как я понял не хочет работать с StrToInt.
Что я не правильно делаю? Подскажите пожалуйста.