|
void __fastcall TSK600Main::Button3Click(TObject *Sender)
{
int i,j,Row=9,Col=5;
LineCount,PapeFeed =0;
AnsiString Frm;
TPrinter *Prn;
TRect r;
Prn=Printer();
r = Rect(400,200,2500,600);
Prn->BeginDoc();
Prn->Canvas->Font->Size=20;
Prn->Canvas->TextOutA(COL(11),ROW(3),"BUS-DAY-Fare-LIST") ;
Prn->Canvas->Font->Size=10;
Frm.sprintf(" BUS-NUMBER : %04d, %04dYear, %2dMonth, %2dDay",strHeader.wBusNumber,strSum.dtRevStartDate.bYear+2000,strSum.dtRevStartDate.bMonth,strSum.dtRevStartDate.bDay);
Prn->Canvas->TextOutA(COL(Col) ,ROW(Row++),Frm);
Prn->Canvas->TextOutA(COL(Col) ,ROW(Row++),"=========================================================================") ;
Prn->Canvas->TextOutA(COL(Col) ,ROW(Row++)," Total_price | 10BAT | 5BAT | 1BAT | Power_ON |Power-OFF|") ;
Prn->Canvas->TextOutA(COL(Col) ,ROW(Row++),"-------------------------------------------------------------------------") ;
Frm.sprintf("%12dBAT,%8dEA,%8dEA,%8dEA,%9dEA,%9dEA",wTotal_price,wTotal100,wTotal50,wTotal10,wTPowerOn,wTPowerOff);
Prn->Canvas->TextOutA(COL(Col) ,ROW(Row++),Frm);
Prn->Canvas->TextOutA(COL(Col) ,ROW(Row++),"=========================================================================") ;
Prn->Canvas->TextOutA(COL(Col) ,ROW(Row++)," NO. | Fare_Time | BAT |Power| Door | Round |") ;
Prn->Canvas->TextOutA(COL(Col) ,ROW(Row++),"-------------------------------------------------------------------------") ;
for(i=1; i<StringGrid1->RowCount;i++){
Frm=StringGrid1->Cells[0][i]+" ";
for(j=1;j<6;j++) Frm=Frm+StringGrid1->Cells[j][i]+" ";
Prn->Canvas->TextOutA(COL(Col) ,ROW(Row++),Frm);
}
Prn->Canvas->TextOutA(COL(Col) ,ROW(Row++),"=========================================================================") ;
// Prn->Canvas->FrameRect(r);
Prn->EndDoc();
}
위와 같이 작성 하여 리스트를 출력 하는 프로그램인데 리스트가 한 장을 넘을 경우 첫장(한장) 밖에 출력이 안되네요.
출력은 폼 없이 그냥 리스트만 쭉 출력하는 건데요. 첫장(한장) 밖에 출력이 안되네요.
고수님들의 도움 부탁드립니다.
|