개발환경: C++ Builder XE5
Serial Component: TurboPower Async Pro V4.07
시리얼 통신으로 파일을 송,수신할 일이 생겼습니다.
Async Pro Component의 TApdProtocol ( Zmodem 이용)으로 파일을 주고 받으려고 하는데요..
유니코드 문제인 지 파일 이름이 첮글자만 남고 잘려 버립니다.
아래 코드 처럼 TApdProtocol에 파일 이름을 지정하고, 전송을 시작하면
ProtocolLog Event에 전송의 시작, 종료를 출력할 수 있는데,
여기서 파일 이름을 보면 첮글자만 나옵니다.
Unicode 문자 스트링(2byte)를 1byte 문자 스트링으로 읽을 때 첫글자만 인식하는
전형적인 형태 같은데..
어떻게 해결해야 할 지 모르겠습니다.
고수님들의 의견 부탁 드립니다.
감사합니다.
// 전송 버튼
..
AnsiString file = "20180424.dat"; // 전송할 파일 지정
Protocol->FileName = file;
Protocol->StartTransmit(); // 전송 시작
..
// TApdProtocol Log Event
switch ( Log ) {
case lfTransmitStart : LogMessage(Protocol->FileName + " started.."); break; // 파일명이 "2"만 출력됨.
case lfTransmitOk : LogMessage(Protocol->FileName + " send OK.."); break;
case lfTransmitFail : LogMessage(Protocol->FileName + " send fail.."); break;
case lfTransmitSkip : LogMessage(Protocol->FileName + " rejected.."); break;
}
|