Manchmal passieren seltsame Sachen.
Ich habe in meiner Software eine Art Taschenrechner, bei der entweder mit Tasten oder über die Tastatur Zahlen eingegeben werden können.
Eigentlich trivial, die Hauptarbeit passiert hier
Code:
case key of
ord('0'), VK_NUMPAD0: AddChar('0');
ord('1')..ord('9'): AddChar(Char(key));
VK_NUMPAD1: AddChar('1');
VK_NUMPAD2: AddChar('2');
VK_NUMPAD3: AddChar('3');
VK_NUMPAD4: AddChar('4');
VK_NUMPAD5: AddChar('5');
VK_NUMPAD6: AddChar('6');
VK_NUMPAD7: AddChar('7');
VK_NUMPAD8: AddChar('8');
VK_NUMPAD9: AddChar('9');
VK_BACK: ResetMe();
VK_DELETE: RemoveChar();
VK_ESCAPE: HideMe();
VK_RETURN: HideMe();
end;
AddChar wertet das ganze aus.
Bei mir läuft es wunderbar, jetzt hat sich aber eine Kunde aus China gemeldet, bei dem alle Eingaben, bis auf die Ziffer 0 funktionieren. Die 0 funktioniert nicht, weder über die virtuelle Taste noch über die 0 auf der Tastatur (Num-pad hat er keines). Jetzt habe ich ihm ein kleines Programm geschrieben, dass die key-codes in ein Memo loggt. Da liefert die Ziffer Numm immer $00 30, wie auch bei mir. Irgendeine Idee, woran das liegen könnte?
Tomy