|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Тема про Логическую переменную Bool
Всем привет! Есть такой кусок кода
Код:
.... type TForm1 = class(TForm) Timer1: TTimer; Button1: TButton; Timer2: TTimer; Image1: TImage; funcmish: TCheckListBox; l: TLabel; Timer3: TTimer; Label1: TLabel; procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Timer2Timer(Sender: TObject); procedure Timer3Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; bp:bool=true;//___________________ implementation {$R *.dfm} ..... |
#2
|
||||
|
||||
Ну явно присвоить, чо.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
||||
|
||||
Логично, но в данном коде
Код:
function klava(key:integer):bool; var bp:bool; begin result:=false; if (getasynckeystate(key)<0) then begin bp:=true; end; if (getasynckeystate(key)=0)and(bp) then begin bp:=false; result:=true; //beep; end; end; ///////////////////////////////////////// function double_klava(key,fkey:integer):bool; var bp:bool; begin result:=false; if (getasynckeystate(key)<0)and(getasynckeystate(fkey)=0) then begin bp:=true; end; if (getasynckeystate(key)=0)and(bp) then begin bp:=false; result:=true; //beep; end; end; Последний раз редактировалось Klyaksa, 13.10.2013 в 22:36. |
#4
|
||||
|
||||
Что нужно то? Чтоб локальная переменная где-то запоминалась?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
||||
|
||||
Ну вроде того. Желательно (если возможно) что-бы она запоминалась в той-же функции в которой находится. И не распространялась на другие функции, так как название переменной одинаковое во всех функциях.
|
#6
|
||||
|
||||
Сделай класс-переменную (class var) и используй ее там.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
Klyaksa (13.10.2013)
|
#7
|
||||
|
||||
Можно так:
1. Способ с применением директивы {$J+}/{$J-}: Код:
procedure TForm1.Button1Click(Sender: TObject); const {$J+} //Директива, разрешающая изменять значения типизированных констант. Cnt : Integer = 0; {$J-} begin Inc(Cnt); ShowMessage('Счётчик нажатий кнопки: ' + IntToStr(Cnt)); end; 2. Способ с применением указателя на типизированную константу: Код:
procedure TForm1.Button1Click(Sender: TObject); const Cnt : Integer = 0; var PCnt : ^Integer; begin PCnt := @Cnt; Inc(PCnt^); ShowMessage('Счётчик нажатий кнопки: ' + IntToStr(Cnt)); end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Klyaksa (13.10.2013)
|
#8
|
||||
|
||||
А такая константа разве не в стеке будет?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#9
|
||||
|
||||
Нет, по сути это глобальная константа, но с ограниченной видимостью.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |