![]() |
Re: String über Serielle Schnittstelle
Hallo,
alle von dir benötigten Informationen finden sich in deinem Thread:
Delphi-Quellcode:
Grüße vom marabu
sendbyte (Length(Edit1.Text));
PS: Mit deinem Nick auf einer Visitenkarte stehen dir in der IT-Welt Türen und Tore offen ... |
Re: String über Serielle Schnittstelle
Hi, wie genau überträgst Du denn im Moment was?
Wenn Du die Anzahl der Stellen überträgst, dann nochmal der Hinweis darauf, dass Du hier Byteweise verschickst. Hast Du <= 255 Stellen, kannst Du einfach die Länge in ein Byte casten - Byte(Length(s)) - und verschicken. Bei größeren Zahlen musst Du auf Seiten des Empfängers erst die Zahl aus mehreren Bytes zusammensetzen (mittels Shift-Operationen und logischem Oder). Ok, sehe gerade dass der marabu wieder schneller war! Gruß Der Unwissende |
Re: String über Serielle Schnittstelle
Hey, es klappt noch nicht... ich versteh das nicht. Die Zahlen einzeln übertragen macht das Prog, aber obwohl ich vorher
Delphi-Quellcode:
mach, klappt es nicht, aber dies ist auch nicht die einzigste möglichkeit die ich getestet habe, habe schon alles probiert...
za := Byte(length(Edit1.Text));
sendbyte(za);
Delphi-Quellcode:
oder
sendbyte(length(Edit1.Text));
Delphi-Quellcode:
ich versteh im moment nur noch bahnhof...
za := length(Edit1.Text);
sendbyte(za); |
Re: String über Serielle Schnittstelle
Bitte nicht schlagen... :wall: :wall: :wall:
Zum merken für mich selber:" Man sollte zum überprüfen des Source nicht einen 2. PC anschließen, mit einem Terminal-Prog was nur "ganz-zahlen" und keine "Bytes" darstellt! :coder2: " *autsch, das tat weh... Trotzdem Danke an euch. :dp: :spin2: |
Re: String über Serielle Schnittstelle
Hallo,
wenn die Übertragung mit dem Code aus Beitrag #6 funktioniert, dann empfehle ich dir folgende kleine Änderung:
Delphi-Quellcode:
Freundliche Grüße
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer; s: ShortString; begin if Edit1.Text <> '' then begin // Damit nicht bei jedem Zugriff auf ein Zeichen von Edit1.Text // Windows in Aktionismus ausbricht (ist gar nicht so einfach an diesen Text heran // zu kommen), speichern wir den Text in einen ShortString um. // So erhalten wir auch gleich das Längenbyte. s := Edit1.Text; // über den ganzen String iterieren // Achtung, Strings sind 1 indiziert, dynamische Arrays beginnen bei 0! // s[0] enthält die Längeninformation ... for i := 0 to length(s) do begin // Edit1.Text[i] = das i-te Zeichen aus Edit1.Text // ord(ZEICHEN) = der Ordinale Wert des ZEICHEN SendByte(Ord(s[i])); end; end else begin ShowMessage ('Telefon-Nummer eingeben!'); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz