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

📄 rtdxfrm.frm

📁 dsp6713开发板的许多例程.对入门特别有用
💻 FRM
📖 第 1 页 / 共 4 页
字号:
    If on_off_toggle = False Then
    
        If Not Input_Values_Valid Then
            Exit Sub
        Else
            ' Insert new value into array
            RTDX_channel(chan_incr).name = CHANNEL_NAME.Text
            RTDX_channel(chan_incr).type = IO_TYPE.Text
            RTDX_channel(chan_incr).messages = MAX_MESSAGES.Text
            RTDX_channel(chan_incr).members = MAX_MEMBERS.Text
            RTDX_channel(chan_incr).integer_size = INT_TYPE.Text
        End If
        
        on_off_toggle = True
        cmd_Toggle.Caption = "STOP"
        'Initialize grid
        Init_Grid
    
        ' Disable ALL controls
        cmd_Add_Channel.Enabled = False
        cmd_Delete_Channel.Enabled = False
        cmd_Modify_Channel.Enabled = False
        cmd_Reset.Enabled = False
        CHANNEL_NAME.Enabled = False
        IO_TYPE.Enabled = False
        MAX_MEMBERS.Enabled = False
        MAX_MESSAGES.Enabled = False
        INT_TYPE.Enabled = False
        
        ' Allocate array for OLE objects
        ReDim rtdx(Val(NUM_CHANNELS.Text)) As Object
    
        ReDim MethodValues(Val(NUM_CHANNELS.Text)) As RTDX_Method_Attributes
        
        For instantiation_incr = 0 To (NUM_CHANNELS.Text - 1)
            ' Do the object instantiation
            '########## RTDX(TM) ##########'
#If DIRECT_INTERFACE_CONNECTION Then
            Set rtdx(instantiation_incr) = CreateObject("CodeComposer.Application").DspBoards.Item(0). _
                                           DspTasks.Item(0).rtdx.CreateRtdxChannel
#Else
            Set rtdx(instantiation_incr) = CreateObject("RTDX")
#End If
            '########## RTDX(TM) ##########'
            
            ' Open a channel
            '########## RTDX(TM) ##########'
            MethodValues(instantiation_incr).stat = _
            rtdx(instantiation_incr).Open(RTDX_channel(instantiation_incr).name, _
                RTDX_channel(instantiation_incr).type)
            '########## RTDX(TM) ##########'
            
            If MethodValues(instantiation_incr).stat <> SUCCESS Then
                MethodValues(instantiation_incr).CHANNEL_OPEN = False
                MsgBox (RTDX_channel(instantiation_incr).name & _
                        " is an unknown channel name")
                on_off_toggle = True
                cmd_Toggle_Click
                Exit Sub
            Else
                MethodValues(instantiation_incr).CHANNEL_OPEN = True
            End If
            
        Next instantiation_incr
        
        ' Initialize row & column start points for all channels
        Init_Row_Col_Start_Points
    
        'Show grid
        RTDX_gridfrm.Show
    
        ' Start Method Dispatch Manager
        channel_number = 0
        tmr_Method_Dispatch.Enabled = True
    
    ElseIf on_off_toggle = True Then
        on_off_toggle = False
        cmd_Toggle.Caption = "START"
        'Close all channels
        If tmr_Method_Dispatch.Enabled = True Then
            tmr_Method_Dispatch = False
            For instantiation_incr = 0 To (Val(NUM_CHANNELS.Text) - 1)
                '########## RTDX(TM) ##########'
                Sleep (1000) ' Sleep for 1 second
                If (MethodValues(channel_number).CHANNEL_OPEN = True) Then
                    MethodValues(instantiation_incr).stat = _
                        rtdx(instantiation_incr).Close()
                End If
                Set rtdx(instantiation_incr) = Nothing
                '########## RTDX(TM) ##########'
            Next instantiation_incr
        End If
        
        ' Enable ALL controls
        cmd_Add_Channel.Enabled = True
        cmd_Delete_Channel.Enabled = True
        cmd_Modify_Channel.Enabled = True
        cmd_Reset.Enabled = True
        CHANNEL_NAME.Enabled = True
        IO_TYPE.Enabled = True
        MAX_MEMBERS.Enabled = True
        MAX_MESSAGES.Enabled = True
        INT_TYPE.Enabled = True
    End If

End Sub

Private Sub cmd_View_Channel_Click()
    ' If input values are valid
    If Input_Values_Valid Then
        ' Insert new value into array
        RTDX_channel(chan_incr).name = CHANNEL_NAME.Text
        RTDX_channel(chan_incr).type = IO_TYPE.Text
        RTDX_channel(chan_incr).messages = MAX_MESSAGES.Text
        RTDX_channel(chan_incr).members = MAX_MEMBERS.Text
        RTDX_channel(chan_incr).integer_size = INT_TYPE.Text
        
        ' Set chan_incr to selected record
        chan_incr = cmd_View_Channel.ListIndex
    
        'Return current requested record
        CHANNEL_NAME.Text = RTDX_channel(chan_incr).name
        IO_TYPE.Text = RTDX_channel(chan_incr).type
        MAX_MESSAGES.Text = RTDX_channel(chan_incr).messages
        MAX_MEMBERS.Text = RTDX_channel(chan_incr).members
        INT_TYPE.Text = RTDX_channel(chan_incr).integer_size
    Else
        ' Go back and fix your record
        cmd_View_Channel.Selected(chan_incr) = True
    End If
End Sub

Private Sub Form_Load()
Dim TestHelpPath As String
Dim NewHelpFile As String

    ' Center form on screen
    Left = (Screen.Width - Width) / 3.5
    Top = (Screen.Height - Height) / 2

    ' Specify help file
    TestHelpPath = Dir(App.Path + RTDXHELPFILE, vbNormal)
    'If help file is not in the applications directory
    If (TestHelpPath <> "") Then
        App.HelpFile = App.Path & RTDXHELPFILE
    Else
        'Ask user to specify
        MsgBox ("Warning: RTDX Help File not found!")
        NewHelpFile = InputBox("Enter path and name of help file")
        App.HelpFile = NewHelpFile
    End If
    
    ' Show form
    RTDX_frm.Show
    
    ' Initialization
    Init_Prog
End Sub


Private Sub Form_Resize()
    ' To resize controls:
    '
    ' current control [width/height] = ( current control [width/height] *
    '                                  original control [width/height]) /
    '                                  forms original [width/height]
    
    ' Grow/Shrink Controls
    TI_logo.Width = (RTDX_frm.Width * TI_LOGO_START_WIDTH) / FORM_START_WIDTH
    TI_logo.Height = (RTDX_frm.Height * TI_LOGO_START_HEIGHT) / FORM_START_HEIGHT
    cmd_Toggle.Width = (RTDX_frm.Width * CMD_TOGGLE_START_WIDTH) / FORM_START_WIDTH
    cmd_Toggle.Height = (RTDX_frm.Height * CMD_TOGGLE_START_HEIGHT) / FORM_START_HEIGHT
    cmd_Add_Channel.Width = (RTDX_frm.Width * CMD_ADD_CHANNEL_START_WIDTH) / FORM_START_WIDTH
    cmd_Add_Channel.Height = (RTDX_frm.Height * CMD_ADD_CHANNEL_START_HEIGHT) / FORM_START_HEIGHT
    cmd_Modify_Channel.Width = (RTDX_frm.Width * CMD_MODIFY_CHANNEL_START_WIDTH) / FORM_START_WIDTH
    cmd_Modify_Channel.Height = (RTDX_frm.Height * CMD_MODIFY_CHANNEL_START_HEIGHT) / FORM_START_HEIGHT
    cmd_Delete_Channel.Width = (RTDX_frm.Width * CMD_DELETE_CHANNEL_START_WIDTH) / FORM_START_WIDTH
    cmd_Delete_Channel.Height = (RTDX_frm.Height * CMD_DELETE_CHANNEL_START_HEIGHT) / FORM_START_HEIGHT
    cmd_Reset.Width = (RTDX_frm.Width * CMD_RESET_START_WIDTH) / FORM_START_WIDTH
    cmd_Reset.Height = (RTDX_frm.Height * CMD_RESET_START_HEIGHT) / FORM_START_HEIGHT
    cmd_View_Channel.Width = (RTDX_frm.Width * CMD_VIEW_CHANNEL_START_WIDTH) / FORM_START_WIDTH
    cmd_View_Channel.Height = (RTDX_frm.Height * CMD_VIEW_CHANNEL_START_HEIGHT) / FORM_START_HEIGHT
    CHANNEL_NAME.Width = (RTDX_frm.Width * CHANNEL_NAME_START_WIDTH) / FORM_START_WIDTH
    CHANNEL_NAME.Height = (RTDX_frm.Height * CHANNEL_NAME_START_HEIGHT) / FORM_START_HEIGHT
    MAX_MESSAGES.Width = (RTDX_frm.Width * MAX_MESSAGES_START_WIDTH) / FORM_START_WIDTH
    MAX_MESSAGES.Height = (RTDX_frm.Height * MAX_MESSAGES_START_HEIGHT) / FORM_START_HEIGHT
    MAX_MEMBERS.Width = (RTDX_frm.Width * MAX_MEMBERS_START_WIDTH) / FORM_START_WIDTH
    MAX_MEMBERS.Height = (RTDX_frm.Height * MAX_MEMBERS_START_HEIGHT) / FORM_START_HEIGHT
    IO_TYPE.Width = (RTDX_frm.Width * IO_TYPE_START_WIDTH) / FORM_START_WIDTH
    IO_TYPE.Height = (RTDX_frm.Height * IO_TYPE_START_HEIGHT) / FORM_START_HEIGHT
    INT_TYPE.Width = (RTDX_frm.Width * INT_TYPE_START_WIDTH) / FORM_START_WIDTH
    INT_TYPE.Height = (RTDX_frm.Height * INT_TYPE_START_HEIGHT) / FORM_START_HEIGHT
    NUM_CHANNELS.Width = (RTDX_frm.Width * NUM_CHANNELS_START_WIDTH) / FORM_START_WIDTH
    NUM_CHANNELS.Height = (RTDX_frm.Height * NUM_CHANNELS_START_HEIGHT) / FORM_START_HEIGHT
    Label1.Width = (RTDX_frm.Width * LABEL1_START_WIDTH) / FORM_START_WIDTH
    Label1.Height = (RTDX_frm.Height * LABEL1_START_HEIGHT) / FORM_START_HEIGHT
    Label2.Width = (RTDX_frm.Width * LABEL2_START_WIDTH) / FORM_START_WIDTH
    Label2.Height = (RTDX_frm.Height * LABEL2_START_HEIGHT) / FORM_START_HEIGHT
    Label3.Width = (RTDX_frm.Width * LABEL3_START_WIDTH) / FORM_START_WIDTH
    Label3.Height = (RTDX_frm.Height * LABEL3_START_HEIGHT) / FORM_START_HEIGHT
    Label4.Width = (RTDX_frm.Width * LABEL4_START_WIDTH) / FORM_START_WIDTH
    Label4.Height = (RTDX_frm.Height * LABEL4_START_HEIGHT) / FORM_START_HEIGHT
    Label5.Width = (RTDX_frm.Width * LABEL5_START_WIDTH) / FORM_START_WIDTH
    Label5.Height = (RTDX_frm.Height * LABEL5_START_HEIGHT) / FORM_START_HEIGHT
    Label6.Width = (RTDX_frm.Width * LABEL6_START_WIDTH) / FORM_START_WIDTH
    Label6.Height = (RTDX_frm.Height * LABEL6_START_HEIGHT) / FORM_START_HEIGHT
    Label7.Width = (RTDX_frm.Width * LABEL7_START_WIDTH) / FORM_START_WIDTH
    Label7.Height = (RTDX_frm.Height * LABEL7_START_HEIGHT) / FORM_START_HEIGHT
    
    ' To re-position controls:
    '
    ' current control [left/top] = ( original control [left/top] /
    '                              original control [width/height] ) *
    '                              current control [width/height]
    ' Note: However, we will multiply the original [left/top] position
    '       by the inverse of the original start [width/height] to
    '       protect us against division by zero.
    
    ' Re-position Controls
    TI_logo.Left = (TI_LOGO_START_LEFT * (1 / TI_LOGO_START_WIDTH)) * TI_logo.Width
    TI_logo.Top = (TI_LOGO_START_TOP * (1 / TI_LOGO_START_HEIGHT)) * TI_logo.Height
    cmd_Toggle.Left = (CMD_TOGGLE_START_LEFT * (1 / CMD_TOGGLE_START_WIDTH)) * cmd_Toggle.Width
    cmd_Toggle.Top = (CMD_TOGGLE_START_TOP * (1 / CMD_TOGGLE_START_HEIGHT)) * cmd_Toggle.Height
    cmd_Add_Channel.Left = (CMD_ADD_CHANNEL_START_LEFT * (1 / CMD_ADD_CHANNEL_START_WIDTH)) * cmd_Add_Channel.Width
    cmd_Add_Channel.Top = (CMD_ADD_CHANNEL_START_TOP * (1 / CMD_ADD_CHANNEL_START_HEIGHT)) * cmd_Add_Channel.Height
    cmd_Modify_Channel.Left = (CMD_MODIFY_CHANNEL_START_LEFT * (1 / CMD_MODIFY_CHANNEL_START_WIDTH)) * cmd_Modify_Channel.Width
    cmd_Modify_Channel.Top = (CMD_MODIFY_CHANNEL_START_TOP * (1 / CMD_MODIFY_CHANNEL_START_HEIGHT)) * cmd_Modify_Channel.Height
    cmd_Delete_Channel.Left = (CMD_DELETE_CHANNEL_START_LEFT * (1 / CMD_DELETE_CHANNEL_START_WIDTH)) * cmd_Delete_Channel.Width
    cmd_Delete_Channel.Top = (CMD_DELETE_CHANNEL_START_TOP * (1 / CMD_DELETE_CHANNEL_START_HEIGHT)) * cmd_Delete_Channel.Height
    cmd_Reset.Left = (CMD_RESET_START_LEFT * (1 / CMD_RESET_START_WIDTH)) * cmd_Reset.Width
    cmd_Reset.Top = (CMD_RESET_START_TOP * (1 / CMD_RESET_START_HEIGHT)) * cmd_Reset.Height
    cmd_View_Channel.Left = (CMD_VIEW_CHANNEL_START_LEFT * (1 / CMD_VIEW_CHANNEL_START_WIDTH)) * cmd_View_Channel.Width
    cmd_View_Channel.Top = (CMD_VIEW_CHANNEL_START_TOP * (1 / CMD_VIEW_CHANNEL_START_HEIGHT)) * cmd_View_Channel.Height
    CHANNEL_NAME.Left = (CHANNEL_NAME_START_LEFT * (1 / CHANNEL_NAME_START_WIDTH)) * CHANNEL_NAME.Width
    CHANNEL_NAME.Top = (CHANNEL_NAME_START_TOP * (1 / CHANNEL_NAME_START_HEIGHT)) * CHANNEL_NAME.Height
    MAX_MESSAGES.Left = (MAX_MESSAGES_START_LEFT * (1 / MAX_MESSAGES_START_WIDTH)) * MAX_MESSAGES.Width
    MAX_MESSAGES.Top = (MAX_MESSAGES_START_TOP * (1 / MAX_MESSAGES_START_HEIGHT)) * MAX_MESSAGES.Height
    MAX_MEMBERS.Left = (MAX_MEMBERS_START_LEFT * (1 / MAX_MEMBERS_START_WIDTH)) * MAX_MEMBERS.Width
    MAX_MEMBERS.Top = (MAX_MEMBERS_START_TOP * (1 / MAX_MEMBERS_START_HEIGHT)) * MAX_MEMBERS.Height
    IO_TYPE.Left = (IO_TYPE_START_LEFT * (1 / IO_TYPE_START_WIDTH)) * IO_TYPE.Width
    IO_TYPE.Top = (IO_TYPE_START_TOP * (1 / IO_TYPE_START_HEIGHT)) * IO_TYPE.Height
    INT_TYPE.Left = (INT_TYPE_START_LEFT * (1 / INT_TYPE_START_WIDTH)) * INT_TYPE.Width
    INT_TYPE.Top = (INT_TYPE_START_TOP * (1 / INT_TYPE_START_HEIGHT)) * INT_TYPE.Height
    NUM_CHANNELS.Left = (NUM_CHANNELS_START_LEFT * (1 / NUM_CHANNELS_START_WIDTH)) * NUM_CHANNELS.Width
    NUM_CHANNELS.Top = (NUM_CHANNELS_START_TOP * (1 / NUM_CHANNELS_START_HEIGHT)) * NUM_CHANNELS.Height
    Label1.Left = (LABEL1_START_LEFT * (1 / LABEL1_START_WIDTH)) * Label1.Width
    Label1.Top = (LABEL1_START_TOP * (1 / LABEL1_START_HEIGHT)) * Label1.Height
    Label2.Left = (LABEL2_START_LEFT * (1 / LABEL2_START_WIDTH)) * Label2.Width
    Label2.Top = (LABEL2_START_TOP * (1 / LABEL2_START_HEIGHT)) * Label2.Height
    Label3.Left = (LABEL3_START_LEFT * (1 / LABEL3_START_WIDTH)) * Label3.Width
    Label3.Top = (LABEL3_START_TOP * (1 / LABEL3_START_HEIGHT)) * Label3.Height
    Label4.Left = (LABEL4_START_LEFT * (1 / LABEL4_START_WIDTH)) * Label4.Width
    Label4.Top = (LABEL4_START_TOP * (1 / LABEL4_START_HEIGHT)) * Label4.Height
    Label5.Left = (LABEL5_START_LEFT * (1 / LABEL5_START_WIDTH)) * Label5.Width
    Label5.Top = (LABEL5_START_TOP * (1 / LABEL5_START_HEIGHT)) * Label5.Height
    Label6.Left = (LABEL6_START_LEFT * (1 / LABEL6_START_WIDTH)) * Label6.Width
    Label6.Top = (LABEL6_START_TOP * (1 / LABEL6_START_HEIGHT)) * Label6.Height
    Label7.Left = (LABEL7_START_LEFT * (1 / LABEL7_START_WIDTH)) * Label7.Width
    Label7.Top = (LABEL7_START_TOP * (1 / LABEL7_START_HEIGHT)) * Label7.Height

    
                    
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Unload RTDX_gridfrm
    mnu_Quit_Click
End Sub

Private Sub mnu_Quit_Click()
    mnu_Stop_Click
    End
End Sub

Private Sub mnu_Start_Click()
    ' Switch toggle value to false so that toggle command
    ' can switch it to true
    on_off_toggle = False
    cmd_Toggle_Click
End Sub

Private Sub mnu_Stop_Click()
    ' Switch toggle value to true so that toggle command
    ' can switch it to false
    on_off_toggle = True
    cmd_Toggle_Click
    
End Sub

Private Sub tmr_Method_Dispatch_Timer()
Dim open_chan_incr As Integer
Dim CHANNELS_STILL_OPEN As Boolean

    ' Test to see if we are done running the program
    CHANNELS_STILL_OPEN = False
    For open_chan_incr = 0 To (Val(NUM_CHANNELS.Text) - 1)
        If MethodValues(open_chan_incr).CHANNEL_OPEN Then
            CHANNELS_STILL_OPEN = True
            Exit For
        End If
    Next open_chan_incr
    
    ' Test to see if we have open channels left
    If Not CHANNELS_STILL_OPEN Then
        MsgBox ("Data Processing Complete!")
        mnu_Stop_Click 'Stop program
        Exit Sub
    Else
        ' Test to see if we are able to obtain data from the channel
        If MethodValues(channel_number).CHANNEL_OPEN Then
            ' Test the I/O type of the channel
            If (RTDX_channel(channel_number).type = "R") Then
                Do_Read
            ElseIf (RTDX_channel(channel_number).type = "W") Then
                Do_Write
            End If
        End If
        'increment channel number
        channel_number = channel_number + 1
        If channel_number > (Val(NUM_CHANNELS.Text) - 1) Then
            channel_number = 0 ' reset channel number
        End If
    End If
End Sub

⌨️ 快捷键说明

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