Suchergebnisse

Suchergebnisse 1-17 von insgesamt 17.

  • Benutzer-Avatarbild

    So, ich bin nach einer Weile Abwesenheit jetzt wieder damit beschäftig. Zitat von RodFromGermany: „Was sagt die Beschreibung der Gegenstelle?“ Da kommt man leider nicht ran...ich denke, das Problem mit der Darstellung der Umlaute werde ich mit Text.Replace lösen. Zitat von xmise: „@Sbfer schreib einfach deine Ergebnisse in den match.Success Klauseln nicht direkt ins Richtext-Fenster sondern in eine String Variable. nachdem Du in match4.Success die Varible befüllt hast, Schreibe deren Inhalt ins …

  • Benutzer-Avatarbild

    Soooooo, also: da ich schon nicht wusste wie ich diverse Vorschläge "in Code" ausdrücke ,habe ich es nun folgendermaßen gelöst: VB.NET-Quellcode (17 Zeilen) Nun sind die Daten schön korrekt, und es ist alles richtig formatiert. So, nun hätte ich nur noch zwei Fragen...dann komme ich alleine zurecht Bei meiner Lösung wird die Textbox immer neu aufgebaut, erste Zeile Teil 1 überschreibt sich immer, man sieht also die "wechselnden Wörter", während für den zweiten Teil der ersten Zeile und beide Tei…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Kommen IMMER genau zwei Zeilen gepaart an?“ Rausgeschickt werden die vier Pakete immer in der richtigen Reihenfolge. 1. Erstes Paket Zeile A 2. Zweites Paket Zeile A 3. Erstes Paket Zeile B 4. Zweites Paket Zeile B Angezeigt / aktualisiert werden sollen sie stets zeitgleich. Dazwischen kann noch das Paket für den Heartbeat hängen. Angezeigt werden die Pakete, egal mit welcher Verzögerung bei Task.Delay, nur meistens in der richtigen Reihenfolge, da beginnt er alle paar…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „OK. Wo ist das Problem?“ So wie der aktuelle stand ist, das ganze im Timer mit ReadLine und dem NewLine/ConvertToChar erfüllt Zitat von Sbfer: „immer ERST wenn BEIDE Zeilen vollständig empfangen wurden, werden diese in die Textbox geschrieben“ das nicht. Da mehrfach von Regex abgeraten wurde, dachte ich, es gäbe einen Alternativvorschlagg, wie ich das am besten löse Ich werde es einfach mal so: Zitat von Sbfer: „mit Regex abfragen und Text in der Textbox immer dann übe…

  • Benutzer-Avatarbild

    Daten werden empfangen und zwischengespeichert, immer ERST wenn BEIDE Zeilen vollständig empfangen wurden, werden diese in die Textbox geschrieben -> User sieht keine halbleere Textbox oder fehlende Datenpakete -> mind 1x pro Sekunde. Das soll permanent so gehen. Die Datenpakete die nicht für die Textbox sind (Heartbeat, hat eigene Startkennung, endet auch mit 04) wird nach Empfang sofort an eigene Sub weitergegeben und dort verarbeitet.

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Was soll denn mit den Daten passieren?“ Ziel wäre wahrscheinlich die Daten nicht direkt in die Textbox zu empfangen, sondern irgendwo zu speichern (Puffer?) -> dass macht Zitat von RodFromGermany: „Dim txt = SerialPort1.ReadLine()“ das ja eigentlich. So, nun soll die Textbox immer dann aktualisiert werden, wenn beide Zeilen wieder vollständig empfangen wurden, nicht voher oder nacheinander. So dass beide Zeilen dann zeitgleich aktualisiert werden und der Nutzer beim na…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Mach das genau da, wo ich es markiert habe.“ Erledige ich noch. Zitat von RodFromGermany: „Was willst Du mir damit sagen?“ Ich wollte... Zitat von Sbfer: „Müsste ich die Daten irgendwie puffern? Und immer in die Richtextbox wenn Puffer voll?“ ...darauf hinaus, weil ich mit meinen Kenntnissen nicht wirklich beurteilen kann, ob es mit deiner Methode möglich ist, ohne "durchlaufen" in der Textbox die Darstellung hinzubekommen, sondern dass der Text immer replaced wird, we…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „welches Framework Du verwendest.“ 4.7.1. Zitat von RodFromGermany: „Mit Async und await Task.Delay(100) blockiert die GUI nicht.“ So, mit einem Delay von 700 klappt es soweit, dass die Reihenfolge (meistens....) stimmt und auch entsprechend angezeigt wird. Aber egal ob Delay 100 oder 5000, bei jedem 2-5 Versuch fängt er mit dem Teil für Zeile 2 in der ersten Zeile an... auch das gleichzeitige aktualisieren könnte so wahrscheinlich schwierig werden... aktuell habe ich V…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Sleep(100)“ Ich hab das mal getestet... ich vermute es war Thread.Sleep gemeint? Das friert natürlich (gefühlt) die Form ein. Habe daher für Zitat von RodFromGermany: „Sleep(100) ' Pause zur Bearbeitung der Anfrage und Datenübertragung, den Wert musst Du ausprobieren SerialPort1.ReadLine() RichTextBox1.Text &= SerialPort1.ReadLine“ einen eigenen Timer erstellt. Dann friert nichts mehr ein, aber das Ergebnis ist ähnlich... es fängt erstmal mit dem zweiten Teil der erste…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Welchen Wert hat Timer1.Interval?“ Angedacht waren 500, da es in der Textbox mindestens 1x pro Sekunde aktualisiert werden sollte. Habe aber auch schon 200 und 1500 MS getestet, ändert nichts. Gemäß einer Aufzeichnung mittels Serial Port Monitor die ich leider gerade nicht hier habe, sieht es aber so aus als würde die Platine die Datenpakete immer in der richtigen Reihenfolge rausschicken... Also Statusabfrage wird gesendet: Erstes Paket kommt, Abfrage wird wieder gese…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Poste mal den kompletten Code“ VB.NET-Quellcode (70 Zeilen)

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Diese Zeile gehört in die Initialisierung, also vor Port.Open().“ Direkt geändert und getestet - weiterhin erscheinen Teile die für Zeile 1 gedacht sind in der zweiten Zeile und umgekehrt. Zudem müsste die Textbox gecleared werden, wenn beide Zeilen voll sind, bevor es weiter geht, das muss ich noch irgendwie machen. Eigentlich soll die Textbox immer dann mit neuen Daten gefüllt werden, wenn beide Zeilen vollständig in der Textbox sind, und das möglichst gleichzeitig f…

  • Benutzer-Avatarbild

    Zitat von xmise: „Damit der Text in der Textbox stehen bleibt:QuellcodeTextbox.text &= neuerText“ ibb.co/tZtRCbV sieht jetzt ungefähr so aus... liegt wohl daran dass die Zeilen / Datenpakete durcheinander von der Platine kommen. Zitat von RodFromGermany: „Poste mal den kompletten Code.“ Bis auf einen Button der den Port öffnet und die Statusabfrage per Timer sendet sowie Buttons die den Code für Auf/ab etc. senden nur folgendes: (vorher den Regex Code) VB.NET-Quellcode (5 Zeilen)

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Du hast eine Property des SerialPorts .NeweLine. Setze ihn auf Convert.ToChar(4).ToString()“ Eben erledigt - ähnlich wie bei ReadExisting sieht man immer kurz ein halbes Wort...jetzt zwar keine Daten für Zeile 2 in der ersten mehr... aber korrekt angezeigt wird trotzem nichts. Ich vermute das reicht so nicht aus Und dazu werden die Daten für den "Heartbeat" als "????" auch angezeigt, die ich mit Regex aus der Textbox fernhalten wollte.

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „fangen alle Blöcke mit 01 an und hören mit 04 auf. Ist das zu verallgemeinern?“ Das ist korrekt, ausnahmslos alles beginnt mit 01 und endet mit 04. Zitat von xmise: „Was wird denn noch an Nachrichten gesendet ausser "Netzbetrieb" und "Weiter mit Enter" ?“ Mehrere Hundert Menüs, Texte, Zustände von Ein und Ausgängen...deshalb dachte ich es wäre am einfachsten per RegEx zu sagen "alles zwischen Beginn und Ende matchen" und zeitgleich das zu nutzen um alle anderen Daten, …

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Willkommen im Forum.“ Danke Zitat von xmise: „Die Daten vom Com-Port können zu dem Zeitpunkt des Abholens evtl. noch gar nicht vollständig übertragen worden sein.“ Wenn ich mir das so anschaue... da die Abfrage alle 200 Millisekunden erfolgt, antwortet die Platine innerhalb einer Sekunde in der Regel mindestens 2x mit jedem Datenpaket. Zitat von RodFromGermany: „Kann es sein, dass die Länge der Datenpakete gleich ist?“ Ja und Nein, die Daten, die für die Textbox bestim…

  • Benutzer-Avatarbild

    Hallo zusammen, ich weiß, bei Fragen zu Regex rollen einige wahrscheinlich schon mit den Augen Folgende Situation: Ich möchte die Daten von einer Platine, die per RS232 Adapter an den PC angeschlossen ist, in einer Rich Textbox darstellen, es handelt sich dabei quasi um das Menü, mit entsprechend programmierten Buttons wird dann gesteuert. Da einige Werte (je nach geöffnetem Menü) in Echtzeit angezeigt werden, wird die Anfrage an die Platine alle 200 Millisekunden gesendet. Daher kommen auch die…