Umwandlung Ascii in Byte.
-
- Beiträge: 185
- Registriert: Fr 18. Jan 2013, 09:29
- OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
- CPU-Target: Celeron
Umwandlung Ascii in Byte.
Hallo zusammen
Ich habe ein Seriel-Programm-modul.
Wenn ich etwas senden will, will es als Parameter ein Byte haben.
War bisher kein Problem, da ich nur numerische Daten versandt habe.
Nun will ich aber Buchstaben(Ascii) versenden.
Wie wandle ich diese in Bytes um. Ist sicherlich sehr einfach, wenn man es weiss.
Ich habe bisher immer nur Umwandlunge von Bytes in Ascii gefunden.
mfG Fritz
Ich habe ein Seriel-Programm-modul.
Wenn ich etwas senden will, will es als Parameter ein Byte haben.
War bisher kein Problem, da ich nur numerische Daten versandt habe.
Nun will ich aber Buchstaben(Ascii) versenden.
Wie wandle ich diese in Bytes um. Ist sicherlich sehr einfach, wenn man es weiss.
Ich habe bisher immer nur Umwandlunge von Bytes in Ascii gefunden.
mfG Fritz
-
- Lazarusforum e. V.
- Beiträge: 3158
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Umwandlung Ascii in Byte.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 6164
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Umwandlung Ascii in Byte.
Wie schreibst du in die Schnittstelle, machst du dies mit Write ?
Oder hat dein Modul eine spezielle Funktion zum schreiben ?
Oder hat dein Modul eine spezielle Funktion zum schreiben ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 185
- Registriert: Fr 18. Jan 2013, 09:29
- OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
- CPU-Target: Celeron
Re: Umwandlung Ascii in Byte.
Die Ausgabe ist:
Egentlich recht einfach.
Wenn ich aber schreibe: SerialXmit(Schnittstellenname,'X'); bekomme ich vom Compile eine Fehlermeldung (Char expecting Byte) oder so ähnlich.
Wie mache ich also aus dem 'X' eine Zahl die dem Ascii-Wert entspricht ? Also quasi die Umkehrfunktion von Char().
Socke: Dein Link hat mir leider nicht weiter geholfen. Mein Englisch ist nicht besonders gut,
Gruß Fritz
Code: Alles auswählen
SerialXmit(Schnittstellenname: PSchnittstelle,Data:Byte);
Egentlich recht einfach.
Wenn ich aber schreibe: SerialXmit(Schnittstellenname,'X'); bekomme ich vom Compile eine Fehlermeldung (Char expecting Byte) oder so ähnlich.
Wie mache ich also aus dem 'X' eine Zahl die dem Ascii-Wert entspricht ? Also quasi die Umkehrfunktion von Char().
Socke: Dein Link hat mir leider nicht weiter geholfen. Mein Englisch ist nicht besonders gut,
Gruß Fritz
-
- Beiträge: 170
- Registriert: Do 3. Mär 2011, 21:34
- OS, Lazarus, FPC: WinXp/7/10 Opensuse13.2/Leap15.3 (L 2.2.0 FPC 3.2.2 )
- CPU-Target: Intel 32/64Bit, ARM9
- Wohnort: Ulm
Re: Umwandlung Ascii in Byte.
Die Umkehrung von Char() ist Ord()
also SerialXmit(Schnittstellenname, ord('X'));
NoCee
also SerialXmit(Schnittstellenname, ord('X'));
NoCee
-
- Beiträge: 185
- Registriert: Fr 18. Jan 2013, 09:29
- OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
- CPU-Target: Celeron
Re: Umwandlung Ascii in Byte.
Danke für die Antwort
Ich nehm das mal so wie es ist, verstanden habe ich aber nix. Vor allem das in dem Link von socke nicht. Macht aber nichts. Hauptsache es geht.
Gruß Fritz
Ich nehm das mal so wie es ist, verstanden habe ich aber nix. Vor allem das in dem Link von socke nicht. Macht aber nichts. Hauptsache es geht.
Gruß Fritz
-
- Beiträge: 6164
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Umwandlung Ascii in Byte.
Am einfachsten macht eine Typenumwandlung.
In meinem Beispiel sieht du noch wie man einen ganzen String ausgeben kann.
Was verwendest du für eine Komponente für deine Schnittstelle, in welcher SerialXmit vorkommt ?
In meinem Beispiel sieht du noch wie man einen ganzen String ausgeben kann.
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
const
s = 'Hello World';
var
i: integer;
begin
SerialXmit(Name, byte('X')); // Ein Zeichen
for i := 1 to Length(s) do begin
SerialXmit(Name, byte(s[i])); // Ein kompletter String
end;
end;
Was verwendest du für eine Komponente für deine Schnittstelle, in welcher SerialXmit vorkommt ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot