数値のみ入力できるようにする
例えば年齢を入力するためのedtAgeに数値以外のものが入力できたらまずいので、以下のようにすればOKです。
数値のみ入力できるようにする
procedure TfrmMain.edtAgeKeyPress(Sender: TObject; var Key: Char); begin if not( Key in ['0'..'9', Chr(VK_RETURN), Chr(VK_BACK)]) then Key := Chr(0); end;
inは集合演算子とかいうやつでA in Bは「AがBのどれかと同じなら」Trueになります。(よく知りません)
['0'..'9', Chr(VK_RETURN), Chr(VK_BACK)]の部分に'-'を加えればマイナスも入力可能に、'.'を加えれば小数点も入力可能になります。
Chr()関数は引数として与えられたアスキーコードを文字(Char型)に変換する関数です。