안녕하십니까..
저는 델파이를 이용하여 특정 프로그램을 만들어 몇 몇 사용자에게 배포하였습니다. 일정한 양식에 맞추어 인쇄하도록 되어 있는 이 프로그램이 사용자의 프린터에 따라 양식지에 맞지 않게 조금씩 밀리거나 당겨져서 인쇄된답니다.
이를 각각의 프린터에 맞게 리포트를 수정하면 되겠으나.. 그러나 만일 사용자가 많아질 경우 일일이 돌아다니면서 이를 해결해 줄 수는 없는 노릇이구요..
이렇게 좌, 우로 조금씩 밀거나 당겨서 인쇄할 수 있는 기능을 사용자가 스스로 프로그램 상에서 설정할 수 있도록 할 수 있는 방법이 없을까요?
어떠한 방법도 무관합니다.. 델파이에서 제공하는 컴포넌트나 다른 툴이라도 알고 있으시면 좀 알려주세요..
그럼, 아시는 분들의 많은 답변 바랍니다~~
어떻가요(일부 DB에 프린터별로 값을 기억하도록 하는 프로그램도 보았
습니다..)
비주얼하게 사용자가 출력양식을 보면서 조절하도록 하겠다면 프로그램을
하셔야겠지만... 그냥 edit에 값을 넣고 그것을 레지스트리에 저장을 하고
다음에 프로그램이 실행될때 레지스트리에서 값을 읽어와서 찍으면 되지 않겠습니다....
<퀵리포트에서 아래와 같이 코딩을 해주시고요.. >
for i :=0 to ComponentCount-1 do
begin
if (Components[i] is TQRDBText) then
begin
TQRDBText(Components[i]).Left := TQRDBText(Components[i]).Left + g_prtleft;
TQRDBText(Components[i]).Top := TQRDBText(Components[i]).top + g_prttop;
end;
if (Components[i] is TQRLabel) then
begin
TQRLabel(Components[i]).Left := TQRLabel(Components[i]).Left + g_prtleft;
TQRLabel(Components[i]).Top := TQRLabel(Components[i]).top + g_prttop;
end;
end;
g_prttop,g_prtleft는 레지스트리에서 값을 읽어서 저장하고 있는 전역변수
입니다...