⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nihongdeng.bas

📁 霓虹灯花样编辑软件源代码
💻 BAS
📖 第 1 页 / 共 3 页
字号:
            
            Pa1 = NowLs / 4 * 3
            Pa2 = NowLs / 4 * 2
            Pa3 = NowLs / 4
            
            Call RGBBegin1(Pa1, NowLs - 1, 1)
            For i = 0 To 2
              RunPengPeng1(i) = ColorBposition1(i)
            Next i
            
            Call RGBBegin1(Pa2, Pa1, 1)
            For i = 0 To 2
              RunPengPeng2(i) = ColorBposition1(i)
            Next i
            
            Call RGBBegin1(Pa3, Pa2, 1)
            For i = 0 To 2
              RunPengPeng3(i) = ColorBposition1(i)
            Next i
            
            Call RGBBegin1(NowLs - 1, 0, -1)
            Call RGBEnd1(0, NowLs - 1, 1)
            LineCount = ColorBposition1(0)
            LineCount1 = 0
            LineCount3 = 1
            LineCount4 = ColorEposition1(0)
       
       Case HuaYangZuoYouName1, HuaYangZuoYouName3
            RunZuoYou = HuaYangCs(NUMBER, 6) * (NowColor + 1)
            LineCount2 = 0
            Call RGBBegin1(0, NowLs - 1, 1)
            Call RGBEnd1(NowLs - 1, 0, -1)
            LineCount = ColorBposition1(0)
       
       Case HuaYangZuoYouName2, HuaYangZuoYouName4
            RunZuoYou = HuaYangCs(NUMBER, 6) * (NowColor + 1)
            LineCount2 = 0
            Call RGBBegin1(NowLs - 1, 0, -1)
            Call RGBEnd1(0, NowLs - 1, 1)
            LineCount = ColorBposition1(0)
            
       Case HuaYangDuiDuiName1, HuaYangDuiDuiName3
            RunDuiDui = HuaYangCs(NUMBER, 7)
            RunZuoYou = HuaYangCs(NUMBER, 6) * (NowColor + 1)
            LineCount2 = 0
            Call RGBBegin1(0, RunDuiDui - 1, 1)
            Call RGBEnd1(RunDuiDui - 1, 0, -1)
            LineCount = ColorBposition1(0)
            
            Call RGBBegin2(NowLs - 1, RunDuiDui, -1)
            Call RGBEnd2(RunDuiDui, NowLs - 1, 1)
            LineCount1 = ColorBposition2(0)
       
       Case HuaYangDuiDuiName2, HuaYangDuiDuiName4
            RunDuiDui = HuaYangCs(NUMBER, 7)
            RunZuoYou = HuaYangCs(NUMBER, 6) * (NowColor + 1)
            LineCount2 = 0
            Call RGBBegin1(RunDuiDui, NowLs - 1, 1)
            Call RGBEnd1(NowLs - 1, RunDuiDui, -1)
            LineCount = ColorBposition1(0)
            
            Call RGBBegin2(RunDuiDui - 1, 0, -1)
            Call RGBEnd2(0, RunDuiDui - 1, 1)
            LineCount1 = ColorBposition2(0)
       
     End Select
    
     If Mode = 0 Then
        Call DgInitialize(RunHyName, 0)
     End If
    
        LightStyle = 0
        LightStyle1 = 0
        LightStyle2 = 0
            
        NowRunTimes = 0
        
        If (OutEnableFlag = True) And (OutOverFlag = False) Then
            Form1.Timer1.Interval = 1
            Form1.Timer2.Interval = 1

        Else
            Form1.Timer1.Interval = RunSpeed
            Form1.Timer2.Interval = RunStopTime

        End If
        
        Form1.Timer2.Enabled = False

        Form1.Timer1.Enabled = True
        
    End If

End Sub
Public Sub DgPauseQuanMie()
    Form1.Timer1.Enabled = False
    If (OutEnableFlag = True) And (OutOverFlag = False) Then
       For i = 1 To RunStopTime / 100
           Call WriteFile(0)
       Next i
    End If
    Form1.Timer2.Enabled = True
End Sub

Public Sub HzPauseQuanMie()
    Form1.Timer3.Enabled = False
    If (OutEnableFlag = True) And (OutOverFlag = False) Then
       For i = 1 To RunHzStopTime / 100
           Call WriteFile(0)
       Next i
    End If
    Form1.Timer5.Enabled = True
End Sub

Public Sub HzPauseQuanLiang()
    Form1.Timer3.Enabled = False
    If (OutEnableFlag = True) And (OutOverFlag = False) Then
       For i = 1 To RunHzStopTime / 100
           Call WriteFile(0)
       Next i
    End If
    Form1.Timer4.Enabled = True
End Sub

Public Function PengPengLtoR(ByVal Eposition As Integer, ByVal Pwidth As Integer)
        PengPengLtoR = 0
        If LineCount < LineCount4 Then
            If LineCount <= NowLs - 1 Then
               Form1.Shape1(LineCount).Visible = True
               OutputData(LineCount) = 1
               WriteFlag1 = True
            End If
            
            j = LineCount - Pwidth
            If j >= 0 Then
               Form1.Shape1(j).Visible = False
               OutputData(j) = 0
               WriteFlag2 = True
            End If
               
            BeginWrite
        End If
            
        LineCount = LineCount + 1 + NowColor
        If LineCount >= LineCount4 Then
           PengPengLtoR = 2
        ElseIf LineCount >= Eposition Then
           PengPengLtoR = 1
        End If
        
End Function

Public Function PengPengRtoL(ByVal Eposition As Integer, ByVal Pwidth As Integer)
        PengPengRtoL = 0
        If LineCount >= LineCount4 Then
            If LineCount >= 0 Then
               Form1.Shape1(LineCount).Visible = True
               OutputData(LineCount) = 1
               WriteFlag1 = True
            End If
            
            If LineCount + Pwidth <= NowLs - 1 Then
               Form1.Shape1(LineCount + Pwidth).Visible = False
               OutputData(LineCount + Pwidth) = 0
               WriteFlag2 = True
            End If
            
            BeginWrite
        End If
            
        LineCount = LineCount - 1 - NowColor
        If LineCount < LineCount4 Then
           PengPengRtoL = 2
        ElseIf LineCount < Eposition - (NowColor + 1) Then
           PengPengRtoL = 1
        End If
        
End Function
Public Sub RGBBegin1(ByVal Bp As Integer, ByVal Ep As Integer, ByVal RGBWidth As Integer)
    For i = 0 To 2
        For j = Bp To Ep Step RGBWidth
            If DgColor(i) = Form1.Shape1(j).BackColor Then
                 ColorBposition1(i) = j
               Exit For
            End If
        Next j
    Next i
End Sub

Public Sub RGBBegin2(ByVal Bp As Integer, ByVal Ep As Integer, ByVal RGBWidth As Integer)
    For i = 0 To 2
        For j = Bp To Ep Step RGBWidth
            If DgColor(i) = Form1.Shape1(j).BackColor Then
                 ColorBposition2(i) = j
               Exit For
            End If
        Next j
    Next i
End Sub

Public Sub RGBEnd1(ByVal Bp As Integer, ByVal Ep As Integer, ByVal RGBWidth As Integer)
    For i = 0 To 2
        For j = Bp To Ep Step RGBWidth
            If DgColor(i) = Form1.Shape1(j).BackColor Then
                 ColorEposition1(i) = j
               Exit For
            End If
        Next j
    Next i
End Sub

Public Sub RGBEnd2(Bp As Integer, Ep As Integer, RGBWidth As Integer)
    For i = 0 To 2
        For j = Bp To Ep Step RGBWidth
            If DgColor(i) = Form1.Shape1(j).BackColor Then
                 ColorEposition2(i) = j
               Exit For
            End If
        Next j
    Next i
End Sub

Public Sub BeginWrite()
    If (OutEnableFlag = True) And (OutOverFlag = False) Then
        If (WriteFlag1 = True) Or (WriteFlag2 = True) Then
           Call WriteFile(0)
           WriteFlag1 = False
           WriteFlag2 = False
        End If
    End If
End Sub

Public Function CompleteWrite()
    CompleteWrite = 0
    TotalRec = AddressData
    If CheckPosition = True Then
       AddressData = EpromSize - (EpromSize Mod TotalRec)
       Exit Function
    End If
    
    OutOverFlag = True
    ReDim FileData(0 To TotalFile - 1, 0 To TotalRec - 1)
    For i = 1 To TotalFile
       Close #i
       FileName = "OUTPUT\" & OutResponse & i & ".HEX"
       Open FileName For Input As #i
    Next i
    
    For i = 1 To TotalFile
       For j = 0 To TotalRec - 1
          Line Input #i, FileData(i - 1, j)
          FileData(i - 1, j) = Mid(FileData(i - 1, j), 10, 2)
       Next j
    Next i
    
    For i = 1 To TotalFile
        Close #i
        FileName = "OUTPUT\" & OutResponse & i & ".HEX"
        Open FileName For Append As #i
    Next i
    
    NowRec = 0
    Do Until AddressData >= EpromSize
       Call WriteFile(1)
    Loop
    
    For i = 1 To TotalFile
       Print #i, ":00000001FF"
       Close #i
    Next i
    
    Erase FileData
    
    Form1.Label4.Visible = False
    StopNow (0)
    CompleteWrite = 1
    MsgBox "数据输出完毕!", 64, "输出"
End Function

Public Sub StopNow(ByVal Mode As Byte)
    Form1.Timer3.Enabled = False
    Form1.Timer4.Enabled = False
    Form1.Timer5.Enabled = False
    
    Form1.Timer1.Enabled = False
    Form1.Timer2.Enabled = False
    
    If Mode = 0 Then
        For i = 0 To NowLs - 1
           Form1.Shape1(i).Visible = True
        Next i
        
        For i = 0 To TotalHz - 1
           If HzXuHao(i) <> TotalHz Then
              Form1.Label1(HzXuHao(i)).Visible = True
           End If
        Next i
        Form1.FILE.Enabled = True
        Form1.Edit.Enabled = True
        Form1.SHUAXIN.Enabled = True
        Form1.STOPPLAY.Enabled = True
        Form1.BEGINPLAY.Enabled = True
    End If
End Sub

Public Sub DgInitialize(ByVal Name As String, ByVal Mode As Integer)
      Select Case Name
      Case HuaYangShaoMiaoName1, HuaYangShaoMiaoName3, HuaYangShaoMiaoName5, HuaYangBaiYeName1, HuaYangBaiYeName3, HuaYangZhongKaiName1, HuaYangZhongKaiName3, HuaYangLiuShuiName1, HuaYangLiuShuiName2, HuaYangYaLuoName1, HuaYangYaLuoName3, HuaYangPengPengName1, HuaYangPengPengName2, HuaYangZuoYouName1, HuaYangZuoYouName2, HuaYangDuiLiuName1, HuaYangDuiLiuName2, HuaYangDuiDuiName1, HuaYangDuiDuiName2, HuaYangDuiLuoName1, HuaYangDuiLuoName2
           For i = 0 To NowLs - 1
               If Mode = 0 Then
                  Form1.Shape1(i).Visible = False
               Else
                  OutputData(i) = 0
               End If
           Next i
      
      Case HuaYangShaoMiaoName2, HuaYangShaoMiaoName4, HuaYangBaiYeName2, HuaYangBaiYeName4, HuaYangZhongKaiName2, HuaYangZhongKaiName4, HuaYangYaLuoName2, HuaYangYaLuoName4, HuaYangZuoYouName3, HuaYangZuoYouName4, HuaYangDuiDuiName3, HuaYangDuiDuiName4
           For i = 0 To NowLs - 1
               If Mode = 0 Then
                  Form1.Shape1(i).Visible = True
               Else
                  OutputData(i) = 1
               End If
           Next i
    End Select
End Sub

Public Sub DgHyShuoMing(ByVal Name As String)
  Select Case Name
    Case HuaYangShaoMiaoName1
         Form5.Text1.Text = "从左到右亮"
    Case HuaYangShaoMiaoName2
         Form5.Text1.Text = "从右到左灭"
    Case HuaYangShaoMiaoName3
         Form5.Text1.Text = "从右到左亮"
    Case HuaYangShaoMiaoName4
         Form5.Text1.Text = "从左到右灭"
    Case HuaYangShaoMiaoName5
         Form5.Text1.Text = "第一种颜色的灯管从左到右亮,然后从右到左灭。第二种颜色的灯管从右到左亮,然后从左到右灭。然后第一种颜色的灯管从左到右亮,同时第二种颜色的灯管从右到左亮"
         
         
    Case HuaYangBaiYeName1
         Form5.Text1.Text = "从左到右按设定宽度亮"
    Case HuaYangBaiYeName2
         Form5.Text1.Text = "从右到左按设定宽度灭"
    Case HuaYangBaiYeName3
         Form5.Text1.Text = "从右到左按设定宽度亮"
    Case HuaYangBaiYeName4
         Form5.Text1.Text = "从左到右按设定宽度灭"
         
    
    
    Case HuaYangZhongKaiName1
         Form5.Text1.Text = "从中间向两边亮"
    Case HuaYangZhongKaiName2
         Form5.Text1.Text = "从两边向中间灭"
    Case HuaYangZhongKaiName3
         Form5.Text1.Text = "从两边向中间亮"
    Case HuaYangZhongKaiName4
         Form5.Text1.Text = "从中间向两边灭"
  
    Case HuaYangLiuShuiName1
         Form5.Text1.Text = "从左向右按明暗比例几根亮,几根灭,向右推进循环,最后全灭"
    Case HuaYangLiuShuiName2
         Form5.Text1.Text = "从右向左按明暗比例几根亮,几根灭,向左推进循环,最后全灭"
  
    Case HuaYangDuiLiuName1
         Form5.Text1.Text = "从两边向中间按明暗比例几根亮,几根灭,推进循环,最后全灭"
    Case HuaYangDuiLiuName2
         Form5.Text1.Text = "从中间向两边按明暗比例几根亮,几根灭,推进循环,最后全灭"
  
    Case HuaYangYaLuoName1
         Form5.Text1.Text = "按设定根数从左亮到右,停住,连续占满全亮"
    Case HuaYangYaLuoName2
         Form5.Text1.Text = "按设定根数从右灭到左,停住,连续占满全灭"
    Case HuaYangYaLuoName3
         Form5.Text1.Text = "按设定根数从右亮到左,停住,连续占满全亮"
    Case HuaYangYaLuoName4
         Form5.Text1.Text = "按设定根数从左灭到右,停住,连续占满全灭"
  
    Case HuaYangPengPengName1
         Form5.Text1.Text = "按设定根数从左向右亮到1/4处,停住,然后,按设定根数再从左向右亮到1/4处,停住,原1/4处的继续到1/2处,停住,以此类推,连续占满全亮"
    Case HuaYangPengPengName2
         Form5.Text1.Text = "按设定根数从右向左亮到1/4处,停住,然后,按设定根数再从右向左亮到1/4处,停住,原1/4处的继续到1/2处,停住,以此类推,连续占满全亮"
  
    Case HuaYangZuoYouName1
         Form5.Text1.Text = "按设定根数从左到右亮"
    Case HuaYangZuoYouName2
         Form5.Text1.Text = "按设定根数从右到左亮"
    Case HuaYangZuoYouName3
         Form5.Text1.Text = "按设定根数从左到右灭"
    Case HuaYangZuoYouName4
         Form5.Text1.Text = "按设定根数从右到左灭"
  
    Case HuaYangDuiDuiName1
         Form5.Text1.Text = "按设定根数从两边向中间亮"
    Case HuaYangDuiDuiName2
         Form5.Text1.Text = "按设定根数从中间向两边亮"
    Case HuaYangDuiDuiName3
         Form5.Text1.Text = "按设定根数从两边向中间灭"
    Case HuaYangDuiDuiName4
         Form5.Text1.Text = "按设定根数从中间向两边灭"
  
    Case HuaYangDuiLuoName1
         Form5.Text1.Text = "按设定根数从中间向两边亮,停住,连续占满全亮"
    Case HuaYangDuiLuoName2
         Form5.Text1.Text = "按设定根数从两边向中间亮,停住,连续占满全亮"
  
  
    Case Else
         Form5.Text1.Text = Empty
  End Select

End Sub

Public Sub HzHyShuoMing(ByVal Name As String)
  Select Case Name
    Case HuaYangShaoMiaoName1
         Form6.Text1.Text = "全灭,然后从左到右亮"
    Case HuaYangShaoMiaoName2
         Form6.Text1.Text = "全灭,然后从右到左亮"
    
    Case HuaYangQuanLiangName1
         Form6.Text1.Text = "全部灭掉,过一会儿全亮"
         
    Case Else
         Form6.Text1.Text = Empty
  End Select
End Sub

Public Sub ZkPosition()
Dim NowZkP As Integer
    Form5.Combo2(7).Enabled = True
    NowZkP = NowLs / 2
    If NowZkP <= 0 Then
       NowZkP = 1
    End If
    Form5.Text3(7).Text = NowZkP
    HuaYangCs(Form5.List1.ListIndex, 7) = Form5.Text3(7).Text
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -