Пятница, 29.03.2024, 15:23
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

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


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


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

Тема. Групи перемикачів (RadioGroup) та  групи прапорців  (CheckGroup)

На форму можна додати компоненти:

  • Група перемикачів RadioGroup

  • Група прапорців CheckGroup

Їх використовують у разі, якщо необхідно розмістити декілька груп прапорців чи перемикачів.

  • Якщо на формі використано декілька груп перемикачів, у межах кожної з груп можна увімкнути по одному.

  • Із перемикачами та прапорцями в межах групи виконують ті самі дії, як і з окремими елементами управління на формі.

 

Елементи управління RadioGroup і CheckGroup мають свої особливі властивості.

  • Columns - кількість стовпців елементів у групі.За замовчуванням — 1
  • Itemlndex - визначає номер (починаючи з 0) елемента управління, який виділений у групі. Якщо не виділений жоден, то значення властивості дорівнює -1
  • Items - містить список заголовків елементів групи. Для введення заголовків відкривається редактор, який викликають за допомогою кнопки  розташованої праворуч у рядку властивості Items

Вправа 4. Розробіть проект Кольорова форма в середовищі Lazarus, у якому форма змінюватиме свої властивості – колір і розмір залежно від обраних перемикачів у групах Колір та Розмір.

 Відкрийте середовище Lazarus, створіть новий проект і збережіть його складові в папку Кольорова_форма. Змініть значення властивості Caption об'єкта Form1 на Кольори.

1.     Розмістіть на екранній формі потрібні об'єкти – групи перемикачів (radioGroup1. radioGroup2) із заголовками Колір та Розмір:

Змініть властивість Items кожної групи, увівши відповідні пояснення до перемикачів 

                 

     Створіть процедуру опрацювання події: натиснуто кнопку Пуск.

У редакторі коду введіть команди для зміни значення властивості color екранної форми залежно від увімкненого перемикача. Значення цієї властивості розпочинається із літер cl, після яких записують англійською мовою назву кольору. Наприклад:

if  radioGroup1.Itemlndex=0  then  form1.color:=clred;

Введіть команди зміни розміру форми за зразком:

if radioGroup2.Itemlndex=0   then
    begin
        form1.height:=350;
        forml.width:=400;
   end;

Для середнього розміру оберіть висоту 450, ширину 600, а для великого – 550, 800 відповідно.

Запустіть проект на виконання. Перевірте, чи відповідають умові завдання дії, пов'язані з об'єктами управління екранної форми. Якщо є помилки – виправте їх.

Завершіть роботу з проектом і середовищем програмування.

Варіант програмного коду.

procedure TForm1.BitBtn1Click(Sender: TObject);
begin

  // элемент управления - radiogroup1
  if radiogroup1.itemindex = 0 then form1.Color:= clred; // если выбран переключатель с номером 0,  цвет формы меняется на красный
  if radiogroup1.itemindex = 1 then form1.Color:= clyellow;    // если выбран переключатель с номером 1 ,  цвет формы меняется на желтый
  if radiogroup1.itemindex = 2 then form1.Color:= clgreen;  // если выбран переключатель с номером 2 ,  цвет формы меняется на зеленый

  // элемент управления - radiogroup 2
  if radiogroup2.itemindex = 0 then    // если выбран переключатель с номером 0 выполняется изменение значений  ширины и высоты формы на 400*350
  begin
    form1.height := 350;
    form1.Width:= 400;
    end;

  if Radiogroup2.itemindex = 1 then
 // если выбран переключатель с номером 1 выполняется изменение значений  ширины и высоты формы на 600*450
  begin
    form1.height := 450;
    form1.Width:= 600;
    end;

  if radiogroup2.itemindex = 2 then
  // если выбран переключатель с номером 2 выполняется изменение значений  ширины и высоты формы на 800*550
  begin
    form1.height := 550;
    form1.Width:= 800;
    end;
  end;

procedure TForm1.Button1Click(Sender: TObject);
begin
      form1.Color:= cldefault;
      form1.height := 230;
    form1.Width:= 330;
      radiogroup1.itemindex := -1;
 // ни один из переключателей radiogroup1 не выбран
      radiogroup2.itemindex := -1;   // ни один из переключателей radiogroup2 не выбран

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  form1.height := 230;
    form1.Width:= 330;
 end;                      
   

 

Вправа 5.
Розробіть проект Правила дорожнього руху, за яким можна визначити, чи не порушив правила дорожнього руху водій, який проїхав відстань s за час t, якщо на шляху встановлео одне із запропонованих обмежень на швидкість:
40 км/год, 60 км/год, 90 км/год. Передбачьте, що дані вводяться в текстові поля,обмеження обираються за допомогою елементів управління (
Radiogroup або RadioButton)   а результат  виводиться у вікні повідомлення.

Інтерфейс проекту

Зміна властивості Items кожної групи, увівши відповідні пояснення до перемикачів 

Програмний код проекту.

procedure TForm1.BitBtn1Click(Sender: TObject);
 var  s, t, v: real;

begin

   s :=strtofloat(edit1.Text);
   t:=strtofloat(edit2.Text);

  v:=int(s/t);    //целая часть числа, тип результата - вещественный
 
 if radiogroup1.itemindex = 0 then   // если выбран первый элемент группы  radiogroup1

     begin
       if v >  40    then  messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы превысили скорость',mtinformation,[mbok],0)
       else  messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы не нарушаете правила дорожнего движения',mtinformation,[mbok],0)
     end;

if radiogroup1.itemindex = 1 then   // если выбран второй элемент группы  radiogroup1
     begin
       if v >  60    then  messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы превысили скорость',mtinformation,[mbok],0)
       else  messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы не нарушаете правила дорожнего движения',mtinformation,[mbok],0)
     end;

 if radiogroup1.itemindex = 2 then   // если выбран третий элемент группы  radiogroup1
     begin
       if v >  90    then  messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы превысили скорость',mtinformation,[mbok],0)
       else  messagedlg('Скорость вашего движения ' + floattostr(v) + ' км/час , вы не нарушаете правила дорожнего движения',mtinformation,[mbok],0)
     end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);
begin

        radiogroup1.itemindex := -1;  {если не выделен ни один элемент группы  radiogroup1 свойству  itemindex
( определяющему номер элемента управления, который выделен в группе) присваивается начение -1}

 
   edit1.Text :='';
     edit2.Text :='';
    messagedlg('Исходные данные сброшенны!' ,mtinformation,[mbok],0);
end;                                                                  

 Додавання форм в проект
               Список, що розкривається

Форма входа
Поиск
Календарь
«  Март 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

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