Главная страница
    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.58 MB
Время: 0.053 c
3-16871
VIB
2003-02-18 10:04
2003.03.06
DBGrid


3-16977
NightCold
2003-02-17 14:59
2003.03.06
Помогите срочно!


14-17289
chistyakov
2003-02-19 12:55
2003.03.06
Delphi умирает?


4-17449
Nick_N_A
2003-01-18 07:30
2003.03.06
ActiveX & COM


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