Ik heb een probleem bij het uitvoeren van de BinToHex procedure. Aan de prodecure geef ik een GPIOPins type mee. Dit is een array[0..15] of Boolean; Van deze array worden bits gemaakt die allemaal in 1 string komen te staan.
Als ik nu bijv alleen bit 0 op 1 zet dan krijg ik als Hex waarde: 30303030......
Dat klopt dus totaal niet. Weet iemand wat ik fout doe?
Als ik nu bijv alleen bit 0 op 1 zet dan krijg ik als Hex waarde: 30303030......
Dat klopt dus totaal niet. Weet iemand wat ik fout doe?
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| var Pins: String; PinValueHex: array[0..31] of Char; i: Integer; begin Pins := ''; for i := 15 downto 0 do begin if GPIOPins[i] then Pins := Pins + '1' else Pins := Pins + '0'; end; try BinToHex(PChar(Pins), @PinValueHex, 2 * Sizeof(Pins)); PinValueHex[SizeOf(PinValueHex) - 1] := #0; except on E: Exception do begin ShowMessage('Error: ' + E.Message); end; end; Result := PinValueHex; |