compareBytes()

vgLib.compareBytes() 시스템 함수는 해당 컨텐츠의 형식과 상관없이 바이트별로 2개의 하위 문자열 컨텐츠를 비교합니다.

vgLib.compareBytes()는 VisualAge® Generator에서 마이그레이션된 코드와의 호환성을 위해 유지보수되는 다수의 함수 중 하나입니다. 새 코드가 이러한 용도로 표준 EGL 연산자를 사용할 수 있습니다.

EGL은 값의 바이트별 2진 비교를 수행합니다. 값의 길이가 동일하지 않으면 해당 값이 숫자인 경우에도 EGL이 더 짧은 값을 공백으로 채웁니다.

구문

  vgLib.compareBytes(
    var1 HEX inOut,
    var1index INT in,
    var1SubstrLength INT in,
    var2 HEX inOut,
    var2Index INT in,
    var2SubstrLength INT in  )
  returns (result INT)
var1
첫 번째 비교 값이 파생되는 값입니다. HEX와 참조 호환 가능한 임의의 값일 수 있습니다.
var1SubstrIndex
첫 번째 바이트의 색인 값이 1이면 var1에서 하위 문자열의 시작 바이트를 식별합니다. 이 색인은 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
var1SubstrLength
var1에서 파생된 하위 문자열의 바이트 수를 식별합니다. 길이는 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
var2
두 번째 비교 하위 문자열이 파생되는 값입니다. HEX와 참조 호환 가능한 임의의 값일 수 있습니다.
var2SubstrIndex
첫 번째 바이트의 색인 값이 1이면 var2에서 하위 문자열의 시작 바이트를 식별합니다. 이 색인은 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
var2SubstrLength
var2에서 파생되는 하위 문자열의 바이트 수를 식별합니다. 길이는 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
result
함수에서 리턴된 정수 값(INT 또는 BIN(9))입니다. 함수는 다음과 같은 값을 리턴할 수 있습니다.
-1
var1에 기반한 하위 문자열이 var2에 기반한 하위 문자열 미만입니다.
0
var1에 기반한 하위 문자열이 var2에 기반한 하위 문자열과 동등합니다.
1
var1에 기반한 하위 문자열이 var2에 기반한 하위 문자열을 초과합니다.

오류 고려사항

V6 예외 호환성을 사용하는 경우(V6 예외 호환성 사용 참조) 다음 값이 sysVar.errorCode에 리턴됩니다.
8
1 미만 또는 값 길이 초과 색인입니다.
12
1 미만의 길이입니다.
20
DBCHAR 또는 UNICODE 문자열의 색인이 2바이트 문자의 중간을 가리킵니다.
24
DBCHAR 또는 UNICODE 문자열의 길이(바이트)가 홀수입니다(2바이트 길이는 항상 짝수여야 함).

예제

다음 예제는 vgLib.compareBytes() 함수를 사용하는 방법을 보여줍니다.

target, source HEX (6); // index must be multiple of 2
result INT;

target = "123456";
source = "34";
result = vgLib.compareBytes(target,2,1,source,1,1); // result = 0