📄 modgraph.bas
字号:
'-----------------------------------------DisplayEditOpLight
Public Sub DisplayEditOpLight()
Dim Y As Long
Dim i As Long
Dim Cor As Long
If (mModWin = 1) Or (mModWin = 2) Then Exit Sub
Y = Central.PicCentral.Top - 21
For i = 1 To 4
Cor = 0
If mLightEdit(i + 5) = True Then Cor = RGB(143, 250, 207)
Central.ForeColor = Cor
Central.FillColor = Cor
Central.Line (239, 20 + Y + i * 15)-(241, 25 + Y + i * 15), , BF
Next i
End Sub
'----------------------------------------------DisplayScanOp
Public Sub DisplayScanOp()
Dim i As Byte
Dim Y As Long
Dim Cor As Long
If (mModWin = 1) Or (mModWin = 2) Then Exit Sub
Y = Central.PicCentral.Top - 21
'Light Copy/Depth/Mark/Jump
For i = 1 To 4
Cor = 0
If mLightScan(i + 6) = True Then Cor = RGB(143, 250, 207)
Central.ForeColor = Cor
Central.FillColor = Cor
Central.Line (239, 20 + Y + i * 15)-(241, 25 + Y + i * 15), , BF
Next i
'Repair/Check/User
Call RadioButtonCheck(mLightScan(1), 143, 44 + Y)
Call RadioButtonCheck(mLightScan(2), 143, 61 + Y)
Call RadioButtonCheck(mLightScan(3), 143, 78 + Y)
'Read/Write/Verify
Call RadioButtonCheck(mLightScan(4), 178, 51 + Y)
Call RadioButtonCheck(mLightScan(5), 175, 65 + Y)
Call RadioButtonCheck(mLightScan(6), 188, 61 + Y)
End Sub
'----------------------------------------------DisplayFormatOp
Public Sub DisplayFormatOp()
Dim i As Byte
Dim Y As Long
Dim Cor As Long
Dim Bad As Long, Good As Long, Avail As Long, Percent As Long
If (mModWin = 1) Or (mModWin = 2) Then Exit Sub
Y = Central.PicCentral.Top - 21
'Light Mark/Jump/Read/Verify
For i = 1 To 4
Cor = 0
If mLightFormat(i + 2) = True Then Cor = RGB(143, 250, 207)
Central.ForeColor = Cor
Central.FillColor = Cor
Central.Line (239, 20 + Y + i * 15)-(241, 25 + Y + i * 15), , BF
Next i
'Full/Quick
Call RadioButtonCheck(mLightFormat(1), 195, 44 + Y)
Call RadioButtonCheck(mLightFormat(2), 195, 61 + Y)
'Values
Call CountSectors(Bad, Good, Avail, Percent)
Call DigitalINT(Central, 135, 42 + Y, Bad, 2, 4)
Call DigitalINT(Central, 135, 57 + Y, Good, 2, 4)
Call DigitalINT(Central, 169, 79 + Y, Avail, 2, 7)
Call DigitalText(127, 79 + Y, Str03(Percent), 3)
End Sub
'---------------------------------------------DisplayRecoverOp
Public Sub DisplayRecoverOp()
Dim i As Byte
Dim Y As Long
Dim Cor As Long
Dim sleft As Long
If (mModWin = 1) Or (mModWin = 2) Then Exit Sub
Y = Central.PicCentral.Top - 21
'Light Mark/Jump/Depth
For i = 1 To 3
Cor = 0
If mLightRecover(i + 2) = True Then Cor = RGB(143, 250, 207)
Central.ForeColor = Cor
Central.FillColor = Cor
Central.Line (239, 20 + Y + i * 15)-(241, 25 + Y + i * 15), , BF
Next i
'Save/Load
Call RadioButtonCheck(mLightRecover(1), 196, 45 + Y)
Call RadioButtonCheck(mLightRecover(2), 196, 62 + Y)
'Next Jump
Call DigitalINT(Central, 135, 54 + Y, mJumpNext, 2, 4)
'File
Call DigitalText(115, 80 + Y, mSaveName, 2)
'Sectors left
Call DigitalINT(Central, 135, 41 + Y, CountSecCopy(), 2, 4)
End Sub
'------------------------------------------------DisplayEditOp
Public Sub DisplayEditOp()
Dim i As Byte
Dim Y As Long
Dim Cor As Long
If (mModWin = 1) Or (mModWin = 2) Then Exit Sub
Y = Central.PicCentral.Top - 21
'Light Format/Overwrite/Mark/Unmark
Call DisplayEditOpLight
'Mark/Copy/Read/Write/Verify
Call RadioButtonCheck(mLightEdit(1), 115, 40 + Y)
Call RadioButtonCheck(mLightEdit(2), 115, 50 + Y)
Call RadioButtonCheck(mLightEdit(3), 115, 60 + Y)
Call RadioButtonCheck(mLightEdit(4), 115, 70 + Y)
Call RadioButtonCheck(mLightEdit(5), 115, 80 + Y)
'Values
Call DisplayEditValues
End Sub
'------------------------------------------DisplayReadSlider
Public Sub DisplayReadSlider()
Dim i As Byte
Dim Y As Long
If (mModWin = 1) Or (mModWin = 2) Then Exit Sub
Y = Central.PicCentral.Top - 21
For i = 1 To 4
If mLightRead <> i Then
Central.FillColor = 0
Central.ForeColor = 0
Central.Line (19 + (4 - i) * 25, 106 + Y)-(32 + (4 - i) * 25, 108 + Y), , BF
Else
Central.PaintPicture LoadResPicture(111, vbResBitmap), 19 + (4 - i) * 25, 106 + Y, 14, 3, 0, 0, 14, 3, vbSrcCopy
End If
Next i
End Sub
'---------------------------------------------DisplayGeralOp
Public Sub DisplayGeralOp()
Dim Y As Long
Dim i As Byte
If (mModWin = 1) Or (mModWin = 2) Then Exit Sub
Y = Central.PicCentral.Top - 21
For i = 1 To 4
If mOperation = i Then
Central.ForeColor = RGB(143, 250, 207)
FilledTriangle Central.hDC, RGB(143, 250, 207), 268, Y + 32 + (i - 1) * 18, 276, Y + 32 + (i - 1) * 18, 268, Y + 40 + (i - 1) * 18
Call DrawBox3D(Central, 1, 264, 28 + Y + (i - 1) * 18, 51, 17)
Else
Central.ForeColor = 0
FilledTriangle Central.hDC, 0, 268, Y + 32 + (i - 1) * 18, 276, Y + 32 + (i - 1) * 18, 268, Y + 40 + (i - 1) * 18
Call DrawBox3D(Central, 2, 264, 28 + Y + (i - 1) * 18, 51, 17)
End If
Next i
End Sub
'-------------------------------------------DisplayCentralOp
Public Sub DisplayCentralOp()
If (mModWin = 1) Or (mModWin = 2) Then Exit Sub
Select Case mOperation
Case 1: Central.PaintPicture Central.CentralPics(4).Picture, 105, 27 + Central.PicCentral.Top - 21, 145, 68, 0, 0, 145, 68, vbSrcCopy
Case 2: Central.PaintPicture Central.CentralPics(5).Picture, 105, 27 + Central.PicCentral.Top - 21, 145, 68, 0, 0, 145, 68, vbSrcCopy
Case 3: Central.PaintPicture Central.CentralPics(6).Picture, 105, 27 + Central.PicCentral.Top - 21, 145, 68, 0, 0, 145, 68, vbSrcCopy
Case 4: Central.PaintPicture Central.CentralPics(7).Picture, 105, 27 + Central.PicCentral.Top - 21, 145, 68, 0, 0, 145, 68, vbSrcCopy
End Select
End Sub
'----------------------------------------------DisplayGoText
Public Sub DisplayGoText()
Dim Y As Long
If PosGO <> 0 Then Exit Sub
Y = 32
If (mModWin = 1) Or (mModWin = 3) Then Y = 284
If mWork = 0 Then
Call DigitalText(273, 12 + Y, " ", 1)
Select Case mOperation
Case 1: Call DigitalText(280, 12 + Y, "SCAN", 1)
Case 2: Call DigitalText(275, 12 + Y, "FORMAT", 1)
Case 3: Call DigitalText(273, 12 + Y, "RECOVER", 1)
Case 4: Call DigitalText(280, 12 + Y, "EDIT", 1)
End Select
Else
Call DigitalText(273, 12 + Y, " ", 1)
Select Case mOperation
Case 1, 2, 3, 4: Call DigitalText(280, 12 + Y, "STOP", 4)
End Select
End If
End Sub
'---------------------------------------------DisplayTextTip
Public Sub DisplayTextTip(ByVal Texto As String)
Dim Just As Boolean
If (mModWin = 1) Or (mModWin = 2) Then Exit Sub
Just = False
Do While Len(Texto) < 40
If Just = False Then Texto = Texto & " "
If Just = True Then Texto = " " & Texto
Just = Not (Just)
Loop
Call DigitalText(187, 106 + Central.PicCentral.Top - 21, Texto, 1)
End Sub
'---------------------------------------------DisplayToolTip
Public Sub DisplayToolTip(ByVal mOp As Byte, ByVal sOp As Byte)
Dim Y As Long
If ToolTips = False Then Exit Sub
If (mModWin = 1) Or (mModWin = 2) Then Exit Sub
Select Case mOp
Case 1: 'Scan
Select Case sOp
Case 1: 'Repair
Call DisplayTextTip("SIMPLE ATTEMPT TO REPAIR FLOPPY DISK")
Case 2: 'Check
Call DisplayTextTip("CHECK FOR POSSIBLE BAD SECTORS")
Case 3: 'User
Call DisplayTextTip("SCAN DISK WITH USER DEFINED OPTIONS ")
Case 4: 'Read
Call DisplayTextTip("PERFORM READ OPERATION")
Case 5: 'Write
Call DisplayTextTip("PERFORM WRITE AND READ OPERATION")
Case 6: 'Verify
Call DisplayTextTip("PERFORM DISK VERIFY OPERATION")
Case 7: 'Mark
Call DisplayTextTip("MARK BAD SECTORS WHEN BAD SECTOR FOUND")
Case 8: 'Jump
Call DisplayTextTip("JUMP BAD SECTORS (DO NOT TEST)")
Case 9: 'Depth
Call DisplayTextTip("SEARCH BAD SECTOR POSITION")
Case 10: 'Copy
Call DisplayTextTip("COPY GOOD SECTOR TO MEMORY FOR LATER USE")
End Select
Case 2: 'Format
Select Case sOp
Case 1: 'Full
Call DisplayTextTip("FULL FORMAT - DISK INITIALIZATION")
Case 2: 'Quick
Call DisplayTextTip("QUICK FORMAT - ERASE ALL INFORMATION")
Case 3: 'Mark
Call DisplayTextTip("MARK BAD TRACK WHEN BAD TRACK FOUND")
Case 4: 'Jump
Call DisplayTextTip("JUMP BAD SECTORS (DO NOT FORMAT)")
Case 5: 'Read
Call DisplayTextTip("PERFORM READ OPERATION")
Case 6: 'Verify
Call DisplayTextTip("PERFORM DISK VERIFY OPERATION")
Case 7: 'n
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -