copyBytes()
vgLib.copyBytes() 시스템 함수는 해당 컨텐츠의 형식과 상관없이 바이트별로 1개의 하위 문자열 컨텐츠를 다른 하위 문자열에 복사합니다.
vgLib.copyBytes()는 이전 버전과의 호환성을 위해 유지보수되는 다수의 함수 중 하나입니다. 새 코드가 이러한 용도로 표준 EGL 연산자를 사용해야 합니다.
소스가 대상보다 긴 경우 소스가 잘립니다. 소스가 대상보다 짧은 경우 해당 값이 숫자인 경우에도 소스 값이 공백으로 채워집니다.
구문
vgLib.copyBytes(
target HEX inOut,
targetSubstrIndex INT in,
targetSubstrLength INT in,
source HEX inOut,
sourceSubstrIndex INT in,
sourcetSubstrLength INT in)
- target
- 대상 하위 문자열이 파생되는 값입니다. HEX와 참조 호환 가능한 임의의 값일 수 있습니다.
- targetSubstrIndex
- 첫 번째 바이트의 색인 값이 1이면 target에서 하위 문자열의 시작 바이트를 식별합니다. 이 색인은 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
- targetSubstrLength
- target에서 파생된 하위 문자열의 바이트 수를 식별합니다. 길이는 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
- source
- 소스 값이 파생된 필드 또는 리터럴입니다.
- sourceSubstrIndex
- 첫 번째 바이트의 값이 1이면 source에서 하위 문자열의 시작 바이트를 식별합니다. 이 색인은 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
- sourceSubstrLength
- source에서 파생된 하위 문자열의 바이트 수를 식별합니다. 길이는 정수 리터럴 또는 변수(INT 또는 BIN(9))일 수 있습니다.
오류 고려사항
V6 예외 호환성을 사용하는 경우(V6 예외 호환성 사용 참조) 다음 값이
sysVar.errorCode에 리턴됩니다.
- 8
- 1 미만 또는 값 길이 초과 색인입니다.
- 12
- 1 미만의 길이입니다.
- 20
- DBCHAR 또는 UNICODE 문자열의 색인이 2바이트 문자의 중간을 가리킵니다.
- 24
- DBCS 또는 UNICODE 문자열의 길이(바이트)가 홀수입니다(2바이트 길이는 항상 짝수여야 함).
예제
다음 예제는 source 문자열을 target의 중간에 복사합니다.
target HEX (8) = "1200567"; // target = "12005670"
source HEX (4)= "3478"; // index must be multiple of 2
vgLib.copyBytes(target,2,1,source,1,1); // target = "12345670"