вывод константы в хинт или варнинг.

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

вывод константы в хинт или варнинг.

Сообщение Attid »

в общем вот что хочется сделать.
в программе обьявлена константа
cVersion = '0.0.1';

хочу чтоб при компиляции в хинте или варнинге выводилось
"Version 0.0.1"
Аватара пользователя
Alexander
энтузиаст
Сообщения: 888
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

Код: Выделить всё

begin
{$WARNING aaaaaa}
{$WARNING bbbbbb}
{$MESSAGE 'cccccc'}

end.
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

Код: Выделить всё

const
  cVersion = '0.9.6';

{$WARNING cVersion}
{$WARNING cVersion}
{$MESSAGE cVersion}

не работает
получаю вот что
ackernel2.lpr(13,2) Warning: User defined: cVersion
ackernel2.lpr(14,2) Warning: User defined: cVersion
ackernel2.lpr(15,2) Warning: Illegal compiler directive "CVERSION"
Project "ackernel2" successfully built. :)
SovNarKom
постоялец
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]
Контактная информация:

Сообщение SovNarKom »

Через DEFINE попробуй
Аватара пользователя
Alexander
энтузиаст
Сообщения: 888
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

Странно. Не увидел прямого пути.

Попутно увидел такое (присваивает константе или внутреннюю
переменную ФПК или (если такого названия нет) переменную
окружения).

Код: Выделить всё

const
      c : string = {$I %HOME%};
begin
WriteLn(c);
end.


Но это совсем не то. А ты реально, в действии
видел где нибудь ? Может вообще нет ?
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

видел где нибудь ? Может вообще нет ?

еслиб видел не спрашивал =)
а про окружение интересно, только %HOME% моего пользователя зашьется в код или будет браться каждый раз ?
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

В том Паскале, к которому все привыкли (TP/Delphi/FPC в соотв. режимах), этого вообще нет. Если очень хочется, можно попробовать использовать макросы или режим MacPas.
Аватара пользователя
Alexander
энтузиаст
Сообщения: 888
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

Attid писал(а):зашьется в код
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

хорошая возможность проверять где запущенно приложение дома или у клиента =)
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

Зашьется не %HOME% пользователя, а %HOME% времени компиляции. Или пользователь всегда перекомпилирует?
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

в том то и дело что пользователь не компилит, а у себя можно доб инфу к примеру выводить, или пароль не просить лишний раз.
привязку правда не к хоум, а другой переменой сделать.
и если при запуске программы она соответсвует той что при компеляции, то . ..
Ответить