Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Вниз

Как объявить константу в классе, чтобы использ при объяв массива?   Найти похожие ветки 

 
Galin   (2004-02-13 14:04) [0]

Нужно примерно следующее

type TForm1 = class(TForm)
private {Private declarations}

const K : integer = 10;
Mass : array[1..K] of integer;

public {Public declarations}
end;

Однако компиллятор ругается и говорит, что где-то ошибка.
Подкскажите, пожалуйста, не обижайтесь за глупый вопрос.
Заранее благодарен Галин А.М.


 
Тимохов   (2004-02-13 14:06) [1]

сделай объявление константы до начала объявления tform1


 
Юрий Зотов   (2004-02-13 14:06) [2]

> Как объявить константу в классе

Никак. Но ее можно объявить ПЕРЕД классом.


 
Digitman   (2004-02-13 14:06) [3]


> Как объявить константу в классе


никак.
константа объявляется на уровне модуля в целом


 
Galin   (2004-02-13 14:12) [4]

Огромное спасибо за присланные ответы!!

Очень жаль, что нельзя объявить константу в классе.

Объявлять её выше класса пробовал - но компилятор
ругается при объявлении массива, в размере которого
используется эта константа
Т.Е.
const K : integer = 10; //Нет ошибки
А в строке(внутри класса)
Mass : array[1..K] of integer; //ошибка
Можно ли это обойти или придётся создавать динамич массив??


 
Владислав   (2004-02-13 14:16) [5]

const
K = 10;


 
Galin   (2004-02-13 14:18) [6]

Глубокоуважаемый Владислав!

Огромное Вам спасибо от всего нашего отдела.
Всё заработало!!


 
Palladin   (2004-02-13 14:19) [7]

когда ты объявляешь тип константы это уже не рассматривается компилятором как константа...

const
k=10;


 
Плохиш   (2004-02-13 14:19) [8]

>Galin (13.02.04 14:12) [4]

> Можно ли это обойти или придётся создавать динамич массив??

Только динамический массив, если я правильно понял твои желания. Это не бейсик ;-)


 
Palladin   (2004-02-13 14:26) [9]

тьфу... недописал

хоть она как константа и не рассматривается в обычном смысле, все же присвоение ей делать нельзя. причина скрывается в директиве $J по этому типизированные константы и нельзя использовать в определяениях других констант...


 
Digitman   (2004-02-13 14:28) [10]


> Galin


объявление нетипизированного идентификатора сродни макроподстановкам а-ля C/C++

а уж как OP-компилятлор будет расценивать тип, соответствующий идентификатору, - зависит от конкретного контекста ссылки на данный идентификатор

впрочем, логика ОР-компилятора здесь мало чем отличается от соотв.логики C/C++ - препроцессоров/компиляторов



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.032 c
14-80200
Emik
2004-02-05 17:35
2004.02.25
Установка компонентов


14-80176
@ac
2004-01-31 08:05
2004.02.25
У кого есть опыт переписки с журналистами, редакторами, ведущими


1-79902
Dr.Karter
2004-02-09 14:38
2004.02.25
Копирование папки


1-79926
akiro
2004-02-09 17:59
2004.02.25
Как записать в реестр переменную типа tagWINDOWPLACEMENT ?


1-79994
Oleg_
2004-02-13 13:47
2004.02.25
drowing not allowed





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