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

Вниз

Static variables   Найти похожие ветки 

 
id_privin   (2002-07-23 14:29) [0]

Читаю, help , но не нахожу : Как в Delphi сделать статического члена класса, и как его проинициализировать.

Спасибо.


 
Skier   (2002-07-23 14:47) [1]

>id_privin


> сделать статического члена класса


Поясни...


 
id_privin   (2002-07-23 15:35) [2]

Поясняю, в объекте есть поле, которое одинаково для всех объектов данного класса (например счетчик созданных объектов)


 
Skier   (2002-07-23 15:42) [3]

>id_privin
Каждый объект должен использовать общее (одно и то же) поле или оно должно быть у каждого объекта своё ???


 
id_privin   (2002-07-23 15:48) [4]

Это ты хитро спросил.
Мне все-равно, главное что значения у них у всех должны быть одинаковыми (Если я в одном экземпляре его поменял то оно у всех изменилось).


 
Игорь Шевченко   (2002-07-23 15:49) [5]

Сделайте глобальную переменную и не мучайтесь


 
Skier   (2002-07-23 15:50) [6]

>id_privin
Тогда см. Игорь Шевченко © (23.07.02 15:49)


 
MBo   (2002-07-23 15:55) [7]

Точного аналога нет.
Функциональность достигается через классовые методы и внутреннюю переменную модуля с классом.


 
id_privin   (2002-07-23 15:59) [8]

Нельзя глобальную, тк она должна быть сугубо private, иначе последствия могут быть плачевны.
Неужели нельзя как в плюсах написать чтото типа
variable : integer; <что-то здесь>;


 
Внук   (2002-07-23 16:00) [9]

Статических переменных класса, как в С, здесь нет. А жаль...


 
Skier   (2002-07-23 16:02) [10]

>id_privin
const
AMyVar : Integer = 100;


 
MBo   (2002-07-23 16:03) [11]

>и внутреннюю переменную модуля с классом
объявляешь ее в implementation и приватней не бывает


 
Внук   (2002-07-23 16:04) [12]

>>Skier © (23.07.02 16:02)
Я бы не назвал это "сугубо private" :)))


 
Skier   (2002-07-23 16:14) [13]

>Внук
Ты прав, коллега ! :)
Просто я уже думал что мы договорились насчёт
глобальной переменной...


 
MBo   (2002-07-23 16:16) [14]

unit Unit2;
interface
type TA=class
class function NumberOf:Integer;
// class function не обязательно, но позволяет обращаться БЕЗ создания экземпляра!
constructor Create;
end;

implementation
var
ANumber:Integer=0;//или в секции Initialization можно присвоить

{ TA }
constructor TA.Create;
begin
inc(ANumber);
end;

class function TA.NumberOf: Integer;
begin
Result:=ANumber;
end;




unit Unit1;
...
procedure TForm1.Button1Click(Sender: TObject);
var a:ta;
begin
a:=ta.create;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Caption:=IntToStr(TA.NumberOf);
end;




 
Внук   (2002-07-23 16:26) [15]

>>Skier ©
:)) Как показывает практика, все мало-мальски удобное рано или поздно переезжает из С++ в Object Pascal, хотя и с видоизменениями. И хотя перегрузки операторов, по-видимому, не будет, я все же надеюсь, что аналог
class ...
static int i;
когда-нибудь появится :)



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

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

Наверх





Память: 0.47 MB
Время: 0.006 c
14-13774
T.Rook
2002-07-09 21:20
2002.08.05
Замедлялка


3-13572
Doctor
2002-07-16 13:27
2002.08.05
помогите с отчетом


4-13850
Максимка
2002-05-28 20:41
2002.08.05
Как создать несколько форм, но так чтобы...


1-13655
Sub
2002-07-23 11:58
2002.08.05
Общие вопросы


1-13639
ilg
2002-07-22 16:42
2002.08.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
Английский Французский Немецкий Итальянский Португальский Русский Испанский