Главная страница
    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-17151
LeO U
2003-02-23 13:21
2003.03.06
Проблемы с DLL, Delphi 6 и Windows XP


7-17422
DDS
2003-01-06 13:23
2003.03.06
Как узнать процедуры и функции DLLки на экспорт?


14-17288
Palladin
2003-02-19 22:23
2003.03.06
Необычная просьба...


3-16979
Alex127
2003-02-16 20:45
2003.03.06
Halcyon DataSet и Реструктуризация таблиц


14-17319
Uran
2003-02-17 17:52
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский