Форум: "Основная";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
ВнизКак задать массив, если первоначально его длина неизвестна? Найти похожие ветки
← →
UDS (2003-02-25 18:34) [0]Задан массив типа Array [1..n] of integer, где n - длина массива, которая становится известна только по ходу программы (например вводится пользователем). В проге число n берется из едита, куда оно вводится пользователем. Но обработчик матерится что-то по поводу константы. Подскажите пожалуйста как избавиться от проблемы.
← →
Романов Р.В. (2003-02-25 18:36) [1]F1 - dynamic arrays
← →
h@1f-e1f (2003-02-25 18:37) [2]Делай динамический массив:
a:array of integer;
← →
UDS (2003-02-25 20:15) [3]Какие при этом особенности? Будет ли работать такой код:
var
n:integer;
A:array of integer;
//////Нажата кнопка
begin
n:=edit1.text;
SetLength(A,n);////особенно это место интересует
end.
← →
UDS (2003-02-25 20:22) [4]Работать вроде работает, но похоже возникают проблемы с освобождением памяти. Я пока с этим не сталкивался. Растолкуйте чё не хватает в указанном выше кодеж
← →
h@1f-e1f (2003-02-25 20:26) [5]По идее должен работать...
← →
Романов Р.В. (2003-02-25 20:33) [6]n:=StrToInt(edit1.text);
а остальное правильно
← →
UDS (2003-02-25 20:37) [7]При дальнейшей попытке изменения n через едит происходит ошибка связанная видимо с высвобождением памяти (массив однажды идентифицированный не хочет переидентифицироваться)
← →
Романов Р.В. (2003-02-25 21:10) [8]Давай код и текст ошибки
← →
Cr@sh (2003-02-25 21:20) [9]finalize(A); Не хватает...
← →
UDS (2003-02-25 21:33) [10]Пожоже проблема в проге идет после....
Код проги см. в новом вопросе "Проблема с заполнением динамического массива"
← →
Fredericco (2003-02-26 00:25) [11]Попробуй так:
SetLength(A,0);
SetLength(A,n);
← →
PVOzerski (2003-02-26 02:11) [12]Ребята, а вы помните, что динамические массивы начинаются с 0-го, а не с 1-го элемента? А если очень хочется с 1-го, работайте через GetMem/FreeMem/ReallocMem, только аккуратно.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c