Liebe Community Mein Programm ist fast fertig. Leider fehlt mir noch etwas. Wenn ich eine zu Lange Nachricht über die Com-Ports erhalte, splittet es diesen einfach. Wie ich das Problem lösen kann, weiss ich. Leider nur nicht wie ich das umsetze. Ich muss den String nach dem vbCrLf durchsuchen und falls es einen Treffer hat, sollte es eine Methode ausführen. Es sollte den Text vor den vbCrLf mitgeben. Mein jetztiger Code zum Empfangen der Nachrichten: (Versteckter Text)
Ich habe es schon mit dem versucht: (Versteckter Text) Leider funktionierte das nicht. Es schrieb nicht einmal etwas hin. Also geht es nicht in das If. Ich habe auch keine Möglichkeit gefunden sonst das <CR> im String zu finden. Danke für den anderen Link.
Danke petaod. Die Methode soll aber nicht ausgeführt werden, wenn es kein vbCrLf hat. Wenn ich das noch habe, wird es funktioniert. Oder verstehe ich das Prinzip von Split falsch
Vielen Dank für die raschen Antworten. Wie schon bei Post(7) gesagt, darf diese Methode nur dann aufgerufen werden, wenn es auch ein vbcrlf im String vorkommt. Sonst würden eure Ideen auch sehr gut funktionieren. Mir fehlt eben nur noch ein If.
Mit dem, was ich weiss, könnte ich maximal den Plan aber nicht den Cod machen. 1. Teile das String in alle Zeichen auf(Leerzeichen auch berücksichtigen) 2. Wandle die Zeichen in Bytes um und speichere diese in ein Array 3. Suche nach Byte 13 und 10 3.1 Wenn gefunden schneide das Array nach dem Byte 10 ab und gib dieses Array aus. 3.2 Wenn nicht gefunden, Funktion verlassen Das müsste das Programm machen. Den Code könnte ich nicht machen...
@petaod Zitat von petaod: „Oder was macht deine spezielle Methode, die du bei CrLf ausführst?“ Schau auf Post 1 im Spoiler die Methode WriteReceivedData. @RodFromGermany Also liest das .ReadLine nur aus, wenn es dieses vbCrLf hat? Ich verstehe es nicht.
@RodFromGermany Ich habe rausgefunden, dass Docklight die CR und LF nicht selber anhängt, sondern man muss sie selbst hinzufügen. Jetzt funktioniert alles. Es brauchte wirklich nur ein .ReadLine Vielen Dank