Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.22;
Скачать: CL | DM;

Вниз

Можно ли при описании константы использовать функции?   Найти похожие ветки 

 
lipskiy ©   (2002-04-08 01:12) [0]

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

Например:
const
Text = "Зарегистрированная версия. Пользователь: " + GetUserName;

Где GetUserName - некая функция, которая возвращает строку.

(Пример от балды, в конкретику текста не вникайте, на самом деле надо совершенно другое назначение текста).


 
dymka ©   (2002-04-08 07:55) [1]

Попробуй скомпилировать, если не компилируется - значит нельзя :)


 
gek   (2002-04-08 08:02) [2]

const
Text :string ="Зарегистрированная версия. Пользователь"
как хочешь так и меняй


 
SVM   (2002-04-08 08:14) [3]

Constant expressions cannot include variables, pointers, or function calls, except calls to the following predefined functions:
Abs, Chr, Hi, High, Length, Lo, Low, Odd,
Ord, Pred, Round, SizeOf, Succ, Swap, Trunc


 
lipskiy ©   (2002-04-08 14:24) [4]

2 SVM
ok, понял, жалко :(


 
Romkin ©   (2002-04-08 14:30) [5]

Можно сделать переменную, а значение ей присваивать в разделе initialization модуля, будет практически как константа. Если надо, чтобы нельзя было менять - сделай в interface функцию, выводящую эту строку


 
AFROLOV   (2002-04-08 14:32) [6]

Сделай глобальную переменную и инициализируй ее в начале работы программы.


 
Толик ©   (2002-04-08 15:37) [7]

На самом деле константе можно присваивать какие унодно значения!

const
Str: string = "Это константа?"
begin
string((@Str)^) := "Ну и что это за константа после этого???";
ShowMessage(Str); //А казалось бы константа...
end;


 
Anatoly Podgoretsky ©   (2002-04-08 15:59) [8]

Толик © (08.04.02 15:37)
Никто не просит менять константу, вопрос об определении константы в указаном виде.
Ответ в указанном виде нельзя.


 
Alx2 ©   (2002-04-08 16:10) [9]

Попробуй $define
и конструкции типа IFDEF etc...


 
Толик ©   (2002-04-08 16:34) [10]

to Anatoly Podgoretsky ©
Да, Вы правы. Объявлять константу в подобном виде нельзя. Но мне казалось, что вопрос стоит несколько шире:
"...описывается строковая константа, но внутри нее необходимо вставить кусок текста, который вычисляется в зависмости от настроек программы..."
Вот как раз в момент определения "настроек программы" и можно вставить "кусок текста" в эту константу.


 
lipskiy ©   (2002-04-08 19:59) [11]

Да, кусок текста встраивается в зависимости от настроек программы. Естественно, его можно добавить к константе при инициализации и т.п. Это и так ясно. Вопрос был именно в описании - чтобы не париться и не делать специальных действий при инициализации - а сразу объявить и все.
Ок, понял что нельзя. Вопрос закрыт. Спасибо всем.


 
[MC]NuClon   (2002-04-08 20:31) [12]

кхе кхе... Если вам надобно скажем в строке кусок текста, который вычисляется...
Вспомним такую вещь в C. Когда для формирования строк используются такие %d, %f и др. Просто остаётся сделать функцию, которая всё это анализирует.
И вообще, что других способов нет??



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

Текущий архив: 2002.04.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
3-69735
Ежик
2002-04-01 13:30
2002.04.22
Как програмно посчитать кол-во записей в БД?


14-69999
McSimm + McSimm
2002-03-15 21:06
2002.04.22
Извините, просто тест


4-70059
Swinger
2002-02-18 20:30
2002.04.22
Последовательный запуск двух программ.


1-69862
shelest
2002-04-02 10:14
2002.04.22
Формы в DLL.


1-69882
koks
2002-04-05 15:26
2002.04.22
Подскажите, где можно найти хорошие коллекции битмапов...