Einzelnen Beitrag anzeigen

Thomas Horstmann

Registriert seit: 25. Apr 2007
86 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: 8 Bits zu CheckBoxen zuweisen - Ansatz gesucht

  Alt 11. Jun 2008, 22:28
Hallo,

evtl. hilft diese Funktion weiter. "iValue" entspricht z.B. der Byte-Variable.
Und "iBit" legt das zu prüfende Bit fest (beginnend von rechts, wobei 0 dem ersten Bit enspricht).

"FloatToStr" bzw. "StrToInt" werden benutzt, weil "IntPower" Extended zurückgibt. Dies schien mir
der einfachste weg zu sein, um wieder auf Integer zu kommen. Deshalb auch zur Sicherheit
try/except. Gibt sicherlich elegantere Wege, aber läuft.

Viele Grüße
Tom

Delphi-Quellcode:
function CheckBit
( iValue : Integer ;
  iBit : Integer ) : Boolean ;
var
iString : String ;
iBitValue : Integer ;
begin
{ Variablen }
iString := FloatToStr(IntPower(2,iBit)) ;
  try
  iBitValue := StrToInt(iString) ;
  except
  iBitValue := 0 ;
  end ; // try
{ Prüfen und Rückgabe }
result := (iBitValue and iValue = iBitValue) ;
end ;
  Mit Zitat antworten Zitat