|
에디트 박스에서 실수만 입력받으려고 합니다.
KeyPress 이벤트에서 아래 코드를 만들어서 실행 시켰는데,
소수점을 1개만 허용하도록 하기 위해서..
'*' 표시한 부분처럼 했습니다.
제 생각엔 '.'하나는 입력받아서 point 증가시키고,
두 번째 입력받으면 ShowMessage가 뜨고,
에디트 박스는 비워질 줄 알았는데..
'.'키를 입력하면 무조건 ShowMessage가 뜨면서
에디트 박스도 안비워지고, '.'가 남습니다.
소수점을 한개만 입력받도록 하려면 어떻게 해야하는지...
답변 부탁 드릴게요~ ^^
void __fastcall TDataViewForm::XEditKeyPress(TObject *Sender, char &Key)
{
int point = 0;
float inc;
if(XEdit->Text.Length()>0)
{
if((Key<48||Key>57) && Key!=8 && Key!=46 && Key!=13) Key = 0;
if(Key == 46 && point == 0) point ++; // *
if(Key == 46 && point != 0) // *
{ // *
ShowMessage("Retry"); // *
XEdit->Text = " "; // *
} // *
................................
}
else if(Key<48||Key>57) Key = 0;
}
|