Автор работы: Пользователь скрыл имя, 07 Апреля 2013 в 14:41, курсовая работа
Кроссворд появился в начале 20 века и быстро завоевал популярность во всем мире. Слово кроссворд образовалось из двух английских слов cross - пересечение и word - слово. Решение кроссвордов тренирует память и расширяет кругозор, некоторые типы кроссвордов способствуют развитию сообразительности и ассоциативного мышления. Медики стали использовать кроссворд как успокаивающее средство. Преподаватели тоже применяют кроссворд в своей работе, это позволяет учащимся усваивать знания в игровой форме. Сфера применения кроссвордов постоянно расширяется, кроссворды применяются для тестирования профессиональных качеств.
}
}
}
}
}
void __fastcall TfrmMain::GetHorizontalMask(
{
AnsiString ms;
AnsiString t = IntToStr(Crossword[yy][xx].
ms = "";
AnsiString Col = IntToStr(xx);
AnsiString Row = IntToStr(yy);
for (int i=0;i<CrossX;i++)
{
if (xx ==CrossX || Crossword[yy][xx].Cell != '2' ) break;
if (Crossword[yy][xx].Letter == ' ') ms +="_";else ms +=Crossword[yy][xx].Letter;
xx++;
}
AnsiString Direction = "'H'";
AnsiString LL = IntToStr(ms.Length());
Dm->ADOQuery->SQL->Text = "INSERT
INTO mWork (Mask,Ok,Nom,Direction,Row,
Dm->ADOQuery->ExecSQL();
}
void __fastcall TfrmMain::GetVerticalMask(int yy,int xx)
{
AnsiString ms;
AnsiString t = IntToStr(Crossword[yy][xx].
ms = "";
AnsiString Col = IntToStr(xx);
AnsiString Row = IntToStr(yy);
for (int i=0;i<CrossY;i++)
{
if (yy ==CrossY || Crossword[yy][xx].Cell != '2' ) break;
if (Crossword[yy][xx].Letter == ' ') ms +="_";else ms +=Crossword[yy][xx].Letter;
yy++;
}
AnsiString Direction = "'V'";
AnsiString LL = IntToStr(ms.Length());
Dm->ADOQuery->SQL->Text = "INSERT
INTO mWork (Mask,Ok,Nom,Direction,Row,
Dm->ADOQuery->ExecSQL();
}
void __fastcall TfrmMain::SetWord(int Nom,String Dir)
{
Dm->ADOQueryW->SQL->Text = "SELECT DISTINCT * FROM mWork WHERE Nom="+IntToStr(Nom)+" AND Direction='"+Dir+"';";
Dm->ADOQueryW->Open();
int x,y;
AnsiString s = Dm->ADOQueryW->FieldByName("
x = Dm->ADOQueryW->FieldByName("
y = Dm->ADOQueryW->FieldByName("
for(int i=0;i<Dm->ADOQueryW->
{
Crossword[y][x].Letter = s[i+1];
Crossword[y][x].Selected = 1;
if (Dm->ADOQueryW->FieldByName("
x++;
else
y++;
}
Grid->Repaint();
}
void __fastcall TfrmMain::WriteWord(int Nom,String Dir)
{
Dm->ADOQueryW->SQL->Text = "SELECT DISTINCT * FROM mWork WHERE Nom="+IntToStr(Nom)+" AND Direction='"+Dir+"';";
Dm->ADOQueryW->Open();
int x,y;
AnsiString s = Dm->ADOQueryWrd->FieldByName("
x = Dm->ADOQueryW->FieldByName("
y = Dm->ADOQueryW->FieldByName("
for(int i=0;i<Dm->ADOQueryW->
{
Crossword[y][x].Letter = s[i+1];
Crossword[y][x].Selected = 1;
if (Dm->ADOQueryW->FieldByName("
x++;
else
y++;
}
Grid->Repaint();
}
void __fastcall TfrmMain::GetWord(int Nom,String Dir)
{
Dm->ADOQueryW->SQL->Text = "SELECT DISTINCT * FROM mWork WHERE Nom="+IntToStr(Nom)+" AND Direction='"+Dir+"';";
Dm->ADOQueryW->Open();
int x,y;
AnsiString s;
x = Dm->ADOQueryW->FieldByName("
y = Dm->ADOQueryW->FieldByName("
for(int i=0;i<Dm->ADOQueryW->
{
s+= Crossword[y][x].Letter;
Crossword[y][x].Selected = 0;
if (Dm->ADOQueryW->FieldByName("
x++;
else
y++;
}
Grid->Repaint();
Dm->ADOQueryWrd->SQL->Text = "SELECT Word FROM Words WHERE Word LIKE'"+s+"' ORDER BY Word;";
Dm->ADOQueryWrd->Open();
}
void __fastcall TfrmMain::btn3Click(TObject *Sender)
{
Form2->ShowModal();
}
//----------------------------
void __fastcall TfrmMain::Label1Click(TObject *Sender)
{
SetWord(1,"V");
}
//----------------------------
void __fastcall TfrmMain::sLabelFX1Click(
{
GetWord(1,'V');
}
//----------------------------
void __fastcall TfrmMain::DbGridWorkCellClick(
{
int a = Dm->ADOQuery->FieldByName("
String b = Dm->ADOQuery->FieldByName("
SetWord(a,b);
GetWord(a,b);
}
//----------------------------
void __fastcall TfrmMain::
{
int a = Dm->ADOQuery->FieldByName("
String b = Dm->ADOQuery->FieldByName("
WriteWord(a,b);
GetMasks();
Dm->ADOQuery->SQL->Text = "SELECT * FROM mWork";
Dm->ADOQuery->Open();
}
//----------------------------
Words
//----------------------------
#ifndef uWordsH
#define uWordsH
//----------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <DBCtrls.hpp>
#include <DBGrids.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
//----------------------------
class TForm2 : public TForm
{
__published: // IDE-managed Components
TDBGrid *DbGrid;
void __fastcall FormShow(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
//----------------------------
extern PACKAGE TForm2 *Form2;
//----------------------------
#endif
//----------------------------
#include <vcl.h>
#pragma hdrstop
#include "uWords.h"
#include "uMain.h"
#include "uDm.h"
//----------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//----------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------
void __fastcall TForm2::FormShow(TObject *Sender)
{
DbGrid->DataSource = Dm->DataSource;
//Navigator->DataSource = Dm->DataSource;
Dm->ADOQuery->SQL->Text ="SELECT L,Word from (SELECT *,LEN(Word) AS L FROM Words) AS a ORDER BY L,Word ;";
Dm->ADOQuery->Open();
}
//----------------------------