Вниз
Скачать: CL | DM;

Как задать массив, если первоначально его длина неизвестна?   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
4-17438
Vasily Terekhov
2003-01-18 08:59
2003.03.06
Shell хук и раскладка клавиатуры...


4-17454
NikolaB
2003-01-19 01:29
2003.03.06
U function MessageBox est parametri MB_ICON...


8-17201
_toltec
2002-11-24 02:17
2003.03.06
GIF


7-17400
Ruf
2003-01-06 12:18
2003.03.06
Поверх всех окон


4-17444
neodiX
2003-01-17 14:53
2003.03.06
PixelFormat в bmp, рационален ли?




   Наверх