日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMSドキュメント
ライブラリ

タイトルページ
目次
まえがき
第 1 章:概要
第 2 章:日本語ライブラリの使用例
第 3 章:汎用ライブラリ
第 4 章:基本ライブラリ
第 5 章:かな漢字変換ライブラリ
第 6 章:漢字コード変換ライブラリ
付録 A :変換キー配列
付録 B :変換対応表
索引
PDF
OpenVMS ホーム

日本語 OpenVMS
日本語ライブラリ 利用者の手引き


目次 索引




VTF-7 コードセットから指定されたコードセットへ,日本語ファイル名の文字コード変換を行います。

形式

ret-status = JSY$RMS_VTF7_USER ( src-str, src-len, [dst-str], [dst-len], out-len, [codeset], [codeset-len])


引数


src-str
        JSY usage 変換対象文字列
        type Byte string
        access 入力のみ
        mechanism Reference 渡し
src-len
        JSY usage 変換対象文字列のバイト長
        type Longword
        access 入力のみ
        mechanism Value 渡し
dst-str
        JSY usage 変換結果出力領域
        type Byte string
        access 出力のみ
        mechanism Reference 渡し
dst-len
        JSY usage 変換結果出力領域のバイト長
        type Longword
        access 入力のみ
        mechanism Value 渡し
out-len
        JSY usage 変換結果のバイト長
        type Longword
        access 出力のみ
        mechanism Reference 渡し
codeset
        JSY usage コードセット名
        type Byte string
        access 入力のみ
        mechanism Reference 渡し
codeset-len
        JSY usage コードセット名のバイト長
        type Longword
        access 入力のみ
        mechanism Value 渡し


説明

このルーチンは RMS を使用せずにファイルにアクセスするアプリケーションなどが,日本語ファイル名をサポートするために利用することができます。

日本語ファイル名は Windows NT のサポートするファイル名に準拠しているため,一部の文字の変換規則は iconv と異なります。

変換結果出力領域を省略した場合は (引数 dst-str および dst-len がゼロ),変換結果のバイト数のみを out-len に出力します。

変換対象文字列と変換結果出力領域が全く同じアドレスだった場合, JSY$RMS_VTF7_USER は自動的に内部バッファを確保し,正常に変換を行います。しかし変換対象文字列と変換結果出力領域の一部だけが重複していた場合は,結果は保証されません。

コードセット名を省略した場合は (引数 codeset および codeset-len がゼロ),現在のプロセスが使用しているコードセットを自動的に選択します。


戻り値

ret-status SS$_NORMAL
  JSY$_STRTRU



3.6 その他のルーチン




現在の日付けおよび時間の入手

形式

ret-status = JLB$DATE_TIME ( dst-str [, flg[, out-len]] )


引数


dst-str
        JLB usage 出力文字列
        access 出力のみ
        mechanism Descriptor渡し
flg
        JLB usage 時間制の指定
        type Byte
        access 入力のみ
        mechanism Reference渡し
  0 : 12時間制(省略時の値)
  1 : 24時間制
out-len
        JLB usage 出力文字列のバイト長
        type Word
        access 出力のみ
        mechanism Reference渡し


戻り値

ret-status SS$_NORMAL
  LIB$_STRTRU


説明

JLB$DATE_TIME で使用する元号の名称および日付は,論理名で定義されます。この論理名は,システムのスタートアップ時に, SYS$STARTUP:JSY$DT_STARTUP.COM を実行することによって定義されます (SYS$STARTUP:JSY$STARTUP.COM の中から実行されます)。省略時には次のように定義します。

$       define/system/exec jsy$era_name - 
                                "平成", - 
                                "昭和", - 
                                "大正", - 
                                "明治" 
$       define/system/exec jsy$era_begin_date - 
                                "19890108", - 
                                "19261425", - 
                                "19140730", - 
                                "18680908" 
$       define/system/exec jsy$era_display_form 1 

3番目の論理名,JSY$ERA_DISPLAY_FORMAT は,その元号の初年度を「1年(0)」で表示するか,または「元年(1)」で表示するかを選択します。省略時の設定では「元年」です。

12時間制と24時間制の表記の違いは,以下の例のとおりです。

        12時間制の場合平成元年 2月14日 (火) 午後 5時21分 3秒 
        24時間制の場合平成元年 2月14日 (火) 17時21分 3秒 


#include <stdio.h>                 
#include <descrip.h> 
#include <ssdef.h> 
#include <libdef.h> 
 
#define BUFLEN 100 
 
main() 
{ 
    struct dsc$descriptor_s     dst_str; 
    char        flg; 
    short int   out_len; 
    int         ret_status; 
    char        buffer[ BUFLEN ]; 
    extern int  jlb$date_time(); 
 
    dst_str.dsc$b_class = DSC$K_CLASS_S; 
    dst_str.dsc$b_dtype = DSC$K_DTYPE_T; 
    dst_str.dsc$w_length = sizeof( buffer ); 
    dst_str.dsc$a_pointer = buffer; 
 
    for ( flg = 0 ; flg < 2 ; ++flg ) { 
        ret_status = jlb$date_time( &dst_str, &flg, &out_len ); 
 
        buffer[ out_len ] = '\0'; 
        printf( "フラグ :%1d\n 時間 :\"%s\"    ステータス :",
            flg, dst_str.dsc$a_pointer ); 
 
        switch ( ret_status ) { 
        case SS$_NORMAL: 
            printf( "SS$_NORMAL" ); 
            break; 
        case LIB$_STRTRU: 
            printf( "LIB$_STRTRU" ); 
            break; 
        } 
        putchar( '\n' ); 
    } 
} 




漢字端末かどうかのチェック

形式

ret-status = JLB$DEV_KANJI ( device-name )


引数


device-name
        JLB usage デバイス名
        type 文字列
        access 入力のみ
        mechanism Descriptor渡し


説明

端末が VT80 に設定されているかどうか,または KANJIGEN の SET /OUTPUT=KANJI により出力が漢字に設定されているかどうかをチェックします。

戻り値

ret-status 1 : 漢字端末
  0 : 漢字端末ではない




漢字入力端末かどうかのチェック

形式

ret-status = JLB$DEV_KANJI_IN ( device-name )


引数


device-name
        JLB usage デバイス名
        type 文字列
        access 入力のみ
        mechanism Descriptor渡し


説明

端末が KANJIGEN の SET /INPUT=KANJI により,漢字入力に設定されているかどうかをチェックします。

戻り値

ret-status 1 : 漢字入力端末
  0 : 漢字入力端末ではない


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.