📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 60
ClientTop = 345
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3195
ScaleWidth = 4680
StartUpPosition = 3 'Windows Default
WindowState = 2 'Maximized
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Declare Sub GetFNb Lib "FDLL" (ByRef FNumber As Integer)
Private Declare Sub SetNInfo Lib "FDLL" (ByVal nNode As Integer, ByVal nMaxNode As Integer, ByVal nBranch As Integer, ByVal nGen As Integer, _
ByVal SB As Double)
Private Declare Sub SetBranch Lib "FDLL" (ByVal nIndex As Integer, ByVal btype As Integer, ByVal head As Integer, ByVal tail As Integer, _
ByVal r As Double, ByVal x As Double, ByVal k As Double, _
ByVal r0 As Double, ByVal x0 As Double, ByVal b0 As Double)
Private Declare Sub SetPhase Lib "FDLL" (ByVal nIndex As Integer, ByVal nNode As Integer, _
ByVal Phase As Integer, ByVal AgeVB As Double)
Private Declare Sub SetGen Lib "FDLL" (ByVal nIndex As Integer, ByVal state As Integer, ByVal nNode As Integer, _
ByVal x2 As Double, ByVal xd2 As Double)
Private Declare Function SetFInfo Lib "FDLL" ( _
ByVal nIndex As Integer, ByVal FType As Integer, ByVal Fhead As Integer, _
ByVal Ftail As Integer, ByVal Fr As Double, ByVal Fx As Double, ByVal Floc As Double, _
ByVal FInfo As Integer) As Boolean
Private Declare Sub FDecomp Lib "FDLL" (ByRef nBranch As Integer, ByRef FCom As Integer)
Private Declare Sub NodeOp Lib "FDLL" (ByRef NewNode As Integer)
Private Declare Sub OldToNew Lib "FDLL" (ByRef FNode As Integer)
Private Declare Sub ConMtrx Lib "FDLL" ()
Private Declare Sub ConMtrx0 Lib "FDLL" ()
Private Declare Sub BgnValCpt Lib "FDLL" ()
Private Declare Sub CretBMtrx Lib "FDLL" ()
Private Declare Sub DoNetEqt Lib "FDLL" ()
Private Declare Function FCrnt120 Lib "FDLL" (ByVal nIndex As Integer, ByRef head As Integer, ByRef tail As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function PFCrt120 Lib "FDLL" (ByVal nIndex As Integer, ByRef head As Integer, ByRef tail As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function FCrtABC Lib "FDLL" (ByVal nIndex As Integer, ByRef head As Integer, ByRef tail As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function NodeV120 Lib "FDLL" (ByVal nIndex As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function PNodeV120 Lib "FDLL" (ByVal nIndex As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function NodeVABC Lib "FDLL" (ByVal nIndex As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function BHCrnt120 Lib "FDLL" (ByVal nIndex As Integer, ByRef head As Integer, ByRef tail As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function PBHCrnt120 Lib "FDLL" (ByVal nIndex As Integer, ByRef head As Integer, ByRef tail As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function BHCrntABC Lib "FDLL" (ByVal nIndex As Integer, ByRef head As Integer, ByRef tail As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function BTCrnt120 Lib "FDLL" (ByVal nIndex As Integer, ByRef head As Integer, ByRef tail As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function PBTCrnt120 Lib "FDLL" (ByVal nIndex As Integer, ByRef head As Integer, ByRef tail As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function BTCrntABC Lib "FDLL" (ByVal nIndex As Integer, ByRef head As Integer, ByRef tail As Integer, _
ByRef ReC1 As Double, ByRef ImC1 As Double, ByRef ReC2 As Double, ByRef ImC2 As Double, ByRef ReC0 As Double, _
ByRef ImC0 As Double) As Boolean
Private Declare Function GetnBranch Lib "FDLL" () As Integer
Private Declare Function GetnNode Lib "FDLL" () As Integer
Private Sub Form_Click()
Dim bl As Boolean
Dim nNode As Integer, nBranch As Integer
Dim nGen As Integer, nMaxNode As Integer
Dim nIndex As Integer
Dim state As Integer, btype As Integer
Dim head As Integer, tail As Integer
'Dim wP As Double, wQ As Double
Dim ReV1 As Double, ReC1 As Double
Dim ImV1 As Double, ImC1 As Double
Dim ReV2 As Double, ReC2 As Double
Dim ImV2 As Double, ImC2 As Double
Dim ReV0 As Double, ReC0 As Double
Dim ImV0 As Double, ImC0 As Double
Dim Floc As Double
Dim FInfo As Integer
Dim nPhase As Integer, AvgeVB As Double
Dim r As Double, x As Double, SB As Double
Dim k As Double, b0 As Double
Dim r0 As Double, x0 As Double
Dim x2 As Double, xd2 As Double
Dim Node As Integer
Dim FNumber As Integer
Dim NewNode(1 To 500) As Integer
Dim FNode(1 To 20, 1 To 2) As Integer
Dim FCom(1 To 20, 1 To 2) As Integer
Dim nFBranch(1 To 10) As Integer
Open App.Path & "\Branch.txt" For Input As #1
Input #1, nNode, nMaxNode, nBranch, nGen, SB
Call SetNInfo(nNode, nMaxNode, nBranch, nGen, SB)
Do While Not EOF(1)
Input #1, nIndex, btype, head, tail, r, x, k, r0, x0, b0
Call SetBranch(nIndex, btype, head, tail, r, x, k, r0, x0, b0)
Loop
Close #1
Open App.Path & "\Phase.txt" For Input As #1
Do While Not EOF(1)
Input #1, nIndex, Node, nPhase, AvgeVB
Call SetPhase(nIndex, Node, nPhase, AvgeVB)
Loop
Close #1
Open App.Path & "\Gen.txt" For Input As #1
Do While Not EOF(1)
Input #1, nIndex, state, Node, x2, xd2
Call SetGen(nIndex, state, Node, x2, xd2)
Loop
Close #1
Open App.Path & "\FInfo.txt" For Input As #1
Do While Not EOF(1)
Input #1, nIndex, btype, head, tail, r, x, Floc, FInfo
bl = SetFInfo(nIndex, btype, head, tail, r, x, Floc, FInfo)
Loop
Close #1
Call FDecomp(nFBranch(1), FCom(1, 1))
Call NodeOp(NewNode(1))
Call OldToNew(FNode(1, 1))
Call ConMtrx
Call ConMtrx0
Call BgnValCpt
Call CretBMtrx
Call DoNetEqt
Call GetFNb(FNumber)
Open App.Path & "\FCrnt120.txt" For Output As #1
For nIndex = 1 To FNumber
bl = FCrnt120(nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0)
If bl Then
Write #1, nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0
End If
Next nIndex
Close #1
Open App.Path & "\PFCrnt120.txt" For Output As #1
For nIndex = 1 To FNumber
bl = PFCrt120(nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0)
If bl Then
Write #1, nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0
End If
Next nIndex
Close #1
Open App.Path & "\FCrntABC.txt" For Output As #1
For nIndex = 1 To FNumber
bl = FCrtABC(nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0)
If bl Then
Write #1, nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0
End If
Next nIndex
Close #1
nNode = GetnNode()
Open App.Path & "\NodeV120.txt" For Output As #1
For nIndex = 1 To nNode
bl = NodeV120(nIndex, ReV1, ImV1, ReV2, ImV2, ReV0, ImV0)
If bl Then
Write #1, nIndex, ReV1, ImV1, ReV2, ImV2, ReV0, ImV0
End If
Next nIndex
Close #1
Open App.Path & "\PNodeV120.txt" For Output As #1
For nIndex = 1 To nNode
bl = PNodeV120(nIndex, ReV1, ImV1, ReV2, ImV2, ReV0, ImV0)
If bl Then
Write #1, nIndex, ReV1, ImV1, ReV2, ImV2, ReV0, ImV0
End If
Next nIndex
Close #1
Open App.Path & "\NodeVABC.txt" For Output As #1
For nIndex = 1 To nNode
bl = NodeVABC(nIndex, ReV1, ImV1, ReV2, ImV2, ReV0, ImV0)
If bl Then
Write #1, nIndex, ReV1, ImV1, ReV2, ImV2, ReV0, ImV0
End If
Next nIndex
Close #1
nBranch = GetnBranch()
Open App.Path & "\BHCrnt120.txt" For Output As #1
For nIndex = 1 To nBranch
bl = BHCrnt120(nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0)
If bl Then
Write #1, nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0
End If
Next nIndex
Close #1
Open App.Path & "\PBHCrnt120.txt" For Output As #1
For nIndex = 1 To nBranch
bl = PBHCrnt120(nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0)
If bl Then
Write #1, nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0
End If
Next nIndex
Close #1
Open App.Path & "\BHCrntABC.txt" For Output As #1
For nIndex = 1 To nBranch
bl = BHCrntABC(nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0)
If bl Then
Write #1, nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0
End If
Next nIndex
Close #1
Open App.Path & "\BTCrnt120.txt" For Output As #1
For nIndex = 1 To nBranch
bl = BTCrnt120(nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0)
If bl Then
Write #1, nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0
End If
Next nIndex
Close #1
Open App.Path & "\PBTCrnt120.txt" For Output As #1
For nIndex = 1 To nBranch
bl = PBTCrnt120(nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0)
If bl Then
Write #1, nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0
End If
Next nIndex
Close #1
Open App.Path & "\BTCrntABC.txt" For Output As #1
For nIndex = 1 To nBranch
bl = BTCrntABC(nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0)
If bl Then
Write #1, nIndex, head, tail, ReC1, ImC1, ReC2, ImC2, ReC0, ImC0
End If
Next nIndex
Close #1
MsgBox FNumber, vbInformation
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -