Мегаобучалка Главная | О нас | Обратная связь


Спецификация программы



2019-12-29 174 Обсуждений (0)
Спецификация программы 0.00 из 5.00 0 оценок




 

Исполняемый файл программы «Научись печатать» имеет название PEZATAITE.EXE. Его работоспособность не зависит от расположения на диске. Необходимо, чтобы файлы, прилагающиеся к программе, находились в указанных каталогах. Наименования файлов входящих в проект и краткая информация об их содержании отображены в таблице 2.


Таблица 2

Наименование Обозначение Примечание
pezataite.dof Файл параметров проекта Содержит текущие установки проекта: настройки компилятора и компоновщика, имена служебных каталогов, условные директивы
pezataite.dpr Файл проекта Связывает все файлы, из которых состоит приложение
pezataite.cfg Файл, содержащий настройки проекта Содержит информацию о том, какие окна открыты и в каких позициях они расположены.
pezataite.res Файл ресурсов Содержит пиктограммы, графические изображения
Unit1.pas Файл программного модуля для формы Form1 Определяет функциональность формы Form1
Unit1.dfm Файл формы Form1 Содержит список свойств всех компонентов, включённых в форму Form1
Unit1.dcu Объектный файл для Unit1.pas Откомпилированная версия Unit1.pas
fonovi.bmp budilnik.bmp Файлы рисунков программы Загружаются во время работы программы

 

Текст программы

 

Текст программы для формы – 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.

 




2019-12-29 174 Обсуждений (0)
Спецификация программы 0.00 из 5.00 0 оценок









Обсуждение в статье: Спецификация программы

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (174)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)