ユーザーが数字を入力できる 7 つの編集があります。数字は 1100 から 1500 の間である必要があります。最初に、最初の編集がフォーカスされ、ユーザーは自分の番号を入力し、タブを押して次の編集にフォーカスします。 ..
私のプログラムは、ユーザーが入力した番号を検証する必要があり、条件 (1100) を満たさない場合
Edit1Change でこのコードを試しましたが、うまくいきません
If (1500 < (strtofloat(edit1.text)) or (strtofloat(edit1.text) <1100) then
begin
Showmessage ('my message');
edit1.setfocus
end;
アップデート
申し訳ありませんが、問題の説明があまり明確ではなく、英語もあまり上手ではありません。
比較や条件のチェックに問題はありません。条件が満たされていない場合でも、TAB を押して次の編集を選択すると、メッセージが表示Edit1.Text
され、0 にリセットされ、カーソルが次の編集コントロール。私が欲しいのは、ユーザーが Tab を押し、入力された数字が条件を満たさない場合、メッセージが表示され、 Edit1.Text
0 を取り、カーソルが Edit1 にとどまることです。
条件のチェックと同じ編集にフォーカスを与える指示を配置しようとしましたEdit1.OnExit
が、うまくいきません。ユーザーが条件を満たさない数値を入力した後に Tab を押すと、常にメッセージが表示されます。 、最初の編集は 0 を取り、カーソルは次の編集に移動します。