Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bits abfragen oder setzen (https://www.delphipraxis.net/2068-bits-abfragen-oder-setzen.html)

berbog 5. Jan 2003 18:19


Bits abfragen oder setzen
 
:shock: Hallo zusammen
ich bekomme aus einer Ein-Ausgabeeinheit einen dezimalkocdierten Wert der einzelnen Eingänge zurück (Eingang 0 = Bit 0 =1 werden aufaddiert, Eingang 1 = Bit 1 =2 werden aufaddiert,Eingang 4 = Bit 4 =16 werden aufaddiert usw.).Wie kann ich diese Werte einfach abfragen. Für die Ausgänge Addiere ich einfach 1,2 oder 16 auf.Hat jemand eine Idee ohne es mit vielen IF-Then schleifen zu machen.
Vielen Dank im Voraus
Gruss Bernd

sakura 5. Jan 2003 18:59

Folgender Thread hat sich ausführlich mit dem Thema beschäftigt

http://www.delphipraxis.net/viewtopi...&highlight=bit

berbog 5. Jan 2003 19:08

Hallo Sakura
Danke für den Hinweis, aber das bezieht sich sufs komplette invertieren, und nützt mir so nichts.
gruss Bernd

sakura 5. Jan 2003 19:15

Na gut, dann noch einmal separat. Irgendwo hatten wir die schon mal...

Setzen eines Bits (0..31)
Delphi-Quellcode:
function SetBit(CurrentValue: Integer; Bit: Byte; Position: Boolean): Integer
begin
  if Position then
    Result := CurrentValue or (1 shl Bit)
  else
    Result := CurrentValue and (not (1 shl Bit));
end;
Setzen eines Bits (0..31)
Delphi-Quellcode:
function GetBit(CurrentValue: Integer; Bit: Byte): Boolean;
begin
  Result := CurrentValue and (1 shl Bit) > 0;
end;
...:cat:...

berbog 7. Jan 2003 13:37

Hallo Sekura
Entschuldige, das ich mich erst jetzt melde
erstmal herzlichen Dank für deine Auskunft
Es war noch keine Zeit es zu probieren
Gruss Bernd

berbog 11. Jan 2003 16:55

Hallo Sakura


Herzlichen Dank ! Es klappt sehr Gut und Ich hoffe diesen Code mittlerweile
auch Verstanden zu haben.

Gruss Bernd


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 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