Procedure TForm1.Button1Click(Sender:TObject);//кнопка «Загадай число»
var v,e:Integer; // v ‑ значения числа после перевода, e ‑ код ошибки (0-нет) begin Val(Edit1.Text,v,e); // перевод числа из поля Edit1.Text в V Randomize; X:=random(v); // формирование случайного числа X Edit1.Enabled:=False; Button2.Enabled:=True; Edit2.Enabled:= True; Edit2.SetFocus; // установка фокуса на поле Edit2 End; Procedure TForm1.Button2Click(Sender: TObject); // кнопка «Попытка» Var v,e:Integer; // v ‑ значения числа после перевода, e ‑ код ошибки (0-нет) Begin Val(Edit2.Text,v,e); // перевод числа из поля Edit2.Text в V If v>X then Edit3.text:='Перелет' else If v<X then Edit3.text:='Недолет' else Edit3.text:='Вы угадали'; Edit4.Text:=IntToStr(StrToInt(Edit4.Text)+1);//число попыток увеличить на 1 Edit2.SetFocus; // установка фокуса на поле Edit2 end; Procedure TForm1.Button3Click(Sender: TObject); //кнопка «Очистить» begin Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; Edit4.Text:='0'; Edit1.Enabled:=True; // разблокировка поля ввода числа N Button1.Enabled:= False; // блокировка кнопки «Загадай число» Button2.Enabled:= False; // блокировка кнопки «Попытка» Edit1.SetFocus; // установка фокуса на поле Edit1 X:= 0 // загадываемое число первоначально равно нулю end; Procedure TForm1.Button4Click(Sender: TObject); // кнопка «Выход» begin Close; end; Для формы в качестве обработчика события OnActivate укажем имя процедуры Button3Click ‑ обработки события OnClick кнопки Очистить. Секундомер (Delphi) Рис. 8.1.2.1. Вид формы
Разместим компоненты на форме. Зададим для таймера значение свойству Interval, например, 100 миллисекунд (точность секундомера). Приведем тексты процедур программы. Var // раздел переменных модуля Unit1 h,m:Integer; i,s:real; // внешние переменные Procedure TForm1.Button1Click(Sender: TObject); // кнопка «Старт» begin Timer1.Enabled:=True; // запускаем таймер i:=Timer1.Interval/1000; // значение точности измерения Button1.Enabled:=False; Button2.Enabled:=True; Button3.Enabled:=False; end; Procedure TForm1.Button2Click(Sender: TObject); // кнопка «Финиш»
begin Timer1.Enabled:=False; // останавливаем таймер Button1.Enabled:=True; Button2.Enabled:=False; Button3.Enabled:=True; end; Procedure TForm1.Button3Click(Sender: TObject); // кнопка «Сброс» begin h:=0;m:=0; s:=0; // сброс значений счетчиков часов, минут, секунд label1.Caption:=IntToStr(h); label2.Caption:=IntToStr(m); label3.Caption:=FloatToStr(s); Button1.Enabled:=True; Button2.Enabled:=False; Button3.Enabled:=False; end; Procedure TForm1.Button4Click(Sender: TObject); // кнопка «Выход» begin Form1.Close end; procedure TForm1.Timer1Timer(Sender: TObject); // обработка таймера begin s:=s+i; // увеличение числа секунд if s>=60 then begin s:=0; m:=m+1; if m>=60 then begin m:=0;h:=h+1; end end; label1.Caption:=IntToStr(h); label2.Caption:=IntToStr(m); label3.Caption:=FloatToStr(s); // вывод числа часов, минут и секунд end; Для формы в качестве обработчика события OnActivate укажем имя процедуры Button3Click ‑ обработки события OnClick кнопки Сброс. Бегущая строка (Delphi) Создадим программу вывода бегущей строки, которая выводится в заголовке формы (рис. 8.1.3.1). Рис. 8.1.3.1. Вид формы с бегущей строкой
Разместим компоненты: Timer1 (Enabled=False, Interval=100), Edit1 (поле для ввода текста бегущей строки), ScrollBar1 (регулятор скорости вывода строки со свойствами (п. 2.3.6.1): Min=10, Max=1000, Position=10, LargeChange=20, SmallChange=10) и кнопки управления. Приведем тексты процедур программы. Procedure TForm1.Button1Click(Sender:TObject);//кнопка Начать/Законч. Begin if Button1.Caption= 'Начать' then // кнопка «Начать» begin Button1.Caption:= 'Закончить'; // смена наименования кнопки Edit1.Enabled:= False; Form1.Caption:= Edit1.Text + ' '; Timer1.Enabled:= True; end else // кнопка «Закончить» begin Button1.Caption:= 'Начать'; // смена наименования кнопки Edit1.Enabled:=True; Timer1.Enabled:= False;Form1.Caption:=''; end; end; Procedure TForm1.Button2Click(Sender: TObject); // кнопка «Выход» begin Close; end;
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|