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

📄 math.frm

📁 将一些标准数值与非数值算法集中封装在几个DLL中,需要用时可在VB/Delphi/C#中分别调用,这里提供了3个小程序,分别用于线性方程组求根、计算行列式的值、矩阵求逆。
💻 FRM
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form Form1 
   Caption         =   "调用abint"
   ClientHeight    =   3105
   ClientLeft      =   60
   ClientTop       =   435
   ClientWidth     =   6000
   LinkTopic       =   "Form1"
   ScaleHeight     =   3105
   ScaleWidth      =   6000
   StartUpPosition =   3  '窗口缺省
   Begin VB.TextBox Text1 
      BeginProperty DataFormat 
         Type            =   0
         Format          =   "0.000E+00"
         HaveTrueFalseNull=   0
         FirstDayOfWeek  =   0
         FirstWeekOfYear =   0
         LCID            =   2052
         SubFormatType   =   0
      EndProperty
      Height          =   270
      Left            =   3120
      TabIndex        =   2
      Text            =   "Text1"
      Top             =   2640
      Width           =   1215
   End
   Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1 
      Height          =   2055
      Left            =   360
      TabIndex        =   1
      Top             =   240
      Width           =   5295
      _ExtentX        =   9340
      _ExtentY        =   3625
      _Version        =   393216
   End
   Begin VB.CommandButton Command1 
      Caption         =   "四元线性方程组求根"
      Height          =   375
      Left            =   720
      TabIndex        =   0
      Top             =   2520
      Width           =   2055
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Declare Function abint Lib "mathlib72.dll" Alias "_abint@24" (a As Double, ByVal n As Long, b As Double, ByVal eps As Double, x As Double) As Long
Dim a(16) As Double, b(4) As Double, eps As Double, x(4) As Double
Private Sub Command1_Click()
'Dim s#
'If IsNumeric(MSFlexGrid1.TextMatrix(1, 1)) Then MsgBox MSFlexGrid1.TextMatrix(1, 1)
For i = 1 To 4
  For j = 1 To 4
    If Not IsNumeric(MSFlexGrid1.TextMatrix(i, j)) Then
      MsgBox "请输入合法数据!": Exit Sub
    Else
      a(4 * i + j - 5) = MSFlexGrid1.TextMatrix(i, j)
    End If
  Next j
    If Not IsNumeric(MSFlexGrid1.TextMatrix(i, 5)) Then
      MsgBox "请输入合法数据!": Exit Sub
    Else
      b(i - 1) = MSFlexGrid1.TextMatrix(i, 5)
    End If
Next i
 If abint(a(0), 4, b(0), eps, x(0)) <> 0 Then
   MsgBox "x(0)=" & CStr(x(0)) & Chr(13) & "x(1)=" & CStr(x(1)) & Chr(13) & "x(2)=" & CStr(x(2)) & Chr(13) & "x(3)=" & CStr(x(3))
 End If
End Sub

Private Sub Form_Load()
eps = 0.000001
MSFlexGrid1.Cols = 6 '四元线性方程组求根
MSFlexGrid1.Rows = 5
MSFlexGrid1.ColWidth(0) = 300
MSFlexGrid1.ColAlignment(0) = flexAlignLeftCenter
For i = 1 To 4
MSFlexGrid1.ColAlignment(i) = flexAlignLeftCenter
MSFlexGrid1.TextMatrix(i, 0) = i
MSFlexGrid1.TextMatrix(0, i) = i
Next i
MSFlexGrid1.ColAlignment(5) = flexAlignLeftCenter
MSFlexGrid1.TextMatrix(0, 5) = "b"
Text1.Move -10000, -10000, 1, 1 'MSFlexGrid控件可编辑的简单实现方法
Text1.Text = ""

End Sub

Private Sub MSFlexGrid1_EnterCell()
  MSFlexGrid1.CellBackColor = vbBlue
  MSFlexGrid1.CellForeColor = vbWhite
  Text1.Text = MSFlexGrid1.Text
  Text1.SelStart = 0
  Text1.SelLength = Len(Text1.Text)
End Sub

Private Sub MSFlexGrid1_LeaveCell()
  MSFlexGrid1.CellBackColor = vbWhite
  MSFlexGrid1.CellForeColor = vbBlue
End Sub

Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  Text1.SetFocus
End Sub

Private Sub Text1_Change()
  MSFlexGrid1.Text = Text1.Text
End Sub

'Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
'  Select Case KeyCode
'    Case vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDown
'      KeyCode = 0
'  End Select
'End Sub

⌨️ 快捷键说明

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