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

Вниз

Авто инициализация переменной целого типа   Найти похожие ветки 

 
Nan   (2006-01-19 09:07) [0]

Как в Delphi сделать так, чтобы переменная целого типа принимала
значение равное 0 автоматически при ее объявлении ?


 
Vemer ©   (2006-01-19 09:16) [1]

Var
MyInteger : Integer = 0;
Only for global.


 
Nan   (2006-01-19 09:21) [2]

Это я знаю, а можно ли сделать, чтобы это происходило автоматом в том числе и с локальными переменными ?


 
MBo ©   (2006-01-19 09:31) [3]

{$J+}//Project-Options-Compiler-Assignable Typed Constants
procedure TForm13.FormCreate(Sender: TObject);
const
 A:Integer=0;
begin
 A:=5;
 Caption:=IntToStr(A);
end;


 
Юрий Зотов ©   (2006-01-19 09:33) [4]

1. Глобальные переменные (и поля объектов) и без того автоматически инициализируются нулями.

2. Локальные переменные не инициализируются.


 
evvcom ©   (2006-01-19 12:03) [5]


> MBo ©   (19.01.06 09:31) [3]

Лень проверять, но интересно, эта константа в стек ляжет или в "глобальную" область?
А вообще сама идея записи в константу ... Борланд извратился.


 
begin...end ©   (2006-01-19 12:10) [6]

> evvcom ©   (19.01.06 12:03) [5]

> Лень проверять, но интересно, эта константа в стек ляжет
> или в "глобальную" область?

Конечно же, НЕ в стек. При выходе в подпрограммы она должна сохранять своё значение.


 
begin...end ©   (2006-01-19 12:12) [7]

> в подпрограммы

из подпрограммы


 
Digitman ©   (2006-01-19 12:24) [8]


> константа в стек ляжет или в "глобальную" область?


Константа никуда не "ляжет".

"Ложатся" переменные, а не константы.


 
Digitman ©   (2006-01-19 12:25) [9]


> Константа никуда не "ляжет".


НЕтипизированная, имелось ввиду.


 
evvcom ©   (2006-01-19 12:39) [10]


> "Ложатся" переменные, а не константы.

Спасибо, я это знал.

> НЕтипизированная, имелось ввиду.

Вот именно. В данном-то случае разговор идет о типизированной. См. [3]. Я так и написал "эта константа".

> Конечно же, НЕ в стек.

Вот и я так думаю. Т.е. для разных объектов класса TForm13 (13 - намек на глючность :) сего подхода?) будет выполнена инициализация константы единожды (или всякий раз? нет надо все же посмотреть, интересный пример), в одном объекте она изменится, а в другом инитное значение уже метод не увидит. Не, сейчас проверю...


 
evvcom ©   (2006-01-19 12:45) [11]


> НЕ в стек
> в одном объекте она изменится, а в другом инитное значение
> уже метод не увидит

Так и есть. Точно Форма №13. С чертями дружна :)



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

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

Наверх





Память: 0.46 MB
Время: 0.012 c
15-1137324650
skater
2006-01-15 14:30
2006.02.05
Система скейтинг


2-1137706453
Vlad1
2006-01-20 00:34
2006.02.05
как в мое прог _часы сделать изменение сис времени


2-1137495060
ilya39
2006-01-17 13:51
2006.02.05
ColumnHeader в FCL


6-1130721966
MRAk
2005-10-31 04:26
2006.02.05
Узнать процент отправки


2-1137836536
Clock
2006-01-21 12:42
2006.02.05
Часы





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