home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / bp_3_94 / vbwin / comm / vbcomm3.frm < prev    next >
Text File  |  1994-05-03  |  4KB  |  128 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "BP 3/94  ** Comm-Tester  3 (mit OnComm) **"
  5.    ClientHeight    =   4110
  6.    ClientLeft      =   915
  7.    ClientTop       =   1515
  8.    ClientWidth     =   6945
  9.    Height          =   4515
  10.    Left            =   855
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   4110
  13.    ScaleWidth      =   6945
  14.    Top             =   1170
  15.    Width           =   7065
  16.    Begin TextBox Text1 
  17.       Height          =   3570
  18.       Left            =   105
  19.       MultiLine       =   -1  'True
  20.       ScrollBars      =   3  'Beide
  21.       TabIndex        =   0
  22.       Top             =   90
  23.       Width           =   6705
  24.    End
  25.    Begin MSComm Comm1 
  26.       Interval        =   55
  27.       Left            =   6375
  28.       RTSEnable       =   -1  'True
  29.       Top             =   3540
  30.    End
  31.    Begin Label lblStatus 
  32.       BackColor       =   &H00C0C0C0&
  33.       BorderStyle     =   1  'nicht Σnderbar, einfach
  34.       Height          =   360
  35.       Left            =   90
  36.       TabIndex        =   1
  37.       Top             =   3735
  38.       Width           =   6810
  39.    End
  40. End
  41. DefInt A-Z
  42.  
  43. Sub Comm1_OnComm ()
  44. Static Zeile$
  45. lblStatus.Caption = ""          'Statuszeile l÷schen (optional)
  46.  
  47. If Comm1.CommEvent > 1000 Then  'Rote Statusmeldung fⁿr Fehler ...
  48.    lblStatus.ForeColor = &HFF&
  49. Else
  50.    lblStatus.ForeColor = &H0&   '... sonst schwarzer Text
  51. End If
  52.  
  53. Select Case Comm1.CommEvent
  54. 'Ereignisse
  55.    Case MSCOMM_EV_CD
  56.       lblStatus.Caption = " PegelΣnderung der CD-Leitung"
  57.    Case MSCOMM_EV_CTS
  58.       lblStatus.Caption = " PegelΣnderung der CTS-Leitung"
  59.    Case MSCOMM_EV_DSR
  60.       lblStatus.Caption = " PegelΣnderung der DSR-Leitung "
  61.    Case MSCOMM_EV_RING
  62.       lblStatus.Caption = " RING (LΣuten)"
  63.    'EMPFANG
  64.    Case MSCOMM_EV_RECEIVE  'RThreshold Anzahl Zeichen empfangen
  65.       Form1.Caption = "Im Empfangspuffer: " + Str$(Comm1.InBufferCount)
  66.       Ein$ = Comm1.Input
  67.       If Len(Ein$) > 0 Then
  68.      If Asc(Ein$) = 13 Then
  69.         lblStatus.Caption = "CR empfangen"
  70.         Ein$ = Ein$ + Chr$(13) + Chr$(10) 'Neue Zeile in Text1 erzwingen (optional)
  71.      End If
  72.       End If
  73.       Text1.Text = Text1.Text + Ein$
  74.       Text1.SelStart = Len(Text1.Text)
  75.       Text1.SelText = ""
  76.    
  77.    Case MSCOMM_EV_SEND
  78.       lblStatus.Caption = " In SThreshold angegebene Zeichenanzahl unterschritten"
  79.    
  80.    Case MSCOMM_EV_EOF
  81.       lblStatus.Caption = "Dateiende-Zeichen (EOF) empfangen"
  82.  
  83. 'Fehlercodes (> 1000)
  84.    Case MSCOMM_ER_BREAK
  85.       lblStatus.Caption = " Break-Signal empfangen"
  86.       'hier ggf. Code zur Break-Behandlung vorsehen...
  87.    Case MSCOMM_ER_CDTO
  88.       lblStatus.Caption = " Carrier Detect Timeout"
  89.    Case MSCOMM_ER_CTSTO
  90.       lblStatus.Caption = " Clear To Send Timeout"
  91.    Case MSCOMM_ER_DSRTO
  92.       lblStatus.Caption = " Data Set Ready Timeout"
  93.    Case MSCOMM_ER_FRAME
  94.       lblStatus.Caption = " Fehlerhafte Rahmen-Bits"
  95.    Case MSCOMM_ER_OVERRUN
  96.       lblStatus.Caption = " Overrun (Zeichen 'verschluckt')"
  97.    Case MSCOMM_ER_RXOVER
  98.       lblStatus.Caption = " Empfangspuffer-▄berlauf"
  99.    Case MSCOMM_ER_RXPARITY
  100.       lblStatus.Caption = " ParitΣtsfehler (Empfang)"
  101.    Case MSCOMM_ER_TXFULL
  102.       lblStatus.Caption = " Sendepuffer voll"
  103. End Select
  104.  
  105. End Sub
  106.  
  107. Sub Form_Load ()
  108.   Comm1.CommPort = 2              'COM2 verwenden (VOR dem ╓ffnen angeben!)
  109.   Comm1.Settings = "1200,N,8,1"   '1200 Baud, keine ParitΣt, 8 Datenbits, 1 Stopbit
  110.   Comm1.InputLen = 1              'Mit Input je 1 Zeichen lesen
  111.   Comm1.OutBufferSize = 512       'Sendepuffer
  112.   Comm1.InBufferSize = 1024       'Empfangspuffer (testweise =1 setzen, um
  113.                   '▄berlauffehler zu provozieren)
  114.   Comm1.RThreshold = 1            'Fⁿllstand bis zum OnComm-Ereignis
  115.                   '(hier: Ereignis jedem Zeichen)
  116.   Comm1.PortOpen = True           'COM-Port ÷ffnen
  117.  
  118. End Sub
  119.  
  120. Sub Form_Unload (Cancel As Integer)
  121.   Comm1.PortOpen = False          'COM-Port schlie▀en
  122. End Sub
  123.  
  124. Sub Text1_KeyPress (KeyAnsi As Integer)
  125.   Comm1.Output = Chr$(KeyAnsi)
  126. End Sub
  127.  
  128.