このメソッドは、2 つのフィールドのデータ値を比較し、その関係を返します。
LCField
result = thisField.Compare (thisIndex, baseField, baseIndex, valueCount, compareFlags)
パラメータはすべて必須です。
パラメータ |
説明 |
---|---|
thisIndex |
Long、1 以上。thisField と比較する最初の値を識別するインデックスです。 |
baseField |
LCField。比較の基準となるフィールドです。 |
baseIndex |
Long、1 以上。baseField の最初の基準値を識別するインデックスです。 |
valueCount |
Long。比較するフィールド値の数です。各フィールドの指定したインデックスから、すべてのフィールドが比較されるまで、または不一致が検出されるまで、ValueCount 個の値が続けて比較されます。 |
compareFlags |
Long。以下の値のうち 0 個以上の論理和です。 |
LCCOMPAREF_NO_ZONE -- 日時を比較するときに、タイムゾーンおよびサマータイム情報を考慮しません。 |
|
LCCOMPAREF _SECOND -- 日時を比較するときに、秒の端数を考慮しません。 |
|
LCCOMPAREF_FLOAT_PREC -- 浮動小数値は 10 桁のみ比較します。 |
|
この他に、次の複合フラグがあります。 LCCOMPAREF_LOW_PREC -- 精度を下げる LCCOMPAREF フラグをすべて合成したものです。 |
値 |
説明 |
---|---|
結果 |
Long。比較の結果 (以下のいずれか)。 |
結果 > 0 (正): 関数が thisField 内で検出した最初の不一致が、baseField 内の対応する値より大きい。日時フィールドの場合は、値が大きいほうが後の時間であることを示します。 |
|
結果 < 0 (負): 関数が thisField 内で検出した最初の不一致が、baseField 内の対応する値より小さい。 |
|
結果 = 0: thisField 内で比較された各値が、baseField 内の対応する値と等しい。 |
Option Public
Uselsx "*lsxlc"
Sub Initialize
Dim field1 As New LCField (LCTYPE_INT, 3)
Dim field2 As New LCField (LCTYPE_INT, 2)
Call field1.SetInt (1, 100)
Call field1.SetInt (2, 300)
Call field1.SetInt (3, 400)
Call field2.SetInt (1, 300)
Call field2.SetInt (2, 400)
If (field1.Compare(2, field2, 1, 2, 0) <> 0) Then
Print "the 2nd and 3rd values of field1 " & _
"do not match the 1st and 2nd values of field2."
Else
Print "the 2nd and 3rd values of field1 " & _
"match the 1st and 2nd values of field2."
End If
End Sub
The 2nd and 3rd values of field1 match the 1st and 2nd values of field2.