크리스탈 레포트를 처음 사용해 봅니다.
VB는 여러가지 예제가 있어서 쉬웠는데..
델파이는 예제를 찾기가 힘들더군요~
그나마 여기에서 자료를 많이 찾을수 있었습니다.
VCL, 라이브러리 install 등등.. 하나씩 찾아가면서 해봤습니다.
결국 소스 비스꾸리한 모양을 만들어 냈습니다.
그런데...
Crpe1.Formulas.Formula.text :='''+Edit1.text+''';
여기가 에러입니다..
Crpe1 속에 Formulas가 있고, Formulas 속에 Formula 라는 속성이 있는거잖아요..
그런데... Formulas 속에 Formula 가 없다고 합니다.
Undeclared identifier. 'Formula' 이게 그런듯 맞죠???
어떻게 해야 하나요???
또한가지...
포뮬라는 크리스탈 레포트에 edit 컴포넌트 말하는거 맞죠??
그러므로 Crpe1.Formulas[0]:='''+Edit1.text+'''; 형식으로 사용하여야 하는데
Formulas[n] 이라는 것은 리포트에서 받아들일 수 있도록 먼저 정의 되어있어야 하는것으로 기억이 납니다.
즉, 리포트에서 먼저 Formulas 가 10개 정의되어 있으면 프로그램에서는 Formulas[0] 부터 Formulas[9]
까지를 사용하여 자료를 넘겨줄 수 있겠지요. Label 성격의 객체나 Table Field 등 직접 넘겨받을 수 있는
객체들 외에 프로그램으로부터 넘겨받아 출력하여야 할 객체들이 있으면 먼저 그 수만큼의 Formulas 를
리포트에서 정의한 후 프로그램에서 함수에 인수 넘겨주듯이 넘겨주어 출력하는 것 입니다.
옜날의 소스 일부를 보니 다음같은 형식으로 되어있군요.
<!--CodeS-->
Formulas[0]:='Napn='+'"'+Copy(Edit1.Text, 1, 4)+'"';
Formulas[1]:='Napw='+'"'+Copy(Edit2.Text, 6, 2)+'"';
Formulas[2]:='Napl='+'"'+Copy(Edit3.Text, 9, 2)+'"';
<!--CodeE-->
이게 어떤 인쇄서식(고지서종류)에 납기년월일 입력한 것을 받아 출력하는 것 이군요.
위의 코드를 보니 우선 먼저 크리스탈 리포트에서 출력할 객체들을 정의한 후
그것이 프로그램에서 넘겨주는 자료라면 Formulas[n] 으로 받아 출력하도록 되어있으며,
리포트에서 받아들일 Formulas를 정의할 때 'Napn' 따위의 변수형식으로 처리한 후 넘겨주는 것 같습니다.
SelectionFormula 는 출력에서 직접 필터링을 해주는 등 아주 쓸만한 출력도구라는 기억입니다만
배포할 때 출력엔진을 포함해서 배포를 하여야 하기때문에 배포 프로그램이 너무 무거워지는
경향이 있어서 지금은 지금은 모든것을 QuickReport로 전부 처리하고 있기 때문에 '... 인것 같다' 는
식으로 밖에 적지를 못하겠네요.
사용한지 오래되어서 가물가물 합니다. 도움이 될지 모르겠네요.
그러한 이유로 추가질문은 사양 합니다. 도움이 되기를 바랍니다.