home *** CD-ROM | disk | FTP | other *** search
- VERSION 2.00
- Begin Form LineDlg
- BorderStyle = 3 'Fixed Double
- Caption = "Communication Demo - Line Settings"
- ClientHeight = 5160
- ClientLeft = 1200
- ClientTop = 2040
- ClientWidth = 4875
- Height = 5565
- Icon = 0
- Left = 1140
- LinkMode = 1 'Source
- LinkTopic = "Form4"
- MaxButton = 0 'False
- MinButton = 0 'False
- ScaleHeight = 5160
- ScaleWidth = 4875
- Top = 1695
- Width = 4995
- Begin CommandButton Cancel_Command
- Caption = "Cancel"
- Height = 345
- Left = 3390
- TabIndex = 26
- Top = 4680
- Width = 1335
- End
- Begin CommandButton OK_Command
- Caption = "OK"
- Height = 345
- Left = 1755
- TabIndex = 25
- Top = 4680
- Width = 1335
- End
- Begin CommandButton Reset_Command
- Caption = "Reset"
- Height = 345
- Left = 135
- TabIndex = 24
- Top = 4680
- Width = 1335
- End
- Begin Frame Poll_Buffer_Frame
- Height = 975
- Left = 120
- TabIndex = 19
- Top = 3480
- Width = 4605
- Begin TextBox Poll_Interval_Text
- Height = 285
- Left = 3600
- TabIndex = 23
- Text = "Text6"
- Top = 555
- Width = 855
- End
- Begin HScrollBar Poll_Interval_Scroll
- Height = 285
- LargeChange = 50
- Left = 2610
- Min = 1
- TabIndex = 22
- Top = 555
- Value = 51
- Width = 900
- End
- Begin Label Poll_Interval_Label
- Caption = "Poll Interval"
- Height = 285
- Left = 120
- TabIndex = 21
- Top = 555
- Width = 1335
- End
- Begin Label Poll_Buffer_Label
- Alignment = 2 'Center
- BorderStyle = 1 'Fixed Single
- Caption = "Poll/Read Receive Buffer"
- Height = 285
- Left = 0
- TabIndex = 20
- Top = 90
- Width = 4605
- End
- End
- Begin Frame Signal_Detect_Frame
- Height = 1815
- Left = 120
- TabIndex = 8
- Top = 1575
- Width = 4605
- Begin TextBox Signal_Detect_DS_Text
- Height = 285
- Left = 3600
- TabIndex = 18
- Text = "Text5"
- Top = 1440
- Width = 855
- End
- Begin HScrollBar Signal_Detect_DS_Scroll
- Height = 285
- LargeChange = 512
- Left = 2625
- TabIndex = 17
- Top = 1440
- Value = 1
- Width = 870
- End
- Begin TextBox Signal_Detect_CS_Text
- Height = 285
- Left = 3600
- TabIndex = 15
- Text = "Text4"
- Top = 960
- Width = 855
- End
- Begin HScrollBar Signal_Detect_CS_Scroll
- Height = 285
- LargeChange = 512
- Left = 2640
- TabIndex = 14
- Top = 960
- Value = 1
- Width = 855
- End
- Begin TextBox Signal_Detect_CD_Text
- Height = 285
- Left = 3600
- TabIndex = 12
- Text = "Text3"
- Top = 495
- Width = 855
- End
- Begin HScrollBar Signal_Detect_CD_Scroll
- Height = 285
- LargeChange = 512
- Left = 2655
- TabIndex = 11
- Top = 480
- Value = 1
- Width = 825
- End
- Begin Label Signal_Detect_DS_Label
- Caption = "Data Set Ready"
- Height = 285
- Left = 120
- TabIndex = 16
- Top = 1440
- Width = 1455
- End
- Begin Label Signal_Detect_CS_Label
- Caption = "Clear to Send"
- Height = 285
- Left = 120
- TabIndex = 13
- Top = 960
- Width = 1455
- End
- Begin Label Signal_Detect_CD_Label
- Caption = "Carrier Detect"
- Height = 285
- Left = 120
- TabIndex = 10
- Top = 480
- Width = 1335
- End
- Begin Label Signal_Detect_Label
- Alignment = 2 'Center
- BorderStyle = 1 'Fixed Single
- Caption = "Signal Detection Time"
- Height = 285
- Left = 0
- TabIndex = 9
- Top = 90
- Width = 4605
- End
- End
- Begin Frame Comm_Buffer_Size_Frame
- ForeColor = &H00000000&
- Height = 1335
- Left = 120
- TabIndex = 0
- Top = 135
- Width = 4605
- Begin TextBox Comm_Transmit_Text
- Height = 285
- Left = 3600
- TabIndex = 7
- Text = "Text2"
- Top = 960
- Width = 855
- End
- Begin HScrollBar Comm_Transmit_Scroll
- Height = 285
- LargeChange = 512
- Left = 2685
- TabIndex = 6
- Top = 960
- Value = 1
- Width = 795
- End
- Begin TextBox Comm_Receive_Text
- Height = 285
- Left = 3600
- TabIndex = 4
- Text = "Text1"
- Top = 465
- Width = 855
- End
- Begin HScrollBar Comm_Receive_Scroll
- Height = 285
- LargeChange = 512
- Left = 2715
- TabIndex = 3
- Top = 480
- Value = 1
- Width = 780
- End
- Begin Label Comm_Transmit_Label
- Caption = "Transmit"
- Height = 285
- Left = 120
- TabIndex = 5
- Top = 975
- Width = 975
- End
- Begin Label Comm_Receive_Label
- Caption = "Receive"
- Height = 285
- Left = 120
- TabIndex = 2
- Top = 480
- Width = 975
- End
- Begin Label Comm_Buffer_Size_Label
- Alignment = 2 'Center
- BorderStyle = 1 'Fixed Single
- Caption = "Communication Buffer Size"
- Height = 285
- Left = 0
- TabIndex = 1
- Top = 90
- Width = 4605
- End
- End
- Dim WorkRB As Integer
- Dim WorkTB As Integer
- Dim WorkDCB As CommStateDCB
- Dim WorkInterval As Integer
- Dim WidthOfText As Integer
- Sub AdjustControl (A_Scroll As Control, A_Text As Control, A_Label As Control, A_Frame As Control)
- A_Text.Width = WidthOfText
- A_Text.Left = A_Frame.Width - (A_Label.Left + A_Text.Width)
- A_Scroll.height = A_Text.height
- A_Scroll.Width = A_Text.Width * 2
- A_Scroll.Top = A_Text.Top
- A_Scroll.Left = A_Text.Left - A_Scroll.Width - A_Text.Width \ 4
- End Sub
- Sub Cancel_Command_Click ()
- Unload LineDlg
- End Sub
- Sub Comm_Receive_Scroll_Change ()
- ProcessScrollChange Comm_Receive_Scroll, Comm_Receive_Text
- End Sub
- Sub Comm_Receive_Text_Change ()
- ProcessTextChange Comm_Receive_Scroll, Comm_Receive_Text
- WorkRB = Comm_Receive_Scroll.value
- DisplayQBOpen WorkDCB, CommPortName$, WorkRB, WorkTB, WorkInterval
- End Sub
- Sub Comm_Receive_Text_KeyPress (KeyAscii As Integer)
- ProcessTextKeyPress Comm_Receive_Scroll, Comm_Receive_Text, Comm_Transmit_Text, KeyAscii
- End Sub
- Sub Comm_Receive_Text_LostFocus ()
- ProcessTextLostFocus Comm_Receive_Scroll, Comm_Receive_Text
- End Sub
- Sub Comm_Transmit_Scroll_Change ()
- ProcessScrollChange Comm_Transmit_Scroll, Comm_Transmit_Text
- End Sub
- Sub Comm_Transmit_Text_Change ()
- ProcessTextChange Comm_Transmit_Scroll, Comm_Transmit_Text
- WorkTB = Comm_Transmit_Scroll.value
- DisplayQBOpen WorkDCB, CommPortName$, WorkRB, WorkTB, WorkInterval
- End Sub
- Sub Comm_Transmit_Text_KeyPress (KeyAscii As Integer)
- ProcessTextKeyPress Comm_Transmit_Scroll, Comm_Transmit_Text, Signal_Detect_CD_Text, KeyAscii
- End Sub
- Sub Comm_Transmit_Text_LostFocus ()
- ProcessTextLostFocus Comm_Transmit_Scroll, Comm_Transmit_Text
- End Sub
- Sub Form_Load ()
- Remove_Items_From_SysMenu LineDlg
- Initialize
- CenterDialog LineDlg
- End Sub
- Sub Initialize ()
- WidthOfText = TextWidth("999991")
- SizeControls
- Comm_Receive_Scroll.value = CommRBBuffer
- WorkRB = CommRBBuffer
- Comm_Transmit_Scroll.value = CommTBBuffer
- WorkTB = CommTBBuffer
- If CommDeviceNum > 0 And CommHandle > -1 Then
- Comm_Buffer_Size_Frame.enabled = False
- Comm_Buffer_Size_Label.enabled = False
-
- Comm_Receive_Text.enabled = False
- Comm_Receive_Label.enabled = False
-
- Comm_Transmit_Text.enabled = False
- Comm_Transmit_Label.enabled = False
- End If
- Signal_Detect_CD_Scroll.value = CommState.RlsTimeOut
- Signal_Detect_CS_Scroll.value = CommState.CtsTimeOut
- Signal_Detect_DS_Scroll.value = CommState.DsrTimeOut
- WorkDCB = CommState
- Poll_Interval_Scroll.value = CommReadInterval
- WorkInterval = CommReadInterval
- End Sub
- Sub OK_Command_Click ()
- If CommDeviceNum > 0 And CommHandle > -1 Then
- NoChange = True
- If WorkRB <> CommRBBuffer Then NoChange = False
- If WorkTB <> CommTBBuffer Then NoChange = False
- If WorkInterval <> CommReadInterval Then NoChange = False
- If WorkDCB.RlsTimeOut <> CommState.RlsTimeOut Then NoChange = False
- If WorkDCB.CtsTimeOut <> CommState.CtsTimeOut Then NoChange = False
- If WorkDCB.DsrTimeOut <> CommState.DsrTimeOut Then NoChange = False
- If NoChange = True Then
- Unload LineDlg
- Exit Sub
- End If
-
- UpdateCaption " DIALOG: Change Active Settings (Yes), Post-Pone (No), Return to Dialog (Cancel)", 0
-
- Result% = MsgBox("Port Already Active!" + Chr$(13) + "Activate settings Now?", 3 + 16 + 256, "Terminal Sampler II - Port Active")
- Select Case Result%
- Case 6
- UpdateCaption " Changing Port Settings LIVE!", 0
-
- CommRBBuffer = WorkRB
- CommTBBuffer = WorkTB
- CommState = WorkDCB
- CommReadInterval = WorkInterval
- PostRBBuffer = WorkRB
- PostTBBuffer = WorkTB
- PostState = WorkDCB
- PostReadInterval = WorkInterval
-
- Receive.Receive_Timer.interval = CommReadInterval
- ApiErr% = SetCommState(WorkDCB)
-
- Unload LineDlg
- Case 7
- UpdateCaption " Settings Post-Poned until next CONNECT", 0
-
- PostRBBuffer = WorkRB
- PostTBBuffer = WorkTB
- PostState = WorkDCB
- PostReadInterval = WorkInterval
- Unload LineDlg
- Case Else
- DisplayQBOpen WorkDCB, CommPortName$, WorkRB, WorkTB, WorkInterval
- End Select
- Else
- CommRBBuffer = WorkRB
- CommTBBuffer = WorkTB
- CommState = WorkDCB
- CommReadInterval = WorkInterval
- PostRBBuffer = WorkRB
- PostTBBuffer = WorkTB
- PostState = WorkDCB
- PostReadInterval = WorkInterval
- Unload LineDlg
- End If
- End Sub
- Sub Poll_Interval_Scroll_Change ()
- ProcessScrollChange Poll_Interval_Scroll, Poll_Interval_Text
- End Sub
- Sub Poll_Interval_Text_Change ()
- ProcessTextChange Poll_Interval_Scroll, Poll_Interval_Text
- WorkInterval = Poll_Interval_Scroll.value
- DisplayQBOpen WorkDCB, CommPortName$, WorkRB, WorkTB, WorkInterval
- End Sub
- Sub Poll_Interval_Text_KeyPress (KeyAscii As Integer)
- ProcessTextKeyPress Poll_Interval_Scroll, Poll_Interval_Text, Comm_Receive_Text, KeyAscii
- End Sub
- Sub Poll_Interval_Text_LostFocus ()
- ProcessTextLostFocus Poll_Interval_Scroll, Poll_Interval_Text
- End Sub
- Sub ProcessScrollChange (A_Scroll As Control, A_Text As Control)
- Work$ = LTrim$(Str$(A_Scroll.value))
- If Work$ <> LTrim$(A_Text.Text) Then
- A_Text.Text = Work$
- End If
- End Sub
- Sub ProcessTextChange (A_Scroll As Control, A_Text As Control)
- WorkVal& = Val(A_Text.Text)
- If WorkVal& > A_Scroll.Max Then
- A_Text.Text = LTrim$(Str$(A_Scroll.Max))
- WorkVal& = A_Scroll.Max
- ElseIf WorkVal& < A_Scroll.Min Then
- Exit Sub
- End If
-
- A% = Len(A_Text.Text)
- A_Scroll.value = WorkVal&
- If A% = 0 Then
- A_Text.SelStart = Len(A_Text.Text)
- End If
- End Sub
- Sub ProcessTextKeyPress (A_Scroll As Control, A_Text As Control, Next_Text As Control, KeyAscii As Integer)
- Select Case KeyAscii
- Case 8
- Case 13
- KeyAscii = 0
- Next_Text.SetFocus
- Case Asc("0") To Asc("9")
- If A_Text.Sellength = 0 Then
- If KeyAscii = Asc("0") Then
- If A_Text.SelStart = 0 Then
- KeyAscii = 0
- ElseIf Val(A_Text.Text) = 0 Then
- KeyAscii = 0
- End If
- ElseIf Len(A_Text.Text) >= Len(Str$(A_Scroll.Max)) - 1 Then
- KeyAscii = 0
- End If
- End If
- Case Else
- KeyAscii = 0
- End Select
- End Sub
- Sub ProcessTextLostFocus (A_Scroll As Control, A_Text As Control)
- If Len(A_Text.Text) = 0 Then
- A_Text.Text = LTrim$(Str$(A_Scroll.Min))
- A_Text.SelStart = Len(A_Text.Text)
- ElseIf Val(A_Text.Text) < A_Scroll.Min Then
- A_Text.Text = LTrim$(Str$(A_Scroll.Min))
- End If
- End Sub
- Sub Reset_Command_Click ()
- Initialize
- End Sub
- Sub Signal_Detect_CD_Scroll_Change ()
- ProcessScrollChange Signal_Detect_CD_Scroll, Signal_Detect_CD_Text
- End Sub
- Sub Signal_Detect_CD_Text_Change ()
- ProcessTextChange Signal_Detect_CD_Scroll, Signal_Detect_CD_Text
- WorkDCB.RlsTimeOut = Signal_Detect_CD_Scroll.value
- DisplayQBOpen WorkDCB, CommPortName$, WorkRB, WorkTB, WorkInterval
- End Sub
- Sub Signal_Detect_CD_Text_KeyPress (KeyAscii As Integer)
- ProcessTextKeyPress Signal_Detect_CD_Scroll, Signal_Detect_CD_Text, Signal_Detect_CS_Text, KeyAscii
- End Sub
- Sub Signal_Detect_CD_Text_LostFocus ()
- ProcessTextLostFocus Signal_Detect_CD_Scroll, Signal_Detect_CD_Text
- End Sub
- Sub Signal_Detect_CS_Scroll_Change ()
- ProcessScrollChange Signal_Detect_CS_Scroll, Signal_Detect_CS_Text
- End Sub
- Sub Signal_Detect_CS_Text_Change ()
- ProcessTextChange Signal_Detect_CS_Scroll, Signal_Detect_CS_Text
- WorkDCB.CtsTimeOut = Signal_Detect_CS_Scroll.value
- DisplayQBOpen WorkDCB, CommPortName$, WorkRB, WorkTB, WorkInterval
- End Sub
- Sub Signal_Detect_CS_Text_KeyPress (KeyAscii As Integer)
- ProcessTextKeyPress Signal_Detect_CS_Scroll, Signal_Detect_CS_Text, Signal_Detect_DS_Text, KeyAscii
- End Sub
- Sub Signal_Detect_CS_Text_LostFocus ()
- ProcessTextLostFocus Signal_Detect_CS_Scroll, Signal_Detect_CS_Text
- End Sub
- Sub Signal_Detect_DS_Scroll_Change ()
- ProcessScrollChange Signal_Detect_DS_Scroll, Signal_Detect_DS_Text
- End Sub
- Sub Signal_Detect_DS_Text_Change ()
- ProcessTextChange Signal_Detect_DS_Scroll, Signal_Detect_DS_Text
- WorkDCB.DsrTimeOut = Signal_Detect_DS_Scroll.value
- DisplayQBOpen WorkDCB, CommPortName$, WorkRB, WorkTB, WorkInterval
- End Sub
- Sub Signal_Detect_DS_Text_KeyPress (KeyAscii As Integer)
- ProcessTextKeyPress Signal_Detect_DS_Scroll, Signal_Detect_DS_Text, Poll_Interval_Text, KeyAscii
- End Sub
- Sub Signal_Detect_DS_Text_LostFocus ()
- ProcessTextLostFocus Signal_Detect_DS_Scroll, Signal_Detect_DS_Text
- End Sub
- Sub SizeControls ()
- AdjustControl Comm_Receive_Scroll, Comm_Receive_Text, Comm_Receive_Label, Comm_Buffer_Size_Frame
- AdjustControl Comm_Transmit_Scroll, Comm_Transmit_Text, Comm_Transmit_Label, Comm_Buffer_Size_Frame
- AdjustControl Signal_Detect_CD_Scroll, Signal_Detect_CD_Text, Signal_Detect_CD_Label, Signal_Detect_Frame
- AdjustControl Signal_Detect_CS_Scroll, Signal_Detect_CS_Text, Signal_Detect_CS_Label, Signal_Detect_Frame
- AdjustControl Signal_Detect_DS_Scroll, Signal_Detect_DS_Text, Signal_Detect_DS_Label, Signal_Detect_Frame
- AdjustControl Poll_Interval_Scroll, Poll_Interval_Text, Poll_Interval_Label, Poll_Buffer_Frame
- End Sub
-