Char Wert in Integer umwandeln

  • 1
  • 2
  • Seite 2 von 2
Kostas
 
Avatar
 
Betreff:

Re: Char Wert in Integer umwandeln

 · 
Gepostet: 13.08.2013 - 23:07 Uhr  ·  #9
Wenn ich dich jetzt richtig verstanden habe, gibt es keine Funktion die das erledigt.

Code
var PumpID:byte;
begin
  PumpID := byte(RXTelegramArray[2])-$30;


So habe ich es ausprobiert, und es funktioniert.

Bitte noch eine sehr ähniche Frage:
Ich habe ein Schalter so definiert:

{ Var Declarations }
var
Schalter[@PortD,2] : Bit;

Vermutlich gibt es auch dafür kein direkten Weg den Schalterzustand 0 oder 1 als Ziffer in die RS232 zu schreiben?
Write(SerOut, 'S=' + char(Schalter));
Das hier schreibt bei Zustand 0 eine 0 jedoch bei 1 eine 255
Dankeschön Gunter.

[Edit]

an ich verstehe mit der function IsNumeric(s : char; var Ret : integer) : boolean;
funktioniert das natürlich immer. Ich habe nach Bordmitteln gesucht.

Dann hat sich meine Frage bezüglich Schalter-Zustand in die RS232 schreiben auch erübrigt.

Dankeschön zusammen. Damit komme ich jetzt weiter.

Gruß Kostas
Gunter
Administrator
Avatar
Geschlecht:
Herkunft: Frankfurt Main / Germany
Beiträge: 1697
Dabei seit: 02 / 2003
Betreff:

Re: Char Wert in Integer umwandeln

 · 
Gepostet: 13.08.2013 - 23:20 Uhr  ·  #10
richtig! false wird intern als 0, true als $FF dargestellt. Und ein Bit ist nunmal true oder false.
Und es existiert keine Rechenvorschrift, wie man da was umrechnen können.
Genauso wenig kann man die ASCII-Tabelle be-/umrechnen.
miparo
PowerUser
Avatar
Geschlecht:
Herkunft: Germany
Alter: 59
Beiträge: 1000
Dabei seit: 09 / 2007
Betreff:

Re: Char Wert in Integer umwandeln

 · 
Gepostet: 13.08.2013 - 23:35 Uhr  ·  #11
oder so:
Zitat

Write(SerOut, 'S=' + ByteToStr(byte(Schalter) and 1));
Kostas
 
Avatar
 
Betreff:

Re: Char Wert in Integer umwandeln

 · 
Gepostet: 13.08.2013 - 23:40 Uhr  ·  #12
ah, ok.
Write(SerOut, 'S=' + ByteToStr(byte(Schalter) and 1));

Ich habe mir jetzt eine function geschrieben, die ich gleich auf deine Version umbayuen werde.
:-)

Code
{------------------------------------------------------------------------------}
function BitToChar(b:boolean):char;
{------------------------------------------------------------------------------}
begin
  if b then
    return('1');
  else
    return('0');
  endif;

end BitToChar;
miparo
PowerUser
Avatar
Geschlecht:
Herkunft: Germany
Alter: 59
Beiträge: 1000
Dabei seit: 09 / 2007
Betreff:

Re: Char Wert in Integer umwandeln

 · 
Gepostet: 14.08.2013 - 00:03 Uhr  ·  #13
meine wäre so:
Code

function BitToChar(b:boolean):char;
begin
 return(char((Byte(b) and 1)+$30));
end;
  • 1
  • 2
  • Seite 2 von 2
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 8 · Cache Hits: 14   95   109 · Page-Gen-Time: 0.014445s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI