Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub Frame3_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub Command1_Click()
M = M + 1
Dim P0 As Double
Dim P1 As Double
Dim Ibias As Double
Dim Imod As Double
Dim Ith0 As Double
Dim Ith As Double
Dim Tth As Double
Dim SE As Double
Dim SE0 As Double
Dim Kse As Double
Dim Ctar As Double
Dim Cref As Double
Dim I0 As Double
Dim Temprature As Double
Dim Temprature0 As Double
Ibias = Val(Text2.Text)
If Ibias <= 0 Or Ibias > 100 Then
MsgBox "输入电流不在规定的范围内,请重新输入"
End If
Imod = Val(Text3.Text)
If Imod <= 0 Or Imod > 85 Then
MsgBox "输入调制电流不在规定的范围内,请重新输入"
End If
Ith0 = Val(Text4.Text)
Tth = Val(Text5.Text)
If Tth < 0 Or Tth > 1 Then
MsgBox "输入S值不在规定的范围内,请重新输入"
End If
SE0 = Val(Text6.Text)
If SE0 <= 0 Or SE0 > 1 Then
MsgBox "输入效率不在规定的范围内,请重新输入"
End If
Kse = Val(Text7.Text)
Cref = Val(Text8.Text)
If Cref < -50 Or Cref > 100 Then
MsgBox "输入温度参考值不在规定的范围内,请重新输入"
End If
Ctar = Val(Text9.Text)
If Ctar < -45 Or Ctar > 100 Then
MsgBox "输入目标温度值太大或太小不是激光器工作的范围,请重新输入"
End If
Temprature = Ctar
Temprature0 = Cref
I0 = Ith0
Ith = I0 + I0 * Tth * (Temprature - Temprature0)
If Ith < 0 Or Ibias > 60 Then
MsgBox "输入阈值电流不在规定的范围内,请重新输入"
End If
SE = SE0 - (SE0 * Kse * (Temprature - Temprature0))
If SE < 0 Or SE > 1 Then
MsgBox "输入效率不在规定的范围内,请重新输入"
End If
P1 = Val(((Ibias - Ith) + (Imod / 2)) * SE)
P0 = Val(((Ibias - Ith) - (Imod / 2)) * SE)
Text10.Text = Ith