if (slitera=='u') u->Font->Color=clRed; else u->Font->Color=clBlack;
if (slitera=='i') i->Font->Color=clRed; else i->Font->Color=clBlack;
if (slitera=='o') o->Font->Color=clRed; else o->Font->Color=clBlack;
if (slitera=='p') p->Font->Color=clRed; else p->Font->Color=clBlack;
if (slitera=='a') a->Font->Color=clRed; else a->Font->Color=clBlack;
if (slitera=='s') s->Font->Color=clRed; else s->Font->Color=clBlack;
if (slitera=='d') d->Font->Color=clRed; else d->Font->Color=clBlack;
if (slitera=='f') f->Font->Color=clRed; else f->Font->Color=clBlack;
if (slitera=='g') g->Font->Color=clRed; else g->Font->Color=clBlack;
if (slitera=='h') h->Font->Color=clRed; else h->Font->Color=clBlack;
if (slitera=='j') j->Font->Color=clRed; else j->Font->Color=clBlack;
if (slitera=='k') k->Font->Color=clRed; else k->Font->Color=clBlack;
if (slitera=='l') l->Font->Color=clRed; else l->Font->Color=clBlack;
if (slitera=='z') z->Font->Color=clRed; else z->Font->Color=clBlack;
if (slitera=='x') x->Font->Color=clRed; else x->Font->Color=clBlack;
if (slitera=='c') c->Font->Color=clRed; else c->Font->Color=clBlack;
if (slitera=='v') v->Font->Color=clRed; else v->Font->Color=clBlack;
if (slitera=='b') b->Font->Color=clRed; else b->Font->Color=clBlack;
if (slitera=='n') n->Font->Color=clRed; else n->Font->Color=clBlack;
if (slitera=='m') m->Font->Color=clRed; else m->Font->Color=clBlack;
}
if (rezhim==2) {
if (slitera=='й') q1->Font->Color=clRed; else q1->Font->Color=clBlack;
if (slitera=='ц') w1->Font->Color=clRed; else w1->Font->Color=clBlack;
if (slitera=='у') e1->Font->Color=clRed; else e1->Font->Color=clBlack;
if (slitera=='к') r1->Font->Color=clRed; else r1->Font->Color=clBlack;
if (slitera=='е') t1->Font->Color=clRed; else t1->Font->Color=clBlack;
if (slitera=='н') y1->Font->Color=clRed; else y1->Font->Color=clBlack;
if (slitera=='г') u1->Font->Color=clRed; else u1->Font->Color=clBlack;
if (slitera=='ш') i1->Font->Color=clRed; else i1->Font->Color=clBlack;
if (slitera=='щ') o1->Font->Color=clRed; else o1->Font->Color=clBlack;
if (slitera=='з') p1->Font->Color=clRed; else p1->Font->Color=clBlack;
if (slitera=='х') p11->Font->Color=clRed; else p11->Font->Color=clBlack;
if (slitera=='ї') p111->Font->Color=clRed; else p111->Font->Color=clBlack;
if (slitera=='ф') a1->Font->Color=clRed; else a1->Font->Color=clBlack;
if (slitera=='і') s1->Font->Color=clRed; else s1->Font->Color=clBlack;
if (slitera=='в') d1->Font->Color=clRed; else d1->Font->Color=clBlack;
if (slitera=='а') f1->Font->Color=clRed; else f1->Font->Color=clBlack;
if (slitera=='п') g1->Font->Color=clRed; else g1->Font->Color=clBlack;
if (slitera=='р') h1->Font->Color=clRed; else h1->Font->Color=clBlack;
if (slitera=='о') j1->Font->Color=clRed; else j1->Font->Color=clBlack;
if (slitera=='л') k1->Font->Color=clRed; else k1->Font->Color=clBlack;
if (slitera=='д') l1->Font->Color=clRed; else l1->Font->Color=clBlack;
if (slitera=='ж') l11->Font->Color=clRed; else l11->Font->Color=clBlack;
if (slitera=='є') l111->Font->Color=clRed; else l111->Font->Color=clBlack;
if (slitera=='я') z1->Font->Color=clRed; else z1->Font->Color=clBlack;
if (slitera=='ч') x1->Font->Color=clRed; else x1->Font->Color=clBlack;
if (slitera=='с') c1->Font->Color=clRed; else c1->Font->Color=clBlack;
if (slitera=='м') v1->Font->Color=clRed; else v1->Font->Color=clBlack;
if (slitera=='и') b1->Font->Color=clRed; else b1->Font->Color=clBlack;
if (slitera=='т') n11->Font->Color=clRed; else n11->Font->Color=clBlack;
if (slitera=='ь') m1->Font->Color=clRed; else m1->Font->Color=clBlack;
if (slitera=='б') m11->Font->Color=clRed; else m11->Font->Color=clBlack;
if (slitera=='ю') m111->Font->Color=clRed; else m111->Font->Color=clBlack;
}
if (rezhim==3) {
if (slitera=='й') q2->Font->Color=clRed; else q2->Font->Color=clBlack;
if (slitera=='ц') w2->Font->Color=clRed; else w2->Font->Color=clBlack;
if (slitera=='у') e2->Font->Color=clRed; else e2->Font->Color=clBlack;
if (slitera=='к') r2->Font->Color=clRed; else r2->Font->Color=clBlack;
if (slitera=='е') t2->Font->Color=clRed; else t2->Font->Color=clBlack;
if (slitera=='н') y2->Font->Color=clRed; else y2->Font->Color=clBlack;
if (slitera=='г') u2->Font->Color=clRed; else u2->Font->Color=clBlack;
if (slitera=='ш') i2->Font->Color=clRed; else i2->Font->Color=clBlack;
if (slitera=='щ') o2->Font->Color=clRed; else o2->Font->Color=clBlack;
if (slitera=='з') p2->Font->Color=clRed; else p2->Font->Color=clBlack;
if (slitera=='х') p22->Font->Color=clRed; else p22->Font->Color=clBlack;
if (slitera=='ъ') p222->Font->Color=clRed; else p222->Font->Color=clBlack;
if (slitera=='ф') a2->Font->Color=clRed; else a2->Font->Color=clBlack;
if (slitera=='ы') s2->Font->Color=clRed; else s2->Font->Color=clBlack;
if (slitera=='в') d2->Font->Color=clRed; else d2->Font->Color=clBlack;
if (slitera=='а') f2->Font->Color=clRed; else f2->Font->Color=clBlack;
if (slitera=='п') g2->Font->Color=clRed; else g2->Font->Color=clBlack;
if (slitera=='р') h2->Font->Color=clRed; else h2->Font->Color=clBlack;
if (slitera=='о') j2->Font->Color=clRed; else j2->Font->Color=clBlack;
if (slitera=='л') k2->Font->Color=clRed; else k2->Font->Color=clBlack;
if (slitera=='д') l2->Font->Color=clRed; else l2->Font->Color=clBlack;
if (slitera=='ж') l22->Font->Color=clRed; else l22->Font->Color=clBlack;
if (slitera=='э') l222->Font->Color=clRed; else l222->Font->Color=clBlack;
if (slitera=='я') z2->Font->Color=clRed; else z2->Font->Color=clBlack;
if (slitera=='ч') x2->Font->Color=clRed; else x2->Font->Color=clBlack;
if (slitera=='с') c2->Font->Color=clRed; else c2->Font->Color=clBlack;
if (slitera=='м') v2->Font->Color=clRed; else v2->Font->Color=clBlack;
if (slitera=='и') b2->Font->Color=clRed; else b2->Font->Color=clBlack;
if (slitera=='т') n22->Font->Color=clRed; else n22->Font->Color=clBlack;
if (slitera=='ь') m2->Font->Color=clRed; else m2->Font->Color=clBlack;
if (slitera=='б') m22->Font->Color=clRed; else m22->Font->Color=clBlack;
if (slitera=='ю') m222->Font->Color=clRed; else m222->Font->Color=clBlack;
if (slitera=='ё') ee->Font->Color=clRed; else ee->Font->Color=clBlack;
}
//-----Перевірка часу, та припинення тренування у випадку якщо час закінчився
if ((chas1==chas)&&(chas!=0)){
Timer2->Enabled=false; Timer1->Enabled=false;
if (rezhim==1) LiteraEng->Hide();
if (rezhim==2) LiteraUkr->Hide();
if (rezhim==3) LiteraRus->Hide();
Form2->Show();
Form2->NePravilno->Caption=IntToStr(NoCorect);
Form2->Pravilno->Caption=IntToStr(Corect);
Form2->All->Caption=IntToStr(Corect+NoCorect);
if (NoCorect!=0){
float kk;
kk=(float)Corect/(float)NoCorect;
Form2->Koef->Caption=FloatToStr(kk);
}
else
Form2->Koef->Caption=IntToStr(Corect);
}
}
//Нижче представлений код виконується тоді коли під час тренування
//натискається будь-яка клавіша. Виконується перевірка правильності натиснутої кнопки
void __fastcall TTrainForm::FormKeyPress(TObject *Sender, char &Key)
{
skey=Key;
if (skey==slitera){
if (rezhim==1) slitera=EngWord();
if (rezhim==2) slitera=UkrWord();
if (rezhim==3) slitera=RusWord();
Corect++;
if (rezhim==1){
LiteraEng->Hide(); LiteraEng->Top=255;
}
if (rezhim==2){
LiteraUkr->Hide(); LiteraUkr->Top=255;
}
if (rezhim==3){
LiteraRus->Hide(); LiteraRus->Top=255;
}
Pravilno->Caption=IntToStr(Corect);
} else {
NoCorect++; NePravilno->Caption=IntToStr(NoCorect);
}
}
//Відкривається нове вікно з підсказками по роботі з клавіатурою-------------
void __fastcall TTrainForm::N8Click(TObject *Sender)
{
TrainForm->Hide();
Form3->Show();
}
Лістинг 2. (Unit2.cpp)
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::OKClick(TObject *Sender)
{
TrainForm->Pravilno->Caption=0;
TrainForm->NePravilno->Caption=0;
Form2->Close();
}
Лістинг 3. (Unit3.cpp)
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit3.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;
fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
Form3->Hide();
TrainForm->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::FormClose(TObject *Sender, TCloseAction &Action)
{
TrainForm->Show();
}
Результат роботи програми.
1. Початковий стан
2. Після вибору Файл->Опції
3. Після вибору Файл->Тренажер
4. Після вибору Інформація->Підказки по роботі з клавіатурою
5. Після закінчення вибраного часу
Висновки
В нашій роботі були проаналізовані питання відносно теоретичної основи побудови програм з простим інтерфейсом користувача в середовищі Borland C++ Builder а також проблеми, які виникають при цьому. Результатом цього є програма яка реалізує процестренування на клавіатурі. Дана програма має досить простий інтерфейс та алгоритмічну структуру, завдяки чому вона зрозуміла кожному користувачу.
Використана література
1. А.Я.Архангельский. Программирование в С++ Builder 6. – M.: ЗАО “Издательство Бином”, 2003. – 1152 с.
2. А.Я.Архангельский. Решение типовых задач в С++ Builder 6. – M.: ЗАО “Издательство Бином”, 2003. – 520 с.
3. А.Я.Архангельский. Язык SQL в С++ Builder 5. – M.: ЗАО “Издательство Бином”, 2000. – 224 с.
4. Ф.А.Фридман. Основы объектно-ориентированного программирования на языке С++. – М.: “Горячая линия”, 2001. – 232с.
5. В.Шамис. BorlandC++ Builder 6. – Санкт-Петербург: “Питер”, 2003. – 800с.
6. Холингвэрт, Сворт, Кэшмэн, Густавсон. BorlandC++ Builder 6. Руководство разработчика. – М.: “Вильямс”, 2003, 976 с.
7. А.Хоменко. Работа с базами данных в С++ Builder 6. – M.: “BHV-СПб”, 2005. – 400 с.