Einzelnen Beitrag anzeigen

UweG.

Registriert seit: 15. Okt 2003
Ort: Ruhrgebiet
15 Beiträge
 
Delphi 2 Developer
 
#12

Re: Ansteuern des Parallelports

  Alt 22. Okt 2003, 13:16
Hallo Stephan,

solltest Du den Wert des Porteingangs so abfragen

Delphi-Quellcode:
case Port of
    LPT_DataRegister : Begin
                             IF Value AND $01 = $01 then result:=1;
                             IF Value AND $02 = $02 then result:=2;
                             IF Value AND $04 = $04 then result:=3;
                             IF Value AND $08 = $08 then result:=4;
                             IF Value AND $16 = $16 then result:=5;
                             IF Value AND $32 = $32 then result:=6;
                             IF Value AND $64 = $64 then result:=7;
                             IF Value AND $128 = $128 then result:=8

  else result:= 0;
bekommst Du als Resultat immer nur das höchstwertig gesetzte Bit zurückgegeben.

Beispiel

Value = 10010000b
Dann erfolgt bei Value AND $16 => result := 5
und bei Value AND $128 => result := 8

Die Information von Bit4 geht also verloren

Möchtest Du die Anzahl der gesetzten Bits wissen, solltest Du Result inkrementieren, ansonsten bleibt Dir nur die Übergabe des binären Wertes oder die Zuweisung an acht einzelnen Variabelen oder an ein Array oder eine Struktur.



MfG.
Uwe



[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
MfG. Uwe

Nichts hält länger, als ein gutes Provisorium !
  Mit Zitat antworten Zitat