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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
7-70052
НЕО
2002-01-26 10:58
2002.04.22
LOGIN пользователя, работающего на машине в сети...


14-70017
Sergo
2002-03-14 12:28
2002.04.22
Тема про вирус!!!


7-70046
Dimich
2002-01-25 11:41
2002.04.22
Индикатор текушего шрифта


1-69917
cok
2002-03-30 14:55
2002.04.22
Pascal срочно, плзззз...


3-69668
Michael_Fehler
2002-04-03 12:20
2002.04.22
ADOQuery





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