⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 彩票号码产生软件原码,可在36选7的体育彩票号码中选号。本人是初学者
💻 FRM
📖 第 1 页 / 共 2 页
字号:

Dim g As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim h As Integer

Dim t(7) As String, sj As String, msg As String
Dim ch1 As Integer, ch2 As Integer
Dim ch3 As Integer, ch4 As Integer

Private Sub Form_Load()
  
  Timer1.Enabled = False
  Timer1.Interval = 10
  
  Text1(1).Text = "特"
  Text1(2).Text = "等"
  Text1(3).Text = "奖"
  Text1(4).Text = "就"
  Text1(5).Text = "在"
  Text1(6).Text = "今"
  Text1(7).Text = "天"
  Textnum(0).Text = ""
  Textnum(0).SelLength = Len(Textnum(0).Text)
  Text2.Text = ""
  
  Ck1.Value = 1
  Ck4.Value = 1
  PBar1.Min = 0
  PBar1.Value = 0

  Randomize

End Sub
Sub Ck1_Click()
  If Ck1.Value = 1 Then
     Ck2.Value = 0
     kind = 36
  Else
     Ck2.Value = 1
     kind = 32
  End If
End Sub

Sub Ck2_Click()
  If Ck2.Value = 1 Then
     Ck1.Value = 0
     kind = 32
  Else
     Ck1.Value = 1
     kind = 36
  End If
End Sub

Private Sub Lab1_Click()
  If Ck1.Value = 0 Then
     Ck1.Value = 1
     kind = 36
     Ck2.Value = 0
  End If
End Sub

Private Sub Lab2_Click()
  If Ck2.Value = 0 Then
     Ck2.Value = 1
     kind = 32
     Ck1.Value = 0
  End If
End Sub

Private Sub Ck3_Click()
  If Ck3.Value = 1 Then
     Ck4.Value = 0
     num = 1
  Else
     Ck4.Value = 1
     num = 5
  End If
  Text2.BackColor = &H8000000F
  Text2.Text = ""
End Sub

Private Sub Ck4_Click()
  If Ck4.Value = 1 Then
     Ck3.Value = 0
     num = 5
  Else
     Ck3.Value = 1
     num = 1
  End If
  Text2.BackColor = &H8000000F
  Text2.Text = ""
End Sub

Private Sub Lab4_Click()
  If Ck3.Value = 0 Then
     Ck3.Value = 1
     num = 1
     Ck4.Value = 0
  End If
  Text2.BackColor = &H8000000F
  Text2.Text = ""
End Sub

Private Sub Lab5_Click()
  If Ck4.Value = 0 Then
     Ck4.Value = 1
     num = 5
     Ck3.Value = 0
  End If
  Text2.BackColor = &H8000000F
  Text2.Text = ""
End Sub

Private Sub CmdCls_Click()
   If Timer1.Enabled = False Then
      Textnum(0).Text = ""
      m = 0
   End If
End Sub

Private Sub CmdExit_Click()
  Unload Me
  Unload Form3
End Sub

Private Sub CmdFS_Click()
  X = Shell("C:\WINDOWS\NOTEPAD.EXE", 1)
  SendKeys "~~"
  If m <> 0 Then num = m / 2      'm不为零时,为随机产生的号码注数
  For i = 1 To num
     SendKeys "    " + CP_num(i) + "~"
  Next i
End Sub
Private Sub Lab3_Click()
  Text2.BackColor = &H80000005
End Sub

Private Sub Text2_Click()
  Text2.BackColor = &H80000005
End Sub

Private Sub Cmdstart_Click()
  
  If Text2.BackColor = &H80000005 Then
     If Val(Text2.Text) <= 0 And (Text2.Text) <> "" Then
        MsgBox "   请输入正确的号码注数(0~999之间)!     ", 64, "提示信息": Exit Sub
     End If
  End If
  
  If Text2.BackColor = &H80000005 Then    '首先确定彩票的注数
     num = Fix(Val(Text2.Text))
  ElseIf Ck3.Value = 1 Then
     num = 1
  Else
     num = 5
  End If
  
PBar1.Max = num                '确定进度条的最大值
PBar1.Value = 0
  
  If Ck1.Value = 1 Then                  '确定彩票的种类
     kind = 36
  Else
     kind = 32
  End If
  
  Textnum(0).Text = ""                       '清空窗口
  Timer1.Enabled = False

  Randomize
  For i = 1 To 7                  '清空大号码显示
      Text1(i).Text = ""
  Next i
  m = 0

   For p = 1 To 36                '概率统计sp()数组归零
   sp(p) = 0
   Next p

'-------------------------------------------------------------------

  For h = 1 To num
    
    CP_num(h) = ""            '首先清空第h组号码
    For g = 1 To 7            '清空号码组
        n(g) = ""
    Next g
    
    For i = 1 To 7
       
ss:  X = kind * Rnd
     
       If (X - Fix(X)) * 10 >= 5 Then
           X = Fix(X) + 1
       Else
           X = Fix(X)
       End If
  
       If X = 0 Then X = kind           'x 小于0.5即取最大值
     
       If X < 10 Then                   'x<10时,前面补0
          n(i) = "0" + Trim(Str(X))
       Else
          n(i) = Trim(Str(X))
       End If

       If i > 1 Then                     '检查重号。如有重号,则重新产生号码
          For j = (i - 1) To 1 Step -1
              If n(i) = n(j) Then GoTo ss
          Next j
       End If

       For k = 1 To 36                              '统计数字出现次数
           If Val(n(i)) = k Then sp(k) = sp(k) + 1
       Next k
       
    Next i

    For i = 1 To 7                '排序
       For j = i + 1 To 7
          If n(i) > n(j) Then
             Y = n(i)
             n(i) = n(j)
             n(j) = Y
          End If
       Next j
    Next i

    Text1(1).Text = n(1)             '显示结果
    Text1(2).Text = n(2)
    Text1(3).Text = n(3)
    Text1(4).Text = n(4)
    Text1(5).Text = n(5)
    Text1(6).Text = n(6)
    Text1(7).Text = n(7)
    DoEvents

    If h < 10 Then                    '序号数字对齐
      s = " " + Trim(Str(h)) + " "
    ElseIf h < 100 Then
      s = " " + Trim(Str(h))
    Else
      s = Trim(Str(h))
    End If
'===============================================================
    Textnum(0).Text = Textnum(0).Text + "第" + s + "注" + "    "   '将号码放入文本窗口
    For i = 1 To 6
        Textnum(0).Text = Textnum(0).Text + n(i) + " " + "+" + " "
    Next i
    Textnum(0).Text = Textnum(0).Text + n(7) + "    "
 '=============================================================
    CP_num(h) = "第" + s + "注" + "    "     ''将第 h 注号码存入码组数组CP_num(h) +
    For i = 1 To 6
        CP_num(h) = CP_num(h) + n(i) + " " + "+" + " "
    Next i
    CP_num(h) = CP_num(h) + n(7) + "    "
 '============================================================
    PBar1.Value = PBar1.Value + 1
  
  Next h
  
    PBar1.Value = 0
  
  If Form3.Visible = True Then
     CmdCK_Click
     Form1.SetFocus
  End If
End Sub

'============================================================================

Private Sub CmdCK_Click()    '查看数字概率

  Form3.Show
  Form3.Cls
  Form3!Lb1(41).Caption = ""

  spx = 0
  For q = 1 To 36                          '确定图表中出现最大次数
      If spx < sp(q) Then spx = sp(q)
      If spx = 0 Then
         Form3!Shape(q).Height = 50
         Form3!Shape(q).Top = 3600 + 660 - 50
         Form3!Lb1(41).Caption = ""
      End If
  
      Form3!Lb1(q).Caption = LTrim(Str$(q))  '显示号码序数
      Form3!Lb1(q).ForeColor = RGB(0, 0, 120) '显示号码颜色
      If (q Mod 2) = 1 Then                   '确定号码背景色
         Form3!Lb1(q).BackColor = RGB(240, 240, 240)
      Else
         Form3!Lb1(q).BackColor = RGB(256, 200, 180)
      End If
  Next q

  Form3!Lb1(37).Caption = LTrim(Str$(spx)) '显示图表中纵坐标最大次数

  For p = 1 To 36   '确定图形高度
  
    If spx = 0 Then
      MsgBox "没有号码!", 64, "出错信息"
      Exit Sub
    End If
  
    Form3!Shape(p).Height = (3600 / spx) * sp(p)
    Form3!Shape(p).Top = 3600 - (3600 / spx) * sp(p) + 660
    'Form3!Shape(p).FillColor = RGB(256 * Rnd, 256 * Rnd, 256 * Rnd)  '确定图形颜色
  
  Next p

'开始画坐标线
'------------
Dim X As Integer, Y As Integer, z As Integer

  If spx <= 1 Then Form3!Lb1(41).Caption = ""  '确定纵坐标中点位置及数值
    
    Form3!Lb1(41).Caption = ""                   '清空数值
  If (spx Mod 2) = 0 Then
    Form3!Lb1(41).Caption = LTrim(Str$(Fix(spx / 2)))
    Form3!Lb1(41).Top = 4260 - Fix((Fix(spx / 2)) * (3600 / spx)) - 100
  Else
    Form3!Lb1(41).Caption = LTrim(Str$(Fix(spx / 2) + 1))
    Form3!Lb1(41).Top = 4260 - Fix((Fix(spx / 2) + 1) * (3600 / spx)) - 100
  End If
'------------
  For p = 1 To (spx - 1)

    Form3.ForeColor = RGB(0, 0, 0) ' 前景色为黑色
    Form3.Line (456, (4250 - Round((3600 / spx) * p)))-(7816, (4250 - Round((3600 / spx) * p)))
    Form3.ForeColor = RGB(255, 255, 255) '前景色为白色。
    Form3.Line (456, (4270 - Round((3600 / spx) * p)))-(7816, (4270 - Round((3600 / spx) * p)))
  
  Next p
'-------------------------------------------
End Sub

Private Sub CmdRnd_Click()        '随机产生号码
  m = m + 1
  If (m Mod 2) = 1 Then
     CmdRnd.Caption = "选定号码"
     Timer1.Enabled = True
  Else
     If m = 2 Then Textnum(0).Text = ""
     CmdRnd.Caption = "随机摇号开始"
     Timer1.Enabled = False
     
     If (m / 2) < 10 Then
        sj = Str$(m / 2)
     Else
        sj = LTrim(Str$(m / 2))
     End If
        
     Textnum(0).Text = Textnum(0).Text + "随机第" + sj + "注" + "   "
     For i = 1 To 6
         Textnum(0).Text = Textnum(0).Text + n(i) + " " + "+" + " "
     Next i
     Textnum(0).Text = Textnum(0).Text + n(7) + "   "
     
     CP_num(m / 2) = "随机第" + sj + "注" + "   "                    '将第 m/2 注号码存入码组数组
     For i = 1 To 6
         CP_num(m / 2) = CP_num(m / 2) + n(i) + " " + "+" + " "
     Next i
     CP_num(m / 2) = CP_num(m / 2) + n(7) + "   "
     
  End If

End Sub

Private Sub Timer1_Timer()

  If m = 1 Then Textnum(0).Text = ""

  For p = 1 To 36                'sp()数组归零
     sp(p) = 0
  Next p
  
  For i = 1 To 7                 '清空一注内的各号码
      n(i) = ""
  Next i
'-------------------------------------------------------------------

  For i = 1 To 7
  
ss:  X = kind * Rnd
     
    If ((X - Fix(X)) * 10) >= 5 Then
       X = Fix(X) + 1
    Else
       X = Fix(X)
    End If
  
    If X = 0 Then X = kind   'GoTo ss,如果小于0.5则取最大值
    
    If X < 10 Then
       n(i) = "0" + LTrim(Str$(X))
    Else
       n(i) = LTrim(Str$(X))
    End If

    If i > 1 Then
     
         For j = (i - 1) To 1 Step -1
           If n(i) = n(j) Then GoTo ss
         Next j
     
    End If

    For k = 1 To 36                              '统计数字出现次数
        If Val(n(i)) = k Then sp(k) = sp(k) + 1
    Next k

  Next i

  For i = 1 To 7
     For j = i + 1 To 7
        If n(i) > n(j) Then
           Y = n(i)
           n(i) = n(j)
           n(j) = Y
        End If
     Next j
  Next i

  DoEvents
  Text1(1).Text = n(1)
  Text1(2).Text = n(2)
  Text1(3).Text = n(3)
  Text1(4).Text = n(4)
  Text1(5).Text = n(5)
  Text1(6).Text = n(6)
  Text1(7).Text = n(7)

End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -