본문 바로가기

전체 글317

FindFile 샘플 void __fastcall GetNormalFolderList(String sDir,TStringList *sLst) { WIN32_FIND_DATA fdFiles; HANDLE hdHandle; hdHandle = FindFirstFile(((AnsiString)sDir + "\\*").c_str(), &fdFiles); if(hdHandle) { do { String sTmpFile=fdFiles.cFileName; if(sTmpFile!="." && sTmpFile!="..") { if(fdFiles.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { String sJobFile=sTmpFile+"\\Device.IDF"; if(!FileExists(sJobFile.. 2012. 3. 15.
폴더 선택 다이얼로그 폴더 선택 다이얼로그 #include // E_XDataDir 는 XEdit로 마지막 폴더 저장하기위함 void __fastcall TF_Main::B_XDataDirClick(TObject *Sender) { String Dir = E_XDataDir->Text; SelectDirectory("Select a directory", "", Dir); if (Dir != "") E_XDataDir->Text = Dir; } 2012. 3. 15.
GetFileSize unsigned int __fastcall GetFileSize(String sFilename) { TFileStream *sFile; unsigned int Result=0; sFile = NULL; try { sFile = new TFileStream(sFilename, fmOpenRead | fmShareDenyNone); Result = sFile->Size; } __finally { if( sFile ) delete sFile; } return Result; } 2012. 3. 15.
타이틀바와 시스템 메뉴 동작 만들기 1. Designtime에 * Form의 WindowState를 wsMaximized 로 설정 * Form의 BorderStyle을 bsSizeable 로 설정 2. Form의 OnCreate이벤트에 다음과 같이 코딩 void __fastcall TForm1::FormCreate(TObject *Sender) { SetWindowLong(Handle,GWL_STYLE,GetWindowLongA(Handle,GWL_STYLE)&~WS_CAPTION); this->WindowState=wsNormal; } 3. 타이틀바 대신할 control 타이틀바를 대신할 Image가 있다면 다음과 같이 코딩.. 3.1 OnMouseMove 이벤트에 다음가 같이 코딩 //----------------------------.. 2012. 3. 15.
윈도우 이동 ( 화면 이동) ReleaseCapture 윈도우 이동 ( 화면 이동) ReleaseCaptureMouseDown 이벤트에서 처리 ReleaseCapture(); P_Option->Perform(WM_SYSCOMMAND, 0xf012, 0); // 0xf012 2012. 3. 14.
우리회사 RC 자동차 이야기 요즘 우리회사 직원들은 시간이 날때마다 RC자동차 레이싱을 하는것에 열광하고 있습니다. 그 시작은 작은 장난감 RC자동차를 구입하는것이었습니다. 바로 GX Buggy 초기에 GX Buggy로 점프하는 동영상입니다. 이때까지만 해도 레이싱에 대한 생각은 별로 없었습니다. 그냥 심심풀이로 가지고 노는 정도였죠 그 뒤로 경기를 해보기 위해서 보라색 GX Buggy를 한대 더 구입했습니다. (왼쪽의 빨간색 멋진 차는 고가의 Mini-Z dNano입니다. 좋기는한데 너무 작은 스케일의 차를 산게 좀 실패 ) 그 사이사이에 2만원 정도의 비례제어도 안되는 순수 장난감으로도 많은 레이싱을 하였습니다. 물론 GX Buggy도 비례제어가 안되는 장난감 수준입니다. 속도 제어는 되었습니다. 그러다가 욕심이 생겨 Mini-.. 2012. 3. 6.
TPageControl 사용법 설명 C++빌더 완전정복 카페에서 복사해 온 글입니다. ( 장성호 차장 ) http://cafe.naver.com/bcbmaster.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1511& 사실 TPageControl에 대해 잘모르는데 억지로 팁을 생각해서 올리는 것입니다. 지금 몇가지 생각나는것 올려두고 나중에 수정 및 업그레이드를 하도록 하면 될것 같구.. 이렇게라도 올려놓아야 나중에 기억하기 좋을듯 해서요 탭 위치 조정 기본적으로 PageControl에 탭을 추가하면 위와같은 화면입니다. 그런데 위 탭위 위치를 상하 좌우 원하는 위치로 옮길수 있다는 사실 다들 아시겠죠? TabPosition을 조정하면 됩니다. TabPosition은 tpLeft, tpRight , tp.. 2012. 2. 7.
아진엑스텍 모션 라이브러리의 보정 테이블 기능 사용 #3/3 이번 글에서는 아진 라이브러리를 가지고 보정 테이블 기능을 사용시 주의할점에 대해 설명합니다. 1. 보정 테이블 기능은 표준이 아니므로 반드시 담당자에게 새로운 라이브러리를 받아서 사용해야 합니다. 필요한 라이브러리 dll은 다음과 같습니다. 당연하겠지만 lib파일, 헤더파일도 기존 헤더파일을 사용하면 안됩니다. FS 모듈용 AXTLIB.dll EzBasic.dll QI모듈용 Axl.dll EzBasicAxl.dll 2. 아진 프로그램(드라이버)에서 최신 버전을 설치해야 합니다. 아진 다운로드 페이지에서 빨간색으로 표시한 프로그램입니다. (2012.1.11 현재) EzSoftwareAXT V1.8.18 버전은 FS 모듈을 위한 프로그램 및 드라이버 입니다. EzSoftwareRM V1.3.3 버전은 QI.. 2012. 1. 11.
아진엑스텍 모션 라이브러리의 보정 테이블 기능 사용 #2/3 이번 글에서는 아진엑스텍 라이브러리에서 보정테이블 기능을 실제 사용하는 방법에 대해 설명합니다. 우리회사에서 실제 장비에 사용하는 루틴은 QI모듈과 FS모듈을 동시에 지원해야 하기 때문에 함수 내부에서 칩 옵션에 따라 각기 다른 아진 함수를 호출하고 있습니다. if( m_eChipType == T_QI ) 라고 되어 있는 조건문에서 분기합니다. 처음 작업할때는 QI라이브러리의 AxmCompensationSet 함수나 FS 라이브러리의 CFS20set_comp_table 의 사용법이 완전히 같을 것이라고 생각했는데.. 막상 헤더 정의를 보니 약간 차이가 있습니다. FS 라이브러리는 처음과 끝점 간격만 입력하고 보정 테이블을 넣어주는데 QI 라이브러리는 시작 포지션과 각각의 위치 테이블을 직접 배열로 넣어주.. 2012. 1. 11.
아진엑스텍 모션 라이브러리의 보정 테이블 기능 사용 #1/3 아진 모션 보드 라이브러리에는 기본적으로 위치 보정(보상) 기능이 없습니다. 업체에서 요청시 기능이 추가된 라이브러리를 보내주어서 위치 제어시 보정된 위치로 이동할 수 있도록 지원을 해주고 있습니다. 그나마 이런 기능이라도 없다면 보정 테이블 계산 기능을 직접 만들어야 하는 것인데.. 라이브러리 수준에서 만들어 놓은것을 보내주니까 모션 제어 개발자가 할 일이 훨씬 줄어들것 같습니다. 이 글에서는 아래에 FS모듈용 헤더파일에 있는 함수들과 헤더파일 자체에 있는 설명들만 소개합니다. ( QI 모듈용 라이브러리가 별도로 AXL이라고 있으니 그 쪽은 다른 함수와 라이브러리를 사용해야 합니다. ) AxtCAMCFS20.h 헤더파일에 있는 내용을 그대로 긁어서 붙였습니다. 이것만 봐도 사용 설명이 필요 없을듯하네요.. 2012. 1. 4.
새해 복 많이 받으세요~~ 2012. 1. 2.
(주) 아이씨티 블로그 이전 회사 공식 블로그를 티스토리 서비스로 옮겼습니다. 앞으로 새로운 블로그에서 아이씨티의 따끈따근한 소식을 기대 해주세요 2012. 1. 2.
12월달 생일축하! 좀 지난 일이지만 사진이 있길래, 올려봅니다. 12월달에는 생일이 두분이셔서 한꺼번에 했습니다. 9일 장차장님, 15일 사장님~ 2011. 12. 30.
[ 개발자 모집 공고 ] 머신 비전 알고리즘 경력 개발자 머신 비전 알고리즘을 담당할 경력 개발자를 뽑습니다. 너무 경력과 능력이 뛰어나서 ICT에서 연봉을 감당할 수없으면 안되기 때문에적당하면 좋겠지만 ..정말 뛰어난 분이라면 충분한 대우를 해야 한다고 생각합니다.물론 연봉은 상호 협의 사항입니다. 경력자이기 때문에 기본적으로 C++Builder를 할 줄 알아야 하겠지만 C++ 언어만 잘하고 충분히 따라올 실력이 있다면 C++Builder 경험은 그리 중요치 않습니다. 공고 링크 ( 사람인 )http://www.saramin.co.kr/zf_user/recruit/recruit-view/idx/10523160 머신 비전쪽이 워낙 일반 개발자들에게는 알려지지 않은 분야라 공고를 올려도 조회수가 높지가 않군요 2011. 11. 14.
업무 공유를 하지 않으면 일도 안한것이다. 본 글은 선임자로서 지시 내리는 사람 입장에서 작성한것입니다. 읽을때 참고하세요 어떤 개발자 중에 일은 그런대로 하지만.. 업 무 공유와 소통 능력이 부족해서 항상 업무 능력에 대해 좋지 않은 평가를 받는 사람이 있다. 고 객사에서 SW 문제점이 접수되어 담당 개발자에게 급한 사항이니 처리해서 보내라고 하였다. 그 렇게 어려운 내용도 아니라 당연히 당일 중에 처리 해서 보낼거라고 기대를 하였지만 하 루가 지나고 이틀째가 되어도 어떻게 되었는지 전혀 정보 공유가 없었다. 그 개발자가 다음날 몸이 아프다고 일찍 들어가서 다음날 다른 개발자에게 처리해서 보내라고 이슈 내용에서 담당자를 수정하였다. 그런데.. 그 다음날 고객사에서 테스트 해서 확인하였다고. 메일이 날라왔다 물론 추가 요청 사항은 있었다. 나 중.. 2011. 7. 31.