キー入力
の編集
[
ホーム
|
一覧
|
検索
|
最終更新
|
ヘルプ
] [
新規
]
VWRR
・
WIKIBOX
建築mome
・
メーカー
最新の40件
2018-07-17
VectorScript
2013-05-25
例題の解説
2011-12-09
ΔxΔy
GetLine
Distance
Num2Str
2011-12-08
寸法変倍
MenuBar
日付スタンプ
Date
面積スタンプ
2011-12-07
HArea
Num2StrF
TextOrigin
GetPt
FSActLayer
FActLayer
Concat
BeginText
EndText
図面の中を検索
ReDraw
MoveObjs
GetKeyDown
ClrMessage
Message
Y方向複製
2011-12-06
キー入力
ダイアログ
2011-12-04
図形の整列
2011-11-26
属性を設定する
Locus
変数
Oval
識別子
定数
基本型
言語仕様
制御命令
IF
total:
594
today:
1
yesterday:
0
now:
3
Top
> キー入力
**キー入力 [#ka05534e] 以下のプログラムはキーボードのテンキーを使って選択されている図形を移動します。 |BGCOLOR(white):|BGCOLOR(white):|BGCOLOR(white):|c |1|PROCEDURE TEST;|| |2|VAR|| |3|key:INTEGER;|| |4|BEGIN|| |5|Message('5を押すと終了します');|手続き「Message」を使ってメッセージウインドウを表示させます。| |6|REPEAT|ループの始まりです。5が押されるまでループします。| |7|GetKeyDown(key);|手続き「GetKeyDown」を使ってユーザーからのキー入力を受け取ります。&br;ユーザーがキーを押すまでこの行で待機します。&br;キーが押されたらキーのASCIIコードを変換Keyに格納し次の行に進みます。| |8|IF key=52 THEN|もし押されたキーが4(ASCIIコード=52)ならば、| |9|MoveObjs(-10,0,FALSE,FALSE);|手続き「MoveObjs」を使って選択されている図形を10mm左(-)へ移動します。| |10|IF key=54 THEN|もし押されたキーが6(ASCIIコード=54)ならば、| |11|MoveObjs(10,0,FALSE,FALSE);|手続き「MoveObjs」を使って選択されている図形を10mm右(+)へ移動します。| |12|IF key=50 THEN|もし押されたキーが2(ASCIIコード=50)ならば、| |13|MoveObjs(0,-10,FALSE,FALSE);|手続き「MoveObjs」を使って選択されている図形を10mm下(-)へ移動します。| |14|IF key=56 THEN|もし押されたキーが8(ASCIIコード=56)ならば、| |15|MoveObjs(0,10,FALSE,FALSE);|手続き「MoveObjs」を使って選択されている図形を10mm上(+)へ移動します。| |16|ReDraw;|手続き「ReDraw」を使って移動した図形を再描画します。&br;プログラム実行中は明示的に図形を再描画しない限り変更した図形は画面に反映されませんので、&br;図形を移動したり、変形したあとは「ReDraw」を使って再描画させる必要があります。| |17|UNTIL key=53;|ループを抜ける条件は5(ASCIIコード=53)が押されたときです。| |18|ClrMessage;|表示していたメッセージウインドウを消去します。| |19|END;|| |20|Run (TEST);|| [例題プログラム] PROCEDURE TEST; VAR key:INTEGER; BEGIN Message('5を押すと終了します'); REPEAT GetKeyDown(key); IF key=52 THEN MoveObjs(-10,0,FALSE,FALSE); IF key=54 THEN MoveObjs(10,0,FALSE,FALSE); IF key=50 THEN MoveObjs(0,-10,FALSE,FALSE); IF key=56 THEN MoveObjs(0,10,FALSE,FALSE); ReDraw; UNTIL key=53; ClrMessage; END; Run (TEST);
タイムスタンプを変更しない
ユーザーが押したキーコードを調べる手続きや関数を使います。 **キー入力 [#ka05534e] 以下のプログラムはキーボードのテンキーを使って選択されている図形を移動します。 |BGCOLOR(white):|BGCOLOR(white):|BGCOLOR(white):|c |1|PROCEDURE TEST;|| |2|VAR|| |3|key:INTEGER;|| |4|BEGIN|| |5|Message('5を押すと終了します');|手続き「Message」を使ってメッセージウインドウを表示させます。| |6|REPEAT|ループの始まりです。5が押されるまでループします。| |7|GetKeyDown(key);|手続き「GetKeyDown」を使ってユーザーからのキー入力を受け取ります。&br;ユーザーがキーを押すまでこの行で待機します。&br;キーが押されたらキーのASCIIコードを変換Keyに格納し次の行に進みます。| |8|IF key=52 THEN|もし押されたキーが4(ASCIIコード=52)ならば、| |9|MoveObjs(-10,0,FALSE,FALSE);|手続き「MoveObjs」を使って選択されている図形を10mm左(-)へ移動します。| |10|IF key=54 THEN|もし押されたキーが6(ASCIIコード=54)ならば、| |11|MoveObjs(10,0,FALSE,FALSE);|手続き「MoveObjs」を使って選択されている図形を10mm右(+)へ移動します。| |12|IF key=50 THEN|もし押されたキーが2(ASCIIコード=50)ならば、| |13|MoveObjs(0,-10,FALSE,FALSE);|手続き「MoveObjs」を使って選択されている図形を10mm下(-)へ移動します。| |14|IF key=56 THEN|もし押されたキーが8(ASCIIコード=56)ならば、| |15|MoveObjs(0,10,FALSE,FALSE);|手続き「MoveObjs」を使って選択されている図形を10mm上(+)へ移動します。| |16|ReDraw;|手続き「ReDraw」を使って移動した図形を再描画します。&br;プログラム実行中は明示的に図形を再描画しない限り変更した図形は画面に反映されませんので、&br;図形を移動したり、変形したあとは「ReDraw」を使って再描画させる必要があります。| |17|UNTIL key=53;|ループを抜ける条件は5(ASCIIコード=53)が押されたときです。| |18|ClrMessage;|表示していたメッセージウインドウを消去します。| |19|END;|| |20|Run (TEST);|| [例題プログラム] PROCEDURE TEST; VAR key:INTEGER; BEGIN Message('5を押すと終了します'); REPEAT GetKeyDown(key); IF key=52 THEN MoveObjs(-10,0,FALSE,FALSE); IF key=54 THEN MoveObjs(10,0,FALSE,FALSE); IF key=50 THEN MoveObjs(0,-10,FALSE,FALSE); IF key=56 THEN MoveObjs(0,10,FALSE,FALSE); ReDraw; UNTIL key=53; ClrMessage; END; Run (TEST);