Contributor: AVONTURE CHRISTOPHE

{

   Swap a byte: the bit 0 will become the bit 7 of the new byte
                        1 will become the bit 6 of the new byte
                        and so on.

        For example 00010010b will be converted to 01001000b
                    10000100b                      00100001b


               ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
               º                                        º°
               º          AVONTURE CHRISTOPHE           º°
               º              AVC SOFTWARE              º°
               º     BOULEVARD EDMOND MACHTENS 157/53   º°
               º           B-1080 BRUXELLES             º°
               º              BELGIQUE                  º°
               º                                        º°
               ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ°
               °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

}

Function SwapBin (Chiffre : Byte) : Byte;

{ Usefull when you must mirror a matrix }

Var I, Temp : Byte;
    Tempo   : Byte;

Begin

   Tempo := 0;

   For I := 7 Downto 0 do Begin
       Temp  := (Chiffre and (1 shl Abs(I-7)));
       If Temp = 0 then Tempo := (Tempo shl 1)
       Else Tempo := (Tempo shl 1) + 1;
   End;

   SwapBin := Tempo;

End;