Спецификация программы
Исполняемый файл программы «Научись печатать» имеет название PEZATAITE.EXE. Его работоспособность не зависит от расположения на диске. Необходимо, чтобы файлы, прилагающиеся к программе, находились в указанных каталогах. Наименования файлов входящих в проект и краткая информация об их содержании отображены в таблице 2. Таблица 2
Текст программы
Текст программы для формы – Form1[2]: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, ExtCtrls; type TForm1 = class(TForm) Label1: TLabel; // для вывода случайно сгенерированных слов Edit1: TEdit; // для ввода текста с клавиатуры Button1: TButton; // завершение работы с программой Label2: TLabel; // вывод количества правильно набранных слов MainMenu1: TMainMenu; // меню работы программы на время N1: TMenuItem; // выпадающий список Timer1: TTimer; // временной таймер N2: TMenuItem; // тест на время для новичков N3: TMenuItem; // тест на время – средняя скорость N4: TMenuItem; // тест на время для профессионалов Button2: TButton; // сброс значений Label3: TLabel; // комментарий Panel1: TPanel; // контейнер Image1: TImage; // окно для загрузки картинок Panel2: TPanel; // контейнер Label4: TLabel; // вывод отсчета обратного времени Timer2: TTimer; // при появлении формы выводится случайно сгенерированное слово procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObect); // обр. кнопки "завершить" procedure Timer1Timer(Sender: TObject); // обр. таймер // обр. Нажатия клавиши "enter" procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure N2Click(Sender: TObject); // procedure N3Click(Sender: TObject); // три положения скорости таймера procedure N4Click(Sender: TObject); // procedure Button2Click(Sender: TObject); // обр. Кнопки сброс procedure Timer2Timer(Sender: TObject); // отсчет обратного времени private { Private declarations } public { Public declarations } end; // объявление глобальных переменных и констант var Form1: TForm1; // переменные для подсчета кол-ва выведенных слов, правильных ответов // и для оператора выбора генерации случайных слов vremi,o,k,t, x:integer; m:string; // присваивается значение текста введенного пользователем // именованные константы для генератора случайных слов const prob='диван'; f='кровать'; n='картина'; h='стенка'; u='солнышко'; y='компьютер'; l='принтер'; d='ковер'; r='пожар'; qq='игрушка'; ww='дверь; ee='плита'; rr='книга'; tt='уроки'; yy='кактус'; uu='дискотека'; ii='кухня'; oo='сосна'; pp='зеркало'; aa='куртка'; ss='173042'; dd='935862'; ff='0.4789'; gg='1,9,53'; hh='с:\юзер'; jj='(2359)' ; kk='2*7=14'; ll='сколько?'; zz='12+965'; xx='500-25'; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); // процедура создания формы begin image1.Picture.LoadFromFile ('fonovi.wmf') ; // загружаем картинку randomize; //вывоз проц. ген. Чисел k:=1; t:=0; // счетчик слов – сгенерированных и правильно набранных x:=random (30)+1; //генерируем случ. числа case x of // выбор случайного слова из предложенных 1: label1.Caption := prob; 2:label1.Caption:= h ; 3:label1.Caption:= u; 4: label1.Caption:= f; 5:label1.Caption:= y; 6:label1.Caption:= l; 7:label1.Caption:= d; 8:label1.Caption:= n; 9:label1.Caption:= r; 10:label1.Caption:=qq ; 11:label1.Caption:= ww; 12:label1.Caption:= ee; 13:label1.Caption:=rr ; 14:label1.Caption:=tt ; 15:label1.Caption:=yy ; 16:label1.Caption:=uu ; 17:label1.Caption:=ii ; 18:label1.Caption:= oo; 19:label1.Caption:=pp; 20:label1.Caption:=aa; 21:label1.Caption:=ss; 22:label1.Caption:=dd; 23:label1.Caption:=ff; 24:label1.Caption:=gg; 25:label1.Caption:=hh; 26:label1.Caption:=jj; 27:label1.Caption:=kk; 28:label1.Caption:=ll; 29:label1.Caption:=zz; 30:label1.Caption:=xx; end; end; procedure TForm1.Button1Click(Sender: TObject); begin form1.Close; // закрытие приложения end; procedure TForm1.Timer1Timer(Sender: TObject); // обр. таймера begin k:=1; // счетчику случ. слов присвоили 1 o:=k ; // заменяем переменную счетчика к на 0 randomize; // вызов проц. ген. чисел x:=random (30)+1; // генерируем случ. числа case x of // выбор случайного слова из предложенных 1: label1.Caption := prob; 2:label1.Caption:= h ; 3:label1.Caption:= u; 4: label1.Caption:= f; 5:label1.Caption:= y; 6:label1.Caption:= l; 7:label1.Caption:= d; 8:label1.Caption:= n; 9:label1.Caption:= r; 10:label1.Caption:=qq ; 11:label1.Caption:= ww; 12:label1.Caption:= ee; 13:label1.Caption:=rr ; 14:label1.Caption:=tt ; 15:label1.Caption:=yy ; 16:label1.Caption:=uu ; 17:label1.Caption:=ii ; 18:label1.Caption:= oo; 19:label1.Caption:=pp; 20:label1.Caption:=aa; 21:label1.Caption:=ss; 22:label1.Caption:=dd; 23:label1.Caption:=ff; 24:label1.Caption:=gg; 25:label1.Caption:=hh; 26:label1.Caption:=jj; 27:label1.Caption:=kk; 28:label1.Caption:=ll; 29:label1.Caption:=zz; 30:label1.Caption:=xx; end; m:=edit1.Text; // присваиваем введенное пользователем текстовое значение // сравниваем текст с константой // при равенстве счетчику правильных слов // присваиваем +1 if m=prob then t:=t+1; if m=f then t:=t+1 ; if m=n then t:=t+1 ; if m=h then t:=t+1 ; if m= u then t:=t+1 ; if m= y then t:=t+1 ; if m= l then t:=t+1 ; if m= d then t:=t+1 ; if m=r then t:=t+1; if m= qq then t:=t+1; if m= ww then t:=t+1; if m=ee then t:=t+1; if m=rr then t:=t+1; if m=tt then t:=t+1; if m=yy then t:=t+1; if m= uu then t:=t+1; if m=ii then t:=t+1; if m= oo then t:=t+1; if m= pp then t:=t+1; if m=aa then t:=t+1; if m=ss then t:=t+1; if m=dd then t:=t+1; if m=ff then t:=t+1; if m=gg then t:=t+1; if m=hh then t:=t+1; if m=jj then t:=t+1; if m=kk then t:=t+1; if m=ll then t:=t+1; if m=zz then t:=t+1; if m=xx then t:=t+1; o:=o+1; // счетчику случ. слов присвоили 1 if o=2 then // если сумма счетчика достигла 2 begin timer1.enabled:=false; // останавливаем таймер edit1.Visible:=false; // делаем недоступным текстовое окно image1.Picture.LoadFromFile ('fonovi.wmf') ; // загружаем картинку // если счетчик правильных слов превысил 20 выводим сообщение пользователю if t>20 then label2.Caption:='блестяще количество набранных слов ='+ inttostr (t)+'переходите'; // если нет, то выводим другое сообщение label2.Caption:='количество набранных слов = ' +inttostr (t) + ' из 20 '; end; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if Key = chr(VK_RETURN) then //если нажата клавиша "enter " begin m:=edit1.Text; // присваиваем введенное слово пользователем текстовое значение // сравниваем текст с константой // при равенстве счетчику правильных слов // присваиваем +1 if m=prob then t:=t+1; if m=f then t:=t+1 ; if m=n then t:=t+1 ; if m=h then t:=t+1 ; if m= u then t:=t+1 ; if m= y then t:=t+1 ; if m= l then t:=t+1 ; if m= d then t:=t+1 ; if m= r then t:=t+1; if m= qq then t:=t+1; if m= ww then t:=t+1; if m=ee then t:=t+1; if m=rr then t:=t+1; if m=tt then t:=t+1; if m=yy then t:=t+1; if m= uu then t:=t+1; if m=ii then t:=t+1; if m= oo then t:=t+1; if m= pp then t:=t+1; if m= aa then t:=t+1; if m=ss then t:=t+1; if m=dd then t:=t+1; if m=ff then t:=t+1; if m=gg then t:=t+1; if m=hh then t:=t+1; if m=jj then t:=t+1; if m=kk then t:=t+1; if m=ll then t:=t+1; if m=zz then t:=t+1; if m=xx then t:=t+1; k:=k+1; // счетчику случ. слов присвоили 1 edit1.Text:=''; // очистим текстовое окно edit1.SetFocus; // сделаем активным текстовое окно x:=random (30)+1; // генерируем случ. числа case x of // выбор случайного слова из предложенных 1: label1.Caption := prob; 2:label1.Caption:= h ; 3:label1.Caption:= u; 4: label1.Caption:= f; 5:label1.Caption:= y; 6:label1.Caption:= l; 7:label1.Caption:= d; 8:label1.Caption:= n; 9:label1.Caption:= r; 10:label1.Caption:=qq ; 11:label1.Caption:= ww; 12:label1.Caption:= ee; 13:label1.Caption:=rr ; 14:label1.Caption:=tt ; 15:label1.Caption:=yy ; 16:label1.Caption:=uu ; 17:label1.Caption:=ii ; 18:label1.Caption:= oo; 19:label1.Caption:=pp; 20:label1.Caption:=aa; 21:label1.Caption:=ss; 22:label1.Caption:=dd; 23:label1.Caption:=ff; 24:label1.Caption:=gg; 25:label1.Caption:=hh; 26:label1.Caption:=jj; 27:label1.Caption:=kk; 28:label1.Caption:=ll; 29:label1.Caption:=zz; 30:label1.Caption:=xx; end; if k=30 then //если сумма счетчика случайных слов достигла 30 begin timer1.enabled :=false; // останавливаем таймер edit1.Visible:=false; // скрываем текстовое окно // выводим сообщение пользователю label2.Caption:=' количество набранных слов = '+ inttostr (t); end; begin // если счетчик правильных слов превысил 20 выводим сообщение пользователю if t>20 then label2.Caption:='блестяще количество набранных слов = '+ inttostr (t)+' переходите'; end; end; end; procedure TForm1.N2Click(Sender: TObject); begin image1.Picture.LoadFromFile('budilnik.wmf'); timer1.Interval:=80000 ;// задаем интервал edit1.Visible:=true; // показать текстовое окно timer1.enabled :=true; // включаем таймер edit1.SetFocus; // сделать активным текстовое окно label2.Caption:=''; // очистить t:=0; // обнуляем счетчик правильных слов vremi:=80 ; // обратный отсчет timer2.enabled :=true; // включаем таймер end; procedure TForm1.N3Click(Sender: TObject); begin image1.Picture.LoadFromFile('budilnik.wmf'); timer1.enabled :=true; // включаем таймер timer1.Interval:=50000 ; // задаем интервал edit1.Visible:=true; // показать текстовое окно edit1.SetFocus; // сделать активным текстовое окно label2.Caption:=''; // очистить t:=0; // обнуляем счетчик правильных слов vremi:=50 ; // обратный отсчет timer2.enabled :=true; // включаем таймер end; procedure TForm1.N4Click(Sender: TObject); begin image1.Picture.LoadFromFile('budilnik.wmf'); timer1.enabled :=true; // включаем таймер timer1.Interval:=30000 ; // задаем интервал edit1.Visible:=true; // показать текстовое окно edit1.SetFocus; // сделать активным текстовое окно label2.Caption:=''; //очистить t:=0; // обнуляем счетчик правильных слов vremi:=30 ; // обратный отсчет timer2.enabled :=true; // включаем таймер end; procedure TForm1.Button2Click(Sender: TObject); begin image1.Picture.LoadFromFile ('fonovi.wmf') ; timer1.enabled:=false; // останавливаем таймер timer2.enabled:=false; // останавливаем таймер edit1.Visible:=true; // показать текстовое окно edit1.SetFocus; // сделать активным текстовое окно label2.Caption:=''; // очистить edit1.Text:='' ; // очистить t:=0; // обнуляем счетчик правильных слов k:=1; // счетчику случ. слов присвоили 1 label4.Caption:=''; // очистить end; procedure TForm1.Timer2Timer(Sender: TObject); // таймер отсчета обратного // времени begin vremi:=vremi-1; // каждую секунду отнимаем от заданного времени 1 if vremi=0 then //если время закончилось begin timer2.Enabled:=false; // выключаем таймер label4.Caption:='off'; // выводим окно end else label4.Caption:=inttostr(vremi); // обратный отсчет end; end.
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (195)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |