HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
ファイル一覧
検索
過去ログ
[ スレッド内全17レス(親記事-9 表示) ] <<
0
|
1
>>
■15017
/ 親記事)
数値型項目で入力の際数値以外のキーを受け付けない
▼
■
□投稿者/ まさやん
-(2025/07/09(Wed) 15:00:38)
2025/07/09(Wed) 15:24:55 編集(投稿者)
いつも お世話になっております
桐9s Win11 イベント処理を行っています
フォーム入力時に
品名や 備考 などの 文字列型項目での入力では
全キーボード入力を 拒まないのですが
数値型項目入力時に
数字キー以外の キーを受け付けないという 方法はできますか?
イベント実行中 数字入力だけの (例えば 単価 とか 数量など)際に
間違って 英字キー 押して 間違ってエンターキー押すと
メッセが出て その先の 処理を受け付けてくれません
そのための 回避策を探していますが
そのようなことができるかどうかもわかりませんが
宜しくお願い致します。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■15018
/ ResNo.1)
Re[1]: 数値型項目で入力の際数値以外のキーを受け付けない
▲
▼
■
□投稿者/ ONnoji
-(2025/07/09(Wed) 15:34:19)
> 桐9s Win11 イベント処理を行っています
> 数値型項目入力時に
> 数字キー以外の キーを受け付けないという 方法はできますか?
>
> イベント実行中 数字入力だけの (例えば 単価 とか 数量など)際に
> 間違って 英字キー 押して 間違ってエンターキー押すと
> メッセが出て その先の 処理を受け付けてくれません
> そのための 回避策を探しています
確認ですが、
・フォーム(.wfm)のテキストボックスに入力する場合
と考えてよろしいでしょうか?
あくまでも、↑その場合ですが、
もしも、使用不可な文字を入力された場合には、
1.キー入力中に使用不可な文字を除去する
2.[Tab][Enter]で確定後に使用不可な文字を除去する
のどちらでしょうか?
なお、2の場合ですが、
「手当て」をした事をユーザに通知しますか?
それとも、スルーしますか??
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■15019
/ ResNo.2)
Re[2]: 数値型項目で入力の際数値以外のキーを受け付けない
▲
▼
■
□投稿者/ まさやん
-(2025/07/09(Wed) 16:57:53)
お世話になります
> ・フォーム(.wfm)のテキストボックスに入力する場合
はいそうです フォーム入力時です
> もしも、使用不可な文字を入力された場合には、
>
> 1.キー入力中に使用不可な文字を除去する
> 2.[Tab][Enter]で確定後に使用不可な文字を除去する
>
> のどちらでしょうか?
はい 先ほど書くの忘れましたが
入力後イベントで
#IS数字関数で
if (#IS数字(&編集文字列,1)=0)
メッセ・・・ ボタン=1,&入力継続
end
と組んだのですが
ストレートに 数字キー 以外のキーを受け付けない・・・
という方法が あるのかな・・ と思い立った次第です
因みに
1の場合 2の場合の 対処コマンド もご伝授願いたいと思います
よろしくお願いいたします。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■15020
/ ResNo.3)
Re[1]: 数値型項目で入力の際数値以外のキーを受け付けない
▲
▼
■
□投稿者/ 通りすがり
-(2025/07/09(Wed) 17:14:26)
そういうの、確か[キーダウン]イベントでやったことあります
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■15021
/ ResNo.4)
Re[3]: 数値型項目で入力の際数値以外のキーを受け付けない
▲
▼
■
□投稿者/ ONnoji
-(2025/07/09(Wed) 17:35:08)
2025/07/09(Wed) 18:03:06 編集(投稿者)
>>・フォーム(.wfm)のテキストボックスに入力する場合
> はいそうです フォーム入力時です
了解しました。(^^ok
> ストレートに 数字キー 以外のキーを受け付けない・・・
> という方法が あるのかな・・ と思い立った次第です
[あらかじめキーに割り当てられている機能の実行を、禁止するか]は[メソッド呼び出し キー変換]で出来ますが・・・
でも、これは[キーに割り当てられている機能]ですから該当しませんね。
[キーを受け付けない]というのは、PCとキーボードの接続を遮断するしかありませんよね。
つまり、キーボードは全く使えないか、普通に使えるかのどちらかでしょ。
なので、特定のキーだけをマスクするというのは、(普通には)出来ないと思いますよ。
※もちろん、ハードウェアを直接または間接に制御する何某かの方法があれば別ですが、私は知りません。(^^ゞ
> 先ほど書くの忘れましたが
> 入力後イベントで
> #IS数字関数で
> if (#IS数字(&編集文字列,1)=0)
> メッセ・・・ ボタン=1,&入力継続
> end
>
> と組んだのですが
[入力後]イベントハンドラでチェックするのが一番自然ですね。
作ったものを見せていただければアドバイスしますよ。
>>もしも、使用不可な文字を入力された場合には、
>>1.キー入力中に使用不可な文字を除去する
>>2.[Tab][Enter]で確定後に使用不可な文字を除去する
>>のどちらでしょうか?
>
> 因みに
> 1の場合 2の場合の 対処コマンド もご伝授願いたいと思います
1.は、[キーダウン]イベントで引数:&仮想キーコードをチェックして、
参照 長整数 &処理中止の値を 1イチ または 0ゼロ にすれば良いと思いますよ。
ただし、テキスト編集中以外には[キーダウン]イベントはオフにしないと、無意味に[キーダウン]イベントが発生してしまいます。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
オンとオフを適宜するのがキモですね。(^^ok
なお、この方法でキーをマスクすると、キーボードが壊れたんじゃないかと不審に思われるかもしれませんね。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
なので、「やり過ぎ感がハンパ無しで満載」ですね。 ※何事もほどほどがいいですよ。
だから、私( ONnoji )的にはお勧めしませんけれど。(^^ゞ
2.は、すでにそちらで作成されているので申し上げることはありません。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■15022
/ ResNo.5)
Re[1]: 数値型項目で入力の際数値以外のキーを受け付けない
▲
▼
■
□投稿者/ MAKOTO
-(2025/07/09(Wed) 17:51:45)
まさやんさんこんにちは
入力支援ボタンを使ったフォーム呼び出しを使えば
以下のフォームでは数字キー以外は
入力できないように思います。
きりぎりす様作成の「電卓」です。
https://tayu.o0o0.jp/download/file_051.htm
一度使ってみてはいかがでしょうか。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■15023
/ ResNo.6)
Re[4]: 数値型項目で入力の際数値以外のキーを受け付けない
▲
▼
■
□投稿者/ まさやん
-(2025/07/09(Wed) 19:43:23)
> [入力後]イベントハンドラでチェックするのが一番自然ですね。
>
> 作ったものを見せていただければアドバイスしますよ。
はい ありがとうございます。
> 1.は、[キーダウン]イベントで引数:&仮想キーコードをチェックして、
>
> 参照 長整数 &処理中止の値を 1イチ または 0ゼロ にすれば良いと思いますよ。
>
> ただし、テキスト編集中以外には[キーダウン]イベントはオフにしないと、無意味に[キーダウン]イベントが発生してしまいます。
> ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
>
> オンとオフを適宜するのがキモですね。(^^ok
>
> なお、この方法でキーをマスクすると、キーボードが壊れたんじゃないかと不審に思われるかもしれませんね。
> ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
>
> なので、「やり過ぎ感がハンパ無しで満載」ですね。 ※何事もほどほどがいいですよ。
>
今回は 桐の可能性を探ってみたいのも事実でした
キーダウンイベントですね
ちと 蛇足になるかもしれませんが 挑戦してみます。
ありがとうございます。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■15024
/ ResNo.7)
Re[2]: 数値型項目で入力の際数値以外のキーを受け付けない
▲
▼
■
□投稿者/ まさやん
-(2025/07/09(Wed) 19:44:59)
■
No15020
に返信(通りすがりさんの記事)
> そういうの、確か[キーダウン]イベントでやったことあります
メッセ ありがとうございます。
ちと試しにやってみたいと思います。
ありがとうございます。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■15025
/ ResNo.8)
Re[2]: 数値型項目で入力の際数値以外のキーを受け付けない
▲
▼
■
□投稿者/ まさやん
-(2025/07/09(Wed) 19:46:47)
> 入力支援ボタンを使ったフォーム呼び出しを使えば
> 以下のフォームでは数字キー以外は
> 入力できないように思います。
> きりぎりす様作成の「電卓」です。
>
https://tayu.o0o0.jp/download/file_051.htm
> 一度使ってみてはいかがでしょうか。
メッセ ありがとうございます。
この手もありましたね。
ありがとうございます。
引用返信
[メール受信/OFF]
削除キー/
編集
削除
■15026
/ ResNo.9)
Re[5]: 数値型項目で入力の際数値以外のキーを受け付けない
▲
▼
■
□投稿者/ ONnoji
-(2025/07/09(Wed) 20:47:46)
2025/07/10(Thu) 00:07:31 編集(投稿者)
>>なお、この方法でキーをマスクすると、キーボードが壊れたんじゃないかと不審に思われるかもしれませんね。
>> ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
>>なので、「やり過ぎ感がハンパ無しで満載」ですね。 ※何事もほどほどがいいですよ。
>
> 今回は 桐の可能性を探ってみたいのも事実でした
> キーダウンイベントですね
> ちと 蛇足になるかもしれませんが 挑戦してみます。
&仮想キーコード の値を調べる手間が大変になりますので、拙作のユーティリティをご案内します。
・・・・・・・・・・・・・・・・・・・・・・・・
◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇
【多遊】さんのダウンロードコーナーの
#202 INF_Framework 第3.3版 改訂版(MkII) サンプル集 for 桐9-2012 / 桐9s / 桐10 / 桐10s / 桐sSL
に同梱されている
INF_VK_key_checker.kev
INF_VK_key_checker.tbl
INF_VK_key_checker.wfm
は
&仮想キーコード → &VKmKeyNum / 長整数
&スキャンコード → &VKmScanNum / 長整数
&フラグ → &VKmFlagNum / 長整数
の値が確認できますので、便利ですよ。
以下は同梱の 1st_Spec_Memo_VK.txt より抜粋
■VK とは(概要)
機能名:VK( ブイキー )は、仮想キーコード( Virtual-Key Codes )の意味です。
機能:VKは、仮想キーコードを識別して、コマンドまたはメソッドを実行するユーティリティです。
仮想キーコードの値は、[キーダウン]イベントと[システムキーダウン]イベントのイベントハンドラの第1引数で求められます。
(例) フォーム::キーダウン(長整数 &仮想キーコード,長整数 &スキャンコード,長整数 &フラグ,参照 長整数 &処理中止)
(例)フォーム::システムキーダウン(長整数 &仮想キーコード,長整数 &スキャンコード,長整数 &フラグ,参照 長整数 &処理中止)
これらの引数は以下の局所変数に代入されます。 ※&処理中止 を除く
&仮想キーコード → &VKmKeyNum / 長整数
&スキャンコード → &VKmScanNum / 長整数
&フラグ → &VKmFlagNum / 長整数
なお、押されたキーに対応するキーの名前は、&VKmKeyString / 文字列 に代入されます。
ダウンロードコーナーの INF_VK_key_checker_2020-07-07.zip の INF_VK_key_checker.wfm を用いると変数の値を簡単に確認できます。
p.s.
老婆心ながら・・・
> 今回は 桐の可能性を探ってみたいのも事実でした
> キーダウンイベントですね
> ちと 蛇足になるかもしれませんが 挑戦してみます。
[キーダウン]イベントは、スタティック(静的)に使うよりも、ダイナミック(動的)に使う方がいいイベントですよ。
これは、[タイマー]イベントでも同じです。
なので、適用範囲は限定した方が無難(身のため?)だと思いますよ。
もちろん、試すのは自由だから構いませんけれど。
しかし、使い方には注意が必要だと思いますよ。お気を付けて行ってらっしゃいませ。(@^^)/~~~
引用返信
[メール受信/OFF]
削除キー/
編集
削除
このスレッドをツリーで一括表示
次のレス10件>
スレッド内ページ移動 / <<
0
|
1
>>
このスレッドに書きこむ
入力内容にタグは利用できません。
他人を中傷する記事は管理者の判断で予告無く削除されます。
半角カナは使用しないでください。文字化けの原因になります。
名前、コメントは必須記入項目です。記入漏れはエラーになります。
入力内容の一部は、次回投稿時の手間を省くためブラウザに記録されます。
削除キーを覚えておくと、自分の記事の編集・削除ができます。
URLは自動的にリンクされます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
使用例:
No123 → 記事No123の記事リンクになります(指定表示)。
No123,130,134 → 記事No123/130/134 の記事リンクになります(複数表示)。
No123-130 → 記事No123〜130 の記事リンクになります(連続表示)。
■お願い−−−−−−−
質問には、できるだけ「OS・桐 Ver」等ご記入願います
将来ここに掲載されました内容を、桐のファイルへ変換予定です。
できましたら、3,500文字以内位での投稿お願い致します
■ご注意(Comment)−−−−−
通常モード・・・通常文章等
図表モード・・・等幅表示(イベントや数字等を記入したとき:
初期設定
)
■
解決しましたら最下段にチェックを入れてください
■
引用文は、最小限に、お願いいたします
Name
/
E-Mail
/
└> 関連するレス記事をメールで受信しますか?
NO
YES
/ アドレス
非公開
公開
Title
/
メッセージ中には下記URLと同じURLを書き込まないで下さい
URL
/
Comment/ 通常モード->
図表モード->
(適当に改行して下さい/半角10000文字以内)
File
/
アップ可能拡張子=> /
.gif
/
.jpg
/
.jpeg
/
.png
/.txt/.lzh/.zip/.mid
圧縮ファイル[lzh,zip]は、事前に解凍してご利用下さい。
1) 太字の拡張子は画像として認識されます。
2) 画像は初期状態で縮小サイズ250×250ピクセル以下で表示されます。
3) 同名ファイルがある、またはファイル名が不適切な場合、
ファイル名が自動変更されます。
4) アップ可能ファイルサイズは1回
100KB
(1KB=1024Bytes)までです。
5) ファイルアップ時はプレビューは利用できません。
6) スレッド内の合計ファイルサイズ:[0/500KB]
残り:[500KB]
パスワード
/
半角小文字で「ケイ・アイ・アール・アイ」を入力
削除キー
/
(半角8文字以内)
解決済み!
BOX/
解決したらチェックしてください!
プレビュー/
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
ファイル一覧
検索
過去ログ
-
Child Tree
-
-
Antispam Version
-