Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

$ZMODE

現在の入出力デバイス OPEN パラメータを含みます。

Synopsis

$ZMODE
$ZM

概要

$ZMODE は、現在のデバイス OPEN コマンド、または USE コマンドで指定したパラメータを含みます。返される文字列には、キャノニック形式で現在の入出力デバイスをオープンするために使用されるパラメータが含まれます。これらのパラメータ値は、バックスラッシュ区切り文字で分けられます。TCP/IP 上の "M" のように開いているパラメータは、"PSTE" に正規化されます。"Y" や "K" パラメータ値は、常に最後に配置されます。

この特殊変数は、SET コマンドを使用して変更することはできません。変更を試みると、<SYNTAX> エラーが返されます。

以下の例は、$ZMODE を使用して現在のデバイスのパラメータを返します。

  WRITE !,"The current OPEN modes are: ",$PIECE($ZMODE,"\")
  WRITE !,"The NLS collation is: ",$PIECE($ZMODE,"\",2)
  WRITE !,"The network encoding is: ",$PIECE($ZMODE,"\",4)

以下の例は、現在のデバイスのパラメータを USE コマンドを使用して設定します。これは、USE コマンドの前後に、$ZMODE で現在のパラメータをチェックします。特定のパラメータが設定されたことをテストするため、この例はバックスラッシュ区切り文字がある $PIECE 関数を使用し、包含関係演算子 ([) を使用して値のテストを行います (詳細は、"Caché ObjectScript の使用法" の "演算子" を参照してください)。

Zmodetest
  WRITE !, $ZMODE
    IF $PIECE($ZMODE,"\")["S" {
      WRITE !, "S is set"  }
    ELSE {WRITE !, "S is not set" }
  USE 0:("":"IS":$CHAR(13,10))
  WRITE !, $ZMODE
    IF $PIECE($ZMODE,"\")["S" {
      WRITE !, "S is set"  }
    ELSE {WRITE !, "S is not set" }
  QUIT  

SAMPLES>DO ^zmodetest

RY\Latin1\K\UTF8\

S is not set

SIRY\Latin1\K\UTF8\

S is set

関連項目

FeedbackOpens in a new tab