[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]

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 (HEIGHT)
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
RECOVER_BUFFER
SET (AUTO_REPEAT)
SET (BELL)
SET (CODESET) (*)
SET (DEBUG)
SET (DEFAULT_DIRECTORY)
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 (L
EFT_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
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に必要なパラメータを指定して, DECXTPUセッションから外部プログラムを実行します。 プログラムが正しくリンクされて論理名XTPU$CALLUSERが定義されていると, 組込みプロシージャCALL_USERはパラメータを外部ルーチンに渡します。

CALL_USERのパラメータは呼び出したプログラムへの入力パラメータになります。 DEC XTPUは,パラメータに対して何の処理も行わずに外部プロシージャに渡します。 呼び出されるルーチンが必要としていない場合でも,パラメータは必ず2つ渡さなければなりません。 値を渡す必要のないときには,以下のようなNULLパラメータを渡してください。

     CALL_USER (0, "")

シグナル・エラー

XTPU$_CALLUSERFAIL WARNING CALL_USERルーチンの実行が失敗した
XTPU$_ARGMISMATCH ERROR パラメータのデータ・タイプが正しくない
XTPU$_BADUSERDESC ERROR ユーザ・ルーチンがリターン・ディスクリプタに正しくない値を入れた
XTPU$_INVPARAM ERROR パラメータの型が間違っている
XTPU$_NEEDTOASSIGN ERROR CALL_USERは代入文の右辺でのみ使用できる
XTPU$_NOCALLUSER ERROR 実行するルーチンが光からない
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
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は変換された文字列を含むバッファ,レンジ,または文字列を戻すこともできます。

形式

引数

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 ひら ひら カタ none none none

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

シグナル・エラー

XTPU$_BADKEY WARNING 間違ったキーワードが指定された
XTPU$_NOTMODIFIABLE WARNING 変更できないバッファの中のテキストを変更することはできない
XTPU$_ARGMISMATCH ERROR 引数の型が正しくない
XTPU$_CONTROLC ERROR CHANGE_CASEの実行中に[Ctrl/C]が押された
XTPU$_INVPARAM ERROR パラメータのデータ・タイプが間違っている
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
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,およびSJISです。

keyword2

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

戻り値

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オクテット表現, いわゆるUnicode)と文字との相互変換を行います。 またキーに対応する文字を得るためにも使用されます。

形式

    {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$_INVPARAM ERROR 引数の型が正しくない
XTPU$_NOCLA ERROR 変換対象となる文節が指定されていない,変換を開始していない
XTPU$_NODICENT WARNING 文節の縮小あるいは拡大ができない。単語が辞書にない(変換不可能)
XTPU$_STRTOOLONG ERROR 入力文字数が253文字を越えた
XTPU$_TOOFEW ERROR パラメータの数が少なすぎる
XTPU$_TOOMANY ERROR パラメータの数が多すぎる
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$_NEEDTOASSIGN ERROR DEC_KANJIは代入文の右辺でのみ使用できる
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
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 1 2 3 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かな漢字変換ライブラリを使用しています。 単語とその読みは,個人辞書に登録されているものであってはなりません。

『日本語ライブラリ 利用者の手引き』の "かな漢字変換ライブラリ" の JLB$ENT_TANGO を参照してください。

シグナル・エラー

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

    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パラメータについては『OpenVMS System Services Reference Manual』を参照してください。 一般的には,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$_TOOMANY ERROR パラメータの数が多すぎる



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$_INVPARM ERROR 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で追加されたもので,後の節で説明されています。


ACTIVE_AREA
AUTO_REPEAT
BELL
CLIENT_MESSAGE
CODESET (*)
COLUMN_MOVE_VERTICAL
CROSS_WINDOW_BOUNDS
DEBUG
DEFAULT_DIRECTORY
DEFAULT_FILE
DETACHED_ACTION
DISPLAY_VALUE
DRM_HIERARCHY
ENABLE_RESIZE
EOB_TEXT
ERASE_UNMODIFIABLE
FACILITY_NAME
FILL_NOT_BEGIN (*)
FILL_NOT_END (*)
FILL_TRIM_SPACE (*)
FIRST_INPUT_ACTION
FORWARD
GLOBAL_SELECT
GLOBAL_SELECT_GRAB
GLOBAL_SELECT_READ
GLOBAL_SELECT_TIME
GLOBAL_SELECT_UNGRAB
HEIGHT
ICON_NAME
ICON_PIXMAP
INFORMATIONAL
INPUT_FOCUS
INPUT_FOCUS_GRAB
INPUT_FOCUS_UNGRAB
INSERT
JOURNALING
KEY_MAP_LIST
KEYSTROKE_RECOVERY
KEYBOARD_CODESET (*)
LEFT_MARGIN
LEFT_MARGIN_ACTION
LINE_NUMBER
MAPPED_WHEN_MANAGED
MARGINS
MARGIN_ALLOWANCE (*)
MAX_LINES
MENU_POSITION
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
RESIZE_ACTION
REVERSE
RIGHT_MARGIN
RIGHT_MARGIN_ACTION
SCREEN_LIMITS
SCREEN_UPDATE
SCROLL_BAR
SCROLL_BAR_AUTO_THUMB
SCROLLING
SELF_INSERT
SHIFT_KEY
SPECIAL_ERROR_SYMBOL
STATUS_LINE
SUCCESS
SYSTEM
TAB_STOPS
TEXT
TIMER
TRACEBACK
UID
UNDEFINED_KEY
VIDEO
VIDEO_CHARACTER_SET (*)
WIDGET
WIDGET_CALL_DATA
WIDGET_CALL_BACK
WIDGET_CONTEXT_HELP
WIDGET_RESOURCE_TYPES
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,またはSJISです。

説明

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$_TOOMANY ERROR 引数の数が多すぎる
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$_TOOMANY ERROR 引数の数が多すぎる
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,または SJIS です。

説明

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

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

シグナル・エラー

XTPU$_BADKEY WARNING 正しくないキーワードが指定された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
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$_TOOMANY ERROR 引数の数が多すぎる
XTPU$_INVPARAM ERROR 引数の型が正しくない
XTPU$_BADVALUE ERROR 負の値が指定された



SET (MESSAGE_CODESET)

形式

     SET  (MESSAGE_CODESET, keyword) 

引数

MESSAGE_CODESET

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

keyword

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

説明

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

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

シグナル・エラー

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



SET (OUTPUT_CODESET)

形式

     SET  (OUTPUT_CODESET, buffer, keyword) 

引数

OUTPUT_CODESET

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

buffer

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

keyword

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

説明

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

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

シグナル・エラー

XTPU$_BADKEY WARNING 正しくないキーワードが指定された
XTPU$_TOOFEW ERROR 引数の数が少なすぎる
XTPU$_TOOMANY ERROR 引数の数が多すぎる
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$_TOOMANY ERROR 引数の数が多すぎる
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$_TOOMANY ERROR 引数の数が多すぎる
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,SJISです。

FORWARD

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

REVERSE

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

説明

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

シグナル・エラー

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


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]