실무에서 인쇄는 여간 귀찮은 작업이 아니다. QucikReport, FastReport, Rave, 크리스탈리포트 등이 있지만
여러 레코드를 인쇄하는 표 형식이 아닌 문서형식은 리치에디터를 이용하는 것도 손쉬운 방법이다.
리치에디터의 내용을 바로 관련 프로그램으로 연결하여 열거나 인쇄하는 방법이다.
해당 프로그램을 열어서 편집도 가능하다.
문서의 끝에 회사명이나 이미지 삽입등을 처리하고 인쇄한다면 어느정도 훌륭한 리포트 툴이 될 수도 있다.
// *.rtf파일은 워드패드가 기본 프로그램이라 워드프로그램을 통해 미리보기 하고 바로 인쇄 가능 (*.txt는기본프로그램은 메모장)
ShellExecute(handle, 'print', pchar(DEFAULT_PATH + 'abc.rtf'), '', '', SW_SHOW);
// 워드패드로 해당파일 열기
ShellExecute(Handle, 'open', 'wordpad', pchar(DEFAULT_PATH + 'abc.rtf'), '', SW_SHOW);
//아래아 한글에서 열기 (한글2007기준)
ShellExecute(Handle, 'open', 'C:\HNC\Hwp70\Hwp.exe', pchar(DEFAULT_PATH + 'abc.rtf'), '', SW_SHOW);
참고로 아래아 한글은 윈도우에 경로등록이 안되어 있어 프로그램명만 아래 처럼 쓰면 실행 안된다.
// ShellExecute(Handle, 'open', 'Hwp.exe', pchar(DEFAULT_PATH + 'abc.rtf'), '', SW_SHOW); //경로 등록이 안되어 안됨
한글2010은 기본 경로가 c:\Program Files\HNC\Hwp80\Hwp.exe 이다.
(추가)-------------------------------------------------------------------------------
Shellexecute 와 Winexec의 차이는
1. Shellexecute 는 첫번째 파라메터인 소유자 윈도우의 handle을 사용할 수 있다.
2. Shellexecute 는 실행파일명 사용안하고 기본 프로그램을 통한 실행을 할 수 있다.
(간편하고, OS마다 실행파일 위치가 달라도 관계없음, 파일확장자로 연결됨, 탐색기의 더블클릭효과)
3. Winexec는 반드시 실행파일명의 경로까지 정확히 알아야한다. (기본프로그램으로 실행할 수 없다)
예) 익스플로러 실행하고 naver.com 가기
Winexec(Pchar('C:\Program Files\Internet Explorer\iexplore.exe http://naver.com, SW_SHOW);
4. Shellexecute는 두번째 파라메터로 open, print 등의 사용으로 여러 기능을 구현할 수 있다.
'델파이' 카테고리의 다른 글
디자인 타임 Data Module의 DataSource, PopupMenu 참조 문제 (0) | 2013.07.12 |
---|---|
ComboBox Item 선택시 이벤트 순서, CheckBox 클릭이베트, ComboBox 펼치기 (0) | 2013.06.14 |
바코드 인쇄 관련 (0) | 2013.02.15 |
TCheckBox의 checked속성 코딩으로 변경시 OnClick이벤트 자동실행 방지 (0) | 2013.02.13 |
오타방지 마우스포인트에 한/영 표시 (0) | 2013.02.08 |