私は C++ Builder XE8 を初めて使用します。
入力する必要がある数字の最小長と最大長を 6 桁までにしたいのですが、アルファベット文字、バックスペース、句読点などではなく、数字のみを入力する必要があります (0 は例外です)。
また、数字以外が入力された場合にエラーボックスを生成したいと考えています。
コードの組み合わせをいくつか試してみましたが、そのうちの 3 つを以下に示しますが、どれも機能しません。
どんな助けでも大歓迎です!
(1)。
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, System::WideChar &Key)
{
Edit1->MaxLength = 6;
if (!((int)Key == 1-9)) {
ShowMessage("Please enter numerals only");
Key = 0;
}
}
(2)。
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, System::WideChar &Key)
{
Edit1->MaxLength = 6;
if (Key <1 && Key >9) {
ShowMessage("Please enter numerals only");
Key = 0;
}
}
(3)。
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, System::WideChar &Key)
{
Edit1->MaxLength = 6;
if( Key == VK_BACK )
return;
if( (Key >= 1) && (Key <= 9) )
{
if(Edit1->Text.Pos(1-9) != 1 )
ShowMessage("Please enter numerals only");
Key = 1;
return;
}
}