AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String über Serielle Schnittstelle

Ein Thema von GierigeSau · begonnen am 4. Sep 2006 · letzter Beitrag vom 16. Jun 2007
Antwort Antwort
Seite 2 von 2     12   
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#11

Re: String über Serielle Schnittstelle

  Alt 16. Jun 2007, 12:32
Hallo,

alle von dir benötigten Informationen finden sich in deinem Thread:

sendbyte (Length(Edit1.Text)); Grüße vom marabu

PS: Mit deinem Nick auf einer Visitenkarte stehen dir in der IT-Welt Türen und Tore offen ...
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#12

Re: String über Serielle Schnittstelle

  Alt 16. Jun 2007, 12:38
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
  Mit Zitat antworten Zitat
GierigeSau

Registriert seit: 4. Sep 2006
8 Beiträge
 
#13

Re: String über Serielle Schnittstelle

  Alt 16. Jun 2007, 16:28
Hey, es klappt noch nicht... ich versteh das nicht. Die Zahlen einzeln übertragen macht das Prog, aber obwohl ich vorher
Delphi-Quellcode:
za := Byte(length(Edit1.Text));
sendbyte(za);
mach, klappt es nicht, aber dies ist auch nicht die einzigste möglichkeit die ich getestet habe, habe schon alles probiert...
sendbyte(length(Edit1.Text)); oder
Delphi-Quellcode:
za := length(Edit1.Text);
sendbyte(za);
ich versteh im moment nur noch bahnhof...
  Mit Zitat antworten Zitat
GierigeSau

Registriert seit: 4. Sep 2006
8 Beiträge
 
#14

Re: String über Serielle Schnittstelle

  Alt 16. Jun 2007, 16:46
Bitte nicht schlagen...
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! "

*autsch, das tat weh...

Trotzdem Danke an euch.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: String über Serielle Schnittstelle

  Alt 16. Jun 2007, 16:48
Hallo,

wenn die Übertragung mit dem Code aus Beitrag #6 funktioniert, dann empfehle ich dir folgende kleine Änderung:

Delphi-Quellcode:
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;
Freundliche Grüße
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz