Hallo Leute!
Da mir in jedem meiner Fragen gesagt wird "VB.NET" ist eine Eventgesteuerte Programmiersprache, habe ich mir das auch zu Herzen genommen.
In meiner VB6 Anwendung habe ich per Timer die serielle Schnittstelle abgefragt (ob da Daten anliegen).
In VB2012 würde ich das gerne in folgender Art lösen (falls das möglich ist):
Im Form-Load den Com-Port öffnen
Sobald Daten an der Seriellen Schnittstelle reinkommen soll eine Prozedur aufgerufen werden, wo die Daten dann einfach abgefragt und ausgegeben werden.
Es handelt sich um Kellnerschlösser, welche beim Auflegen des Schlüssels einfach eine beliebig lange Zeichenkette übergeben (meist mit ENTER am Ende).
Diese möchte ich einfach nur auslesen.
Ich habe mir das schon mal angesehen: msdn.microsoft.com/en-us/libra…ialport.datareceived.aspx
Aber irgendwie funktioniert das nicht. Das Ereignis wird nicht "angesprungen".
Gibt es da einen wirklich kurzen Code für sowas?
Ich habs so versucht, geht aber irgendwie nicht:
LG Roland
Da mir in jedem meiner Fragen gesagt wird "VB.NET" ist eine Eventgesteuerte Programmiersprache, habe ich mir das auch zu Herzen genommen.
In meiner VB6 Anwendung habe ich per Timer die serielle Schnittstelle abgefragt (ob da Daten anliegen).
In VB2012 würde ich das gerne in folgender Art lösen (falls das möglich ist):
Im Form-Load den Com-Port öffnen
Sobald Daten an der Seriellen Schnittstelle reinkommen soll eine Prozedur aufgerufen werden, wo die Daten dann einfach abgefragt und ausgegeben werden.
Es handelt sich um Kellnerschlösser, welche beim Auflegen des Schlüssels einfach eine beliebig lange Zeichenkette übergeben (meist mit ENTER am Ende).
Diese möchte ich einfach nur auslesen.
Ich habe mir das schon mal angesehen: msdn.microsoft.com/en-us/libra…ialport.datareceived.aspx
Aber irgendwie funktioniert das nicht. Das Ereignis wird nicht "angesprungen".
Gibt es da einen wirklich kurzen Code für sowas?
Ich habs so versucht, geht aber irgendwie nicht:
VB.NET-Quellcode
- Imports System.IO.Ports
- Public Class frm_hauptform
- Public Event DataReceived As SerialDataReceivedEventHandler
- Public Kellnerschloss_SerialPort As New SerialPort("COM4")
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Kellnerschloss_SerialPort.BaudRate = 9600
- Kellnerschloss_SerialPort.Parity = Parity.None
- Kellnerschloss_SerialPort.StopBits = StopBits.One
- Kellnerschloss_SerialPort.DataBits = 8
- Kellnerschloss_SerialPort.Handshake = Handshake.None
- AddHandler Kellnerschloss_SerialPort.DataReceived, AddressOf DatenEmpfangKellnerschloss
- Kellnerschloss_SerialPort.Open()
- End Sub
- Private Sub DatenEmpfangKellnerschloss(sender As Object, e As SerialDataReceivedEventArgs)
- Dim sp As SerialPort = CType(sender, SerialPort)
- Dim indata As String = sp.ReadExisting()
- MessageBox.Show("Data Received: " + indata)
- End Sub
- .. Close natürlich beim Beenden ...
- End Class
LG Roland
Liebe Grüße
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at