// Open up a new project form and place the components and select the events used in this file // (Borland C++Builder 3) // Add some garbage lines to the event handlers before saving, close all // Exchange Unit1.cpp with this file and reopen the project //--------------------------------------------------------------------------- #include #include #include #include #include #include #include #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; AnsiString BufString; AnsiString sss; int X, Y, Z, u; int tdown, tdownold; bool syncflag; bool xtrachars = false; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { // Button1->Enabled = false; tdown = 0; u = 0; sss = ""; syncflag = False; Memo1->Lines->Add(Edit1->Text); Edit1->Text = ""; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { struct time t; // Measuring mS tdownold = tdown; gettime(&t); // Time now in mS tdown = t.ti_hour * 3600000 + t.ti_min * 60000 + t.ti_sec * 1000 + t.ti_hund * 10; } //--------------------------------------------------------------------------- char whatchar() { char aaChar = '*'; // returns this char if nothing found if (sss == "ed") aaChar = 'a'; if (sss == "deee") aaChar = 'b'; if (sss == "dede") aaChar = 'c'; if (sss == "dee") aaChar = 'd'; if (sss == "e") aaChar = 'e'; if (sss == "eede") aaChar = 'f'; if (sss == "dde") aaChar = 'g'; if (sss == "eeee") aaChar = 'h'; if (sss == "ee") aaChar = 'i'; if (sss == "eddd") aaChar = 'j'; if (sss == "ded") aaChar = 'k'; if (sss == "edee") aaChar = 'l'; if (sss == "dd") aaChar = 'm'; if (sss == "de") aaChar = 'n'; if (sss == "ddd") aaChar = 'o'; if (sss == "edde") aaChar = 'p'; if (sss == "dded") aaChar = 'q'; if (sss == "ede") aaChar = 'r'; if (sss == "eee") aaChar = 's'; if (sss == "d") aaChar = 't'; if (sss == "eed") aaChar = 'u'; if (sss == "eeed") aaChar = 'v'; if (sss == "edd") aaChar = 'w'; if (sss == "deed") aaChar = 'x'; if (sss == "dedd") aaChar = 'y'; if (sss == "ddee") aaChar = 'z'; if (sss == "dddd") aaChar = ' '; // space if (sss == "eded") aaChar = 'å'; // 3 swedish chars if (sss == "ddde") aaChar = 'ä'; if (sss == "eedd") aaChar = 'ö'; if (sss == "eeeee") aaChar = '0'; if (sss == "eeeed") aaChar = '1'; if (sss == "eeede") aaChar = '2'; if (sss == "eeedd") aaChar = '3'; if (sss == "eedee") aaChar = '4'; if (sss == "eeded") aaChar = '5'; if (sss == "eedde") aaChar = '6'; if (sss == "eeddd") aaChar = '7'; if (sss == "edeee") aaChar = '8'; if (sss == "edeed") aaChar = '9'; if (sss == "edede") aaChar = '.'; if (sss == "ededd") aaChar = '+'; if (sss == "eddee") aaChar = '-'; if (sss == "edded") aaChar = '*'; if (sss == "eddde") aaChar = '/'; if (sss == "edddd") aaChar = '='; if (sss == "deeee") aaChar = '%'; if (sss == "deeed") aaChar = '<'; if (sss == "deede") aaChar = '>'; if (sss == "deedd") aaChar = '('; if (sss == "dedee") aaChar = ')'; if (sss == "deded") aaChar = ','; if (sss == "dedde") aaChar = '?'; if (sss == "deddd") aaChar = '"'; if (sss == "ddeee") aaChar = '!'; if (sss == "ddeed") aaChar = '&'; if (sss == "ddede") aaChar = 'ë'; if (sss == "ddedd") aaChar = 'ï'; if (sss == "dddee") aaChar = 'ü'; if (sss == "ddded") aaChar = 'ÿ'; if (sss == "dddde") aaChar = 'á'; if (sss == "ddddd") aaChar = 'é'; if (sss == "eeeeee") aaChar = 'í'; if (sss == "eeeeed") aaChar = 'ó'; if (sss == "eeeede") aaChar = 'ú'; if (sss == "eeeedd") aaChar = 'ý'; if (sss == "eeedee") aaChar = 'à'; if (sss == "eeeded") aaChar = 'è'; if (sss == "eeedde") aaChar = 'ì'; if (sss == "eeeddd") aaChar = 'ò'; if (sss == "eedeee") aaChar = 'ù'; if (sss == "eedeed") aaChar = 'â'; if (sss == "eedede") aaChar = 'ê'; if (sss == "eededd") aaChar = 'î'; if (sss == "eeddee") aaChar = 'ô'; if (sss == "eedded") aaChar = 'û'; if (sss == "eeddde") aaChar = 'ã'; if (sss == "eedddd") aaChar = 'ñ'; if (sss == "edeeee") aaChar = 'õ'; if (sss == "edeeed") aaChar = 'ç'; if (sss == "edeede") aaChar = 'ß'; if (sss == "edeedd") aaChar = 'æ'; if (sss == "ededee") aaChar = 'þ'; if (sss == "ededed") aaChar = 'ø'; if (sss == "ededde") aaChar = 'ð'; if (sss == "ededdd") aaChar = '@'; if (sss == "eddeee") aaChar = '\\'; if (sss == "eddeed") aaChar = '$'; if (sss == "eddede") aaChar = '£'; if (sss == "eddedd") aaChar = '§'; if (sss == "edddee") aaChar = '#'; if (sss == "eddded") aaChar = '{'; if (sss == "edddde") aaChar = '}'; if (sss == "eddddd") aaChar = '['; if (sss == "deeeee") aaChar = ']'; if (sss == "deeeed") aaChar = '|'; if (sss == "deeede") aaChar = '\''; // if (sss == "deeedd") aaChar = '*'; for future use // if (sss == "deedee") aaChar = '*'; // if (sss == "deeded") aaChar = '*'; // if (sss == "deedde") aaChar = '*'; // if (sss == "deeddd") aaChar = '*'; // if (sss == "dedeee") aaChar = '*'; // if (sss == "dedeed") aaChar = '*'; // if (sss == "dedede") aaChar = '*'; // if (sss == "dededd") aaChar = '*'; // if (sss == "deddee") aaChar = '*'; // if (sss == "dedded") aaChar = '*'; // if (sss == "deddde") aaChar = '*'; // if (sss == "dedddd") aaChar = '*'; // if (sss == "ddeeee") aaChar = '*'; // if (sss == "ddeeed") aaChar = '*'; // if (sss == "ddeede") aaChar = '*'; // if (sss == "ddeedd") aaChar = '*'; // if (sss == "ddedee") aaChar = '*'; // if (sss == "ddeded") aaChar = '*'; // if (sss == "ddedde") aaChar = '*'; // if (sss == "ddeddd") aaChar = '*'; // if (sss == "dddeee") aaChar = '*'; // if (sss == "dddeed") aaChar = '*'; // if (sss == "dddede") aaChar = '*'; // if (sss == "dddedd") aaChar = '*'; // if (sss == "ddddee") aaChar = '*'; // if (sss == "dddded") aaChar = '*'; // if (sss == "ddddde") aaChar = '*'; // if (sss == "dddddd") aaChar = '*'; return aaChar; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { int n, t; char c; bool dflag, prevwase; t = tdown - tdownold; if (t < 400) sss = sss + "d"; if ((t > 399) && (t < 2001)) sss = sss + "e"; if (t < 2001) syncflag = False; u++; if ((u > 10) || (t > 2000)) // Translate the string sss to a char and add to Edit1 { u = 0; if (sss == "eeeee") sss = "eeeeee"; // one "e" is always missing in these six strings if (sss == "eeee") sss = "eeeee"; if (sss == "eee") sss = "eeee"; if (sss == "ee") sss = "eee"; if (sss == "e") sss = "ee"; if ((t > 2000) && syncflag) sss = "e"; // This string will look like two syncs if (t > 2000) syncflag = True; if (sss.Length() > 0) { // removes an e between every pair of d:s BufString = ""; dflag = false; prevwase = false; n = sss.Length(); for (int i = 0; i < n; i++) { c = sss[i + 1]; // reading character 1...n from sss if ((c == 'd') && prevwase && dflag) { BufString[BufString.Length()] = 'd'; prevwase = false; continue; } if (c == 'd') { dflag = true; prevwase = false; } if (c == 'e') prevwase = true; BufString = BufString + c; } sss = BufString; c = whatchar(); sss = ""; Edit1->Text = Edit1->Text + c; // Move Edit1 content to Memo1 if line of more than 40 chars and a space // Or if line of more than 60 chars n = Edit1->GetTextLen(); if ((n > 40)&& (c == ' ')) { Memo1->Lines->Add(Edit1->Text); Edit1->Text = ""; } if (n > 60) { Memo1->Lines->Add(Edit1->Text); Edit1->Text = ""; } } } } //---------------------------------------------------------------------------