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

📄 analyser.frm

📁 分析数学表达式 运算 以及作图用的
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Analyser 
   Caption         =   "Form1"
   ClientHeight    =   3285
   ClientLeft      =   60
   ClientTop       =   405
   ClientWidth     =   7710
   LinkTopic       =   "Form1"
   ScaleHeight     =   3285
   ScaleWidth      =   7710
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton Draw 
      Caption         =   "作图"
      Height          =   375
      Left            =   120
      TabIndex        =   11
      Top             =   2280
      Width           =   1215
   End
   Begin VB.PictureBox Picture1 
      Height          =   2895
      Left            =   4440
      MousePointer    =   99  'Custom
      ScaleHeight     =   2835
      ScaleMode       =   0  'User
      ScaleWidth      =   3195
      TabIndex        =   10
      Top             =   360
      Width           =   3255
      Begin VB.Line Line2 
         BorderColor     =   &H00FFC0C0&
         X1              =   0
         X2              =   3240
         Y1              =   2880
         Y2              =   2880
      End
      Begin VB.Line Line1 
         BorderColor     =   &H00FFC0C0&
         X1              =   10000
         X2              =   10000
         Y1              =   0
         Y2              =   2880
      End
   End
   Begin VB.CommandButton Command1 
      Caption         =   "函数列表"
      Height          =   375
      Left            =   120
      TabIndex        =   9
      Top             =   1320
      Width           =   1215
   End
   Begin VB.CommandButton Help 
      Caption         =   "帮助"
      Height          =   375
      Left            =   120
      TabIndex        =   8
      Top             =   1800
      Width           =   1215
   End
   Begin VB.CommandButton WinCalc 
      Caption         =   "计算器"
      Height          =   375
      Left            =   120
      TabIndex        =   7
      Top             =   840
      Width           =   1215
   End
   Begin VB.CommandButton Command3 
      Caption         =   "Val"
      Height          =   255
      Left            =   2640
      TabIndex        =   5
      Top             =   840
      Width           =   1575
   End
   Begin VB.CommandButton Command2 
      Caption         =   "Name"
      Height          =   255
      Left            =   1560
      TabIndex        =   4
      Top             =   840
      Width           =   1095
   End
   Begin VB.ListBox List2 
      Height          =   2040
      Left            =   2640
      TabIndex        =   3
      Top             =   1080
      Width           =   1575
   End
   Begin VB.ListBox List1 
      Height          =   2040
      Left            =   1560
      TabIndex        =   2
      Top             =   1080
      Width           =   1095
   End
   Begin VB.CommandButton AddSpace 
      Caption         =   "计算表达式"
      Height          =   375
      Left            =   120
      TabIndex        =   1
      Top             =   2760
      Width           =   1215
   End
   Begin VB.TextBox MainText 
      Height          =   375
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   4215
   End
   Begin VB.Frame Frame1 
      Caption         =   "常数列表"
      Height          =   2655
      Left            =   1440
      TabIndex        =   6
      Top             =   600
      Width           =   2895
   End
   Begin VB.Label Label1 
      Height          =   255
      Left            =   4440
      TabIndex        =   12
      Top             =   120
      Width           =   3255
   End
   Begin VB.Menu Menu 
      Caption         =   "Menu"
      Visible         =   0   'False
      Begin VB.Menu MenuDelete 
         Caption         =   "删除"
      End
      Begin VB.Menu MenuAdd 
         Caption         =   "添加"
      End
      Begin VB.Menu MenuModify 
         Caption         =   "修改"
      End
      Begin VB.Menu MenuInfo 
         Caption         =   "说明"
      End
   End
End
Attribute VB_Name = "Analyser"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim SX As Single, SY As Single
Dim G As Boolean
Private Sub AddSpace_Click()
ReDim ConstInfo1(1 To 1)
For i = 0 To List1.ListCount - 1
Module1.InputConst List1.List(i), List2.List(i)
Next i
InText = MainText.Text
MainText.Text = Module1.Initialize(MainText.Text)
If MainText.Text <> InText Then MainText.Text = Val(MainText.Text)
End Sub
Private Sub Command1_Click()
MsgBox "函数列表" & Chr(10) & Chr(13) _
& "sin 正弦函数" & Chr(10) & Chr(13) _
& "cos余弦函数" & Chr(10) & Chr(13) _
& "tan正切函数" & Chr(10) & Chr(13) _
& "rnd 随即数" & Chr(10) & Chr(13) _
& "abs 绝对值" & Chr(10) & Chr(13) _
& "exp 自然对数e的n次方" & Chr(10) & Chr(13) _
& "fix 取整" & Chr(10) & Chr(13) _
& "int 取整" & Chr(10) & Chr(13) _
& "log 对数函数" & Chr(10) & Chr(13) _
& "sqr或者sqrt 平方根" & Chr(10) & Chr(13) _
& "Int 和 Fix 的不同之处在于,如果 number 为负数,则 Int 返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8。"
End Sub
Private Sub draw_Click()
On Error Resume Next
G = True
Dim iii As Integer
For i = 1 To Len(MainText.Text)
If Mid(MainText.Text, i, 1) = "X" Or Mid(MainText.Text, i, 1) = "x" Then iii = iii + 1
Next i
If iii = 0 Then MsgBox ("未能找到常数X"): Exit Sub
Picture1.Picture = LoadPicture("")
Picture1.AutoRedraw = True
Picture1.Line (0, -20)-(0, 20)
Picture1.Line (-20, 0)-(20, 0)
For SX = -20 To 20 Step 0.1
ReDim ConstInfo1(1 To 1)
For i = 0 To List1.ListCount - 1
Module1.InputConst List1.List(i), List2.List(i)
Next i
Module1.InputConst "X", SX
InText = MainText.Text
SY = Module1.Initialize(MainText.Text)
Picture1.PSet (SX, SY)
Next SX
Picture1.AutoRedraw = False
End Sub
Private Sub Form_Load()
Picture1.Scale (-20, 20)-(20, -20)
Picture1.Picture = LoadPicture("")
Picture1.AutoRedraw = True
Picture1.Line (0, -20)-(0, 20)
Picture1.Line (-20, 0)-(20, 0)
Picture1.AutoRedraw = False
List1.AddItem ("G")
List2.AddItem (9.807)
List1.AddItem ("P")
List2.AddItem (3.142)
SX = SX + 1
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Private Sub Help_Click()
MsgBox "欢迎使用本软件!" & Chr(10) & Chr(13) _
& "本软件用于分析并计算数学表达式或者画图。您可以用各种运算方法和函数进行复杂的运算。" & Chr(10) & Chr(13) _
& "您可以在字符框里以自然的方式输入表达式,但是还是有些需要注意的地方。这些是不可以弄错的。" & Chr(10) & Chr(13) _
& "首先,这里没有点乘,也不可以忽略它。例如平时我们习惯的将A乘以B写为AB,但是您在此不得不写为A*B" & Chr(10) & Chr(13) _
& "第二,在运算中,函数拥有最高的优先权。这意味着sin 3^2 =(sin 3)^2。如果您不希望这样,请用括号括起他们。" & Chr(10) & Chr(13) _
& "第三,如果一个常数紧跟一个函数,请把常数括起来。例如sin(G)就不会发生错误" & Chr(10) & Chr(13) _
& "第四,为了让程序区分负号和减号,减号一律用下划线“_”代替……出了问题别怪我没提醒……" & Chr(10) & Chr(13) _
& "最后,由于本人技术不高,又为了狗日的自然书写,因此如果……正确的表达式发生了错误或答案不正确,那么……" & Chr(10) & Chr(13) _
& "关于作图,很简单,把X当作一个常数就行了。不过呢……有可能……比较慢……" & Chr(10) & Chr(13) _
& "祝这个软件能帮上大家一些忙~谢谢大家的支持~还有,有问题还请多多包涵……并且联系我。制作人CauLiFloWeR。" & Chr(10) & Chr(13) _
& "关于固定函数请见相关帮助。在常数列表框内点击右键以操作常数并取得常数的帮助。"
End Sub
Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
List2.ListIndex = List1.ListIndex
If Button = 2 Then
PopupMenu Menu
End If
End Sub
Private Sub List2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
List1.ListIndex = List2.ListIndex
If Button = 2 Then
PopupMenu Menu
End If
End Sub
Private Sub MainText_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then AddSpace_Click
End Sub
Private Sub MenuAdd_click()
On Error Resume Next
Dim Name As String, V As Integer
Abcd: Name = UCase(InputBox("Enter Name"))
If Name = "" Or Len(Name) <> 1 Or IsNumeric(Name) = True Or Name = "X" Then MsgBox ("错误的命名。请查阅说明。"): GoTo Abcd
V = Val(InputBox("Enter Val"))
List1.AddItem Name
List2.AddItem V
End Sub
Private Sub Menumodify_click()
On Error Resume Next
Dim Name As String, V As Integer
Abc: Name = InputBox("Enter Name", , List1.List(List1.ListIndex))
If Name = "" Or Len(Name) <> 1 Or IsNumeric(Name) = True Or Name = "X" Then MsgBox ("错误的命名。请查阅说明。"): GoTo Abc
V = Val(InputBox("Enter Val", , List1.List(List2.ListIndex)))
List1.List(List1.ListIndex) = Name
List2.List(List2.ListIndex) = V
End Sub
Private Sub Menudelete_click()
On Error Resume Next
If MsgBox("You are sure to delete?", vbYesNo) = vbYes Then
List1.RemoveItem List1.ListIndex
List2.RemoveItem List2.ListIndex
Else
Exit Sub
End If
End Sub
Private Sub Menuinfo_click()
MsgBox "您可以在计算时用常数替代一些复杂而重复的数。您也可以自定义常数。" & Chr(10) & Chr(13) _
& "您可以添加 删除 修改常数,但常数的名称必须是大写的单个英文字母(不可以为X)不能有有多余的空格;常数的数值必须是一个不太长的数字。如果不是大写系统将自动转换……我好象说废话了" & Chr(10) & Chr(13) _
& "但是在输入表达式时并没有类似规定;您可以小写,或则不空格也可以。", , "帮助"
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If G Then
  Dim AY As Single
  ReDim ConstInfo1(1 To 1)
  For i = 0 To List1.ListCount - 1
  Module1.InputConst List1.List(i), List2.List(i)
  Next i
  Module1.InputConst "X", Round(X, 3)
  AY = Val(Module1.Initialize(MainText.Text))
  Label1.Caption = Round(X, 3) & " : " & AY
  Line1.X1 = X:  Line1.X2 = X
  Line2.Y1 = AY: Line2.Y2 = AY
End If
End Sub
Private Sub WinCalc_Click()
Shell "C:\WINDOWS\system32\CALC.EXE"
End Sub

⌨️ 快捷键说明

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