Guten Morgen alle zusammen,
ich habe folgendes Problem:
Ich empfange Daten an meinem Rechner von einer Produktionsanlage über die serielle Schnittstelle.
Hierzu verwende ich das Microsoft Comm Control 6.0 (MSCOMM32.ocx).
Hier ist mal der Code, mit dem ich zunächst das Com-Control initialisiere:
Die empfangenen Daten schreibe ich dann zuerst in eine Textdatei und leite sie direkt an einen Drucker weiter,
um sie auszudrucken mit dem folgenden Code:
Ich habe festgestellt, dass die empfangenen Daten in drei Druckaufträgen an den Drucker gesendet werden.
Mitten im Text wird ein Wort unterbrochen und an dieser Stelle auf der nächsten Seite weitergedruckt.
Weiß jemand, woran das liegt? Wieso wird nicht nur ein einziger Druckauftrag gesendet, der die gesamten
Daten enthält?
Ich möchte eigentlich haben, dass der Text ausgedruckt, das Blatt aber nicht ausgeworfen wird, sondern
der nächste gesendete Text direkt hintendran gehängt wird.
ich habe folgendes Problem:
Ich empfange Daten an meinem Rechner von einer Produktionsanlage über die serielle Schnittstelle.
Hierzu verwende ich das Microsoft Comm Control 6.0 (MSCOMM32.ocx).
Hier ist mal der Code, mit dem ich zunächst das Com-Control initialisiere:
Visual Basic-Quellcode
- Private Sub Form_Load()
- With MSComm1
- .CommPort = 3
- .Handshaking = 2 - comRTS
- .InBufferSize = 500 'Festlegung der Größe des Empfangspuffers auf 500 Zeichen
- .InputLen = 0 'Durch InputLen = 0 wird der gesamte Inhalt des Empfamgspuffers gelesen
- .RThreshold = 1
- .RTSEnable = True
- .Settings = "9600,n,8,1"
- .SThreshold = 1
- .PortOpen = True
- End With
- End Sub
Die empfangenen Daten schreibe ich dann zuerst in eine Textdatei und leite sie direkt an einen Drucker weiter,
um sie auszudrucken mit dem folgenden Code:
Visual Basic-Quellcode
- Sub HandleInput(InBuff As String)
- Dim Empfangene_Daten As String
- 'Verarbeitung des empfangenen Textes.
- 'Dieser wird zunächst in das Textfeld "Text1" geschrieben
- Text1.SelStart = Len(Text1.Text)
- Text1.SelText = InBuff
- 'Gesamten empfangenen Text in eine Textdatei schreiben
- Empfangene_Daten = InBuff
- Open App.Path + "\Empfangene_Daten_AS18.txt" For Append As #1
- Print #1, Empfangene_Daten
- Close #1
- 'Empfangenen Text an Drucker weiterleiten
- Printer.Print Empfangene_Daten
- Printer.EndDoc
- End Sub
Ich habe festgestellt, dass die empfangenen Daten in drei Druckaufträgen an den Drucker gesendet werden.
Mitten im Text wird ein Wort unterbrochen und an dieser Stelle auf der nächsten Seite weitergedruckt.
Weiß jemand, woran das liegt? Wieso wird nicht nur ein einziger Druckauftrag gesendet, der die gesamten
Daten enthält?
Ich möchte eigentlich haben, dass der Text ausgedruckt, das Blatt aber nicht ausgeworfen wird, sondern
der nächste gesendete Text direkt hintendran gehängt wird.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MatthiasKraemer“ ()