Betreft: Delphi 7 / win2000prof
Ik wil een rechtensysteem opzetten dmv byte.
Dus elke optie die (aan of uit kan staan) heeft een word waarde
voorbeeld:
Door dan een functie aan te roepen controlleer_permissions(1) kan ik dus controlleren of die gebruiker iets mag aan de hand van het item-nummer.
Ik krijg alleen dat typecasten niet goed, mag het zo? moet het zo? als ik debug, komt er in ups gewoon '3' te staan als integer...
In het voorbeeld geeft hij alleen bij case: 1 , een true waarde terug maar bij de andere 2 niet (3 is niet ingevuld, het is maar een voorbeeld)...
Nadere uitleg gewenst...
Ik wil een rechtensysteem opzetten dmv byte.
Dus elke optie die (aan of uit kan staan) heeft een word waarde
voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| const
may_login = $00000001; // 1
may_logout = $00000010; // 2
function controlleer_permissions(item:integer):boolean;
var
ups:byte;
begin
ups := byte(3); // $00000011; { in plaats van de 3 komt
de gebruiker z'n security level
te staan. }
case item of
1: if (ups and may_login) = may_login then result := true;
2: if (ups and may_logout) = may_logout then result := true;
3: // andere dingen die gecontrolleerd moeten worden.
end;
end; |
Door dan een functie aan te roepen controlleer_permissions(1) kan ik dus controlleren of die gebruiker iets mag aan de hand van het item-nummer.
Ik krijg alleen dat typecasten niet goed, mag het zo? moet het zo? als ik debug, komt er in ups gewoon '3' te staan als integer...
In het voorbeeld geeft hij alleen bij case: 1 , een true waarde terug maar bij de andere 2 niet (3 is niet ingevuld, het is maar een voorbeeld)...
Nadere uitleg gewenst...
[ Voor 14% gewijzigd door Cheater op 21-10-2003 16:06 ]