Char Wert in Integer umwandeln

  • 1
  • 2
  • Page 2 of 2
Kostas
 
Avatar
 
Subject:

Re: Char Wert in Integer umwandeln

 · 
Posted: 13.08.2013 - 23:07  ·  #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
Gender:
Location: Frankfurt Main / Germany
Posts: 1697
Registered: 02 / 2003
Subject:

Re: Char Wert in Integer umwandeln

 · 
Posted: 13.08.2013 - 23:20  ·  #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
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: Char Wert in Integer umwandeln

 · 
Posted: 13.08.2013 - 23:35  ·  #11
oder so:
Quote

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

Re: Char Wert in Integer umwandeln

 · 
Posted: 13.08.2013 - 23:40  ·  #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
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: Char Wert in Integer umwandeln

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

function BitToChar(b:boolean):char;
begin
 return(char((Byte(b) and 1)+$30));
end;
  • 1
  • 2
  • Page 2 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   92   106 · Page-Gen-Time: 0.038851s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI