1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| void __fastcall TForm1::printClick(TObject *Sender)
{
int xa,xb,ya,yb,x,y,z;
xb=20; yb=480; xa=200; ya=1070;
AnsiString data;
TPrinter *Canvas = Printer();
Canvas->BeginDoc();
Canvas->Title="CADRE";
TRect TheRect,TheRect2;
Canvas->Canvas->Brush->Style = bsSolid;
Canvas->Canvas->Font->Size = 11;
Canvas->Canvas->Font->Style = TFontStyles()<< fsBold;
DBNavigator->BtnClick(nbFirst); // debut de la bd
int tot = Table->RecordCount; // nbr d'enregistrement
tot = (tot / 2) + fmod(tot,2); // pair ou impaire , 2 cadre / ligne
z=1;
for(y=1; y<=tot; y++ ,x=0)
{
for(x=1; x<=2 && z<=Table->RecordCount; x++)
{
Canvas->Canvas->Brush->Color = clWhite;
TheRect = Rect(xa,xb,ya,yb);
Canvas->Canvas->Font->Color = clBlue;
Canvas->Canvas->TextRect(TheRect, xa+30, xb+30, "CADRE");
Canvas->Canvas->Font->Color = clGreen;
Canvas->Canvas->MoveTo ( xa, xb+90);
Canvas->Canvas->LineTo(ya,xb+90);
Canvas->Canvas->Font->Color = clBlack;
data = DBGrid->Fields[0]->Text;
Canvas->Canvas->TextOut( xa+30, xb+120, "Login : " + data);
data = DBGrid->Fields[1]->Text;
Canvas->Canvas->TextOut( xa+30, xb+180, "Code : " + data);
data = DBGrid->Fields[3]->Text;
Canvas->Canvas->TextOut( xa+30, xb+240, "Mode : " + data);
Canvas->Canvas->Brush->Color = clRed;
Canvas->Canvas->FrameRect(TheRect);
TheRect2 = Rect(xa-100,xb-10,ya+100,yb+10);
Canvas->Canvas->Brush->Color = clBlue;
Canvas->Canvas->FrameRect(TheRect2);
Canvas->Canvas->Brush->Color = clWhite;
LOGFONT lgfont;
GetObject( Canvas->Canvas->Font->Handle, sizeof(LOGFONT),&lgfont);
//Angle *10
lgfont.lfEscapement = 900; lgfont.lfOrientation = 900;
lgfont.lfOutPrecision = OUT_TT_ONLY_PRECIS;
Canvas->Canvas->Font->Handle = CreateFontIndirect(&lgfont);
SetGraphicsMode(Canvas->Canvas->Handle, GM_ADVANCED);
data = z;
Canvas->Canvas->TextOut( xa-75, xb+360, "Ticket Nr " + data);
Canvas->Canvas->TextOut( ya+10, yb, DateTimeToStr(Now()));
GetObject( Canvas->Canvas->Font->Handle, sizeof(LOGFONT), &lgfont);
lgfont.lfEscapement = 0; lgfont.lfOrientation = 0;
lgfont.lfOutPrecision = OUT_TT_ONLY_PRECIS;
Canvas->Canvas->Font->Handle = CreateFontIndirect(&lgfont);
SetGraphicsMode(Canvas->Canvas->Handle, GM_ADVANCED);
xa = (x * ya) + 200;
ya = (x + 1) * ya;
DBNavigator->BtnClick(nbNext);
z++;
}
xb=20; yb=480; xa=200; ya=1070;
xb = (y * yb) + xb;
yb = (y + 1) * yb;
}
Canvas->EndDoc();
} |
Partager