Eleu Geschrieben 7. November 2010 Teilen Geschrieben 7. November 2010 Hallo, ich hätte mal eine Frage zu dem MSComm - Steuerelement und der Eigenschaft (mscomm1.output) Angenommen man möchte nachfolgendes über die serielle Schnittstelle übertragen: <STX> E <ETX> Dann würde ich das in VB6 so machen: mscomm1.output = chr(2) & "E" & chr(3) Ich bin aber nicht sicher ob das so richtig ist ? Habe im Internet aber auch schon nachfolgende Varianten gesehen: mscomm1.output = chr$(2) & "E" & chr$(3) oder mscomm1.output = chr(&H2) & "E" & chr(&H3) Welche Variante ist den jetzt die richtige Variante, oder funktionieren generell alle 3 ? Wann und warum braucht man das "$" - Zeichen ? Wann und warum braucht man als Steuerzeichen den Hex - Wert ? Es gibt ja auch das Steuerzeichen <LF> Auch da gibt es 3 Möglichkeiten: chr(10) chr$(10) chr(&HA) Kann mir das jemand erklären ? Gruß Eleu Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PromiseYou Geschrieben 7. November 2010 Teilen Geschrieben 7. November 2010 Hier ist wohl die Überschrift was falsch :/ So wie ich das lese, hast du hier weniger ein Problem mit dem Objekt, als vielmehr mit den Stringfunktionen. Ich hab dir mal den "Hilfetext" hier hin kopiert, der ist eigentlich selbsterklärend Chr-Funktion Gibt einen Wert vom Typ String zurück, der das Zeichen enthält, das dem angegebenen Zeichen-Code zugeordnet ist. Syntax Chr(Zeichencode) Das erforderliche Argument Zeichencode ist ein Wert vom Typ Long, der ein Zeichen festlegt. Bemerkungen Die Zahlen von 0 bis 31 entsprechen den nicht darstellbaren Standard-ASCII-Codes. Chr(10) gibt zum Beispiel ein Zeilenvorschubzeichen zurück. Der normale Bereich für Zeichencode ist 0 bis 255. Auf DBCS-Systemen entspricht der tatsächliche Bereich für Zeichencode jedoch -32768 bis 65535. Anmerkung Die ChrB-Funktion wird mit Byte-Daten verwendet, die in einem Wert vom Typ String enthalten sind. Anstelle eines Zeichens, das aus einem oder zwei Bytes bestehen könnte, gibt ChrB immer ein einzelnes Byte zurück. Die ChrW-Funktion gibt einen Wert vom Typ String zurück, der das Unicode-Zeichen enthält. Dies gilt nicht für Plattformen, auf denen Unicode nicht unterstützt wird. In diesem Fall entspricht das Verhalten der Chr-Funktion. Anmerkung Visual Basic für den Macintosh unterstützt keine Unicode-Zeichenfolgen. Deshalb kann ChrW(n) nicht wie in der Windows-Umgebung alle Unicode-Zeichen für n Werte im Bereich von 128 bis 65.535 zurückgeben. Statt dessen versucht ChrW(n), für Unicode-Werte, bei denen n größer als 127 ist, den Wert zu "erraten". Sie sollten ChrW daher nicht in der Macintosh-Umgebung verwenden. somit sind chr() und chr$() (mehr oder weniger) identisch, und das mit der Hexadezimalregelung findet (fast) überall anwendung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Eleu Geschrieben 7. November 2010 Autor Teilen Geschrieben 7. November 2010 ,Ich hab dir mal den "Hilfetext" hier hin kopiert, der ist eigentlich selbsterklärend somit sind chr() und chr$() (mehr oder weniger) identisch, und das mit der Hexadezimalregelung findet (fast) überall anwendung. Danke für die schnelle Info. Also sind höchstwahrscheinlich alle 3 Varianten o.k. Der Hilfetext - Auszug ist selbsterklärend. Für mich aber leider nicht so.:confused: Bedeutet das $ - Zeichen das entweder die ChrW oder ChrB genommen wird ? Liege ich mit chr$() dann immer richtig ? Oder wie ist es gemeint ? Sind diese beiden Varianten eigentlich auch gleich ? mscomm1.output = chr$(2) & "E" & chr$(3) mscomm1.output = chr$(2) & chr$(69) & chr$(3) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Eleu Geschrieben 7. November 2010 Autor Teilen Geschrieben 7. November 2010 Habe eine Erklärung gefunden, die ich besser verstehe: VBA chr$() | aus Forum Visual Basic | wer-weiss-was Danke nochmal. Gruß Eleu Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.