Разработка клавиатурного тренажёра

Разработка учебного приложения, играющего роль клавиатурного тренажёра. Установка различных опций. Использование средств Borland C++Builder 6.0. Объектно-ориентированное проектирование и программирование системы. Тестирование и отладка программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 23.07.2013
Размер файла 730,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Training->SpeedButton43->Font->Size = 14;

Training->SpeedButton43->Font->Style << fsBold;

break;

case 10: // j

Training->SpeedButton30->Font->Color = clRed;

Training->SpeedButton30->Font->Size = 14;

Training->SpeedButton30->Font->Style << fsBold;

break;

case 11: // k

Training->SpeedButton31->Font->Color = clRed;

Training->SpeedButton31->Font->Size = 14;

Training->SpeedButton31->Font->Style << fsBold;

break;

case 12: // l

Training->SpeedButton32->Font->Color = clRed;

Training->SpeedButton32->Font->Size = 14;

Training->SpeedButton32->Font->Style << fsBold;

break;

case 13: // m

Training->SpeedButton19->Font->Color = clRed;

Training->SpeedButton19->Font->Size = 14;

Training->SpeedButton19->Font->Style << fsBold;

break;

case 14: // n

Training->SpeedButton18->Font->Color = clRed;

Training->SpeedButton18->Font->Size = 14;

Training->SpeedButton18->Font->Style << fsBold;

break;

case 15: // o

Training->SpeedButton44->Font->Color = clRed;

Training->SpeedButton44->Font->Size = 14;

Training->SpeedButton44->Font->Style << fsBold;

break;

case 16: // p

Training->SpeedButton45->Font->Color = clRed;

Training->SpeedButton45->Font->Size = 14;

Training->SpeedButton45->Font->Style << fsBold;

break;

case 17: // q

Training->SpeedButton36->Font->Color = clRed;

Training->SpeedButton36->Font->Size = 14;

Training->SpeedButton36->Font->Style << fsBold;

break;

case 18: // r

Training->SpeedButton39->Font->Color = clRed;

Training->SpeedButton39->Font->Size = 14;

Training->SpeedButton39->Font->Style << fsBold;

break;

case 19: // s

Training->SpeedButton25->Font->Color = clRed;

Training->SpeedButton25->Font->Size = 14;

Training->SpeedButton25->Font->Style << fsBold;

break;

case 20: // t

Training->SpeedButton40->Font->Color = clRed;

Training->SpeedButton40->Font->Size = 14;

Training->SpeedButton40->Font->Style << fsBold;

break;

case 21: // u

Training->SpeedButton42->Font->Color = clRed;

Training->SpeedButton42->Font->Size = 14;

Training->SpeedButton42->Font->Style << fsBold;

break;

case 22: // v

Training->SpeedButton16->Font->Color = clRed;

Training->SpeedButton16->Font->Size = 14;

Training->SpeedButton16->Font->Style << fsBold;

break;

case 23: // w

Training->SpeedButton37->Font->Color = clRed;

Training->SpeedButton37->Font->Size = 14;

Training->SpeedButton37->Font->Style << fsBold;

break;

case 24: // x

Training->SpeedButton14->Font->Color = clRed;

Training->SpeedButton14->Font->Size = 14;

Training->SpeedButton14->Font->Style << fsBold;

break;

case 25: // y

Training->SpeedButton41->Font->Color = clRed;

Training->SpeedButton41->Font->Size = 14;

Training->SpeedButton41->Font->Style << fsBold;

break;

case 26: // z

Training->SpeedButton13->Font->Color = clRed;

Training->SpeedButton13->Font->Size = 14;

Training->SpeedButton13->Font->Style << fsBold;

break;

}

}

if (TType == 2)

{

switch (bukva. alfa)

{ case 1: // 1

Training->SpeedButton48->Font->Color = clRed;

Training->SpeedButton48->Font->Size = 14;

Training->SpeedButton48->Font->Style << fsBold;

break;

case 2: // 2

Training->SpeedButton49->Font->Color = clRed;

Training->SpeedButton49->Font->Size = 14;

Training->SpeedButton49->Font->Style << fsBold;

break;

case 3: // 3

Training->SpeedButton50->Font->Color = clRed;

Training->SpeedButton50->Font->Size = 14;

Training->SpeedButton50->Font->Style << fsBold;

break;

case 4: // 4

Training->SpeedButton51->Font->Color = clRed;

Training->SpeedButton51->Font->Size = 14;

Training->SpeedButton51->Font->Style << fsBold;

break;

case 5: // 5

Training->SpeedButton52->Font->Color = clRed;

Training->SpeedButton52->Font->Size = 14;

Training->SpeedButton52->Font->Style << fsBold;

break;

case 6: // 6

Training->SpeedButton53->Font->Color = clRed;

Training->SpeedButton53->Font->Size = 14;

Training->SpeedButton53->Font->Style << fsBold;

break;

case 7: // 7

Training->SpeedButton54->Font->Color = clRed;

Training->SpeedButton54->Font->Size = 14;

Training->SpeedButton54->Font->Style << fsBold;

break;

case 8: // 8

Training->SpeedButton55->Font->Color = clRed;

Training->SpeedButton55->Font->Size = 14;

Training->SpeedButton55->Font->Style << fsBold;

break;

case 9: // 9

Training->SpeedButton56->Font->Color = clRed;

Training->SpeedButton56->Font->Size = 14;

Training->SpeedButton56->Font->Style << fsBold;

break;

case 10: // 0

Training->SpeedButton57->Font->Color = clRed;

Training->SpeedButton57->Font->Size = 14;

Training->SpeedButton57->Font->Style << fsBold;

break;

case 11: // -

Training->SpeedButton58->Font->Color = clRed;

Training->SpeedButton58->Font->Size = 14;

Training->SpeedButton58->Font->Style << fsBold;

break;

case 12: // =

Training->SpeedButton59->Font->Color = clRed;

Training->SpeedButton59->Font->Size = 14;

Training->SpeedButton59->Font->Style << fsBold;

break;

case 13: // \\

Training->SpeedButton60->Font->Color = clRed;

Training->SpeedButton60->Font->Size = 14;

Training->SpeedButton60->Font->Style << fsBold;

break;

case 14: // `

Training->SpeedButton2->Font->Color = clRed;

Training->SpeedButton2->Font->Size = 14;

Training->SpeedButton2->Font->Style << fsBold;

break;

case 15: // [

Training->SpeedButton46->Font->Color = clRed;

Training->SpeedButton46->Font->Size = 14;

Training->SpeedButton46->Font->Style << fsBold;

break;

case 16: // ]

Training->SpeedButton47->Font->Color = clRed;

Training->SpeedButton47->Font->Size = 14;

Training->SpeedButton47->Font->Style << fsBold;

break;

case 17: //;

Training->SpeedButton33->Font->Color = clRed;

Training->SpeedButton33->Font->Size = 14;

Training->SpeedButton33->Font->Style << fsBold;

break;

case 18: // "

Training->SpeedButton34->Font->Color = clRed;

Training->SpeedButton34->Font->Size = 14;

Training->SpeedButton34->Font->Style << fsBold;

break;

case 19: //,

Training->SpeedButton20->Font->Color = clRed;

Training->SpeedButton20->Font->Size = 14;

Training->SpeedButton20->Font->Style << fsBold;

break;

case 20: //.

Training->SpeedButton21->Font->Color = clRed;

Training->SpeedButton21->Font->Size = 14;

Training->SpeedButton21->Font->Style << fsBold;

break;

case 21: // /

Training->SpeedButton22->Font->Color = clRed;

Training->SpeedButton22->Font->Size = 14;

Training->SpeedButton22->Font->Style << fsBold;

break;

case 22: // *

Training->SpeedButton93->Font->Color = clRed;

Training->SpeedButton93->Font->Size = 14;

Training->SpeedButton93->Font->Style << fsBold;

break;

case 23: // +

Training->SpeedButton98->Font->Color = clRed;

Training->SpeedButton98->Font->Size = 14;

Training->SpeedButton98->Font->Style << fsBold;

break;

}

}

};

void __fastcall TTraining:: FormActivate (TObject *Sender)

{

int i;

extern int Time,Lang,Lev;

for (i=0; i<33; i++)

QMistakes [i] = 0;

_SetFont ();

bukva. count = 0;

present = Now ();

randomize ();

ConType (Lang);

bukva. newbukva (Lang);

KeyLetter (Lang);

Timer2->Enabled = true;

Timer1->Enabled = true;

bukva. setXLet (313);

bukva. setYLet (10);

bukva. setEX1EX2 (305,330);

bukva. setEY1EY2 (0,25);

bukva. DrawLetter ();

}

// ---------------------------------------------------------------------------

void __fastcall TTraining:: Timer1Timer (TObject *Sender)

{

int i;

extern int Lang;

Training->Refresh ();

bukva. AddYLet (5);

bukva. AddEY1EY2 (5,5);

bukva. DrawLetter ();

if (bukva. EY2 > 320)

{for (i=0; i<33; i++)

if (bukva. letter == Mistakes [i])

{QMistakes [i] =QMistakes [i] +1;

break;

}

bukva. setXLet (313);

bukva. setYLet (5);

bukva. setEX1EX2 (305,330);

bukva. setEY1EY2 (0,25);

_SetFont ();

bukva. newbukva (Lang);

KeyLetter (Lang);

}

}

// ---------------------------------------------------------------------------

void __fastcall TTraining:: FormKeyPress (TObject *Sender, char &Key)

{

extern int Lang;

if (KeyInput (Lang,Key) == true)

{

bukva. newbukva (Lang);

KeyLetter (Lang);

}

}

// ---------------------------------------------------------------------------

void __fastcall TTraining:: Timer2Timer (TObject *Sender)

{

extern int Time;

unsigned short h,m,s,ms;

Label1->Caption ="";

Label1->Caption = "Прошло " + TimeToStr (Now () - present) + " из "+IntToStr (Time) +" мин. ";

DecodeTime (Now () - present,h,m,s,ms);

if (m == Time)

{Timer1->Enabled=false;

Timer2->Enabled = false;

Training->Refresh ();

ShowMessage ("Ваше время истекло!");

count = bukva. count;

Button1->Visible = true;

}

}

// ---------------------------------------------------------------------------

void __fastcall TTraining:: FormClose (TObject *Sender,

TCloseAction &Action)

{

Timer1->Enabled=false;

Timer2->Enabled = false;

Button1->Visible = false;

}

// ---------------------------------------------------------------------------

void __fastcall TTraining:: Button1Click (TObject *Sender)

{

Diagram->ShowModal ();

Button1->Visible = false;

}

// ---------------------------------------------------------------------------

// ---------------------------------------------------------------------------

#include <vcl. h>

#pragma hdrstop

#include "UnDiagram. h"

#include "UnTraining. h"

#include "UnOptions. h"

// ---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource "*. dfm"

TDiagram *Diagram;

// ---------------------------------------------------------------------------

__fastcall TDiagram:: TDiagram (TComponent* Owner)

: TForm (Owner)

{

}

// ---------------------------------------------------------------------------

void __fastcall TDiagram:: FormActivate (TObject *Sender)

{

extern int Lang;

extern char Mistakes [32];

extern int QMistakes [32];

extern int count;

int i;

if (Lang == 0)

for (i=0; i<33; i++)

{if (QMistakes [i]! = 0)

Series1->Add (QMistakes [i] *100/count,AnsiString (Mistakes [i]) +"-"+FloatToStr (QMistakes [i] *100/count) +"%");

}

if (Lang == 1)

for (i=0; i<26; i++)

{if (QMistakes [i]! = 0)

Series1->Add (QMistakes [i] *100/count,AnsiString (Mistakes [i]) +"-"+FloatToStr (QMistakes [i] *100/count) +"%");

}

if (Lang == 2)

for (i=0; i<23; i++)

{if (QMistakes [i]! = 0)

Series1->Add (QMistakes [i] *100/count,AnsiString (Mistakes [i]) +"-"+FloatToStr (QMistakes [i] *100/count) +"%");

}

}

// ---------------------------------------------------------------------------

void __fastcall TDiagram:: FormClose (TObject *Sender,

TCloseAction &Action)

{

Series1->Clear ();

Training->Close ();

}

// ---------------------------------------------------------------------------

РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ

Приложение Б

(обязательное)

Рисунок 1 - Главное меню программы

Рисунок 2 - Задание настроек

Рисунок 3 - Просмотр справки

Рисунок 4 - Тренинг

Рисунок 5 - Гистограмма ошибок

Размещено на Allbest.ru


Подобные документы

  • Введение в объектно-ориентированное программирование. Постановка задачи. Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке). Исходный текст программы на С. Тестирование программы. Модификация программы. Полиморфизм.

    курсовая работа [294,0 K], добавлен 08.09.2008

  • Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.

    курсовая работа [1,0 M], добавлен 26.12.2013

  • Описание логической и модульной структуры разрабатываемой программы, используемые в данном процессе основные технические средства. Организация хранения данных в программе, проектирование интерфейса. Тестирование и отладка, листинг готовой программы.

    курсовая работа [494,5 K], добавлен 20.06.2012

  • Разработка программы для рисования различных правильных многоугольников с помощью объектно-ориентированного языка программирования. Использование для разработки среды C++ Builder 6 и библиотеки VCL. Разработка интерфейса приложения и алгоритма его работы.

    курсовая работа [616,4 K], добавлен 18.10.2010

  • Сетевое программное обеспечение: общее понятие, содержание, функции. Этапы развития теории компьютерных сетей. Проектирование в среде программирования Borland Builder C++ клиент серверного приложения с использованием сокетов, листинг данной программы.

    курсовая работа [191,5 K], добавлен 07.01.2015

  • Описание разрабатываемой программы с точки зрения пользователя. Диаграмма вариантов использования приложения. Объектное представление программы. Разработка класса корабля, прикладного окна и события but. Окно приложения с перемещающимися кораблями.

    курсовая работа [207,0 K], добавлен 05.04.2014

  • Структура Android-приложений. Особенности игрового движка. Алгоритмизация и программирование. Список игровых состояний. Настройка, отладка и тестирование программы. Разработка руководства пользователя. Тестирование инсталляции и отображения элементов.

    дипломная работа [4,5 M], добавлен 19.01.2017

  • Создание приложения, которое будет производить построение графиков функций по заданному математическому выражению. Разработка программы "Генератор математических функций". Создание мастера функций для ввода математического выражения, тестирование.

    дипломная работа [1,7 M], добавлен 16.02.2016

  • Объектно-ориентированное проектирование системы, поддерживающей основные функции сотового телефонного аппарата, разработка диаграмм классов с их атрибутами и методами. Спецификации модулей программы, системные требования и тестирование функциональности.

    курсовая работа [1,1 M], добавлен 24.01.2012

  • Визуальное проектирование и событийное программирование. Повышение производительности программиста при использовании RAD-систем. Составление алгоритмов, разработка приложения для решения прикладных задач на примере консольных приложений C++ Builder 6.

    курсовая работа [258,7 K], добавлен 30.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.