📄 patsc.bas
字号:
Attribute VB_Name = "Module1"
Dim SysAddr As Integer
Dim TIMEOVER
Type VW
V1 As Single
V2 As Single
V3 As Single
V4 As Single
W1 As Single
W2 As Single
W3 As Single
W4 As Single
A8 As Single
A9 As Single
B8 As Single
B9 As Single
End Type
Const PltAddr = 5
Dim CrntVW As VW
Type PntParOpt
InsMdl As Integer
Dte As Integer
Tim As Integer
FilNam As Integer
Gain As Integer
HlfPwrWid As Integer
SidLobLvl As Integer
MaxLvl As Integer
Freq As Integer
Pst As String * 2
FBR As Integer
End Type
Type Grp
DisMde As Integer
DisArea As Integer
LvlSpn As Integer
CenAglOpt As Integer
FBRAglAre As Integer
XdBwidth As Single
End Type
Type FilType
Drv As String * 3
Path As String * 20
FilNam As String * 8
End Type
Const NoLvl = 32767
Dim ParOpt As PntParOpt
Dim GrpDis As Grp
Dim GetFil As FilType
Dim Lvl%(18432)
Dim PLTPAR(12) As String * 26
ReadCfgFil ParOpt, GrpDis, GetFil
GetFil.FilNam = Command$
MainLoop:
ProOpt ParOpt, GrpDis, GetFil
If GetFil.FilNam <> MapFil$ Then
ReadFil GetFil
HPWT% = 0
GainT% = 0
SLLT% = 0
FBRT% = 0
IVDAGL& = MaxAgl& + 1
End If
If FE% Then
GetFil.FilNam = ""
GoTo MainLoop
End If
MapFil$ = GetFil.FilNam
'
'Select angle display area
'
Select Case GrpDis.DisArea
Case 1 To 5
AglDisArea& = (MaxAgl& + 1) / GrpDis.DisArea
Case 6
AglDisArea& = (MaxAgl& + 1) / 8
Case 7
AglDisArea& = (MaxAgl& + 1) / 10
Case 8
AglDisArea& = (MaxAgl& + 1) / 20
Case 9
AglDisArea& = (MaxAgl& + 1) / 40
Case Else
GrpDis.DisArea = 1
AglDisArea& = (MaxAgl& + 1) / GrpDis.DisArea
End Select
'
'Select center angle
'
Select Case GrpDis.CenAglOpt
Case 0
If SpfyAgl& > 0 Then
CenAgl& = SpfyAgl&
Else
CenAgl& = MaxLvlAgl&
End If
Case 1
CenAgl& = MaxLvlAgl&
Case 2
If Not (HPWT%) Then
HlfPwrWid HPW, 3
If CT% Then
HPWT% = -1
End If
End If
If HPWT% And HPW <> IVDAGL& Then
CenAgl& = CenAglOf3dB&
Else
CenAgl& = MaxLvlAgl&
End If
Case Else
Beep
End Select
'
'
'
If GrpDis.LvlSpn = 0 Then
LvlSpn% = Fix(Abs((MaxLvl% - MinLvl%) / 1000) + 0.9) * 10
If LvlSpn% < 10 Then LvlSpn% = 10
Else
LvlSpn% = GrpDis.LvlSpn
End If
If GrpDis.DisMde% Then
LowLvl% = MaxLvl% - LvlSpn% * 100
Call REDRAW(CenAgl&, AglDisArea&, MaxLvl%, LowLvl%, GrpDis.XdBwidth * 100)
Else
POLDIS CenAgl&, LvlSpn%
End If
If GrpDis.DisMde Then
Crntcol% = 2
If ParOpt.Pst = "LU" Then Crntcol% = 65
LOCATE 2, Crntcol%: Print USING; "X:##.#
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -