📄 form4.frm
字号:
Height = 315
Left = 3060
TabIndex = 45
Top = 2910
Width = 255
End
Begin VB.Label Label23
Caption = "GHz"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 3030
TabIndex = 44
Top = 1860
Width = 405
End
Begin VB.Label Label22
Caption = "mm"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 3060
TabIndex = 43
Top = 1350
Width = 255
End
Begin VB.Label Label21
Caption = "mm"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 3060
TabIndex = 42
Top = 840
Width = 255
End
Begin VB.Label Label6
Caption = "mm"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 3030
TabIndex = 41
Top = 330
Width = 255
End
Begin VB.Label Label17
Caption = "Zoe="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 210
TabIndex = 17
Top = 2855
Width = 675
End
Begin VB.Label Label16
Caption = "Zoo="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 210
TabIndex = 16
Top = 3360
Width = 675
End
Begin VB.Label Label15
Caption = "s ="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 210
TabIndex = 15
Top = 1335
Width = 945
End
Begin VB.Label Label14
Caption = "w ="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 210
TabIndex = 14
Top = 330
Width = 915
End
Begin VB.Label Label13
Caption = "h ="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 210
TabIndex = 13
Top = 840
Width = 855
End
Begin VB.Label Label12
Caption = "Fo ="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 210
TabIndex = 12
Top = 1845
Width = 915
End
Begin VB.Label Label11
Caption = "er ="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 210
TabIndex = 11
Top = 2355
Width = 855
End
Begin VB.Label Label7
Caption = "Zo ="
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 315
Left = 240
TabIndex = 10
Top = 3750
Width = 885
End
End
End
Begin ResizeLibCtl.ReSize ReSize1
Left = 195
Top = 5355
_Version = 131072
_ExtentX = 741
_ExtentY = 741
_StockProps = 0
Enabled = -1 'True
FormMinWidth = 0
FormMinHeight = 0
FormDesignHeight= 5850
FormDesignWidth = 7515
End
Begin ComctlLib.TabStrip TabStrip1
Height = 4995
Left = 100
TabIndex = 33
Top = 100
Width = 7305
_ExtentX = 12885
_ExtentY = 8811
_Version = 327682
BeginProperty Tabs {0713E432-850A-101B-AFC0-4210102A8DA7}
NumTabs = 2
BeginProperty Tab1 {0713F341-850A-101B-AFC0-4210102A8DA7}
Caption = "微带线"
Key = ""
Object.Tag = "w"
ImageVarType = 2
EndProperty
BeginProperty Tab2 {0713F341-850A-101B-AFC0-4210102A8DA7}
Caption = "耦合微带线"
Key = ""
Object.Tag = "o"
ImageVarType = 2
EndProperty
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
End
Attribute VB_Name = "Form4"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Dim pi As Double
pi = 4 * Atn(1)
If Frame2.Visible = True Then
Text5.Text = "?"
Dim w, h, t, er, ZO, ef, bz, fo, g2, fp, zot, th As Double
w = Text1.Text
h = Text2.Text
t = Text3.Text
er = Text4.Text
fo = Text18.Text
If w <= 0 Or h <= 0 Or er <= 0 Or fo <= 0 Then
MsgBox "输入参数无效!请重新输入!"
Else
bz = w / h
If bz < 1 Then
ef = (er + 1) / 2 + ((er - 1) / 2) * (1 / Sqr(1 + 12 * h / w) + 0.04 * (1 - w / h) ^ 2)
ZO = (60 / Sqr(ef)) * Log(8 * h / w + 0.25 * w / h)
Else
ef = (er + 1) / 2 + ((er - 1) / 2) * (1 / Sqr(1 + 12 * h / w))
ZO = (120 * pi) / ((Sqr(ef)) * (w / h + 1.393 + 0.667 * Log(w / h + 1.444)))
End If
fp = 0.397764 * ZO / h
g2 = Sqr((ZO - 5) / 60) + 0.004 * ZO
th = (Exp(pi * w / (4 * h)) - 1 / (Exp(pi * w / (4 * h)))) / _
(Exp(pi * w / (4 * h)) + 1 / (Exp(pi * w / (4 * h))))
If w / h > 1.1 Then
zot = 30 * pi * pi / (Sqr(er) * Log(2 * ((1 + Sqr(th)) / (1 - Sqr(th)))))
Else
zot = 30 * Log(2 * ((1 + Sqr(1 - th)) / (1 - Sqr(1 - th))))
End If
ZO = zot - (zot - ZO) / (1 + g2 * (fo / fp) ^ 2)
Text5.Text = Format(ZO, "##########.0000000000")
End If
End If
If Frame4.Visible = True Then
Text15.Text = "?"
Text16.Text = "?"
Text17.Text = "?"
Dim w1, s, wh, sh, t2, er2, zo2, zse, zso, g, g1, f, f1, ke, ko1, ko2 As Double
Dim whse, whso, temp, fo1, fpe, fpo, je, jo, th1, th2, le, lo, le1, lo1, zoe, zoo As Double
temp = Text11.Text
If temp <= 0 Then
MsgBox "输入参数无效!请重新输入!"
Else
w1 = Text10.Text
s = Text12.Text
wh = w1 / temp
sh = s / temp
er2 = Text14.Text
fo1 = Text13.Text
If wh <= 0 Or sh <= 0 Or er2 <= 0 Then
MsgBox "输入参数无效!请重新输入!"
Else
g1 = pi * sh / 2
f1 = pi * wh + pi * sh / 2
g = (Exp(g1) + 1 / Exp(g1)) / 2
f = (Exp(f1) + 1 / Exp(f1)) / 2
ke = (2 * f - g + 1) / (g + 1)
ko1 = (2 * f - g - 1) / (g - 1)
ko2 = 1 + 2 * wh / sh
whse = 2 * Log(ke + Sqr(ke ^ 2 - 1)) / pi
If er2 < 6 Then
whso = 2 * Log(ko1 + Sqr(ko1 ^ 2 - 1)) / pi + (4 / (pi * (1 + er2 / 2))) * Log(ko1 + Sqr(ko1 ^ 2 - 1))
Else
whso = 2 * Log(ko2 + Sqr(ko2 ^ 2 - 1)) / pi + Log(ko2 + Sqr(ko2 ^ 2 - 1)) / pi
End If
If whse > 2 Then
zse = (119.9 * pi / (2 * Sqr(er2))) / (whse / 2 + Log(4) / pi + (Log(Exp(1) * pi ^ 2 / 16) * (er2 - 1)) / (2 * pi * er2 ^ 2) + _
((er2 + 1) / (2 * pi * er2)) * (Log(pi * Exp(1) / 2) + Log(0.5 * whse + 0.94)))
Else
zse = (119.9 * pi / Sqr(2 * (er2 + 1))) * (Log(8 / whse) + whse ^ 2 / 32 - ((er2 - 1) / (2 * (er2 + 1))) * (Log(pi / 2) + Log(4 / pi) / er2))
End If
If whso > 2 Then
zso = (119.9 * pi / (2 * Sqr(er2))) / (whso / 2 + Log(4) / pi + (Log(Exp(1) * pi ^ 2 / 16) * (er2 - 1)) / (2 * pi * er2 ^ 2) + ((er2 + 1) / _
(2 * pi * er2)) * (Log(pi * Exp(1) / 2) + Log(0.5 * whso + 0.94)))
Else
zso = (119.9 * pi / Sqr(2 * (er2 + 1))) * (Log(8 / whso) + whso ^ 2 / 32 - ((er2 - 1) / (2 * (er2 + 1))) * (Log(pi / 2) + Log(4 / pi) / er2))
End If
je = 0.6 + 0.0045 * zse
jo = 0.6 + 0.018 * zoo
fpe = 0.1989 * zse / temp
fpo = 0.7955 * zso / temp
th1 = (Exp(pi * w1 / (4 * temp)) - 1 / (Exp(pi * w1 / (4 * temp)))) / (Exp(pi * w1 / (4 * temp)) + 1 / (Exp(pi * w1 / (4 * temp))))
th2 = (Exp(pi * (w1 + s) / (4 * temp)) - 1 / (Exp(pi * (w1 + s) / (4 * temp)))) / (Exp(pi * (w1 + s) / (4 * temp)) + 1 / (Exp(pi * (w1 + s) / (4 * temp))))
le = th1 * th2
le1 = Sqr(1 - le * le)
lo = th1 * (1 / th2)
lo1 = Sqr(1 - lo * lo)
If le > 0 And le < 0.7 Then
zoe = (60 * pi / Sqr(er2)) / (Log(2 * ((1 + Sqr(le1)) / (1 - Sqr(le1)))) / pi)
Else
zoe = Log(2 * ((1 + Sqr(le)) / (1 - Sqr(le)))) / pi
End If
If lo > 0 And lo < 0.7 Then
zoo = (60 * pi / Sqr(er2)) / (Log(2 * ((1 + Sqr(lo1)) / (1 - Sqr(lo1)))) / pi)
Else
zoo = Log(2 * ((1 + Sqr(lo)) / (1 - Sqr(lo)))) / pi
End If
zse = (zoe - zse) / (1 + (fo1 / fpe) ^ 1.6 * je)
zso = (zoe - zso) / (1 + (fo1 / fpo) ^ 1.6 * jo)
zo2 = Sqr(zse ^ 2 + zso ^ 2)
Text15.Text = Format(zse, "##########.0000000000")
Text16.Text = Format(zso, "##########.0000000000")
Text17.Text = Format(zo2, "##########.0000000000")
End If
End If
End If
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim i As Integer
'处理 ctrl+tab 键,移动到下一个选项卡
If Shift = vbCtrlMask And KeyCode = vbKeyTab Then
i = TabStrip1.SelectedItem.Index
If i = TabStrip1.Tabs.Count Then
'最后一个选项卡,返回到选项卡 1
Set TabStrip1.SelectedItem = TabStrip1.Tabs(1)
Else
' 选项卡序数加 1
Set TabStrip1.SelectedItem = TabStrip1.Tabs(i + 1)
End If
End If
End Sub
Private Sub Form_Load()
'窗体居中
Me.Left = 1200
Me.Top = 1200
Me.Width = 8000
Me.Height = 6000
Image1.Picture = LoadPicture(App.Path & "\image\wdx.bmp")
Image2.Picture = LoadPicture(App.Path & "\image\ohwdx.bmp")
End Sub
Private Sub TabStrip1_Click()
Dim i As Integer
'显示并激活选中的选项卡控件
'隐藏并禁止所有其它控件
For i = 1 To TabStrip1.Tabs.Count
If i = TabStrip1.SelectedItem.Index Then
Frame2.Visible = False
Frame4.Visible = True
Me.Picture1.Visible = True
Me.Picture2.Visible = False
Else
Frame2.Visible = True
Frame4.Visible = False
Me.Picture2.Visible = True
Me.Picture1.Visible = False
End If
Next
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -