2014-04-29 1 views
0

보고서 (tbasedxreportlink)에 한 줄을 인쇄하는 다음의 PrintValue 코드가 있습니다. 머리글, 캡션 및 m에서 한 줄에 두 개의 필드를 인쇄합니다. 문제는 m이 여러 줄에서 똑바로 정렬되지 않는다는 것입니다. 항상 모든 곳에서 인쇄됩니다.보고서에서 인쇄 필드 정렬이 잘못 정렬되었습니다.

오른쪽에 정렬하거나 십진수로 인쇄하려면 어떻게해야합니까? 이 중요한 경우

인쇄 데이터

Caption One 4,685.33 
Caption 2  4.99 
Caption three 74,586.88 
Caption 4  58.66 

코드

procedure PrintValue(Caption, Value: string); 
var 
    m: string; 
    s: string; 
begin 
    m := FormatFloat(',0.00 ;(,0.00);0.00 ', StrToFloat(Value)); 
    s := Format('%-24s %15s', [Caption, m]); 
    AReportLink.PrinterPage.PageHeader.LeftTitle.Add(s); 
end; 

보고서에 사용되는 글꼴은 Segoe UI입니다.

감사 예를 들어

답변

0

내가 원하는 효과를 얻을 수있는 문자열을 포맷하는 쉬운 방법을 찾을 수 없습니다. 그 주된 이유는 LeftTitle, CenterTitle 또는 RightTitle '상자'를 사용하는 단순함입니다. 간단한 문자열 텍스트 만 삽입 할 수 있습니다. 진실한 유형 글꼴 문제점을 언급하지 않는 것을 허풍 것은 아무것도.

문제를 해결하기 위해 tPanel을 화면에 추가하고 그리드 인쇄에 표시해야하는 모든 화면 필드를 삭제했습니다. 해당 패널에 연결할 tdxCustomContainerReportLink를 추가했습니다. 지금까지 무엇을 인쇄 따라서

procedure TFrmViewAcct.dxBarBtnPrintClick(Sender: TObject); 
begin 
    dxCmpntPrtrDetail.CurrentLink := dxCmpntPrtrDetailLink2; 
    inherited; 
end; 

그 다음 그리드 정보를 인쇄 : 그때 그리드 및 인쇄 버튼이 현재 링크 코드를 덮어에 의해 가압 된 개별 항목과 tdxCustomContainerReportLink (패널)을 모두 인쇄 할 tdxCompositionReportLink을 사용 패널에. 문제가 해결되어이 솔루션이 어떻게 유연 해지는 지 확인할 수 있습니다.

예 저는 트루 타입 글꼴로 쉽게 변경할 수 있었지만 표준 글꼴을 관찰해야하는 곳에서 특히 우려되는만큼보기 흉한 해결 방법입니다.

0

가장 간단한 방법은 고정 폭 (고정 폭) 글꼴을 사용하고, 택배 신규 또는 루시다 콘솔