エディットに数字しか入力できないようにするには?

解決


なおみよ  2002-08-26 01:36:29  No: 1345

ど素人な質問で申し訳ありませんが、
-------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
  var A1:Integer;
begin
   A1:=StrToInt(Edit1.Text);
   A1:=a1*10;
   Label1.Caption:=IntToStr(A1);
end;
--------------------------------------------------
このコードでEdit1に日本語や記号が入力されると、当然、実行時エラーに
なってしまいますよね。
この場合に、入力エラーである事を判断し「数字以外の入力はだめよ!」という
エラーメッセージを出したいのですが、方法がわかりません。
ヘルプもだいぶ見たんですけど、ギブアップです。
どなたか、よろしくお願いします。


kazu  2002-08-26 02:27:00  No: 1346

このサイトの「過去のTips集>DelphiTips」に数値しか入力できないように
するというのがありますが、それではだめなのでしょうか?

とりあえず、Delphiのヘルプで「try...except 文」をキーワードに検索
して下さい。


風来坊  2002-08-26 03:03:12  No: 1347

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9']) then Key := #0;
end;

BackSpaceの入力も可能にしたいのであれば、
if not (Key in ['0'..'9',Chr(VK_BACK)]) then Key := #0;
です。


なおみよ  2002-08-26 05:24:11  No: 1348

うまくいきました。
風来坊さんありがとうございました。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加