Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-17056
phantom2040
2003-02-25 15:04
2003.03.06
Рисунов в Хинте


4-17463
ers
2003-01-17 16:24
2003.03.06
Как эмулировать клик на ListBox`e?


1-17061
rodion
2003-02-25 15:18
2003.03.06
Локализация программ


14-17302
Fixus
2003-02-20 10:50
2003.03.06
подпрограмма на ASM сложения вычитания 3-байтовых чисел


7-17421
ded
2003-01-09 22:41
2003.03.06
Содержимое произвольной ячейки памяти





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский