HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0220
ユウbutton配置と送信データの関連付けについて3解決


ユウ

リンク

2014/2/20(Thu) 13:55:36|NO.60138

#include "pcbnet2.as"


title "UDPでリモートATコマンド送信"

screen 0,400,300,0
cls 1
onexit *bye

port = 3054
host = "192.168.0.5" ;送信先IPアドレス


ddim APIp,255
lpoke APIp,0,0x00004242
lpoke APIp,4,0x00020000
lpoke APIp,8,0x33440201

;送信データーセットここまで

LED = 0 ;offなら0 onなら1

pos 70,63
mes "送信先IPアドレス"

pos 230,60
objmode 2
input host,100,24


pos 70,103
mes "ポート"

pos 230,100
input port,40,24


pos 100,200
objsize 200,34
button gosub "送信",*send

stop

*send
;UDPポートを開く

udpsock soc ;ポートが使用可能か調べる
if stat : dialog "ソケットの初期化に失敗しました。",1 : end ;ポートが使用不可なら終わる。
;ポートが使用可能

;LED点灯・消灯
if LED == 0 {
poke APIp,12,0x05
LED = 1
} else {
poke APIp,12,0x04
LED = 0
}

udpsendto soc,host,port ;送信先は最初に "host"変数と"port"変数 で指定済みの値が入る
;データー送信
;udpput s,soc ; "udpput"の場合は変数 s 内値を文字列で送信する
udpsend APIp,0,13,soc ;実数型配列変数の先頭から13バイトをバイナリで UDP送信する
;データー送信ここまで

return

*bye
;ソケットを閉じて終了
udpclose soc
end



LED制御のプログラムなんですが、「ON」「OFF」のボタンをそれぞれ pos 80,200、pos 220,200に配置して制御したいのですが、
どのように記述すれば、実現可能でしょうか?

poke APIp,12,0x05でLED点灯、poke APIp,12,0x04でLED消灯となります。教えて頂けませんか?



この記事に返信する


ユウ

リンク

2014/2/20(Thu) 14:07:14|NO.60139

ifで「ON」を押したら、13バイト目をpoke APIp,12,0x05、それ以外のボタン(「OFF」)を押したら、
poke APIp,12,0x04っていう方法でしょうか?



とおりすがり

リンク

2014/2/20(Thu) 17:21:03|NO.60144

お、やってますね。
「ON」ボタンを押したらLEDを点灯するサブルーチンにジャンプ
「OFF」ボタンを押したら消灯するサブルーチンにジャンプ
というのが簡単で分かりやすいかもしれません。

まず、ボタンをふたつ配置します。
pos 80,200
button gosub "ON",*LED_ON pos 220,200 button gosub "OFF",*LED_OFF
ボタンを押したら、指定されたサブルーチンに処理が移ります。
これまではボタンが一つだったので *send というサブルーチン一つで処理していましたが、
ボタンが二つに増えたので、*sendの中身を二つに分けて、ボタンに対応するサブルーチン*LED_ONと*LED_OFFに作り替えました。
といっても、中身はほとんどそのままです。
*LED_ON
udpsock soc if stat : dialog "ソケットの初期化に失敗しました。",1 : end poke APIp,12,0x05 udpsendto soc,host,port udpsend APIp,0,13,soc return *LED_OFF udpsock soc if stat : dialog "ソケットの初期化に失敗しました。",1 : end poke APIp,12,0x04 udpsendto soc,host,port udpsend APIp,0,13,soc return

大事な所だけ書き出すとこんな感じです。
ボタンやサブルーチンについては、初心者向けのサイトにも記事があると思いますから探してみてください。

それと、質問したいことがいろいろ増えてきてるみたいですので、掲示板の過去ログ検索をおすすめしておきます。
掲示板のスレッド一覧の下の方にある「記事検索」というやつです。
過去に誰かが自分と同じような質問をして、答えてもらっているかもしれません。「button 配置」など入力して検索してみてください。
(別にgoogleやbingで「HSP button 配置」等で検索してもいいですが。)

検索で分かってしまえば、質問者も回答者も時間が無駄になりません。
質問前に一度は検索。試してみてくださいね。

…と言っても初心者のうちは、なんて入力して検索したらいいかすら わからなくて困るんですけどね…(- -;)



ユウ

リンク

2014/2/20(Thu) 18:21:31|NO.60148

いつもありがとうございます。記事検索ボックス見つけました。今後利用させて頂きます!



ONION software Copyright 1997-2023(c) All rights reserved.