home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
GLEN
/
COMDEM.ZIP
/
LINEDLG.TXT
< prev
next >
Wrap
Text File
|
1991-07-11
|
10KB
|
401 lines
Dim WorkRB As Integer
Dim WorkTB As Integer
Dim WorkDCB As CommStateDCB
Dim WorkInterval As Integer
Dim WidthOfText As Integer
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 Reset_Command_Click ()
Initialize
End Sub
Sub Cancel_Command_Click ()
Unload LineDlg
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 Signal_Detect_CD_Scroll_Change ()
ProcessScrollChange 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_DS_Scroll_Change ()
ProcessScrollChange Signal_Detect_DS_Scroll, Signal_Detect_DS_Text
End Sub
Sub Comm_Receive_Scroll_Change ()
ProcessScrollChange Comm_Receive_Scroll, Comm_Receive_Text
End Sub
Sub Comm_Transmit_Scroll_Change ()
ProcessScrollChange Comm_Transmit_Scroll, Comm_Transmit_Text
End Sub
Sub Poll_Interval_Scroll_Change ()
ProcessScrollChange Poll_Interval_Scroll, Poll_Interval_Text
End Sub
Sub Poll_Interval_Text_KeyPress (KeyAscii As Integer)
ProcessTextKeyPress Poll_Interval_Scroll, Poll_Interval_Text, Comm_Receive_Text, KeyAscii
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_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_LostFocus ()
ProcessTextLostFocus Comm_Receive_Scroll, Comm_Receive_Text
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 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 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 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_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_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 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 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 Comm_Transmit_Text_KeyPress (KeyAscii As Integer)
ProcessTextKeyPress Comm_Transmit_Scroll, Comm_Transmit_Text, Signal_Detect_CD_Text, KeyAscii
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_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_DS_Text_KeyPress (KeyAscii As Integer)
ProcessTextKeyPress Signal_Detect_DS_Scroll, Signal_Detect_DS_Text, Poll_Interval_Text, KeyAscii
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 Comm_Transmit_Text_LostFocus ()
ProcessTextLostFocus Comm_Transmit_Scroll, Comm_Transmit_Text
End Sub
Sub Poll_Interval_Text_LostFocus ()
ProcessTextLostFocus Poll_Interval_Scroll, Poll_Interval_Text
End Sub
Sub Signal_Detect_CD_Text_LostFocus ()
ProcessTextLostFocus Signal_Detect_CD_Scroll, Signal_Detect_CD_Text
End Sub
Sub Signal_Detect_CS_Text_LostFocus ()
ProcessTextLostFocus Signal_Detect_CS_Scroll, Signal_Detect_CS_Text
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
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