お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"数値入力項目で範囲外の入力を抑止する"





{   数値の入力項目で範囲外の値を入力できないようにします。

    例) 0〜100までを有効範囲とした場合
}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  AfterText: String;
begin
  Case Key of
    #$0..#$20: Exit;  //  制御コードだったら処理しない
    '0'..'9':;        //  数字は範囲チェックにまわす
    else              //  数字以外は入力できない
    begin
      MessageBeep(MB_ICONEXCLAMATION);
      Key := #0;
      Exit;
    end;
  end;
  With  Edit1  do
  begin
    //  入力後のテキストを求める
    AfterText := Copy(Text, 1, SelStart) + Key
               + Copy(Text, SelStart + SelLength + 1, Length(Text));
    //  範囲チェック ( 0 〜 100 )
    if  StrToInt(AfterText) in [0..100]  then  Exit;
    MessageBeep(MB_ICONEXCLAMATION);
    Key := #0;
  end;
end;

                                    JBC01362 アトリエ まっちゃん

Original document by Atelier Macchan 氏 ID:(JBC01362)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum