SSブログ

アクセス小僧:乱数を使ったアニメの様なもの(改) [コンピューター]

アクセスのフォームでボタンの色や表示/非表示をタイマー処理と乱数で切り替える事により、

アニメのようなものを作ってみました。だけでは、つまらないので、ボタンに表示
されるテキストも乱数で変更できるようにしてみました。

【前回の記事】
https://cheese999.blog.ss-blog.jp/2020-12-28

【流れ】
1.ボタンを押したら、タイマー処理を起動/停止。
2.タイマー処理でボタンの前景色、背景色を変更。色指定は乱数(0-255)を使い、
RGBの各色を指定。
3.タイマー処理でボタンに表示するテキストを変更。乱数を使用して文字コードを
ランダムに指定。(★★今回追加★★)
4.タイマー処理でボタンの表示/非表示を変更。乱数を使って表示/非表示を
選択。チェックボックスがチェックされている時は「表示」に固定。

【スクリプト】
Private Sub ボタン_タイマー_Click()
'【機能】タイマー処理の起動、停止
  If Me.TimerInterval <> 0 Then
    Me.TimerInterval = 0 ' 停止
    Me!コンボ_NewPW桁数.SetFocus ' NewPW桁数にフォーカス
    Me!ボタン_タイマー.BackColor = RGB(209, 234, 240) ' 背景色=#D1EAF0
    Me!ボタン_タイマー.ForeColor = RGB(64, 64, 64) ' 前景色=#404040
    Me!ボタン_タイマー.Caption = "タイマー"
    Me!ボタン_タイマー.ControlTipText = "タイマー処理の起動"
    Me!ボタン_タイマー.Visible = True ' ボタンを表示
    Me!ボタン_タイマー.SetFocus ' ボタン_タイマーにフォーカス
  Else
    Me.TimerInterval = 1000 ' 起動
    Me!ボタン_タイマー.ControlTipText = "タイマー処理の停止"
  End If
End Sub

Private Sub Form_Timer()
'【フォームのタイマー処理】
'【変数】
  Dim myBL1 As Boolean
' Dim i As Variant ' 変数
'【実行コード】
' i = Me!ボタン_タイマー.BackColor
' Debug.Print "Me!ボタン_タイマー.BackColor=" & Me!ボタン_タイマー.BackColor
  Me!コンボ_NewPW桁数.SetFocus ' NewPW桁数にフォーカス
  Me!ボタン_タイマー.BackColor = RGB(UFRnd1(0, 255), UFRnd1(0, 255), UFRnd1(0, 255)) ' 背景色=ランダム
  Me!ボタン_タイマー.ForeColor = RGB(UFRnd1(0, 255), UFRnd1(0, 255), UFRnd1(0, 255)) ' 前景色=ランダム
  Select Case UFRnd1(0, 1)
  Case 0
    Me!ボタン_タイマー.Caption = Chr(UFRnd1(0, (Asc("ん") - Asc("ぁ"))) + Asc("ぁ")) ' 標題=ランダム(ぁ,829F,-32097 => ん,82F1,-32015)
    'Debug.Print "a=" & Asc("ん") - Asc("ぁ")
  Case 1
    Me!ボタン_タイマー.Caption = Chr(UFRnd1(0, (Asc("Z") - Asc("A"))) + Asc("A")) ' 標題=ランダム(A,8260,-32160 => Z,8279,-32135)
  End Select
  If Me!チェック191_常時表示.Value = True Then
    Me!ボタン_タイマー.Visible = True ' 常時表示
  Else
    ' ランダム表示
    myBL1 = UFRnd1(0, 1) - 1
    Me!ボタン_タイマー.Visible = myBL1 ' ボタンを表示(-1)、非表示(0)
    If myBL1 Then
      Me!ボタン_タイマー.SetFocus ' ボタン_タイマーにフォーカス
    End If
  End If
  'Me!ボタン_タイマー.BackColor = RGB(209, 234, 240) ' 背景色=#D1EAF0
End Sub

Function UFRnd1(myMin1 As Long, myMax1 As Long) As Long
'【機能】myMin1 - myMax1の間の乱数を発生
'【引数】
' myMin1 : 最小値
' myMax1 : 最大値
'【変数】
'【実行コード】
  UFRnd1 = Int(Rnd * (myMax1 - myMin1 + 1) + myMin1)
End Function

Private Sub Form_Load()
  '【イベント】フォーム読み込み時

  Me!チェック191_常時表示.Value = True ' タイマーボタン:常時表示
  Me!チェック191_常時表示.ControlTipText = "タイマーボタン常時表示:ON/OFF"
  Me.TimerInterval = 0 ' タイマー停止
  Me!コンボ_NewPW桁数.SetFocus ' NewPW桁数にフォーカス
  Me!ボタン_タイマー.BackColor = RGB(209, 234, 240) ' 背景色=#D1EAF0
  Me!ボタン_タイマー.ForeColor = RGB(64, 64, 64) ' 前景色=#404040
  Me!ボタン_タイマー.Visible = True ' ボタンを表示
  Me!ボタン_タイマー.Caption = "タイマー"
  Me!ボタン_タイマー.ControlTipText = "タイマー処理の起動"
  Me!ボタン_タイマー.SetFocus ' ボタン_タイマーにフォーカス
  ' Debug.Print "ぁ=" & Asc("ぁ")
  ' Debug.Print Chr(Asc("ぁ") + 5) & "=" & Asc("ぁ") + 5
  ' Debug.Print "Me!ボタン_タイマー.name=" & Me!ボタン_タイマー.Name
  ' Debug.Print "Me!ボタン_タイマー.Caption=" & Me!ボタン_タイマー.Caption

End Sub
ヤバイぜ!(10)  コメント(3) 
共通テーマ:パソコン・インターネット

ヤバイぜ! 10

コメント 3

ハマコウ

よい年になることをお祈り申し上げます。
本年もよろしくお願いいたします。
by ハマコウ (2021-01-04 21:46) 

cheese999

ヤバイぜ! ありがとうございます(^_0)ノ
by cheese999 (2021-01-05 00:18) 

cheese999

ハマコウさん、
ありがとうございます。(^_0)ノ
by cheese999 (2021-01-05 00:19) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字(英大文字の「オー」、英小文字の「ユー」、アラビア数字の「ハチ」、アラビア数字の「イチ」、アラビア数字の「ニ」)を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。