|
≫ |
|
|
|
HP OpenVMS DCL ディクショナリ
F$IDENTIFIER
英数字の識別子を,それに相当する整数に変換します。または,その逆の操作を実行します。識別子は,ユーザのカテゴリを識別するための名前または番号です。システムは,この識別子を使用して,リソースに対する利用者のアクセス権を判断します。
形式
F$IDENTIFIER (識別子,変換タイプ)
戻り値
F$IDENTIFIER 関数は,識別子を名前から整数に変換する場合には整数値を,整数から名前に変換する場合には文字列を戻します。誤った識別子を指定すると, F$IDENTIFIER 関数は空文字列 ("") ( 整数から名前に変換する場合 ),または 0 ( 名前から整数に変換する場合 ) を戻します。
引数
識別子変換される識別子を指定します。整数から名前に変換する場合は,整数式として指定します。名前を整数に変換する場合は,文字列式として指定します。
Name Hidden 属性を持つ識別子の場合,質問に識別子がない場合,または権利データベースへの読み込みアクセス権がない場合, F$IDENTIFIER はエラーになります。属性についての詳細は,『OpenVMS システム・セキュリティ・ガイド』を参照してください。
変換タイプ実行される変換のタイプを指定します。
識別子 引数が英数字の場合は, "NAME_TO_NUMBER" を含む文字列として
変換タイプ を指定します。
識別子 引数が数値の場合は, "NUMBER_TO_NAME" を含む文字列として
変換タイプ を指定します。
例
#1 |
$ UIC_INT= F$IDENTIFIER("SLOANE","NAME_TO_NUMBER")
$ SHOW SYMBOL UIC_INT
UIC_INT = 15728665 Hex = 00F00019 Octal = 00074000031
$ UIC = F$FAO("!%U",UIC_INT)
$ SHOW SYMBOL UIC
UIC = [360,031]
|
この例では,F$IDENTIFIER 関数を使用して, MANAGERS,SLOANE]という UIC のメンバ識別子を整数に変換しています。 F$IDENTIFIER 関数は,メンバ識別子 SLOANE が, 15728665 という整数に等しいことを示しています。 SLOANE という識別子を指定する場合には,大文字を使用しなければなりません。
この 8 進数を標準的な数値形式の UIC に変換するには, F$FAO 関数と !%Uディレクティブを使用します ( このディレクテイブは,ロングワードを名前形式の UIC に変換します )。この例では,SLOANE というメンバ識別子は,数値形式の UIC[360,031]と同値です。
#2 |
$ UIC_INT = (%O31 + (%X10000 * %O360))
$ UIC_NAME = F$IDENTIFIER(UIC_INT,"NUMBER_TO_NAME")
$ SHOW SYMBOL UIC_NAME
UIC_NAME = "ODONNELL"
|
この例は,数値形式の UIC[360,031]に対応する英数字のの識別子を求めています。まず,UIC[360,031]に対応するロングワード整数を求めなければなりません。このためにメンバ番号を下位ワードに,グループ番号を上位ワードに挿入します。次に,F$IDENTIFIER 関数を使用して,その整数に対応する名前形式の識別子を求めます。
|