우리가 일반적으로 사용하는 데이터베이스 애플리케이션에서는 보고서 프로그램을 작성하는 것이 번거롭고 사용자가 델파이에서 보고서 프로그램을 수정하는 것이 불편합니다. 예를 들어 일반 데이터에는 헤더를 추가해야 하고 일부 데이터는 수정하거나 수정해야 합니다. 여러 데이터를 변경해야 합니다. 각 테이블의 데이터를 데이터 세트로 결합한 다음 이를 인쇄합니다. 이러한 작업은 Delphi의 보고서 프로그램에는 무력하며 대부분의 컴퓨터에는 테이블 처리 기능을 사용할 수 있습니다. Excel의 고유한 기능은 무엇입니까? 대답은 '예'입니다. 데이터베이스 파일이 DBASE와 호환되는 한 EXCEL 기능을 사용하여 DBASE 파일을 처리합니다.
Delphi의 데이터베이스 데스크탑 시스템에서 테이블 테이블의 새로운 dbase IV(EXCEL은 다른 방식으로 파일을 인식하지 못하기 때문에 dabse 파일만 사용할 수 있음) 파일인 index 파일을 생성할 수 있는 Sample.dbf를 생성해야 합니다. 여기서는 데이터베이스에 영어 필드만 입력할 수 있다는 점을 언급했습니다. 실제로 우리는 데이터베이스만 사용합니다. Desktop에서 파일 구조를 생성한 다음 vfp에서 중국어로 수정할 수 있습니다. vfp에서 데이터 초기화와 필드 추가 및 뺄셈을 완료할 수 있습니다. EXCEL이기 때문에 데이터 테이블 파일을 직접 생성하지 않는 이유가 무엇인지 궁금합니다. vfp의 데이터 테이블에서 읽은 데이터가 전혀 인식되지 않습니다.
데이터 테이블 Sample.dbf를 생성한 후 델파이에서 프로젝트를 생성한 후 파일->새로 만들기에서 데이터 모듈 모듈을 선택합니다. 구축된 데이터 모듈의 장점은 데이터 소스를 추가하고 모든 양식에 공통적으로 적용할 수 있다는 것입니다. datamodule1 테이블 구성 요소의 데이터, 관련 항목 설정, 데이터 테이블의 데이터베이스 이름은 c로 설정되어야 합니다. emp(dbf 파일 디렉터리), 테이블 이름을 디자인한 데이터 테이블(sample.dbf)로 설정하고, form1에 새 버튼을 만들고, 캡션이 편집 및 인쇄되고, onclick에 다음 코드를 추가합니다.
data.table1.close;//현재 데이터 테이블을 닫습니다. 닫지 않으면 데이터가 불완전할 수 있습니다.
if fileexists(extractfiledir(application.exename)+'samplep.dbf') then DeleteFile(extractfiledir(application.exename)+'samplep.dbf');
//인쇄 데이터 테이블 Samplep.dbf가 존재하는지 확인하고 존재하면 삭제한다.
copyfile(pchar(extractfiledir(application.exename)+'sample.dbf'),pchar(extractfiledir(application.exename)+'samplep.dbf'),true);
//sample.dbf를 인쇄 데이터 테이블로 복사합니다.sample.dbf는 편집 및 인쇄용으로 특수한 파일입니다. Sample.dbf를 사용하면 EXCEL에서 이를 수정하면 읽기 전용 파일이라는 메시지가 표시됩니다. , 충돌이 발생합니다.
data.table1.open;//현재 데이터 테이블을 열어 활성화합니다.
shellexecute(0,'open','EXCEL.EXE',pchar(extractfiledir(application.exename)+'samplep.dbf'),pchar(extractfiledir(application.exename)),SW-SHOWMAXIMIZED);//excel을 호출하고 merge Samplep.dbf 파일을 Excel로 읽어들여 헤더 파일의 ShellAPI를 참조합니다.
이 방법으로 EXCEL의 테이블 기능과 다중 인쇄 기능을 활용할 수 있으며, 더 이상 복잡한 보고서 프로그램을 설계할 필요가 없습니다. 제가 소속 부서에서 작성한 송장 통계 시스템에서 이 방법을 사용했는데, 사용자들이 찾아낸 것이 바로 이 방법입니다. 매우 편리합니다.