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

Вниз

Начальное значение переменной   Найти похожие ветки 

 
BJValentine ©   (2003-06-23 15:16) [0]

Как можно в разделе Var задать значение переменной по умолчанию?


 
Palladin ©   (2003-06-23 15:17) [1]

в локальном никак
в глобальном
var
g:integer=2;


 
BJValentine ©   (2003-06-23 15:21) [2]

Спасибо, я пробовал в локальном, не знал, что есть разница.


 
Palladin ©   (2003-06-23 15:22) [3]

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


 
Johnmen ©   (2003-06-23 15:29) [4]

в локальном
const
g:integer=2;
с включенной опцией компилятора Assignable typed constants


 
Palladin ©   (2003-06-23 15:31) [5]

да,но к сожалению должен огорчить, в const это не в var
и переменные все равно придется инициализировать в ручную при каждом входе в процедуру или функцию...


 
Johnmen ©   (2003-06-23 16:00) [6]

>Palladin © (23.06.03 15:31)
>да,но к сожалению должен огорчить, в const это не в var

И в чем же принципиальное различие в данной ситуации ?
И там и там проинициализировано будет 1 раз.



 
Palladin ©   (2003-06-23 16:08) [7]

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

{$J+}
procedure ConstAsVar
const
a:integer=1;
begin
a:=a+1;
end;

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

procedure ConstAsVar
const
a:integer=1;
begin
a:=1;
a:=a+1;
end;

ну а в таком случае на кой черт проводить эту операцию если
procedure NormalVar;
var
a:integer;
begin
a:=1;
a:=a+1;
end;


 
Johnmen ©   (2003-06-23 16:19) [8]

>Palladin © (23.06.03 16:08)

Это, как я понял, ты мне объясняешь ? Право, не стОит...:)
Вдумчиво, еще раз (23.06.03 16:00) :)))
А то, что это вряд ли понадобиться локально, не обсуждается...



 
Palladin ©   (2003-06-23 16:30) [9]

речь шла о возможности инициализации именно в локале, читай внимательней вопрос


 
Palladin ©   (2003-06-23 16:30) [10]

вернее не вопрос а третий пост



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

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

Наверх




Память: 0.49 MB
Время: 0.017 c
3-7355
anton2v
2003-06-10 12:54
2003.07.03
Копирование данных из одной таблицы в другую


3-7307
Explorer
2003-06-05 11:40
2003.07.03
Данные из Excel в MS SQL


1-7386
Onward
2003-06-22 23:07
2003.07.03
Как можно изменить размеры клиентской области рабочего стола?


1-7414
Oleg
2003-06-23 09:50
2003.07.03
Аварийное завершение программы


14-7704
Mor
2003-06-15 15:08
2003.07.03
e-mail