このプログラムはどういう動作をするのでしょうか

解決


きょか  2009-08-27 05:17:46  No: 142463

VBのプログラムの解説をお願いします

以下のプログラムの解説をお願いしたくて質問しました
一行ずつ、そのプログラムの実行内容、または命令を教えてください

Public counter As Integer

Private Sub command1_MouseDown(Index As Integer, Shift As Integer, X As Single,x As Single ,Y As Single)
PICOCX1.Outp PortB, 4 + Index, High
End Sub

Private Sub command1_Mouse Up(Index As Integer, Shift As Integer, X As Single,x As Single ,Y As Single)
PICOCX1.Outp PortB, 4 + Index, Low
End Sub

Private Sub Command2_Cick()
PICOCX1.Oulp PortB ,4 , Low
PICOCX1.Oulp PortB ,5 , Low
PICOCX1.Oulp PortB ,6 , Low
PICOCX1.Oulp PortB ,7 , Low
Timer2.Interval = 300
End Sub

Private Sub Timer1_Timer()
Shape1(0).Fillstyle = 1- PICOCX1.Inp(PortB,4)
Shape1(1).Fillstyle = 1- PICOCX1.Inp(PortB,5)
Shape1(2).Fillstyle = 1- PICOCX1.Inp(PortB,6)
Shape1(3).Fillstyle = 1- PICOCX1.Inp(PortB,7)

Private Sub Timer2_Timer()
PICOCX1.Oulp PortB ,4 , Low
PICOCX1.Oulp PortB ,5 , Low
PICOCX1.Oulp PortB ,6 , Low
PICOCX1.Oulp PortB ,7 , Low
PICOCX1.Outp portB, Counter Mod 4 + 4,High
counter = counter+1
End Sub

わかるところで構いません
よければお願いします


きょか  2009-08-27 05:23:40  No: 142464

誤字の報告です
OulpはOutpのことです

申し訳ありません、引き続き解答募集します


回答します。  2009-08-27 17:50:32  No: 142465

回答します。

Public counter As Integer←書いてあるとおり

Private Sub command1_MouseDown(Index As Integer, Shift As Integer, X As Single,x As Single ,Y As Single)←書いてあるとおり
PICOCX1.Outp PortB, 4 + Index, High←書いてあるとおり
End Sub←書いてあるとおり

Private Sub command1_Mouse Up(Index As Integer, Shift As Integer, X As Single,x As Single ,Y As Single)←書いてあるとおり
PICOCX1.Outp PortB, 4 + Index, Low←書いてあるとおり
End Sub←書いてあるとおり

Private Sub Command2_Cick()←書いてあるとおり
PICOCX1.Oulp PortB ,4 , Low←書いてあるとおり
PICOCX1.Oulp PortB ,5 , Low←書いてあるとおり
PICOCX1.Oulp PortB ,6 , Low←書いてあるとおり
PICOCX1.Oulp PortB ,7 , Low←書いてあるとおり
Timer2.Interval = 300←書いてあるとおり
End Sub←書いてあるとおり

Private Sub Timer1_Timer()←書いてあるとおり
Shape1(0).Fillstyle = 1- PICOCX1.Inp(PortB,4)←書いてあるとおり
Shape1(1).Fillstyle = 1- PICOCX1.Inp(PortB,5)←書いてあるとおり
Shape1(2).Fillstyle = 1- PICOCX1.Inp(PortB,6)←書いてあるとおり
Shape1(3).Fillstyle = 1- PICOCX1.Inp(PortB,7)←書いてあるとおり

Private Sub Timer2_Timer()←書いてあるとおり
PICOCX1.Oulp PortB ,4 , Low←書いてあるとおり
PICOCX1.Oulp PortB ,5 , Low←書いてあるとおり
PICOCX1.Oulp PortB ,6 , Low←書いてあるとおり
PICOCX1.Oulp PortB ,7 , Low←書いてあるとおり
PICOCX1.Outp portB, Counter Mod 4 + 4,High←書いてあるとおり
counter = counter+1←書いてあるとおり
End Sub←書いてあるとおり

説明の必要ないと思うけど?


回答します。  2009-08-27 17:59:33  No: 142466

っていうか、学校の課題?
丸投げはいかんよ。
どの部分がわからないの?

たとえば
Public counter As Integer
がわからない、というなら、重症です。

変数の宣言もわからないなら、VBの本を買って読むところからだよ。


GOD  2009-08-27 18:31:12  No: 142467

貴方と環境を共にしている人からしか正答は得られないよ。
PICOCX1.Outp, PICOCX1.Inp, High, Low, PortB はVB標準ではなく、自作のものだろうから書かれていても分からないよ。
なので自力でやってください。(周りの人に聴いても良いし)
各所にブレークポイントいれてステップ実行してみれば動作が見えるんじゃないかな。


むにえる  2009-08-27 20:32:40  No: 142468

PICのポートの状態を変更するプログラムですかね?

上から
マウスのボタンを押込んだら押されたボタンによってポートをhighに
マウスのボタンを離したら離したボタンによってポートをlowに
Command2ボタンをクリックしたら4,5,6,7のポートをlowに
Timer1が指定された時間経過したらShapeのfillstyleを変更
Timer2が指定された時間経過したら4,5,6,7のポートをlowに

ポートにLEDでもくっつけて光らせると動作がわかりやすいかと。


むにえる  2009-08-27 20:36:00  No: 142469

ぬけてた
>PICOCX1.Outp portB, Counter Mod 4 + 4,High
Counterによって4,5,6,7どれか一つのポートをhighに

counterをクリアしてないので残念な動きになりそうです。


オショウ  2009-08-28 03:32:50  No: 142470

http://www8.plala.or.jp/syuchyo/PICNIC/PICNIC.htm

このハードウェア用の制御プログラムのようですが・・・

で、説明って・・・そのキットが接続されているなら
デバッグしながら動かせば、解るのでは?

以上。


きょか  2009-08-28 03:39:26  No: 142471

解答ありがとうございます
ヒントをもとに頑張ってみます


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

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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