Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Работа с Boolean в ООП (http://www.tehnari.ru/f43/t55729/)

Malamadre 10.08.2011 18:59

Работа с Boolean в ООП
 
вообщем застрял на булевской переменной в ООП,
сначала объясню задачу :

задача такая, контора по приему б/у автомобилей : класс должен принимать стоимость нового авто(ну это я знаю), с помощью переменной boolean, минусовать со стоимости нового авто сколько то процентов, чтобы определить стоимость принимающего б/у авто ( ну вот например : три перменные FPriceNewCar(цена нового такого же авто), FPriceItog(итоговая выплачиваема цена), и булевская переменная FPainted(крашенный или нет) ,, булевскую переменную определяет RadioButton на форме, если его включить то авто крашенный, и в клаасе должно минусоваться со стоимости нового авто сколько то процентов(определить выплачиваемую стоимость) )

Вообщем проблема в том что, я не знаю как работать с BOOLEAN в ООП
в инете не нашел

как мне FPainted связать с RadioButton ? как описать его в свойствах, методах, процедурах и т д ,, нуу вообщем интересует работа с булевской перемменной ИМЕННО в ООП


ну вот и сам код :

Код:

TCar = class
  private
 
        FPainted : boolean;      //крашенный, некрашенный
        FPriceNewCar : integer;  //стоимость нового автомобиля
        FPriceItog : integer;    //стоимость выплачиваемая клиенту(хозяину авто)
 
        procedure setpainted(x: boolean);       
          function getpainted(): boolean;

        procedure setpricenewcar(x: integer);    //    уст цены новой машины
          function getpricenewcar(): integer;

          function getpriceitog(): integer;    //      получ цены старой машины 
   
  public
 
      property painted    : boolean read getpainted write setpainted;
      property pricenewcar : integer read getpricenewcar write setpricenewcar;
      property priceitog  : integer read getpriceitog;


 
end;
 
implementation
 
    procedure setpainted(x: boolean);
    begin
 
        fpainted := x;
    end;
 
        function getpainted(): boolean;
        begin
          getpainted := fpainted;
        end;

    procedure setpricenewcar(x: integer);
    begin
        fpricenewcar := x;
    end;

        function getpricenewcar(): integer;
        begin
          getpricenewcar := fpricenewcar;
        end;

        function getpriceitog(): integer;
        begin

        end;
 
end;


как мне FPainted связать с RadioButton ? как описать его в свойствах, методах, процедурах и т д ,, нуу вообщем интересует работа с булевской перемменной ИМЕННО в ООП

и выложите если не трудно побольше ПРОСТЫХ ну или же средних по сложности примеров с Boolean в ООП делфи


спасибо всем заранее,,

MrSTEP 10.08.2011 19:43

Переменные булевского типа принимают одно из двух значений: истина (true) и ложь (false). Такие переменные иначе называют логическими. С алгеброй логики встречались когда нибудь? Вот там все переменные как раз таки логического типа.

Вот так считывается положение радиобатона, и в зависимости от этого выбирается значение флага (булевской переменной):
Код:

{var flag:boolean;}
if RadioButton1.Checked then
    flag:=true
  else
    flag:=false;

Ну можно и более простым способом:
Код:

{var flag:boolean;}
  flag:=RadioButton1.Checked;

Только в этом случае надо учесть, что свойство объекта (подчеркнуто) тоже булевского типа, то есть либо Checked, либо не Checked. :)

А дальше уже проверяете, если значение флага - истина, то есть машина перекрашена, то выполняйте вычитание, или другие необходимые операции.
Будут еще вопросы - задавайте.


Часовой пояс GMT +4, время: 04:08.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.