PowerSORT Workstation V5.0 使用手引書 |
目次
索引
![]() ![]() |
第4章 OCXを使用してPowerSORTを使用する | > 4.3 実行前に設定するプロパティ |
ソート処理、マージ処理およびコピー処理の選択フィールドを設定します。
object.SelCmdStr = string |
オブジェクトへの参照を表すオブジェクト式を指定します。
選択フィールドを指定します。
pos.len typ opt.cmp. { pos.len typ | slf } [{ AND | OR } pos.len typ opt.cmp. { pos.len typ | slf } ...] |
選択フィールドの位置を指定します。レコードの先頭を0として計算します。入力がテキストファイルの場合は、FieldDefinitionプロパティの値に従って、浮動フィールドまたは固定フィールドで指定します。テキストファイル以外の場合は、常に固定フィールドとなります。浮動フィールドはフィールド番号を、固定フィールドはカラム位置を指定します。
選択フィールドの長さをピリオド( . )に続けて指定します。データ形式により指定できる長さに上限があります。指定できる長さについては、選択フィールドに指定可能なデータ形式を参照してください。
テキストファイルで浮動フィールドとして処理する場合、指定したフィールド長よりも長いフィールドが現れると、指定したフィールド長で処理されます。逆に指定したフィールド長よりも短いフィールドが現れると、実際のフィールド長で処理されます。
データ形式(typ)に符号なし2進数(bit)を指定する場合は、長さにはマスク値を10進数の1 〜255の範囲で指定してください。この場合、フィールド値とマスク値の論理積がキー値となります。例えば、フィールド値が16進数の8e、マスク値として3を指定した場合、キー値は16進数の02になります。被比較フィールドと比較フィールドには同じマスク値を指定します。
選択フィールドのデータ形式をlenに続けて指定します。詳細は、被比較フィールドと比較フィールドに指定可能なデータ形式を参照してください。
選択フィールドの操作を指定します。この指定はテキストファイルのときに有効です。
指定できるオプションは、以下のとおりです。
操作 |
意味 |
---|---|
b |
キーフィールドの先頭の空白とタブを無視します。 |
d |
空白と英数字のみを比較の対象とします。 |
i |
制御文字コードを無視します。空白およびタブは制御文字に含まれません。 |
j |
英小文字を英大文字として比較します。 |
n |
符号を含んだ数字の文字列を算術的な値で比較します。 |
比較演算子を指定します。cmpの前後にはピリオド( . )を設定し、空白を入れずに続けて記述します。
以下の比較演算子の1つを指定します。
比較演算子 |
意味(真の条件) |
---|---|
eq |
被比較フィールド = 比較フィールドまたは自己規定値 |
ne |
被比較フィールド ≠ 比較フィールドまたは自己規定値 |
gt |
被比較フィールド > 比較フィールドまたは自己規定値 |
ge |
被比較フィールド ≧ 比較フィールドまたは自己規定値 |
lt |
被比較フィールド < 比較フィールドまたは自己規定値 |
le |
被比較フィールド ≦ 比較フィールドまたは自己規定値 |
自己規定値を指定します。以下の3つの形式があります。被比較フィールドのデータ形式により、指定できる形式が異なります。詳細は、被比較フィールドと自己規定値に指定可能なデータ形式の組合せを参照してください。
形式 |
指定方法 |
|
---|---|---|
文字列 |
'文字列' |
文字列をクォーテーション( ' )で囲みます。 |
16進数 |
x16進数 |
先頭にxを置き、16進コードを続けます。 |
10進数 |
d10進数 |
先頭にdを置き、10進数を続けます。また、符号(+、-)を付けることもできます。 |
選択フィールドを複数指定する場合の、論理的な関係を指定します。ANDで結合された選択フィールドは、両方の選択条件を満たすレコードのみが処理対象となります。ORで結合された選択フィールドは、どちらか一方の条件が満たされたレコードが処理対象となります。
ANDとORの優先順位は、ANDが高く、ANDが先に評価されます。a AND b OR cの指定ではaとbの条件を同時に満たすか、cの条件を満たすレコードが選択されます。また、選択フィールドでは、括弧を使うことはできません。a AND (b OR c)のような論理式は、a AND b OR a AND cと指定してください。
例1) 入力レコードの20バイトめから10バイトのASCIIコードと、30バイトめから10バイトのASCIIコードを比較し、等しければ処理の対象レコードとします。
19.10asc.eq.29.10asc |
例2) 入力レコードの20バイトめから4バイトのASCIIコードを、ASCIIコードの文字列'abcd'と比較し、等しくなければ処理の対象レコードとします。
19.4asc.ne.'abcd' |
例3) 入力レコードの12バイトめから4バイトの固定小数点2進数のフィールドが、30以上のレコードを処理の対象レコードとします。
11.4fbi.ge.d30 |
例4) 入力レコードの20バイトめから10バイトの内部10進数のフィールドが、123より小さく、かつ、入力レコードの50バイトめから4バイトの外部10進数のフィールドが、-123よりも大きいレコードを処理の対象レコードとします。
19.10pdl.lt.d123 AND 49.4zdl.gt.d-123 |
目次
索引
![]() ![]() |