form1.frm

来自「上传的包含两个文件」· FRM 代码 · 共 232 行

FRM
232
字号
VERSION 5.00
Begin VB.Form Form1 
   AutoRedraw      =   -1  'True
   Caption         =   "Form1"
   ClientHeight    =   6000
   ClientLeft      =   165
   ClientTop       =   855
   ClientWidth     =   7875
   LinkTopic       =   "Form1"
   ScaleHeight     =   6000
   ScaleWidth      =   7875
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton Command3 
      Caption         =   "显示随机数"
      Height          =   375
      Left            =   6480
      TabIndex        =   2
      Top             =   5520
      Width           =   1215
   End
   Begin VB.CommandButton Command2 
      Caption         =   "保存随机数"
      Height          =   375
      Left            =   4920
      TabIndex        =   1
      Top             =   5520
      Width           =   1215
   End
   Begin VB.CommandButton Command1 
      Caption         =   "产生随机数"
      Height          =   375
      Left            =   3360
      TabIndex        =   0
      Top             =   5520
      Width           =   1215
   End
   Begin VB.Menu C 
      Caption         =   "操作"
      Begin VB.Menu QX 
         Caption         =   "曲线图"
         Shortcut        =   ^Q
      End
      Begin VB.Menu ZF 
         Caption         =   "直方图"
         Shortcut        =   ^Z
      End
      Begin VB.Menu BZ 
         Caption         =   "饼壮图"
         Shortcut        =   ^B
      End
      Begin VB.Menu T 
         Caption         =   "退出"
         Shortcut        =   ^T
      End
   End
   Begin VB.Menu S 
      Caption         =   "设置"
      Begin VB.Menu COLOR 
         Caption         =   "背景色"
         Shortcut        =   ^O
      End
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim n As Integer, a As Integer, b As Integer
Dim num() As Integer
Private Sub BZ_Click()
 Const pi = 3.14159266
 Dim total As Single
 Dim s1, s2, s3 As Single
 Cls
 total = 0
 Form1.Scale (-200, 200)-(200, -200)
 For i = 1 To n
   total = total + num(i)
 Next i
 Form1.FillStyle = 0
 s1 = 0
 For i = 1 To n
   s2 = 2 * pi * num(i) / total
   s3 = s1 + s2
   If s3 > 2 * pi Then
     s3 = 2 * pi
   End If
   Form1.FillColor = QBColor(i Mod 16)
   Form1.Circle (0, 0), 100, , -s1, -s3
   s1 = s3
 Next i
End Sub

Private Sub COLOR_Click()
  Form3.Show
End Sub

Private Sub Command1_Click()
n = InputBox("请输入n的值")
a = InputBox("请输入a的值")
b = InputBox("请输入b的值")
ReDim num(n)
Randomize
For i = 1 To n
num(i) = Int((b - a + 1) * Rnd + a)
Next i
End Sub

Private Sub Command2_Click()
Open "d:\file.dat" For Output As #1
For i = 1 To n
Write #1, num(i)
Next i
Close #1
End Sub

Private Sub Command3_Click()
Dim data As String
Open "d:\file.dat" For Input As #1
Do While Not EOF(1)
 Input #1, data
 Form2.Show
 Form2.Text1.Text = Form2.Text1.Text + data + " "
Loop
Close #1
End Sub

Private Sub Form_Load()
  Form1.Show
  Form2.Hide
  Form3.Hide
End Sub

Private Sub QX_Click()
  Dim C As Integer, q As Integer
  C = b
  Do While C >= 10
    q = q + 1
    C = Int(C / 10)
  Loop
  Cls
  If n <= 10 Then
    Form1.Scale (-4, 1.2 * C * (10 ^ q))-(15, -1.2 * C * (10 ^ q))
    Form1.Line (-2, 0)-(12, 0)
    Form1.Line (12, 0)-(11.5, 0.3 * C * (q - 1))
    Form1.Line (12, 0)-(11.5, -0.3 * C * (q - 1))
    For i = -2 To 11
      Form1.Line (i, 0)-(i, 0.3 * C * (10 ^ (q - 1)))
      If i <> 0 Then
        Form1.CurrentX = i: Form1.CurrentY = -0.1 * C * (10 ^ (q - 1))
        Form1.Print i
      End If
    Next i
  Else
    Form1.Scale (-4, 1.2 * C * (10 ^ q))-(1.5 * n, -1.2 * C * (10 ^ q))
    Form1.Line (-2, 0)-(1.2 * n, 0)
    Form1.Line (1.2 * n, 0)-(1.15 * n, 0.3 * C * 10 ^ (q - 1))
    Form1.Line (1.2 * n, 0)-(1.15 * n, -0.3 * C * 10 ^ (q - 1))
    For i = -2 To Int(1.1 * n)
      Form1.Line (i, 0)-(i, 0.3 * C * (10 ^ (q - 1)))
      If i <> 0 Then
        Form1.CurrentX = i: Form1.CurrentY = -0.1 * C * (10 ^ (q - 1))
        Form1.Print i
      End If
   Next i
 End If
 Form1.Line (0, 1.1 * C * (10 ^ q))-(0, -10 ^ (q - 1))
 Form1.Line (0, 1.1 * C * (10 ^ q))-(0.3, 1.05 * C * (10 ^ q))
 Form1.Line (0, 1.1 * C * (10 ^ q))-(-0.3, 1.05 * C * (10 ^ q))
 For i = 0 To 10
   Form1.Line (0, i * C * (10 ^ (q - 1)))-(0.3, i * C * (10 ^ (q - 1)))
   Form1.CurrentX = 0.1: Form1.CurrentY = i * C * (10 ^ (q - 1))
   Form1.Print i * C * (10 ^ (q - 1))
 Next i
 For i = 1 To n - 1
   Form1.Line (i, num(i))-(i + 1, num(i + 1))
 Next i
End Sub

Private Sub T_Click()
  End
End Sub

Private Sub ZF_Click()
  Dim C As Integer, q As Integer
  Cls
  C = b
  Do While C >= 10
    q = q + 1
    C = Int(C / 10)
  Loop
  If n <= 10 Then
    Form1.Scale (-4, 1.2 * C * (10 ^ q))-(15, -1.2 * C * (10 ^ q))
    Form1.Line (-2, 0)-(12, 0)
    Form1.Line (12, 0)-(11.5, 0.3 * C * (q - 1))
    Form1.Line (12, 0)-(11.5, -0.3 * C * (q - 1))
    For i = -2 To 11
      Form1.Line (i, 0)-(i, 0.3 * C * (10 ^ (q - 1)))
      If i <> 0 Then
        Form1.CurrentX = i: Form1.CurrentY = -0.1 * C * (10 ^ (q - 1))
        Form1.Print i
      End If
   Next i
 Else
   Form1.Scale (-4, 1.2 * C * (10 ^ q))-(1.5 * n, -1.2 * C * (10 ^ q))
   Form1.Line (-2, 0)-(1.2 * n, 0)
   Form1.Line (1.2 * n, 0)-(1.15 * n, 0.3 * C * 10 ^ (q - 1))
   Form1.Line (1.2 * n, 0)-(1.15 * n, -0.3 * C * 10 ^ (q - 1))
   For i = -2 To Int(1.1 * n)
     Form1.Line (i, 0)-(i, 0.3 * C * (10 ^ (q - 1)))
     If i <> 0 Then
       Form1.CurrentX = i: Form1.CurrentY = -0.1 * C * (10 ^ (q - 1))
       Form1.Print i
     End If
   Next i
 End If
 Form1.Line (0, 1.1 * C * (10 ^ q))-(0, -10 ^ (q - 1))
 Form1.Line (0, 1.1 * C * (10 ^ q))-(0.3, 1.05 * C * (10 ^ q))
 Form1.Line (0, 1.1 * C * (10 ^ q))-(-0.3, 1.05 * C * (10 ^ q))
 For i = 0 To 10
   Form1.Line (0, i * C * (10 ^ (q - 1)))-(0.2, i * C * (10 ^ (q - 1)))
   Form1.CurrentX = 0.1: Form1.CurrentY = i * C * (10 ^ (q - 1))
   Form1.Print i * C * (10 ^ (q - 1))
 Next i
 Form1.FillStyle = 0
 For i = 1 To n
   Form1.FillColor = QBColor(i Mod 16)
   Form1.Line (i, num(i))-(i + 1, 0), , B
 Next i
End Sub

⌨️ 快捷键说明

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