前のページ | 次のページ | 目次 | 索引

4 DEC XTPU組込みプロシージャ

この章ではDEC XTPU組込みプロシージャについて,2つの節に分けて説明しています。 第4.1節 組込みプロシージャ が機能に応じて分類されています。

第4.2節 組込みプロシ ージャのうち日本語特有な機能変更や,DEC XTPUで追加のあったものについ て個別に説明されています。また,DEC XTPUでは制限付きで使用できるプロ シージャも記述されています。

4.1 機能別に分類した組込みプロシージャ

以下のリストは,編集作業を実行するときに,どの作業に対してどの 組込みプロシージャを使用すればよいかを判断するのに役立ちます。 組込みプロシージャについての詳しい説明は,第4.2節 の各プロシージャに関する説明を参照してください。英語版の DECTPUと機能的に変更のないプロシージャは,第4.2節 には記述されていませんので『Guide to the DEC Text Processing Utility』 を参照してください。第4.2節 に記述されているプロシージャは,アスタリスク(*)で示されています。

4.1.1 スクリーン・レイアウト

ADJUST_WINDOW
CREATE_WINDOW
MAP
REFRESH
SET (DISPLAY_VALUE,...)
SET (PAD,...)
SET (PROMPT_AREA,...)
SET (SCREEN_UPDATE,...)
SET (SCROLLING,...)
SET (STATUS_LINE,...)
SET (TEXT,...)
SET (VIDEO,...)
SET (WIDTH,...)
SHIFT
UNMAP
UPDATE

4.1.2 カーソルの移動

ALIGN_CURSOR (*)
CURSOR_HORIZONTAL
CURSOR_VERTICAL
SCROLL
SET (COLUMN_MOVE_VERTICAL,...)
SET (CROSS_WINDOW_BOUNDS,...)
SET (DETACHED_ACTION,...)
SET (MOVE_VERTICAL_CONTEXT,...)

4.1.3 編集位置の移動

MOVE_HORIZONTAL
MOVE_VERTICAL
POSITION

4.1.4 テキスト操作

APPEND_LINE
BEGINNING_OF
CHANGE_CASE (*)
CHANGE_CODE (*)
COPY_TEXT
CREATE_BUFFER
CREATE_RANGE
EDIT
END_OF
ERASE
ERASE_CHARACTER
ERASE_LINE
FILE_PARSE
FILE_SEARCH
FILL (*)
MARK (*)
MESSAGE_TEXT
MODIFY_RANGE
MOVE_TEXT
PCS_CLASS (*)
READ_FILE
SEARCH
SEARCH_QUIETLY
SELECT (*)
SELECT_RANGE (*)
SET (ERASE_UNMODIFIABLE,...)
SET (MODIFIABLE,...)
SET (MODIFIED,...)
SPLIT_LINE (*)
TRANSLATE
VERIFY_BUFFER (*)
WRITE_FILE

4.1.5 パターン照合

ANCHOR
ANY
ARB
LINE_BEGIN
LINE_END
MATCH
NOTANY
PAGE_BREAK
REMAIN
SCAN
SCANL
SPAN
SPANL
UNANCHOR

4.1.6 編集コンテキストのステータス

CURRENT_BUFFER
CURRENT_CHARACTER
CURRENT_COLUMN
CURRENT_DIRECTION
CURRENT_LINE
CURRENT_OFFSET
CURRENT_ROW
CURRENT_WINDOW
DEBUG_LINE
ERROR
ERROR_LINE
ERROR_TEXT
GET_INFO (*)
LOCATE_MOUSE
SET (AUTO_REPEAT,...)
SET (BELL,...)
SET (CODESET,...) (*)
SET (DEBUG,...)
SET (FACILITY_NAME,...)
SET (FILL_NOT_BEGIN,...) (*)
SET (FILL_NOT_END,...) (*)
SET (FILL_TRIM_SPACE,...) (*)
SET (FORWARD,...)
SET (INFORMATIONAL,...)
SET (INSERT,...)
SET (JOURNALING,...)
SET (KEYBOARD_CODESET,...) (*)
SET (KEYSTROKE_RECOVERY,...)
SET (LEFT_MARGIN,...)
SET (LEFT_MARGIN_ACTION,...)
SET (LINE_NUMBER,...)
SET (MARGINS,...)
SET (MARGIN_ALLOWANCE,...) (*)
SET (MAX_LINES,...)
SET (MESSAGE_ACTION_LEVEL,...)
SET (MESSAGE_ACTION_TYPE,...)
SET (MESSAGE_CODESET,...) (*)
SET (MESSAGE_FLAGS,...)
SET (MOUSE,...)
SET (NO_WRITE,...)
SET (OUTPUT_CODESET,...) (*)
SET (OUTPUT_FILE,...)
SET (OVERSTRIKE,...)
SET (PAD_OVERSTRUCK_TABS,...)
SET (PERMANENT,...)
SET (RECORD_ATTRIBUTE,...)
SET (REVERSE,...)
SET (RIGHT_MARGIN,...)
SET (RIGHT_MARGIN_ACTION,...)
SET (SPECIAL_ERROR_SYMBOL,...)
SET (SUCCESS,...)
SET (SYSTEM,...)
SET (TAB_STOPS,...)
SET (TIMER,...)
SET (TRACEBACK,...)
SET (VIDEO_CHARACTER_SET,...) (*)
SHOW

4.1.7 キーの定義

ADD_KEY_MAP
CREATE_KEY_MAP
CREATE_KEY_MAP_LIST
DEFINE_KEY
KEY_NAME (*)
LAST_KEY
LOOKUP_KEY
REMOVE_KEY_MAP
SET (KEY_MAP_LIST,...)
SET (POST_KEY_PROCEDURE,...)
SET (PRE_KEY_PROCEDURE,...)
SET (SELF_INSERT,...)
SET (SHIFT_KEY,...)
SET (UNDEFINED_KEY,...)
UNDEFINE_KEY

4.1.8 マルチ処理

ATTACH
CREATE_PROCESS
SEND
SEND_EOF
SPAWN

4.1.9 プログラムおよびプロシージャの実行

ABORT
BREAK
COMPILE
EXECUTE
RETURN
SAVE

4.1.10 DECwindows

CREATE_WIDGET
DEFINE_WIDGET_CLASS
GET_CLIPBOARD
GET_DEFAULT
GET_GLOBAL_SELECT
LOWER_WIDGET
MANAGE_WIDGET
RAISE_WIDGET
READ_CLIPBOARD
READ_GLOBAL_SELECT
REALISE_WIDGET
SEND_CLIENT_MESSAGE
SET (ACTIVE_AREA)
SET (CLIENT_MESSAGE)
SET (DEFAULT_FILE)
SET (DRM_HIERARCHY)
SET (ENABLE_RESIZE)
SET (FIRST_INPUT_ACTION)
SET (GLOBAL_SELECT)
SET (GLOBAL_SELECT_GRAB)
SET (GLOBAL_SELECT_READ)
SET (GLOBAL_SELECT_TIME)
SET (GLOBAL_SELECT_UNGRAB)
SET (ICON_NAME)
SET (ICON_PIXMAP)
SET (ICONIFY_PIXMAP)
SET (INPUT_FOCUS)
SET (INPUT_FOCUS_GRAB)
SET (INPUT_FOCUS_UNGRAB)
SET (MAPPED_WHEN_MANAGED)
SET (MENU_POSITION)
SET (RESIZE_ACTION)
SET (SCREEN_LIMITS)
SET (SCROLL_BAR)
SET (SCROLL_BAR_AUTO_THUMB)
SET (UID)
SET (WIDGET)
SET (WIDGET_CALL_DATA)
SET (WIDGET_CALLBACK)
SET (WIDGET_CONTEXT_HELP)
SET (WIDGET_RESOURCE_TYPES)
UNMANAGE_WIDGET
WRITE_CLIPBOARD
WRITE_GLOBAL_SELECT

4.1.11 その他

ASCII (*)
CALL_USER (*)
CODE (*)
COLUMN_LENGTH (*)
CONVERT_KANA (*)
CREATE_ARRAY
DEC_KANJI (*)
DELETE
DELETE_TANGO (*)
ENTER_TANGO (*)
EXIT
EXPAND_NAME
FAO (*)
HELP_TEXT
INDEX
INT
JOURNAL_CLOSE
JOURNAL_OPEN
LEARN_ABORT
LEARN_BEGIN
LEARN_END
LENGTH
MESSAGE
QUIT
READ_CHAR (*)
READ_KEY (*)
READ_LINE (*)
SET (EOB_TEXT,...)
SLEEP
STR
SUBSTR
SYMBOL (*)

4.2 組込みプロシージャの説明

各組込みプロシージャの説明には下記の項目が含まれています。 各組込みプロシージャはアルファベット順に説明されています。


注意

パラメータで使われる文字列のほとんどのものには ASCII以外の文字を使用できますが,ファイル名,プロセス名などを 指定するパラメータ文字列には,ASCII文字のみが使用できます。



ALIGN_CURSOR

この組込みプロシージャは,カーソルが文字境界上に存在しないときに行の 先頭方向へカーソルを移動して,文字境界にカーソルを合わせます。

形式

    [integer :=] ALIGN_CURSOR

パラメータ

なし

戻り値

ALIGN_CURSORによって移動したカラム数。

シグナル・エラー

XTPU$_TOOMANY ERROR パラメータの数が多すぎる


ASCII

この組込みプロシージャは,整数をASCII文字(半角文字)列に変換するか, あるいはASCII文字を整数に変換します。

形式

    {integer2 | string2} := ASCII  ({integer1 | keyword | string1})

パラメータ

integer1
ISO Latin1文字セットに含まれる文字を示す10進数。

keyword
キーワードはキー名でなければなりません。キー名が印字可能文字を生 成するキーの名前のときは,ASCIIはその文字を返します。そうでなければ, ASCIIの値が0である文字を返します。

string1
ASCII値を得たい文字。文字列の長さが1文字よりも長いときには, 最初の文字のASCII値が得られます。

戻り値

指定されたASCII値を持つ文字(integer または keyword パラメータを 指定したとき)。または,指定された文字のASCII値(string パラメータを指 定したとき)。

説明

ASCII組込みプロシージャの基本的な説明は, 『DEC Text Processing Utility Reference Manual』を参照してください。

ASCII組込みプロシージャはISO Latin1以外の文字を扱いません。このため以 下のような制限事項があります。

ISO Latin1文字セットに属さない文字に関して,文字と数字の相互変換を行 いたいときには,DEC_KANJI組込みプロシージャまたはCODE組込みプロシージ ャを使用してください。

シグナル・エラー

XTPU$_ARGMISMATCH ERROR パラメータのデータ・タイプが正しくない
XTPU$_NEEDTOASSIGN ERROR ASCIIは代入文の右辺でのみ使用できる
XTPU$_NULLSTRING WARNING 長さ0の文字列が渡された
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる

    1. my_character := ASCII (182)
    
    この代入ステートメントはmy_characterという変数にISO Latin1文字 の"¶"を代入します。
    2. character := ASCII ("B")
    
    この代入ステートメントは,"B"という文字のASCII値(66)をcharacterと いう変数に代入します。


CALL_USER

この組込みプロシージャは,DEC XTPUの内部から他の言語で書かれたプログ ラムを呼び出します。CALL_USERのパラメータはそのまま外部ルーチンに渡さ れます。DEC XTPUはパラメータに対して何の処理も行いません。パラメータ integer は参照によって渡され,string1 はディスクリプタによって渡され ます。string2 は外部プログラムから返される値です。

形式

    string2 := CALL_USER  (integer, string1)

パラメータ

integer
ユーザ作成プログラムに参照によって渡される整数値。

string1
ユーザ作成プログラムにディスクリプタによって渡される文字列。

戻り値

呼び出されたプログラムから返される値。

説明

CALL_USERに返される値 string2 に加えて,外部プログラムは正しく 実行されたかどうかを示すステータス・コードを返します。このステータ ス・コードは,ON_ERROR文によって処理することができます。偶数のステー タス・コードが返されるとON_ERROR文が実行されます。ERROR文はプログラム からのステータス値をキーワードとして戻します。

CALL_USERは次のように使用します。

  1. 任意の言語でプログラムを書きます。そのプログラムは XTPU$CALLUSERという名前のグローバル・ルーチンでなければなりません。

  2. プログラムをコンパイルします。

  3. オプション・ファイルを使ってプログラムをリンクし,共有イメージ を作ります。

  4. 論理名XTPU$CALLUSERに作ったルーチンが入ったファイルを定義しま す。

  5. DEC XTPUを起動します。

  6. 組込みプロシージャCALL_USERに必要なパラメータを指定して,DEC XTPUセッションから外部プログラムを実行します。プログラムが正しくリ ンクされて論理名XTPU$CALLUSERが定義されていると,組込みプロシージャ CALL_USERはパラメータを外部ルーチンに渡します。
CALL_USERのパラメータは呼び出したプログラムへの入力パラメータになりま す。DEC XTPUは,パラメータに対して何の処理も行わずに外部プロシージャ に渡します。呼び出されるルーチンが必要としていない場合でも,パラメー タは必ず2つ渡さなければなりません。値を渡す必要のないときには,以下の ようなNULLパラメータを渡してください。
CALL_USER (0, "")

シグナル・エラー

XTPU$_CALLUSERFAIL WARNINGCALL_USERルーチンの実行が失敗した
XTPU$_ARGMISMATCH ERROR パラメータのデータ・タイプが正しくない
XTPU$_BADUSERDESC ERROR ユーザ・ルーチンがリターン・ディスクリプタに正しくない値を入れた
XTPU$_INVPARAM ERRORパラメータの型が間違っている
XTPU$_NEEDTOASSIGN ERROR CALL_USERは代入文の右辺でのみ使用できる
XTPU$_NOCALLUSER ERROR 実行するルーチンが光からない
XTPU$_TOOFEWERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる

    ret_value := CALL_USER (6, "ABC")
    
    この文はユーザが書いたプログラムを呼び出します。DEC XTPUを起動する前に論理名 XTPU$CALLUSERでCALL_USERによって呼び出したいプログラムが入っているファイルを 指定します。DEC XTPUは第1パラメータ(6)を参照によって,第2パラメータ ("ABC")をディスクリプタによって渡します。もし数字と文字列を入力値として 使っているならば,プログラムは6と"ABC"を処理します。プログラムが結果を 返すように作られていれば,結果はret_valueに返されます。

    以下の例は,組込みプロシージャCALL_USERの使い方を具体的に示したものです。 浮動小数点演算を行うために呼び出されるルーチンは,BASICで書かれています。

    1. 渡された値の浮動小数点演算を行うBASICのプログラムを書きます。
      ! Filename:FLOATARITH.BAS
      
      1     sub XTPU$CALLUSER ( some_integer% , input_string$ , return_string$)
      
      10    ! don't check some_integer% because this function only does
            ! floating point arithmetric
      
      20    ! parse the input string
            ! find and extract the operation
            comma_location = pos ( input_string$, ",", 1% )
            if comma_location = 0 then go to all_done end if
      
            operation$ = seg$( input_string$, 1%, comma_location - 1% )
      
            ! find and extract the 1st operand
            operand1_location = pos ( input_string$, ",", comma_location +1)
            if operand1_location = 0 then go to all_done end if
      
            operand1$ = seg$( input_string$, comma_location + 1%, &
                                   operand1_location -1 )
      
            ! find and extract the 2nd operand
            operand2_location = pos ( input_string$, ",", operand1_location + 1)
            if operand2_location = 0 then
                    operand2_location = len( input_string$) + 1
      
            end if
      
            operand2$ = seg$( input_string$, operand1_location + 1%, &
                              operand2_location -1 )
      
            select operation$ ! do the operation
            case "+"
                    result$ = sum$( operand1$, operand2$ ) !
            case "-"
                    result$ = dif$( operand1$, operand2$ ) !
            case "*"
                    result$ = num1$( Val( operand1$ ) * Val( operand2$ ))
            case "/"
                    result$ = num1$( Val( operand1$ ) / Val( operand2$ ))
            case else
                    result$ = "unkown operation."
            end select
      
            return_string$ = result$
      
      999   all_done: end sub
      

    2. プログラムをコンパイルします。
      $ BASIC/LIST floatarigh
      

    3. BASICのプログラムをリンクするときに使うオプション・ファイルを作ります。
      !+
      !   File: FLOATARITH.OPT
      !
      !   Options file to link floatarith BASIC program with VAXTPU
      !-
      FLOATARITH.OBJ
      UNIVERSAL=XTPU$CALLUSER
      

    4. プログラムをリンクし,共有イメージを作ります。
      $ LINK floatarith/SHARE/OPT/MAP/FULL
      

    5. 論理名XTPU$CALLUSERにBASICプログラムの実行イメージを定義し ます。
      $ DEFINE XTPU$CALLUSER device:[directory]floatarith.EXE
      

    6. DEC XTPUを起動します。

    7. 以下のDEC XTPUプロシージャを書いてコンパイルします。
      PROCEDURE my_call_user
      
      ! test the built-in procedure call_user
      
        LOCAL output,
              input;
      
        input := READ_LINE ("Call user >");  ! パラメータを入力
        output := CALL_USER (0, input);      ! プログラムの呼び出し
        MESSAGE (output);
      ENDPROCEDURE;
      

    8. プロシージャmy_call_userを呼び出すと,BASICルーチンに渡す パラメータを聞いてきます。パラメータは,オペレータ,値,値の順番で 渡されます。例えばプロンプトに,+, 3.33, 4.44と入力すると結果の7.77が メッセージ領域に表示されます。


CHANGE_CASE

この組込みプロシージャは,指定されたキーワードに従って,指定されたバ ッファ,レンジ,または文字列中のテキストの,大文字/小文字変換,ひら がな/カタカナ/半角カナ変換,全角Latin文字/半角Latin文字変換,および ASCIIからひらがなへの変換を実行します。CHANGE_CASEは変換された文字列 を含むバッファ,レンジ,または文字列を戻すこともできます。

形式

    [{returned_buffer |

    returned_range |

    returned_string} :=] CHANGE_CASE   ({buffer | range |
                                      string},{LOWER | UPPER |
                                      INVERT | LATIN | WIDE_LATIN
                                      | SIZE_INVERT | HIRAGANA
                                      | KATAKANA | KANA_INVERT
                                      | NARROW_KANA | KANA} [,
                                      {IN_PLACE | NOT_IN_PLACE}])

パラメータ

buffer
変更したい文字列を含むバッファ。第1パラメータにバッファを指定した ときには,キーワードNOT_IN_PLACEは使えません。

range
変更したい文字列を含むレンジ。第1パラメータにレンジを指定したとき には,キーワードNOT_IN_PLACEは使えません。

string
変換したい文字列。第3パラメータにIN_PLACEを指定したときには,第1 パラメータに指定された文字列を変更します。文字列定数に対しては何も行 いません。

LOWER
指定した文字列のアルファベット(全角,半角)は小文字に変換されます。

UPPER
指定した文字列のアルファベット(全角,半角)は大文字に変換されます。

INVERT
指定した文字列のアルファベット(全角,半角)が大文字の場合には小文 字に変換され,小文字の場合には大文字に変換されます。

LATIN
指定した文字列の全角のLatin文字は半角のLatin文字に変換されます。

WIDE_LATIN
指定した文字列の半角のLatin文字は全角のLatin文字に変換されます。

SIZE_INVERT
指定した文字列の半角のLatin文字は全角に,全角のLatin文字は半角に 変換されます。

HIRAGANA
指定した文字列のカタカナ(全角)および半角カナはひらがなに変換されます。

KATAKANA
指定した文字列のひらがなおよび半角カナはカタカナ(全角)に変換されます。

KANA_INVERT
指定した文字列のひらがなはカタカナ(全角)に,カタカナ(全角)はひら がなに変換されます。

NARROW_KANA
指定した文字列のひらがなおよびカタカナ(全角)は半角カナに変換されます。

KANA
指定した文字列のアルファベット(半角,全角)はローマ字として扱わ れ,ひらがなに変換されます。また,文字列中のカタカナおよび半角カナは ひらがなに変換されます。

戻り値

returned_buffer 第1パラメータにバッファを指定したときに, 変更されたテキストが含んだバッファが戻されるバッファ型の変数。 変数"returned_buffer"は第1パラメータで指定されたバッファと同じバッファを示します。
returned_range 第1パラメータにレンジを指定したときに, 変更されたテキストを含んだレンジが戻されるレンジ型の変数。変数 "returned_range"は第1パラメータで指定されたレンジと同じレンジを示します。
returned_string 第1 パラメータに文字列を指定したときに,変更されたテキストを含む文字列が 戻される文字列型の変数。IN_PLACEを指定したときにも,文字列は戻されま す。

表 4-1はCHANGE_CASEの各キーワードとその変換項目です。

表 4-1 CHANGE_CASE のキーワードと変換項目

キーワード
文字列
LATIN
WIDE_
LATIN
KANA
HIRA
GANA
KATA
KANA
KANA_
INVERT
NARROW_
KANA
SIZE_
INVERT
半角 none 全角 ひら none none none none 全角
全角 半角none ひら none none none none 半角
ひらがな none none none none カタ カタ 半カ none
カタカナ none none ひら ひら none ひら 半カ none
半角カナ none none ひら ひら カタ nonenone none


none = 変換されない
ひら = ひらがな
カタ = カタカナ
半カ = 半角カナ

シグナル・エラー

XTPU$_BADKEY WARNING 間違ったキーワードが指定された
XTPU$_NOTMODIFIABLE WARNING 変更できないバッファの中のテキストを変更することはできない
XTPU$_ARGMISMATCH ERROR 引数の型が正しくない
XTPU$_CONTROLC ERROR CHANGE_CASEの実行中に[Ctrl/C]が押された
XTPU$_INVPARAM ERROR パラメータのデータ・タイプが間違っている
XTPU$_TOOFEWERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる


CHANGE_CODE

この組込みプロシージャは,指定されたキーワードに従って,指定されたバ ッファまたはレンジ中のテキストのコードセットを変換します。

形式

    [{returned_buffer |

    returned_range} :=] CHANGE_CODE   ({buffer | range }, keyword1,
                                     keyword2)

パラメータ

buffer
変更したい文字列を含むバッファ。

range
変更したい文字列を含むレンジ。

keyword1
変換前のコードセットを示すキーワード。有効なキーワードは, DEC_MCS,ISO_LATIN1,ASCII_JISKANA,DECKANJI,およびSDECKANJIです。

keyword2
変換後のコードセットを示すキーワード。有効なキーワードは,DEC_MCS, ISO_LATIN1,ASCII_JISKANA,DECKANJI,およびSDECKANJIです。

戻り値

returned_buffer 第1パラメータにバッファを指定したときに, 変更されたテキストが含んだバッファが戻されるバッファ型の変数。 変数"returned_buffer"は第1パラメータで指定されたバッファと同じバッファを示します。
returned_range 第1パラメータにレンジを指定したときに, 変更されたテキストを含んだレンジが戻されるレンジ型の変数。変数 "returned_range"は第1パラメータで指定されたレンジと同じレンジを示します。

説明

この組込みプロシージャは,あるコードセットを指定してファイルから 読み込んだバッファの内容のすべて,または一部を別のコードセットと解釈 し直す場合に使用されます。たとえば,DEC漢字コードセットと思って読み込 んだファイルが,実際はISO Latin1コードセットで書かれていた場合,この 組込みプロシージャを使用すれば,もう一度ISO Latin1コードセットを指定 してファイルから読み直すことなしに,バッファ中のコードセットの解釈の みをISO Latin1コードセットに変えることができます。これによって正しい 文字が画面に表示されることになります。

シグナル・エラー

XTPU$_BADKEY WARNING 間違ったキーワードが指定された
XTPU$_NOTMODIFIABLE WARNING 変更できないバッファの中のテキストを変更することはできない
XTPU$_CONTROLC ERROR CHANGE_CODEの実行中に[Ctrl/C]が押された
XTPU$_INVPARAM ERROR パラメータのデータ・タイプが間違っている
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる


CODE

この組込みプロシージャは,UCS-2 (Universal Character Set (ISO 10646) の2オクテット表現)と文字との相互変換を行います。またキーに対応する文 字を得るためにも使用されます。

形式

    {integer3|string2} := CODE  ({integer1|keyword|string1} [,
                               integer2])

パラメータ

integer1
UCS-2での文字の10進数表現。0から65535までの値が有効です。それ以 外の数字を渡したときの動作は定義されていません。

keyword
対応する文字が必要なキーの名前。プリント可能な文字に対応しないキ ーのキー名を指定した場合には,CODEはUCS-2の値が0である文字を戻します。

string1
対応するUCS-2の値が必要な文字。1文字より長い文字列を指定した場合 には,CODEは最初の文字の値を戻します。

integer2
文字のカラム幅を示す整数。このパラメータは第1パラメータに整数を指 定したときのみ指定できます。省略時の値は1です。漢字など2カラム文字の UCS-2コードから文字列への変換を行うときは,このパラメータに2を指定し なければなりません。

説明

第1パラメータに整数が与えられたときには,このプロシージャは第2パ ラメータに指定された数字に従って,1カラムあるいは2カラムの文字を通知 します。第1パラメータの数字と文字の対応は,UCS-2の規定によって決めら れています。変換されたコードに対応する文字が表示できるかどうかはチェ ックされません。

文字列パラメータが与えられたときには,このプロシージャは最初の文字に 対応するUCS-2コードを通知します。

シグナル・エラー

XTPU$_NULISTRING WARNING 長さ0の文字列が渡された
XTPU$_ARGMISMATCH ERROR 引数のデータ・タイプが正しくない
XTPU$_NEEDTOASSIGN ERROR CODEは代入文の右辺でのみ使用できる
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる


COLUMN_LENGTH

この組込みプロシージャは,文字列またはレンジに含まれる文字の,画面上 のカラム数を示す整数を通知します。

形式

    integer := COLUMN_LENGTH  ({buffer | range | string})

パラメータ

buffer
カラム長を知りたいバッファの名前。バッファを指定した場合,行の終 端はカラム数としてカウントされないので注意してください。

range
カラム長を知りたいレンジの名前。レンジを指定した場合,行の終端は カラム数としてカウントされないので注意してください。

string
カラム長を知りたい文字列。

説明

バッファ,レンジ,あるいは文字列の中にTAB文字が含まれていたときは, TAB文字のカラム数は表示されているカラム数に関わらず1カラムとして 計算されます。

シグナル・エラー

XTPU$_ARGMISMATCH ERROR COLUMN_LENGTHのパラメータは,バッファ,レンジ, 文字列のいずれかでなければならない
XTPU$_CONTROLC ERROR COLUMN_LENGTHの実行中に [Ctrl/C]が押された
XTPU$_NEEDTOASSIGN ERROR COLUMN_LENGTHは代入文の右辺でのみ使用できる
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる


CONVERT_KANA

この組込みプロシージャは,日本語OpenVMSかな漢字変換ライブラリを使用 して,ひらがなまたはカタカナの文字列を漢字に,また,ローマ字をひらが な/カタカナの表示に変換します。

形式

    [{strint2|integer2} :=] CONVERT_KANA (keyword [,{string1 |
                                        integer1}])

パラメータ

keyword
変換に関する各指示を指定するキーワードで,下記の中から1つを指定 します。指定するキーワードによって,その他のパラメータや戻り値のデー タ・タイプが異なります。

START_CONVERSION 新しい変換を開始し,変換文字列を返します
FORWARD 現在の文節の次候補を含む変換文字列を返します
REVERSE 現在の文節の前候補を含む変換文字列を返します
NONE 現時点での変換文字列を返します
END_CONVERSION 漢字辞書を更新します
HIRAGANA 現在の文節をひらがなに変換し,変換文字列を返します
KATAKANA 現在の文節をカタカナ(全角)に変換し,変換文字列を返します
NARROW_KANA 現在の文節を半角カナに変換し,変換文字列を返します
ROMAN 現在の文節を全角英数字に変換し,変換文字列を返します
SHRINK 現在の文節の長さを縮小し,変換文字列を返します
EXPAND 現在の文節の長さを拡大し,変換文字列を返します
CLAUSE_OFFSET 現在の文節の漢字列中の文字オフセットを返します
CLAUSE_LENGTH現在の文節の文字長を返します
PHONETIC_OFFSET 現在の文節の読み文字列中の文字オフセットを返します
PHONETIC_LENGTH 現在の文節の読みの長さを返します
CLAUSE_NEXT 次の文節に移動します
CLAUSE_PREVIOUS 前の文節に移動します
CLAUSE_NUMBER 現在の文節番号を設定します
MAX_CLAUSE_NUMBER 現在の変換文字列の文節数を返します

string1
新しい変換を開始するときの読み文字列。かな漢字変換は全角かなの部 分を対象とします。キーワードがSTART_CONVERSIONの場合にのみ必要で,そ れ以外の場合に指定してはいけません。

integer1
現在の文節を指定した番号の文節に設定します。キーワードがCLAUSE_ NUMBER の場合のみに有効で,それ以外の場合に指定してはいけません。

キーワードがCLAUSE_OFFSETの場合,現在の文節の変換文字列中での文字オフ セットの値が整数値で返されます。CLAUSE_LENGTHの場合,現在の文節の変換 後文字列に占める文字長が整数値で返されます。

キーワードがCLAUSE_OFFSET,CLAUSE_LENGTHの場合,変換された文字列を 返します。この文字列は,現在の文節に対応する文字列ではなく,string1 で指定した読み文字列全体に対する変換文字列です。ただし,FORWARD, REVERSE,HIRAGANAなどの変換操作の対象となるのは,文字列全体ではなく, 現在の文節に対応する文字列です。

説明

学習機能

かなを漢字に変換する場合,いくつかの候補文字(同音異字語)が存在するこ とがあります。このプロシージャは,START_CONVERSIONのキーワードを指定 すると辞書の第1候補を返し,FORWARD,REVERSEを指定するとそれぞれ次候 補,前候補を返します。また,END_CONVERSIONを指定するとその時点での候 補の,次に同じ単語の変換(START_CONVERSION)を開始する時の優先順位が上 がるので,よく使われる単語は再変換の回数が少なくてすむようになります。

変換機能

ASCII(半角) / ROMAN(全角)からひらがな,カタカナ,ローマ字へ,あるいは ひらがな,カタカナから漢字への変換が可能です。 

START_CONVERSION string1 で指定された読みの変換を開始します。 このとき,string1 に対する文法解析を行い,変換文字列は1またはそれ以上の 文節に分けられます。このとき,現在の文節は1番目の文節となります。
FORWARD 現在の文節の自立語の次候補を求め,新しい変換文字列を返します。
REVERSE 現在の文節の自立語の前候補を求め, 新しい変換文字列を返します。
NONE 現時点での変換文字列をそのまま返します。
END_CONVERSION 変換文脈を終了し, 変換文字列を確定するとともに,個人辞書の学習を行います。
HIRAGANA 現在の文節をひらがなに変換し, 新しい変換文字列を返します。ASCII,ROMAN,ひらがなおよび カタカナからなる部分が変換対象となります。
KATAKANA 現在の文節をカタカナ(全角)に変換し, 新しい変換文字列を返します。1回目に呼ばれた時は文節の自立語のみをカタカナに 変換し,2回目に呼ばれた時は文節全体をカタカナに変換します。STARTの時 string1 にはひらがなで渡されていなければなりません。
NARROW_KANA 現在の文節を半角カナに変換し, 新しい変換文字列を返します。1回目に呼ばれた時は文節の自立語 のみを半角カナに変換し,2回目に呼ばれた時は文節全体を半角カナに変換します。 STARTの時 string1 にはひらがなで渡されていなければなりません。
ROMAN 現在の文節を全角英数字に変換し, 新しい変換文字列を返します。ASCIIからなる部分のみが変換対象となります。
SHRINK 現在の文節の長さを1文字分縮小し,文法解析を再び行って新しい変換文字列を 返します。文法解析の結果,文節の長さが1以上縮小されることもあります。
EXPAND 現在の文節の長さを拡大し, 文法解析をやりなおして新しい変換文字列を返します。

一般的に,文節の縮小/拡大を実行すると,現在の文節以降の文字列が変化 し,それに伴って文節数も変化する可能性が高いので注意してください。

CLAUSE_OFFSET 現在の文節が,変換文字列の中 のどの位置から始まるかを文字オフセットとして返します。文節移動を行 った結果として値が変化します。
CLAUSE_ LENGTH 現在の文節の長さを返します。変換操作を行 った後は値が変化する可能性があります。
PHONETIC_OFFSET 現在の文節が,読み文字列の中の どの位置から始まるかを文字オフセットとして返します。文節移動を行 った結果として値が変化します。
PHONETIC_ LENGTH 現在の文節の読み文字列の長さを返します。変 換操作を行った後は値が変化する可能性があります。
CLAUSE_NEXT 変換対象を次の文節に移動します。 この結果,FORWARD,REVERSEなどの対象となる部分が次の文節に移動しま す。
CLAUSE_PREVIOUS 変換対 象を前の文節に移動します。現在の文節が先頭の文節である場合,最後の文 節に移動します。この結果,FORWARD,REVERSEなどの対象となる部分が次の 文節に移動します。
CLAUSE_NUMBER パラメータ integer1 で指定した文節を現在の文節とします。integer1 を指定しなかったときは,現在の文節の文節番号を返します。
MAX_CLAUSE_NUMBER 現在の変換文字列の文 節数を返します。

シグナル・エラー

XTPU$_ROUND INFORMATION  FORWARDによる次候補が一巡して最初の単語に戻った
XTPU$_NEEDTOASSIGN ERROR 返される値を代入する変数が必要である
XTPU$_NODIC WARNING この編集セッションでは辞書を使用していない
XTPU$_BADVALUE ERROR 指定した整数値が有効な範囲内にない
XTPU$_CNVERR ERROR かな漢字変換ルーチンの内部エラーが発生した
XTPU$_DICUPDERR ERROR 個人辞書の更新時にエラーが発生した
XTPU$_INVPARAMERROR 引数の型が正しくない
XTPU$_NOCLA ERROR 変換対象となる文節が指定されていない,変換を開始していない
XTPU$_NODICENT WARNING 文節の縮小あるいは拡大ができない。単語が辞書にない(変換不可能)
XTPU$_STRTOOLONG ERROR 入力文字数が253文字を越えた
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
XTPU$_TOOMANYERROR パラメータの数が多すぎる
XTPU$_TRUNCATE WARNING 変換文字列が長すぎるため,切り捨てが行われた


DEC_KANJI

この組込みプロシージャは,文字と文字コード(ASCIIコードあるいはDEC漢字 コード)の相互変換をします。

形式

    {integer2|string2} := DEC_KANJI  ({integer1|string1})

パラメータ

integer1
ASCII文字あるいは漢字に変換したい整数。ASCIIあるいはDEC漢字セッ トで決められた整数(10進数)。

string1
ASCIIコードあるいはDEC漢字コードを得たい文字。

説明

整数パラメータが与えられたときには,このプロシージャは指定された 数字に従って,文字を通知します。数字と文字の対応は,ASCIIおよびDEC漢 字セット規定によって決められています。文字が定義されていない値が指定 されたときには,値が0の文字を戻します。

文字列パラメータが与えられたときには,このプロシージャは最初の文字に 対応するASCIIコードあるいはDEC漢字コードを戻します。

シグナル・エラー

XTPU$_NULLSTRING WARNING 長さ0の文字列が渡された
XTPU$_ARGMISMATCH ERROR 引数のデータ・タイプが正しくない
XTPU$_NEEDTOASSIGNERROR DEC_KANJIは代入文の右辺でのみ使用できる
XTPU$_TOOFEWERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる

    次のサンプル・プロシージャは,JIS漢字セットの任意の1区のテーブルを バッファに挿入します。たとえば,user_kanji_list (20)を実行すると, 第20区のテーブルを現在のカーソルの位置に挿入します。
    PROCEDURE user_kanji_list (jis_ku)
    LOCAL cnt, col, low_byte;
    
    cnt := jis_ku * 256 + 41120;
    max := cut + 94;
    
    COPY_TEXT (FAO('第 !ZL 区', jis_ku));
    SPLIT_LINE;
    COPY_TEXT ("0 123 4 5 6 7 8 9 A B C D E F");
    SPLIT_LINE;
    
    
    COPY_TEXT (user_hex(cnt) + ' ');
    col := 1;
    LOOP
       EXITIF cnt 〉max;
       IF col 〉16 THEN
          SPLIT_LINE;
          UPDATE (current_window);
          col := 1;
          COPY_TEXT (user_hex(cnt) + ' ');
       ENDIF;
       low_byte := cnt\((cnt / 256)*256);
       IF low_byte〈〉160 THEN
          COPY_TEXT (' '+ DEC_KANJI(cnt));
       ELSE
          COPY_TEXT ('  ');
       ENDIF;
       cnt := cnt + 1;
       col := col + 1;
    ENDLOOP;
    SPLIT_LINE
    
    ENDPROCEDURE
    
    PROCEDURE user_hex (dec_num)
    LOCAL res, rmn, temp;
    
    temp := dec_num;
    IF temp =0 THEN
       res := '0'
    ELSE
       res := ''
    ENDIF;
    LOOP
       EXITIF temp 〈= 0;
       rmn := temp\((temp / 16) * 16);
       temp := temp / 16;
       IF (0〈 rmn) AND (rmn〈 16) THEN
          res := SUBSTR ('123456789ABCDEF', rmn, 1) + res;
       ELSE
          res := '0' + res;
       ENDIF;
    
    ENDLOOP;
    user_hex := res;
    
    ENDPROCEDURE
    


DELETE_TANGO

この組込みプロシージャは,単語とその読みを個人辞書から削除します。

形式

    DELETE_TANGO  (string1, string2)

パラメータ

string1
辞書から削除される単語の読みを表わすひらがな文字列。

string2
辞書から読みを削除される単語。

説明

この組込みプロシージャは,個人辞書から単語の読みを削除します。こ れは日本語OpenVMSかな漢字変換ライブラリを使用しています。単語とその読 みは,個人辞書に登録されているものでなければなりません。

5章"かな漢字変換ライブラリ"のJLB$DEL_TANGOを参照してください。

シグナル・エラー

XTPU$_NODIC WARNING この編集セッションでは個人辞書は使用していない
XTPU$_NODICENT WARNING 個人辞書に指定された単語が見つからない
XTPU$_DICUPDERR ERROR 個人辞書の変更時にエラーが発生した
XTPU$_INVPARAM ERROR 引数のデータ・タイプが正しくない
XTPU$_NORETURNVALUE ERROR DELETE_TANGOは値を返さない
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる

    1. DELETE_TANGO (" じゅうしょ", "東京都秋川市")
    
    このステートメントは,個人辞書に登録されている単語"東京都秋川市 "と,その読み"じゅうしょ"を個人辞書から削除します。

    次のサンプル・プロシージャは,選択された単語を個人辞書から削除しま す。読みがなを引数としてとり,引数が空文字であると,その読みをロー マ字で入力するように要求します。単語が選択されていない場合や削除に 失敗した(単語とその読みが正しくない)ときにはエラー・メッセージが表 示されます。このプロシージャで用いているuser_select_positionは,選 択開始位置を示すグローバル変数です。

    ! This procedure specifies start position of selection
    PROCEDURE user_select
    ON_ERROR
        IF error = XTPU$_ONESELECT THEN
    	MESSAGE ("すでに選択されています。");
    	RETURN;
        ENDIF;
    ENDON_ERROR;
    
    user_select_position := SELECT (reverse);
    
    ENDPOROCEDURE
    
    ! This procedure removes selected TANGO and its YOMIGANA
    ! from personal dictionary.
    PROCEDURE user_delete_tango (yomi)
    
    LOCAL yomigana, tango_range, tango;
    
    ON_ERROR
       IF (error = XTPU$_NOSELECT) OR (error = XTPU$_SELRANGEZERO) THEN
           MESSAGE ("単語が選択されていません。");
       ELSE
           MESSAGE ("単語を削除できません。");
       ENDIF;
       user_select_position := 0;
       RETURN;
    ENDON_ERROR;
    
    tango_range := select_range;
    user_select_position := 0;  ! This global variable is used to
                                ! specify start position of selection
    POSITION (BEGINNING_OF(tango_range));
    tango := SUBSTR (tango_range, 1, LENGTH(tango_range));
    tango_range := 0;
    yomigana := yomi;
    IF yomigana = ''THEN
       yomigana := READ_LINE ("  読みがなをローマ字で入力してください:");
    ENDIF;
    CHANGE_CASE (yomigana, KANA);
    
    DELETE_TANGO (yomigana, tango);
    
    ENDPROCEDURE
    


ENTER_TANGO

この組込みプロシージャは,単語とその読みを個人辞書に登録します。

形式

    ENTER_TANGO  (string1, string2)

パラメータ

string1
個人辞書に登録する単語の読みを表わすかな文字列。

string2
個人辞書に登録する単語。

説明

このプロシージャは,個人辞書に新しい単語とその読みを登録しま す。これは日本語OpenVMSかな漢字変換ライブラリを使用しています。単語 とその読みは,個人辞書に登録されているものであってはなりません。SET (KANJI_DICTIONARY_UPDATE, OFF)が実行されていると,このプロシージャは 個人辞書の内容を変更しません。 

5章"かな漢字変換ライブラリ"のJLB$ENT_TANGOを参照してください。

シグナル・エラー

XTPU$_NODIC WARNING この編集セッションでは個人辞書は使用していない
XTPU$_DICUPDERR ERROR 個人辞書の変更時にエラーが発生した
XTPU$_INVPARAM ERROR 引き数のデータ・タイプが正しくない
XTPU$_NORETURNVALUE ERROR ENTER_TANGOは値を返さない
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANYERROR 引数の数が多すぎる

    1. ENTER_TANGO (" じゅうしょ", "東京都秋川市")
    
    このステートメントは,個人辞書に単語"東京都秋川市"と,その読み"じ ゅうしょ"を新しく登録します。

    次のサンプル・プロシージャは,選択された単語を個人辞書に登録しま す。読みがなを引数としてとり,引数が空文字であると,その読みをロー マ字で入力するように要求します。単語が選択されていないときや登録に 失敗した(単語とその読みが正しくない)ときにはエラー・メッセージを表 示します。このプロシージャで用いているuser_select_positionは,選択 開始位置を示すグローバル変数です。

    PROCEDURE user_select
    
    ! This procedure specifies start position of selection
    
    ON_ERROR
        IF error = XTPU$_ONESELECT THEN
            MESSAGE ("すでに選択されています。");
            RETURN;
        ENDIF;
    ENDON_ERROR;
    
    user_select_position := SELECT (REVERSE);
    
    ENDPROCEDURE
    
    
    !  This procedure reserves selected TANGO and its YOMIGANA
    ! in personal dictionary.
    PROCEDURE user_enter_tango (yomi)
    
    LOCAL yomigana, tango_range, tango;
    
    ON_ERROR
        IF (error = XTPU$_NOSELECT) OR (error = XTPU$_SELRANGEZERO) THEN
            MESSAGE ("単語が選択されていません。");
        ELSE
            MESSAGE ("単語を登録できません。");
        ENDIF;
        user_select_position := 0;
        RETURN;
    ENDON_ERROR;
    
    tango_range := select_range;
    user_select_position := 0;  ! This global variable is used to
                                ! specify start position of selection
    POSITION (BEGINNING_OF(tango_range));
    tango := SUBSTR (tango_range, 1, LENGTH(tango_range));
    tango_range := 0;
    yomigana := yomi;
    IF yomigana = '' THEN
       yomigana := READ_LINE ("  読みがなをローマ字で入力してください:");
    ENDIF;
    CHANGE_CASE (yomigana, KANA);
    
    ENTER_TANGO (yomigana, tango);
    
    ENDPROCEDURE
    


FAO

この組込みプロシージャは,制御文字列をフォーマッティングされたASCII出 力文字列に変換するために,Formatted ASCII OUTPUT ($FAO)システム・サー ビスをコールします。FAOディレクティブに対する引数を制御文字列として指 定することにより,$FAOシステム・サービスによって実行される処理を制御 することができます。FAO組込みプロシージャはフォーマッティングされた ASCII出力を含む文字列を通知します。

FAOには最大127個までのパラメータを指定することができます。

FAOは,指定された文字列をメッセージ・コードセットに指定されたコード セットに変換して,$FAOシステム・サービスを呼び出します。このため, そのときのメッセージ・コードセットで表現できない文字は,FAOを呼び出 した結果,失われます。メッセージ・コードセットについて詳しくは,SET (MESSAGE_CODESET)組込みプロシージャを参照してください。

$FAOシステム・サービスについての詳しい説明は, 『OpenVMS System Services Reference Manual』を参照してください。

形式

    string2 := FAO  (string1 [,FAO parameters])

パラメータ

string1
引用符で囲まれた文字列,文字列定数を含む変数名,または文字列を表 わす式であり,固定長テキストの出力文字列とFAOディレクティブから構成さ れます。

文字列の一部として指定することができるFAOディレクティブは下記のとおりです。

!AS 文字列を入力されたとおりに挿入する
!OL 倍長語(ロングワード)を8進数に変換する
!XL 倍長語(ロングワード)を16進数に変換する
!ZL 倍長語(ロングワード)を10進数に変換する
!UL 倍長語(ロングワード)を10進数に変換するが, 負の数値に対する調整は実行しない
!SL 倍長語(ロングワード)を10進数に変換し, 負の数値も正しく変換する
!/ 新しい行を挿入する(キャリッジ・リターン/ライン・フィード)
!_ タブを挿入する
!^ フォーム・フィードを挿入する
!! 感嘆符を挿入する
!%S 最後に変換された数値が1でない場合にはSを挿入する
!%T パラメータとして0を入力した場合には, 現在の時刻を挿入する(DEC XTPUは4倍長語を使用しないため, 特定の時刻を渡すことはできない)
!%D パラメータとして0を入力した場合には, 現在の日付と時刻を挿入する(DEC XTPUは4倍長語を使用しないため特定の日付を 渡すことはできない)

FAOパラメータについてはを参照してください。一般的には,FAOパラメータ は string1 のFAOディレクティブに対応しています。

説明

FAO組込みプロシージャについての説明は, 『Guide to the DEC Text Processing Utility』を参照してください。

FAO組込みプロシージャの引数に指定される文字列は,メッセージ・コードセ ットに指定される文字列でなければなりません。メッセージ・コードセット についての詳しい説明は,SET (MESSAGE_CODESET)を参照してください。

シグナル・エラー

XTPU$_INVFAOPARAM WARNING 引数が整数または文字列でない
XTPU$_INVPARAM ERROR FAOの第1引数は文字列でなければならない
XTPU$_NEEDTOASSIGN ERROR FAO組込みプロシージャは代入文の右辺でのみ使用できる
XTPU$_TOOFEW ERROR 引数の数が少なすぎる


FILL

この組込みプロシージャは,指定されたバッファまたはレンジに含まれるテ キストのフォーマットを変更することにより,テキスト・ラインをほぼ同じ 長さにそろえます。

形式

    FILL  ({buffer|range}, [string [,integer1 [,integer2 [,
         integer3]]]])

パラメータ

buffer
形式を変更したいテキストを含むバッファ。

range
形式を変更したいテキストを含むレンジ。

string
テキストをバッファに挿入するときにワード区切り文字として使用した い文字の集合。半角の空白文字は常にワード区切り文字です。

integer1
左マージンの値。左マージンの値は1以上で,右マージンの値より小 さくなければなりません。省略時にはバッファの左マージンが使われます。

integer2
右マージンの値。右マージンの値は左マージンよリ大きく,バッファの 最大レコード・サイズ以下でなければなりません。省略時にはバッファの右 マージンが使われます。

integer3
最初の行の段付けの値。この値は最初の行の左マージンを変更します。 値は正負共に有効ですが,この値を左マージンに足した結果が1以上で, かつ右マージンよリ小さくなければなりません。省略時には0が使われます。

説明

FILL組込みプロシージャに関しての基本的な説明は, 『DEC Text Processing Utility Reference Manual』を参照してください。

DEC XTPUではFILL組込みプロシージャが2カラム以上の文字(複数カラム文字) を扱うことができます。複数カラム文字が含まれているときには,1カラム文 字のワード区切り文字に加えて,2つの複数カラム文字の間もワード区切りと して扱われます。すなわち,2つの複数カラム文字の間で行が分割されること があります。

DEC XTPUのFILL組込みプロシージャでは,日本語の禁則処理をすること ができます。行頭禁則文字の指定には,SET (FILL_NOT_BEGIN)を,行末禁 則文字の指定には,SET (FILL_NOT_END)を使います。また,SET (MARGIN_ ALLOWANCE)で,右マージンの右側に置くことのできる行頭禁則文字の文字数 を指定することができます。

Latin文字からなる文章にFILLを実行したときに行末に空白文字がくると, その空白文字は削除されます。また,FILLの結果複数行がつながると,そ の間に空白文字が置かれます。しかし複数カラム文字が含まれているとき には,この機能が不要になることがあります。そのようなときには,SET (FILL_TRIM_SPACE)でFILLを実行するときに,空白文字の削除および追加を行 うかどうかを制御できます。

シグナル・エラー

XTPU$_BADMARGINS WARNING 正しくないFILLのマージンが指定された
XTPU$_INVRANGE WARNING 正しくないレンジ領域が指定された
XTPU$_NOTMODIFIABLE WARNING 変更が禁止されているバッファでFILLを実行することはできない
XTPU$_ARGMISMATCH ERROR パラメータのデータ・タイプが正しくない
XTPU$_CONTROLC ERROR FILLの実行中に[Ctrl/C]が押された
XTPU$_INVPARAM ERROR パラメータのデータ・タイプが正しくない
XTPU$_NOCACHE ERROR 割り当てられたメモリの不足で新しい行が作れない
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる


GET_INFO

この組込みプロシージャは,編集コンテキストの現在のステータスに関する 情報を通知します。GET_INFOが通知する情報のリストのうち,DEC XTPUで拡 張されたものが表 4-2表 4-3に まとめられているので参照してください。

形式

    return_value := GET_INFO  (parameter1, parameter2)

形式

    return_value := GET_INFO  (parameter1, parameter2, parameter3)

パラメータ

parameter1
DEC XTPUのデータ・タイプまたはキーワード。GET_INFOは,parameter1 として指定されたアイテムに関する情報を通知します。parameter1 として指定できる データ・タイプのうちDEC XTPUで拡張されたものについては, 表 4-2を参照してください。また, parameter1 として指定できるキーワードのうちDEC XTPUで拡張されても のについては,表 4-3を参照してください。

parameter2
引用符で囲まれた文字列,変数名,または表 4-2ま たは表 4-3の文字列定数を表わす式。parameter2 とし て使用される文字列は,parameter1 で指定されたアイテムに関して要求され る情報の種類を指定します。文字列は大文字で入力しても小文字で入力して もかまいません。

parameter3
引用符で囲まれた文字列,変数名。 parameter1 がSCREENで paramerter2 が "video_character_set"という文字 列のときは,parameter3 には文字セットを示すキーワードを与えます。有 効なキーワードはDEC_SUPPLEMENTAL,LATIN1_SUPPLEMENTAL,JIS_ROMAN, JIS_KATAKANA,KANJI_1,またはKANJI_UDCです。

説明

要求される情報の種類に応じて,GET_INFOは以下のいずれかを通知します。

表 4-2 GET_INFO-parameter1 として変数を使用する場合

parameter1 parameter2 戻り値 戻り値の説明
バッファ変数 "character_index" 整数 現在の編集位置の文字境界からのカラム・オフセット
"character_length" 整数 現在の編集位置の文字のカラム長
"codeset" キーワード バッファのコードセットを示すキーワード
"output_codeset" キーワード バッファの出力コードセットを示すキーワード
マーカ変数 "character_index" 整数 マーカの文字境界からのカラム・オフセット
"character_length" 整数 マーカのある文字のカラム長

表 4-3 GET_INFO-parameter1 としてキーワードを使用する場合

parameter1 parameter2 戻り値 戻り値の説明
COMMAND_LINE "codeset" キーワード /CODESET=に指定したコードセット名
"kanji_dictionary" [1]整数
(1か0)
/KANJI_DICTIONARYがアクティブであるかどうかを示す値(省略時の値によって, またはDEC XTPUを呼び出すときに/KANJI_DICTIONARYを指定することによって)
"kanji_dictionary_file" 文字列 /KANJI_DICTIONARY=に指定した個人辞書ファイル名
SCREEN "video_character_set" [1]整数
(1か0)
第3パラメータで指定した文字セットを画面に表示できるかどうかを示す値
SYSTEM"codeset" キーワード システム・コードセットを示すキーワード
"fill_not_begin" 文字列 行頭禁則文字からなる文字列
"fill_not_end" 文字列 行末禁則文字からなる文字列
"fill_trim_space" [1]整数
(1か0)
FILL組込みプロシージャで分割された行の最後の空白文字を取り除くかどうかを示す値
"jis_roman" [1]整数
(1か0)
JISローマ字文字セットがASCII文字セットに代わって使われるかどうかを示す値
"kanji_dictionary_file" 文字列 DEC XTPUが呼びだされたときに使用された個人辞書ファイル名
"keyboard_codeset" キーワード キーボード・コードセットを示すキーワード
"margin_allowance" 整数 右マージンを越えて置くことができる行頭禁則文字の数
"message_codeset" キーワード メッセージ・コードセットを示すキーワード

[1]  1という整数値は条件が真であることを示し,0 という整数値は偽であ ることを示す。

シグナル・エラー

XTPU$_BADREQUEST WARNING 2番目の引数によって指定される要求が最初の引数のデータ・タイプに対して正しくないものである
XTPU$_BADKEY WARNING 最初の引数として誤ったキーワード値,または認識されないデータ・タイプが渡されていた
XTPU$_NOBREAKPOINT WARNING 文字列定数が使用できるのはブレーク・ポイントの後のみである
XTPU$_NOCRRENTBUF WARNING 現在のバッファが定義されていない
XTPU$_NOKEYMAP WARNING キー・マップが定義されていない
XTPU$_NOKEYMAPLIST WARNING キー・マップ・リストが定義されていない
XTPU$_NONAMES WARNING 要求された名前にマッチするものがない
XTPU$_INVPARAM ERROR 引数のデータ・タイプに誤りがある
XTPU$_NEEDTOASSIGN ERROR GET_INFO組込みプロシージャは代入文の右辺でのみ使用できる
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
XTPU$_UNKEYWORD ERROR 引数に誤ったキーワードが使われた

    1. my_dictionary := GET_INFO (SYSTEM, "kanji_dictionary_file");
    
    この代入ステートメントは,現在使用中の個人辞書の名前をmy_ dictionaryという変数に代入します。
    2. current_codeset := GET_INFO (CURRENT_BUFFER, "codeset");
    
    この代入ステートメントは,現在のバッファのコードセットをcurrent_ codesetという変数に代入します。


KEY_NAME

この組込みプロシージャは,1つのキーまたは複数のキーの組合わせを示す DEC XTPUキーワードを通知します。

形式

    keyword2 := KEY_NAME  ({integer|key-name|string} [,SHIFT_KEY]
                         [,{FUNCTION|KEYPAD}])

パラメータ

integer
キーを示すキーワードの整数表現,DEC XTPUがISO Latin1文字セットに 解釈する0から255までの整数。

key-name
キーに対するDEC XTPUキー名を示すキーワード。

string
メイン・キーボードのキーの値を示す文字列。

SHIFT_KEY
戻されるキーワードの前に1つまたは複数のシフト・キーが存在すること を示すパラメータ。SHIFT_KEYはDEC XTPUが定義するSHIFTキーで,(省略時の 値は[PF1]),キーボードの[Shift]キーではありません。

FUNCTION
パラメータでファンクション・キーによって発生するコードを指定して いることを示す。

KEYPAD
パラメータでキーパッドによって発生するコードを指定していることを示す。

説明

KEY_NAME組込みプロシージャについての基本的な説明は, 『DEC Text Processing Utility Reference Manual』を参照してください。 

string パラメータに,日本語の全角文字を指定することができます。また, 日本語の全角文字もキー定義に使用することができます。

シグナル・エラー

XTPU$_BADKEY WARNING 指定 できるキーワードはSHIFT_KEY,FUNCTION,KEYPADのみである
XTPU$_INCKWDCOM WARNING キーワードの組み合せが正しくない
XTPU$_MUSTBEONE WARNING 文字列は1文字でなければならない
XTPU$_NOTDEFINABLE WARNING キーに定義されない値が指定された
XTPU$_NEEDTOASSIGN ERROR KEY_NAMEは代入文の右辺でのみ使用できる
XTPU$_ARGMISMATCH ERROR パラメータのデータ・タイプが正しくない
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる

    1. key1 := KEY_NAME (' タ')
    
    この代入ステートメントはキーボードの"タ"というキーに対してkey1とい うキー名を作成します。
    2. key2 := KEY_NAME (' タ', SHIFY_KEY)
    
    この例では,キーの組合せに対してキー名を作成するためにKEY_NAMEが使 用されています。


MARK

この組込みプロシージャは,現在のバッファの現在の文字位置にマーカを設 定して,そのマーカを戻します。マーカがスクリーンにどのように表示され るかを(NONE,REVERSE,BOLD,またはUNDERLINE)指定しなければなりません。

形式

    marker := MARK  (keyword)

パラメータ

keyword
以下のいずれかのキーワードを使用しなければなりません。

BLINK マーカが点滅することを指定します。
BOLD マーカがボールド体で表示されることを指定します。
FREE_CURSOR マーカがフリー・マーカ(文字に対応しないマーカ) であることを指定します。MARK(FREE_CURSOR)が実行されたときのカーソル位置が, 行頭より前,行末より後ろ,タブの中,DEC漢字文字の 第2カラム上,バッファの終端より下でないときにはフリー・マーカに はなりません。フリー・マーカはビデオ属性を持ちません。
NONE ビデオ属性がマーカに適用されないことを指定します。
REVERSE マーカが反転表示されることを指定します。
UNDERLINE マーカにアンダーラインが引かれることを指定します。

説明

MARK組込みプロシージャに関する基本的な説明は, 『DEC Text Processing Utility Reference Manual』を参照してください。

マーカは文字の境界にセットされます。したがって,たとえば漢字上にカー ソルがあるときに,マーカをセットしようとすると,現在の文字位置が漢字 の2カラム目にあるときでも,マーカはその文字の1カラム目にセットされま す。ただしフリー・マーカは漢字の2カラム目にセットすることができます。

シグナル・エラー

XTPU$_NOCURRENTBUF WARNING マーカはバッファ中にのみ設定できる
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる
XTPU$_NEEDTOASSIGN ERROR MARKは代入文の右辺でのみ使用できる
XTPU$_INVPARAM ERROR パラメータのデータ・タイプが正しくない
XTPU$_BADKEY ERROR 指定できるキーワードはNONE,BOLD,BLINK, REVERSE,UNDERLINE,FREE_CURSORのいずれかである
XTPU$_UNKKEYWORD ERROR 正しくないキーワードが指定された
XTPU$_INSVIRMEM FATAL マーカを作るのに十分なメモリがない


PCS_CLASS

この組込みプロシージャは,指定した文字が属するPCS (Primitive Character Set)をビット・フィールド形式で整数値として戻します。

形式

    integer2 := PCS_CLASS  (string [,integer1])

パラメータ

string
文字が属するPCSを知りたい文字を指定します。2文字以上の文字列を指 定したときには最初の文字のみが有効です。

inteter1
PCSのグループ番号を指定します。このパラメータは将来32以上のPCSを 扱うために用意されていますが,現在はグループ番号0のみが使われますの で,省略可能です。省略時の値は0です。

説明

次の表はPCSを示すビットの割り当てを示しています。プログラム中で は予め定義された定数と,PCS_CLASSから戻される値を論理演算で比較するこ とになります。

クラス ビット 定数
ASCII_CHAR 0 XTPU$K_ASCII_CHAR
DEC_SUPPLEMENTAL 1 XTPU$K_DEC_SUPP
LATIN1_SUPPLEMENTAL 2 XTPU$K_LATIN1_SUPP
JIS_ROMAN 3 XTPU$K_JIS_ROMAN
JIS_KATAKANA 4 XTPU$K_JIS_KATAKANA
KANJI_1 (JIS X0208) 8 XTPU$K_KANJI_1
KANJI_UDC 16 XTPU$K_KANJI_UDC

シグナル・エラー

XTPU$_INVPARAM ERROR 引数の型が正しくない
XTPU$_NEEDTOASSIGN ERROR PCS_CLASSは代入文の右辺でのみ使用できる
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる


READ_CHAR

この組込みプロシージャは,次にキーボードから入力される文字を文字列で 通知します。

形式

    string := READ_CHAR

パラメータ

なし

説明

READ_CHAR組込みプロシージャに関する基本的な説明は, 『DEC Text Processing Utility Reference Manual』を参照してください。

キーボードから入力される文字コードの解釈は,キーボード・コードセット の設定に従います。詳しくはGET_INFO (SYSTEM,"keyboard_codeset")および SET (KEYBOARD_CODESET)を参照してください。

シグナル・エラー

XTPU$_NEEDTOASSIGN ERROR READ_CHARは代入文の右辺でのみ使用できる
XTPU$_NOCHARREAD WARNING READ_CHARが文字を読まなかった
XTPU$_TOOMANYERROR パラメータの数が多すぎる


READ_KEY

この組込みプロシージャは,次のキーボードからの入力を待ち,そのキーに 対するキーワードを通知します。このプロシージャは,エスケープ・シーケ ンスを送るキーやコントロール・キーも受け付けます。

形式

    keyword := READ_KEY

パラメータ

なし

説明

READ_KEY組込みプロシージャに関する基本的な説明は, 『DEC Text Processing Utility Reference Manual』を参照してください。

キーボードから入力される文字コードの解釈は,キーボード・コードセット の設定に従います。詳しくはGET_INFO (SYSTEM,"keyboard_codeset")および SET (KEYBOARD_CODESET)を参照してください。

シグナル・エラー

XTPU$_CONTROLC ERROR READ_KEYの実行中に[Ctrl/C]が押された
XTPU$_NEEDTOASSIGN ERROR READ_KEYは代入文の右辺でのみ使用できる
XTPU$_REQUIRESTERM ERROR NODISPLAYモードではREAD_KEYを使用できない
XTPU$_TOOMANY ERROR パラメータの数が多すぎる


READ_LINE

この組込みプロシージャは,入力を要求するプロンプトとして指定されたテ キストを表示し,プロンプトに対する応答として入力された情報を読み込 みます。読み込みたい文字の最大のバイト数を指定することもできます。 READ_LINEは,プロンプトに対する応答として入力されたデータを含む文字列 を通知します。

形式

    string2 := READ_LINE  [(string1 [,integer])]

パラメータ

string1
入力を要求するプロンプトとして使用されるテキストを指定します。こ のパラメータは省略することができます。

integer
プロンプトに対する応答として入力されたデータから何バイトを読 み込むかを指定します。指定できる最大値は132文字です。このパラメー タは省略することができます。このパラメータが指定されなかったときに は,[Return]キーまたは[Ctrl/Z]が入力されるまで,あるいは文字列の長さ が132文字になるまで入力できます。

説明

READ_LINE組込みプロシージャに関する基本的な説明は, 『DEC Text Processing Utility Reference Manual』を参照してください。

キーボードから入力される文字コードの解釈は,キーボード・コードセット の設定に従います。詳しくはGET_INFO (SYSTEM,"keyboard_codeset")および SET (KEYBOARD_CODESET)を参照してください。

シグナル・エラー

XTPU$_INVPARAM ERROR パラメータのデータ・タイプが正しくない
XTPU$_NEEDTOASSIGN ERROR READ_LINEは代入文の右辺でのみ使用できる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる


SELECT

この組込みプロシージャは現在のバッファの現在の文字位置にマーカをセッ トして,そのマーカを返します。マーカがスクリーンにどのように表示さ れるかを指定しなければなりません(NONE,REVERSE,BOLD,BLINK,または UNDERLINE)。

SELECTから通知されるマーカは選択・レンジの最初の文字位置を示していま す。マーカに対して指定したビデオ属性は選択・レンジに含まれるすべての 文字に適用されます。選択・レンジの作成方法については,SELECT_RANGE を 参照してください。

形式

    marker := SELECT  (keyword)

パラメータ

keyword
戻されるマーカがスクリーン上でどのように表示されるかを指定しま す。以下のいずれかのキーワードを使用しなければなりません。

BLINK マーカが点滅することを指定します
BOLD マーカがボールド体で表示されることを指定します
NONE ビデオ属性がマーカに適用されないことを指定します
REVERSE マーカが反転表示されることを指定します
UNDERLINE マーカにアンダーラインが引かれることを指定します

説明

SELECT組込みプロシージャに関する基本的な説明は, 『DEC Text Processing Utility Reference Manual』を参照してください。 

SELECTが実行されたときに,現在の編集位置が複数カラム文字の2カラム目以 降にあった場合には,マーカは1カラム目にセットされます(現在の編集位置 は動きません)。

シグナル・エラー

XTPU$_BADKEY WARNING 正しくないキーワードが指定された
XTPU$_NOCURRENTBUF WARNING 現在のバッファが設定されていない
XTPU$_ONESELECT WARNING SELECTは現在のバッファですでに実行中である
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる
XTPU$_NEEDTOASSIGN ERROR SELECTは代入文の右辺でのみ使用できる
XTPU$_INVPARMERROR SELECTのパラメータがキーワードでない


SELECT_RANGE

この組込みプロシージャはSELECT組込みプロシージャを使ってセットされた マーカと現在の文字位置の間のすべての文字を含むレンジを通知します。 SELECT_RANGEの場合,選択されたレンジの中の最後の位置には文字は含まれません。

形式

    range := SELECT_RANGE

パラメータ

なし

説明

SELECT_RANGE組込みプロシージャに関する基本的な説明は, 『DEC Text Processing Utility Reference Manual』を参照してください。  SELECT_RANGEを実行したときに現在の編集位置が複数カラム文字の2カラム目 以降にあった場合には,編集位置が1カラム目にあるときと同様に動作します。

シグナル・エラー

XTPU$_NOCURRENTBUF WARNING 現在のバッファが設定されていない
XTPU$_NOSELECT WARNING 現在のバッファでSELECTが実行されていない
XTPU$_SELRANGEZERO WARNING 選択されたレンジに文字が入っていない
XTPU$_NEEDTOASSIGN ERROR SELECT_RANGEは代入文の右辺でのみ使用できる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる


SET

この組込みプロシージャは,DEC XTPUセッションの特定の機能を設定または 変更するために使用されます。SET組込みプロシージャでは最初のパラメータ としてキーワードを指定しなければなりません。キーワードはエディタのど の機能をセットするのかを指定します。セットできる機能はテキスト入力モ ード,スクリーンの特定の部分に表示されるテキスト,バッファの方向,バ ッファのステータスなどです。

形式

    SET  (keyword, parameter [,...])

パラメータ

keyword
最初のパラメータとして使用されるキーワードは,設定または変更され る機能を指定します。SET組込みプロシージャに対して以下のキーワードを指 定することができます。アスタリスク(*)がついたものはDEC XTPUで追加さ れたもので,後の節で説明されています。
AUTO_REPEAT
BELL
CODESET (*)
COLUMN_MOVE_VERTICAL
CROSS_WINDOW_BOUNDS
DEBUG
DETACHED_ACTION
EOB_TEXT
ERASE_UNMODIFIABLE
FACILITY_NAME
FILL_NOT_BEGIN (*)
FILL_NOT_END (*)
FILL_TRIM_SPACE (*)
FORWARD
INFORMATIONAL
INSERT
JOURNALING
KEY_MAP_LIST
KEYSTROKE_RECOVERY
KEYBOARD_CODESET (*)
LEFT_MARGIN
LEFT_MARGIN_ACTION
LINE_NUMBER
MARGINS
MARGIN_ALLOWANCE (*)
MAX_LINES
MESSAGE_ACTION_LEVEL
MESSAGE_ACTION_TYPE
MESSAGE_CODESET (*)
MESSAGE_FLAGS
MODIFIABLE
MODIFIED
MOUSE
MOVE_VERTICAL_CONTEXT
NO_WRITE
OUTPUT_CODESET (*)
OUTPUT_FILE
OVERSTRIKE
PAD
PAD_OVERSTRUCK_TABS
PERMANENT
POST_KEY_PROCEDURE
PRE_KEY_PROCEDURE
PROMPT_AREA
RECORD_ATTRIBUTE
RECORD_MODE
REVERSE
RIGHT_MARGIN
RIGHT_MARGIN_ACTION
SCREEN_UPDATE
SCROLLING
SELF_INSERT
SHIFT_KEY
SPECIAL_ERROR_SYMBOL
STATUS_LINE
SUCCESS
SYSTEM
TAB_STOPS
TEXT
TIMER
TRACEBACK
UNDEFINED_KEY
VIDEO
VIDEO_CHARACTER_SET (*)
WIDTH

これらの各キーワードとその後に指定されるパラメータについては,以降の ページで詳しく説明します。キーワードはアルファベット順に説明されています。

parameter [,...]
最初のパラメータの後に指定されるパラメータの数は,どのキーワード を使用したかによって異なります。パラメータはキーワードの説明の形式の 部分に示されています。

説明

SET組込みプロシージャは編集インターフェイスを作成するプログラ マ,およびその編集インターフェイスを利用する人が使用できるように設計 されています。プログラマは編集インターフェイスの特定の省略時の動作 や,スクリーン表示を設定することができます。また,ユーザは省略時の動 作を変更し,SET組込みプロシージャを使って既存のDEC XTPUセッションを簡 単にカスタマイズすることができます。


SET (CODESET)

形式

    SET  (CODESET, {SYSTEM | buffer}, keyword)

パラメータ

CODESET
システムまたはバッファのコードセットを指定するためのキーワード。

SYSTEM
システム・コードセットを設定することを示します。

buffer
コードセットを設定するバッファを指定します。

keyword
設定するコードセットを示すキーワード。指定できるキーワードは, DEC_MCS,ISO_LATIN1,ASCII_JISKANA,DECKANJI,またはSDECKANJIです。

説明

CREATE_BUFFER組込みプロシージャで新しくバッファを作るときには, 新しいバッファのコードセットおよび出力コードセットはシステム・コード セットと同じになります。

バッファのコードセットには2種類あり,SET (CODESET)で指定するコードセ ットは,READ_FILE組込みプロシージャでファイルを読み込むときに使われま す。ファイルに書き出すときに使用させれるコードセット(出力コードセッ ト)は,SET (OUTPUT_CODESET)組込みプロシージャで設定します。

SET (KEYBOARD_CODESET),SET (MESSAGE_CODESET),SET (OUTPUT_CODESET)も 参照してください。

シグナル・エラー

XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない
XTPU$_BADKEY ERROR 正しくないキーワードが指定された
XTPU$_ARGMISMATCH ERROR 引数の型が正しくない


SET (FILL_NOT_BEGIN)

形式

    SET  (FILL_NOT_BEGIN, string)

パラメータ

FILL_NOT_BEGIN
行頭禁則文字を指定するためのキーワード。

string
行頭禁則文字からなる文字列。

説明

FILL組込みプロシージャを実行する時に使用する"行頭禁則文字"を指 定します。FILLは行頭禁則文字に指定された文字が行頭にこないように,行 を分割する位置を決定します。

FILL,SET (FILL_NOT_END),SET (MARGIN_ALLOWANCE)も参照してください。

シグナル・エラー

XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANYERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない


SET (FILL_NOT_END)

形式

    SET  (FILL_NOT_END, string)

パラメータ

FILL_NOT_END
行末禁則文字を指定するためのキーワード。

string
行末禁則文字からなる文字列。

説明

FILL組込みプロシージャを実行する時に使用する"行末禁則文字"を指 定します。FILLは行末禁則文字に指定された文字が行末にこないように,行 を分割する位置を決定します。

FILL,SET (FILL_NOT_BEGIN),SET (MARGIN_ALLOWANCE)も参照してください。

シグナル・エラー

XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANYERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない


SET (FILL_TRIM_SPACE)

形式

    SET  (FILL_TRIM_SPACE, {ON | OFF | 1 | 0})

パラメータ

FILL_TRIM_SPACE
FILL組込みプロシージャの実行によって行末にきた空白文字を,取り除 くかどうかを制御することを示すキーワード。

ONまたは1
FILL組込みプロシージャの実行によって行末にきた空白文字を,取り除 くことを指示します。

OFFまたは0
FILL組込みプロシージャの実行によって行末にきた空白文字を,取り除 かないことを指示します。

説明

FILL,SET (FILL_NOT_BEGIN),SET (FILL_NOT_END),SET (MARGIN_ ALLOWANCE)も参照してください。

シグナル・エラー

XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない
XTPU$_BADKEY WARNING 正しくないキーワードが指定された
XTPU$_ONOROFF ERROR 第2パラメータはON,OFF,1,0のいずれかでなければならない


SET (KEYBOARD_CODESET)

形式

    SET  (KEYBOARD_CODESET, keyword)

パラメータ

KEYBOARD_CODESET
キーボードのコードセットを指定するためのキーワード。

keyword
設定するキーボード・コードセットを示すキーワード。指定できる キーワードは,DEC_MCS,ISO_LATIN1,ASCII_JISKANA,DECKANJI,または SDECKANJIです。

説明

SET (KEYBOARD_CODESET)はキーボード(端末)から送られるバイト列の 解釈の方法を規定します。たとえば,端末から177というコードが送られたと きに,キーボード・コードセットがISO_LATIN1に設定されていると半角の"± "という文字に解釈されますが,キーボード・コードセットがASCII_JISKANA に設定されていると,JISカタカナ文字セット(半角)の"ア"という文字に解釈 されます。

SET (CODESET),SET (MESSAGE_CODESET),SET (OUTPUT_CODESET)も参照して ください。

シグナル・エラー

XTPU$_BADKEY WARNING 正しくないキーワードが指定された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANYERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない


SET (MARGIN_ALLOWANCE)

形式

    SET  (MARGIN_ALLOWANCE, integer)

パラメータ

MARGIN_ALLOWANCE
右マージンを越えて置くことができる行頭禁則文字のカラム数を指定す るためのキーワード。

integer
右マージンを越えて置くことができる行頭禁則文字のカラム数を指定する整数。

説明

組込みプロシージャFILLは行頭禁則文字と行末禁則文字を考慮に入れ て文字列を詰め込みます。SET (MARGIN_ALLOWANCE,...)を使用して,行頭禁 則文字が何カラムまで右マージンを越えた位置に存在できるかを指定できます。

初期値は0で,行頭禁則文字は右マージンを越えて存在できません。この場合 は,行頭禁則文字が行の先頭にこないように,行頭禁則文字でない文字を伴 って次の行に移されるので,右マージンまで埋まらない行ができることがあります。

FILL,SET (FILL_NOT_BEGIN),SET (FILL_NOT_END)も参照してください。

シグナル・エラー

XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANYERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない
XTPU$_BADVALUEERROR 負の値が指定された


SET (MESSAGE_CODESET)

形式

    SET  (MESSAGE_CODESET, keyword)

パラメータ

MESSAGE_CODESET
メッセージのコードセットを指定するためのキーワード。

keyword
設定するメッセージ・コードセットを示すキーワード。指定できる キーワードは,DEC_MCS,ISO_LATIN1,ASCII_JISKANA,DECKANJI,または SDECKANJIです。

説明

SET (MESSAGE_CODESET)はメッセージ・ファイルに書かれた内容の解釈 の方法を規定します。たとえばメッセージファイルに177というコードが書 かれていたときに,メッセージ・コードセットがISO_LATIN1に設定されてい ると半角の"±"という文字に解釈されますが,メッセージ・コードセットが ASCII_JISKANAに設定されていると,JISカタカナ文字セット(半角)の"ア"と いう文字に解釈されます。

SET (CODESET),SET (KEYBOARD_CODESET),SET (OUTPUT_CODESET)も参照して ください。

シグナル・エラー

XTPU$_BADKEY WARNING 正しくないキーワードが指定された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANYERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない


SET (OUTPUT_CODESET)

形式

    SET  (OUTPUT_CODESET, buffer, keyword)

パラメータ

OUTPUT_CODESET
バッファの出力コードセットを指定するためのキーワード。

buffer
出力コードセットを設定するバッファを指定します。

keyword
設定するコードセットを示すキーワード。指定できるキーワードは, DEC_MCS,ISO_LATIN1,ASCII_JISKANA,DECKANJI,またはSDECKANJIです。

説明

バッファのコードセットには2種類あり,SET (OUTPUT_CODESET)で指定 するコードセットはWRITE_FILE組込みプロシージャでファイルを書き出す ときに使われます。ファイルに読み込むときに使われるコードセットはSET (CODESET)組込みプロシージャで設定します。

SET (CODESET),SET (KEYBOARD_CODESET),SET (MESSAGE_CODESET)も参照し てください。

シグナル・エラー

XTPU$_BADKEY WARNING 正しくないキーワードが指定された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANYERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない


SET (VIDEO_CHARACTER_SET)

形式

    SET  (VIDEO_CHARACTER_SET, keyword, {ON|OFF|1|0})

パラメータ

VIDEO_CHARACTER_SET
端末に表示する文字セットを設定するキーワード。

keyword
有効または無効にする文字セットを示すキーワード。指定できるキ ーワードは,DEC_SUPPLEMENTAL,LATIN1_SUPPLEMENTAL,JIS_ROMAN,JIS_ KATAKANA,KANJI_1,またはKANJI_UDCです。

ONまたは1
指定した文字セットを有効にすることを指定します。

OFFまたは0
指定した文字セットを無効にすることを指定します。

説明

SET (VIDEO_CHARACTER_SET)組込みプロシージャは,端末が持っている 文字セットの情報をDEC XTPUに通知するために使われます。DEC XTPUは,端 末が持っている文字セットの情報を使って,端末が表示できない文字をダイ アモンド・シンボルで表示する機能を持っています。

しかしDEC XTPUが端末が持っている文字セットの正しい情報を持っていない と文字化けを起こしたり,表示できるはずの文字がダイアモンド・シンボル になってしまいます。このような場合はSET (VIDEO_CHARACTER_SET)組込みプ ロシージャで正しい情報をDEC XTPUに知らせることができます。

シグナル・エラー

XTPU$_BADKEY WARNING 間違ったキーワードが指定された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANYERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない


SPLIT_LINE

この組込みプロシージャは現在の行を現在の文字位置で区切り,2つの行を作 成します。

形式

    SPLIT_LINE

パラメータ

なし

説明

SPLIT_LINE組込みプロシージャに関する基本的な説明は, 『DEC Text Processing Utility Reference Manual』を参照してください。

現在の文字位置が2カラム文字の2カラム目にあるときにSPLIT_LINEを実行す ると,1カラム目にあるときと同様に行が分割されます。

シグナル・エラー

XTPU$_NOCURRENTBUF WARNING 現在のバッファが設定されていない
XTPU$_NOTMODIFIABLE WARNING 変更が禁止されているバッファの内容は変更できない
XTPU$_NOCACHE ERROR 十分なメモリがない
XTPU$_TOOMANY ERROR パラメータの数が多すぎる


SYMBOL

この組込みプロシージャは,1〜3個の文字の組合せをDEC漢字コード中の特殊 文字の1つに変換してそれを通知します。また,区点コード変換および16進コ ード変換を行います。

形式

    string2 := SYMBOL  (string1)

パラメータ

string1
特殊文字を生成するもととなる文字列。

説明

この組込みプロシージャは,ASCII文字からDEC漢字セットの特殊記号文 字および罫線文字の変換およびコード変換を行います。これは日本語OpenVMS かな漢字変換ライブラリを使っています。変換対応表については,の付録Bを 参照してください。

シグナル・エラー

XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANYERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない
XTPU$_NEEDTOASSIGN ERROR SYMBOLは代入文の右辺でのみ使用できる

    このプロシージャは,現在の編集位置に'≠'を挿入します。
    PROCEDURE user_symbol
      COPY_TEXT (SYMBOL('=/'));
    ENDPROCEDURE;
    


VERIFY_BUFFER

この組込みプロシージャは,バッファの中に存在する指定したコードセット で表現できない文字を検索し,表現できない文字が連続する領域をレンジで 戻します。該当する文字がないときには整数値0を戻します。

形式

    {range | 0} := VERIFY_BUFFER  (keyword, {FORWARD | REVERSE})

パラメータ

keyword
コードセットを表すキーワード。指定できるキーワードは,DEC_MCS, ISO_LATIN1, ASCII_JISKANA, DECKANJI, SDECKANJIです。

FORWARD
現在の変終点からバッファの終わりの方向に検索することを指定するキーワード。

REVERSE
現在の変終点からバッファの先頭の方向に検索することを指定するキーワード。

説明

この組込みプロシージャはWRITE_FILEでファイルに書き込む前に,バッ ファ中の文字がそのままファイルに書き込めるかどうかを調べるために使い ます。VERIFY_BUFFERで検索された文字列は,指定したコードセットで正しく ファイルに書き込むことができません。戻される range には,最初に見つか った該当する文字が連続する領域のレンジが入ります。

シグナル・エラー

XTPU$_BADKEY WARNING 間違ったキーワードが渡された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANYERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない
XTPU$_NEEDTOASSIGN ERROR VERIFY_BUFFER組込みプロシージャは代入文の右辺でのみ使用できる


前のページ | 次のページ | 目次 | 索引