Parametry
table | tabulka deklarovanß v programu - viz podrobnosti |
username | jmΘno u₧ivatele; |
rights | v²stupnφ parametr: zßkladnφ prßva u₧ivatele k dat∙m; |
rd_ri | v²stupnφ parametr: rozÜi°ujφcφ prßva ke Φtenφ sloupc∙; |
wr_ri | v²stupnφ parametr: rozÜi°ujφcφ prßva k p°episovßnφ dat. |
Popis
Od verze 5.0 se jednß o funkci zastaralou, pln∞ nahrazenou obecn∞jÜφ funkcφ GetSet_privils
, nicmΘn∞ mnohem jednoduÜÜφ a v jednoduch²m p°φpadech pou₧itelnou.
Funkce p°eΦte p°φstupovß prßva u₧ivatele k dat∙m obsa₧en²m v tabulce. Je-li parametr username prßzdn² °et∞zec, funkce pracuje s prßvy p°ihlßÜenΘho u₧ivatele.
Parametr rights nabude hodnotu rovnou souΦtu t∞chto prßv: RIGHT_READ (1), RIGHT_WRITE (2), RIGHT_INSERT (4), RIGHT_DEL (8), RIGHT_GRANT (128).
RozÜi°ujφcφ prßva nemajφ od verze 5.0 v²znam.
Hodnota funkce
Funkce vracφ p°i ·sp∞chu FALSE, p°i ne·sp∞chu TRUE.
P°φklad 1
var a,b,c, pozice : short; begin Find_object("tab1",categ_table,pozice);
{ do prom. pozice se zapsalo Φφslo tabulky TAB1 }
Get_data_rights(pozice,"honza",a,b,c); { do prom. a,b,c se zapsala prßva skupiny EVERYBODY k TAB1 } Info_box("prßva k obsahu",int2str(a)); end.
Nech¥ mß HONZA k tabulce TAB1 prßvo Φφst vÜechny sloupce a vklßdat zßznamy;
V prom∞nnΘ a bude hodnota 5 (RIGHT_READ + RIGHT_INSERT),
P°φklad 2
function TestPrav : Boolean; {**************************************}
{ov∞°enφ, mß-li p°ihlßÜen² u₧ivatel dostatek prßv k tabulce Tab1
var a,b,c : short; jmeno : string[31]; begin TestPrav := true; jmeno := Who_am_I; Get_data_rights(Tab1,jmeno,a,b,c); if (a and Right_read = 0) or (a and Right_write = 0) or (a and Right_insert = 0) or (a and Right_del = 0)
then if not YesNo_box("Upozorn∞nφ", "Nemßte vÜechna pot°ebnß prßva,"#10"program nebude sprßvn∞ fungovat."#10#10"PokraΦovat?")
then TestPrav := False; end;
Viz