Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2013, 19:48   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а можно ли создать обработчик событий для переменной?
Это называется свойством. Читай в книге от Тексейры и Пачеко про Property.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.01.2013, 21:20   #12
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

а вот так не прокатит?

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
  Procedure FEnabledChange(Enabled: Boolean);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Enabled: Boolean;

implementation

{$R *.dfm}

Procedure Process(Enabled: Boolean);
begin
if Enabled
then Form1.Label1.Caption:= 'Enabled'
else Form1.Label1.Caption:= 'Desabled';
end;

Procedure TForm1.FEnabledChange(Enabled: Boolean);
begin
Process(Enabled);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Enabled:= True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Enabled:= False;
end;

end.
только все равно зависает все нафиг при присвоении Enabled:= False вообще не понимаю тут то почему???

п.с. или нужно как то связываться с TNotifiEvent обязательно?
NewLamer&Programer вне форума Ответить с цитированием
Старый 13.01.2013, 22:25   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Всетки про свойства прочитай.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.01.2013, 22:30   #14
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Код:
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    FMyEnabled: boolean;
    Procedure SetMyEnabled(Value: Boolean);
  public
    property MyEnabled: Boolean read FMyEnabled write SetMyEnabled;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Procedure TForm1.SetMyEnabled(Value: Boolean);
begin
FMyEnabled := Value;
if Value
then Label1.Caption:= 'Enabled'
else Label1.Caption:= 'Disabled';
end;
Полагаю, это спасёт отца русской демократии ?
Вы же уже установили, что не надо называть вещи уже используемыми именами, дак зачем наступать на эти же грабли ?

Я бы выгнал за книги, чтобы прочёл от корки и до заката.
phomm вне форума Ответить с цитированием
Старый 13.01.2013, 22:55   #15
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

phomm,
"Полагаю, это спасёт отца русской демократии ?" - брееед... (код)
"Вы же уже установили, что не надо называть вещи уже используемыми именами, дак зачем наступать на эти же грабли ?" - я просто уже малость сам запутался...
"Я бы выгнал за книги, чтобы прочёл от корки и до заката." - думаешь мне есть когда их читать? =) сессия чтоб ее... и вообще по программированию у нас С++, а делфи это так просто увлечение со школы осталось (после паскаля увлекся) Только теперь я С++ нихера не понимаю, а в делфи ну так чуток шарю (да я нуб с высокой самооценкой !), но учиться чему то новому всегда рад

п.с. у меня щас моСК лопнет от всей этой Х***** в общем посмотрю завтра...

п.с. 2 впрочем скачал этих Тейксера и Пачека... вроде ниче понятно спс

Последний раз редактировалось NewLamer&Programer; 13.01.2013 в 23:09.
NewLamer&Programer вне форума Ответить с цитированием
Старый 13.01.2013, 23:42   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
думаешь мне есть когда их читать?
Думаешь у тебя на настоящей работе такое время появится? Думаешь оно у тебя будет когда семьей обзаведешься?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.01.2013, 08:34   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от NewLamer&Programer
"Полагаю, это спасёт отца русской демократии ?" - брееед... (код)
это я чего-то не понял... Какой бред?!
Или это Вы вместо "спасибо" за толковый пример?!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.01.2013, 09:13   #18
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

Stilet, я лишь хотел сказать что код мне требовался сейчас, а книги можно почитать и после сессии

Serge_Bliznykov, в нете навалом примеров, однако данный пример совершенно не вписывается в то что я хотел увидеть (даже обработчик не OnChange, а какой то Set) Впрочем все равно спс, какой никакой образец...
NewLamer&Programer вне форума Ответить с цитированием
Старый 14.01.2013, 09:34   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вам показали пример, который делает именно то, что Вам нужно и так, как это заложено разработчиками языка ("страшное" слово инкапсуляция слышали? )!
Что именно в этом примере Вас не устраивает? (что не делается? Или что делается, но не так, как Вам нужно?)

Цитата:
(даже обработчик не OnChange, а какой то Set)
смешно... ну назовите его так, как Вам хочется.. см.ниже..
Код:
    procedure Button2Click(Sender: TObject);
  private
    FMyEnabled: boolean;
    Procedure OnMyEnabledChange(Value: Boolean);
  public
    property MyEnabled: Boolean read FMyEnabled write OnMyEnabledChange;
  end;
...
Procedure TForm1.OnMyEnabledChange(Value: Boolean);
begin
FMyEnabled := Value;
.....

Цитата:
что код мне требовался сейчас, а книги можно почитать и после сессии
поймите, что Вам предлагают корректный код. Если Вы его не можете понять, от этого предложенный код не становится менее корректным. Ваше право не использовать его и написать так, как Вы считаете нужным/правильным.
Но вообще-то, Вы сейчас напоминаете студента, который пытается решить квадратное уравнение методом "тыка", так как формулу для вычисления дискриминанта и корней он не знает, а читать книжки ему некогда... Аналогия, надеюсь, прозрачна?

Ну и желаю удачи, она Вам явно понадобится!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.01.2013, 23:27   #20
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

"смешно... ну назовите его так, как Вам хочется.. см.ниже.."
да кто же его знает вдруг там какой то синтаксис заложен на эти Set, Change...

"поймите, что Вам предлагают корректный код." ок ок ок...

"Аналогия, надеюсь, прозрачна?" - дискриминанты на помойку, метод Крамера рулит !!!
NewLamer&Programer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исключение из проверки по Enabled...? kta87 Общие вопросы Delphi 16 06.02.2012 17:49
Задержка с помощью timer.Enabled tisha077 Мультимедиа в Delphi 12 14.12.2009 02:33
Фокус и св-во enabled megachuhancer Общие вопросы Delphi 4 09.09.2009 11:59
Перехват изменения Enabled kinderproc Компоненты Delphi 4 22.06.2009 15:21
SpeedButton, glyph, enabled ScorpioN_T Общие вопросы Delphi 8 27.04.2009 19:14