기본 콘텐츠로 건너뛰기

2009의 게시물 표시

SPOOL로 원하는 거리만큼 이동하기

SPOOL과 DISTANCE는 그 개념이 서로 다릅니다. DISTANCE는 두 아이템이 중점 사이의 거리를 표현하고요, SPOOL은 서로 가까운 거리에 있는 단면의 거리를 표현합니다. 아래는 SPOOL로 원하는 거리만큼 이동시키는 코드입니다. define method DIST(!val is string) VAR !MODE MODE IF (|$!MODE| EQ |Forwards|) THEN POS PA DIST $!val FROM PL OF PREV HANDLE (41,66) POS PA DIST $!val FROM PH ENDHANDLE ELSE POS PL DIST $!val FROM PA OF PREV HANDLE (41,66) POS PL DIST $!val FROM PT ENDHANDLE ENDIF endmethod

DARS로 Multi-Bytes 문자 읽기

DARS문서를 읽다 보면 극동 지역(중국,일본,한국)에서 사용하는 문자를 읽는 방법이 나와있는데, 이를 간략하게 정리한 것입니다. 우선 Multi-Bytes 문자의 시작은 ' &~ '로 시작이 되고, ' & '로 종료가 된다. 그리고 Multi-Bytes 문자들(' &~ '와 ' & '사이에 들어 있는 문자들)은 각각에 128을 더한 문자를 취하면 됩니다. 지극히 간단합니다. 한가지 주의할 사항은 ' &~ '와 ' & '사이에 들어 있는 &~ 은 Multi-Bytes 문자의 시작을 가리키는 것이 아니라 문자 그 자체가 된다는 것입니다. 아래는 Multi-Bytes 문자를 읽는 코드입니다. /** @brief parsing multi-byte characters @author CJH , BHK @date 2009.06.23 */ string CAccessPdms::FECS(const string &istr) { string ostr; bool LFECS = false; for(int i = 0;i < istr.length();++i) { if('&' == istr[i]) { if(((i + 1) < istr.length()) && ('~' == istr[i+1]) && (false == LFECS)) { LFECS = true; i++; continue; } else if(((i + 2) < istr.length()) && ('&' == istr[i+1]) && ('~' == istr[i+2])) { ostr += "&~"; i += 2; c

폴더안의 파일 삭제.

요즘은 MFC로 만든 프로그램에 PYTHON을 붙여 작업을 하고 있습니다. 제법 괜찮은것 같은데, 한두가지의 문제가 있어 불편하군요. 1 2 3 4 5 6 7 8 9 10 11 import  os import  re   # brief  delete all bus files # author BHK def  DeleteAllFiles(prjFolder):      for  filename  in  os.listdir(prjFolder):           result  =  re.search( '[.]*\.txt' ,filename)           if  result:            os.remove(os.path.join(prjFolder,filename)) cs