Суббота, 21.09.2019, 09:43
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Пример 1. Разработать проект, содержащий компоненты RadioGroup и CheckGroup

Вариант проекта:
1. Интерфейс проекта

.

2. Программный код проекта

procedure TForm1.RadioGroup1Click(Sender: TObject);  // событие   onClick группы  RadioGroup , включенной может быть лишь одна такая радиокнопка
begin
case RadioGroup1.ItemIndex of
   0 : begin
         Form1.Width := 430;
         form1.image5.Show;
         form1.image3.Hide;
         form1.image4.Hide;
         label1.caption:= ' Я - Джек';
        end;
 
1: begin
        Form1.Width := 430;
        form1.image3.Show;
        form1.image4.Hide;
        form1.image5.Hide;
        label1.caption:= ' Я - Ник';
      end;
 
2: begin
        Form1.Width := 430;
        form1.image3.Hide;
        form1.image4.Show;
        form1.image5.Hide;
        label1.caption:= ' Я - Дэн';
   end;

3:  begin
       Form1.Width := 290;
       Form1.Height:=220;
        form1.image3.Hide;
        form1.image4.Hide;
        form1.image5.Hide;
        label1.caption:= ' ';
        RadioGroup1.ItemIndex := -1;
// oбнуляет RadioGroup
      end;
 
end;   //case

  end;
 

 

procedure TForm1.CheckGroup1ItemClick(Sender: TObject; Index: integer);  //событие выбора флажка в группе

begin
if checkgroup1.checked[0]   then   begin
                form1.caption:='CheckGroup1';
                Form1.Color:= clTeal
                                                       end
                      else begin   
form1.caption:='RadioGroup_CheckGroup';
  Form1.Color:= clTeal;
                             end;

if  checkgroup1.checked[1]  then    Form1.Color:= clolive else Form1.Color:= clTeal;

if  checkgroup1.checked[2]  then
    begin

      Form1.Width := Form1.Width + 130 ;
      Form1.Height := Form1.Height + 100;
   end
                                          else
                              begin
    
    Form1.Width := 290;
       Form1.Height:=220;
                           end;

end;
 

procedure TForm1.FormCreate(Sender: TObject);   // устанавливаем исходные значения  свойств формы
begin
Form1.Color:= clTeal;
Form1.Width := 290 ;
Form1.Height:= 220;
form1.image5.Hide;
form1.image3.Hide;
form1.image4.Hide;
label1.caption:= ' ';
 end;

Пример 2. Разработка проекта Калькулятор с четырьмя формами в четырех  вариантах с использованием компонентов RadioGroup, ComboBox, CheckDroup.

1.  Если в проекте используется несколько экранных форм, то:
                      в программном коде следует задать команду uses, с помощью которой подключаются программные модули других форм;
                     после команды uses подают список имен файлов экранных форм, которые будут подключены.
Например, в нашем примере будут использованы формы, сохраненные в файлах Unit2, Unit3, Unit4 то в программном коде Form1 указывают:

 ...
var

  Form1: TForm1;
   var a, b, s, r,  z, d: real;
 
 implementation
     uses unit2, Unit3, Unit4;     // первая форма
  {$R *.lfm}
  ...

 

2. Если программа содержит несколько форм, то по умолчанию отображается только главная форма. Для отображения других форм проекта используют метод Show или ShowModal, например:  Form2.ShowModal;

Отличие этих методов заключается в том, что:
            первый вызывают для отображения формы в обычном режиме, а второй - в так называемом модальном режиме: после отображения указанной формы все другие формы будут недоступны;
          чтобы перейти к другой форме, необходимо закрыть текущую форму.

Для объекта форма чаще всего используют следующие методы:

  • Show- отобразить форму в обычном режиме;
  • ShowModal- отобразить форму в модальном режиме;
  • Hide- сделать форму невидимой (скрыть ее);
  • Close- закрыть форму.

Некоторые методы можно вызывать для различных объектов, а другие - только для объектов определенного типа. Например, методы Show и Hide можно вызвать для формы, надписи, кнопки и других объектов, а метод Close-только для формы.

Интерфейс и варианты программного кода проекта.

var
  Form1: TForm1;
   var a, b, s, r,  z, d: real; i: integer; 
// объявление глобальных переменных
implementation
     uses unit2, Unit3, Unit4;     // первая форма
{$R *.lfm}

procedure TForm1.Button5Click(Sender: TObject);
begin
    form2.Show;  form1.Hide;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
     form3.Show;   form1.Hide;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
     form4.Show;   form1.Hide;
end;   


     ...
 procedure TForm1.Button1Click(Sender: TObject);
    begin
     a := strtofloat(edit1.text);     b := strtofloat(edit2.text);
     s := a + b ; label4.Caption := floattostr(s);
 end;

procedure TForm1.Button2Click(Sender: TObject);
  begin
 a := strtofloat(edit1.text);  b := strtofloat(edit2.text);
 r := a - b ; label4.Caption := floattostr(r);
   end;

procedure TForm1.Button3Click(Sender: TObject);
        begin
         a := strtofloat(edit1.text);         b := strtofloat(edit2.text);
         z := a * b ;        label4.Caption := floattostr(z);
       end;

procedure TForm1.Button4Click(Sender: TObject);
      begin
       a := strtofloat(edit1.text);        b := strtofloat(edit2.text);

      if  b<>0 then begin d := a / b ; label4.Caption := floattostrF(d,ffFixed,6,3);end
     
 else showmessage('деление на ноль недопустимо');
     end;

 

 


 

var
  Form2: TForm2;
 

implementation
     uses unit1;     // вторая форма
{$R *.lfm}

 ...

procedure TForm2.Button1Click(Sender: TObject);
begin
 for i:=0 to 3 do
checkgroup1.checked[i] :=false;
   label4.caption:='';   label5.caption:='';
  label6.caption:='';  label7.caption:='';
  edit1.Enabled:=true; edit1.text:='';
  edit2.Enabled:=true;   edit2.text:='';
  edit1.Text:= inputbox(' ввод данных','a=','');
  edit2.Text:= inputbox('ввод данных ','b=','');
  a:=strtofloat(edit1.text);
  b:=strtofloat(edit2.text);
end;  


 

procedure TForm2.CheckGroup1ItemClick(Sender: TObject; Index: integer);
begin

   if checkgroup1.checked[0]   then
                    begin
                      s:= a + b ;   label4.caption:= floattostr(s);
                    end
                                         
else  label4.caption:='';
   
if  checkgroup1.checked[1]  then
                      begin
                   r := a - b ;    label5.Caption := floattostr(r);
                      end
            
                             
else  label5.caption:='';

 if  checkgroup1.checked[2]  then
                      begin
                         z := a *b ;   label6.Caption := floattostr(z);
                      end
                                     
else  label6.caption:='';

 if  checkgroup1.checked[3]   then
                      begin
   
 if  b<>0 then
        
begin d := a / b ; label7.Caption :=      floattostrF(d,ffFixed,6,3);end
                
 else showmessage('деление на ноль недопустимо');  end
                                          
 else  label7.caption:='';

end;

procedure TForm2.Button2Click(Sender: TObject);
begin
  form1.show;  form2.Hide;
end;

var
  Form3: TForm3;
 

implementation
     uses unit1;     // третья форма
{$R *.lfm}

 ...
procedure TForm3.Button1Click(Sender: TObject);
begin
radiogroup1.itemindex:=-1;
radiogroup2.itemindex:=-1;
label4.caption:='';
edit1.Enabled:=true; edit1.text:='';
edit2.Enabled:=true;   edit2.text:='';
edit1.Text:= inputbox(' ввод данных','a=','');
edit2.Text:= inputbox('ввод данных ','b=','');
a:=strtofloat(edit1.text);b:=strtofloat(edit2.text);
end;

procedure TForm3.Button2Click(Sender: TObject);
  begin
  form1.Show;  form3.Hide;
  end;

Вариант 1

procedure TForm3.RadioGroup1Click(Sender: TObject);
begin
   if radiogroup1.itemindex = 0 then
       begin     s:= a + b ;   label4.caption:= floattostr(s);   end ;

  if radiogroup1.itemindex = 1 then
         begin   r:= a - b ; label4.caption:= floattostr(r);   end;

  if radiogroup1.itemindex = 2 then
          begin    z:= a * b ; label4.caption:= floattostr(z);end;

  if radiogroup1.itemindex = 3 then
       begin
            if  b<>0 then begin d := a / b ; label4.Caption := floattostrF(d,ffFixed,6,3);end
       else showmessage('деление на ноль недопустимо');
      
 end ;
 
end;
                          
Вариант 2

procedure TForm3.RadioGroup2Click(Sender: TObject);
begin
     
case RadioGroup2.ItemIndex of
  0 :  begin s:= a + b ;  label4.caption:= floattostr(s); end;
 
1: begin
    r:= a - b ;    label4.caption:= floattostr(r);
    end;

 2:  begin
   z:= a * b ;   label4.caption:= floattostr(z);
    end ;

 3: begin
       if  b<>0 then begin d := a / b ; label4.Caption := floattostrF(d,ffFixed,6,3);end
       else showmessage('деление на ноль недопустимо');  end ;

    end; //case
end;  

var
  Form4: TForm4;
 

implementation
     uses unit1;     // четвертая форма
{$R *.lfm}

 ...

procedure TForm4.Button1Click(Sender: TObject);
  begin
    form1.Show;    form4.hide;
  end

procedure TForm4.ComboBox1Change(Sender: TObject);
   
begin
     a := strtofloat(edit1.text);     b := strtofloat(edit2.text);
 if combobox1.text = 'сложение' then begin s := a + b ;  label4.Caption := floattostr(s);end
  else if   combobox1.text = 'вычитание' then begin r := a - b ;  label4.Caption := floattostr(r);end
  else if combobox1.text = 'умножение' then begin z := a * b ;      label4.Caption := floattostr(z);end
  else if combobox1.text = 'деление' then
                 
if b<>0 then begin d := a / b ; label4.Caption := floattostrF(d,ffFixed,6,3); end

else   showmessage('деление на ноль недопустимо');
   
end;

 

Форма входа
Поиск
Календарь
«  Сентябрь 2019  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
30
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2019
    Конструктор сайтов - uCoz