C++ Builder XE4, 10.2 Tokyo > TEdit > {数値|アルファベット}だけを許可する > Indy使用
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2018/01/05)
Indy使用
テキストボックスにおいて、{数値|アルファベット]のみの入力を許可する。
http://www.tek-tips.com/viewthread.cfm?qid=1561967
はDelphiコードであるが、inはC++ Builderでは使えない?
Indyの関数を使う処理にしてみた。
code
バックスペースキーは使える方がUIとして良いので許可した。
デリートキーは使えるようだ。
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
#include <IdGlobal.hpp> // IsAlphaNumeric()
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
static const int kCode_BackSpace = 0x08;
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, System::WideChar &Key)
{
if (Key == kCode_BackSpace) {
return;
}
if (IsAlphaNumeric(Key) == false) {
Key = 0x00; // discard the key
return;
}
}
//---------------------------------------------------------------------------
NCC-74656
と入力したところ。
マイナスや下線など、ファイル名として使う文字については許可してもいいかもしれない。
関連
WinAppDev > 不正なフォルダ名 > フォルダ名変更時に"/"入力すると(ファイル名に対する)不正文字を表示することができる
Author And Source
この問題について(C++ Builder XE4, 10.2 Tokyo > TEdit > {数値|アルファベット}だけを許可する > Indy使用), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/fd0441c7f061be360faa著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .