C++ Builder XE4, 10.2 Tokyo > TEdit > {숫자|알파벳}만 허용 > Indy 사용

운영 환경
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2018/01/05)

Indy使用

텍스트 상자에서 {숫자 | 알파벳]만 입력할 수 있습니다.

h tp // w w. 는 k-chi ps. 이 m/ゔぃ에 wth레아 d. cfm? 구 d = 1561967
Delphi 코드이지만 in은 C++ Builder에서 사용할 수 없습니다?

Indy의 함수를 사용하는 처리로 해 보았다.

code



백스페이스 키는 사용할 수 있는 것이 UI로서 좋기 때문에 허가했다.
델리트키는 사용할 수 있는 것 같다.

Unit1.cpp
//---------------------------------------------------------------------------

#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> 잘못된 폴더 이름> 폴더 이름을 변경할 때 "/"를 입력하면 (파일 이름에 대한) 잘못된 문자를 표시 할 수 있습니다.

좋은 웹페이지 즐겨찾기