Parametry
name | jmΘno objektu; |
category | kategorie objektu; |
position | v²stupnφ parametr: Φφslo zßznamu v systΘmovΘ tabulce |
[cdp | kontextovß prom∞nnß klienta] |
Popis
Funkce zjistφ, zda existuje v otev°enΘ aplikaci objekt jmΘna name a kategorie category. Pokud ano, vrßtφ v parametru position jeho Φφslo (tj. externφ Φφslo zßznamu v p°φsluÜnΘ systΘmovΘ tabulce - TABTAB pro tabulky, OBJTAB pro ostatnφ objekty, USERTAB pro u₧ivatele a skupiny).
Jako parametr category se pou₧φvajφ konstanty:
CATEG_TABLE
, CATEG_VIEW
, CATEG_CURSOR
, CATEG_MENU
, CATEG_PGMSRC
, CATEG_PGMEXE
, CATEG_USER
, CATEG_APPL
, CATEG_PICT
, CATEG_GROUP
, CATEG_ROLE
, CATEG_CONNECTION
, CATEG_RELATION
, CATEG_DRAWING
, CATEG_GRAPH
, CATEG_REPLREL
, p°φpadn∞ sjednocenΘ s konstantou IS_LINK
.
Pokud name oznaΦuje spojovacφ objekt, pak funkce dokß₧e vrßtit bu∩ Φφslo spojovacφho objektu, nebo rovnou Φφslo objektu, kter² je tφmto spojovacφm objektem p°ipojen. Je-li parametrem category sjednocenφ konstanty oznaΦujφcφ kategorii s konstantou IS_LINK
, pak funkce vrßtφ ve v²stupnφm parametru position Φφslo spojovacφho objektu. Pokud neuvedete IS_LINK
, pak funkce vracφ Φφslo p°ipojenΘho objektu.
Funkci lze pou₧φt i na vyhledßnφ objektu typu u₧ivatel nebo skupina (CATEG_USER
, CATEG_GROUP
), kterΘ nepat°φ do ₧ßdnΘ aplikace.
Hodnota funkce
Funkce vracφ p°i ·sp∞chu FALSE, p°i ne·sp∞chu TRUE. Typickß chyba je OBJECT_NOT_FOUND - Objekt nenalezen. DoporuΦujeme v₧dy ov∞°ovat v²sledek tΘto funkce, a tak se vyhnout pozd∞jÜφ prßci s nesmysln²m Φφslem objektu.
P°φklad
if Find_object(uzivname,CATEG_USER,usernum) then begin
// u₧ivatel se nenaÜel strpom := 'U₧ivatel > '+uzivname+' < nenφ dosud zalo₧en(a).'#10'Chcete ho zalo₧it prßv∞ te∩ a pokraΦovat?';
if not YesNo_box('Varovßnφ',strpom) then halt
// zastavφ se vno°en² b∞h
else if Create_user(uzivname,'','','','',bb,'',usernum) then Signalize; end; if Find_object('SENIOR_USER',CATEG_ROLE,rolenum) then begin // role neexistuje Info_box('Nelze','Role SENIOR_USER byla zruÜena. Nelze nastavit prßva.'); halt;
// zastavφ se vno°en² b∞h, tj. prßv∞ tato procedura
end; strpom := 'Nastavuji prßva uzivatele '+uzivname+' k aplikaci '+Current_application+'...'; Set_status_text(strpom); stav := 1; if GetSet_group_role(usernum,rolenum, CATEG_ROLE,OPER_SET,stav) then Signalize; Info_box('Provedeno','OK');
Viz