printadounit.pas

来自「这是为工商所开发的工商收费簿套打软件,借初学者学习」· PAS 代码 · 共 525 行 · 第 1/2 页

PAS
525
字号
  begin
   RESULT:= PrinterPos(Y,'Y');
  END;

function PrinterPos(iMM:double;XorY:String):integer;
var
    OffestX,OffestY:Double;
    PointX,POINTY:Integer;
begin
    PointX:=GetDeviceCaps(Printer.Handle,LOGPIXELSX);
    PointY:=GetDeviceCaps(Printer.Handle,LOGPIXELSY);
    //得到左端不可打印区域
    OffestX:=GetDeviceCaps(printer.Handle,PHYSICALOFFSETX)/PointX*25.4;
    //得到上端不可打印区域
    OffestY:=GetDeviceCaps(printer.Handle,PHYSICALOFFSETY)/PointY*25.4;
    //将打印的位置转换为以像数为单位的宽度,可考虑将Round函数去除
    if XorY='X' then Result:=round( (iMM-OffestX)/25.4*PointX);  //X
    //将打印的位置转换为以像数为单位的高度
    if XorY='Y' then Result:=round((iMM-OffestY)/25.4*PointY);  //Y
end;
/////////////////////


procedure PrintPage2;
begin
     with Printer.Canvas,previewform.adoquery1 do BEGIN
       x:=StrToInt(PreviewForm.DBEditX.TEXT);
       y:=StrToInt(PreviewForm.DBEditY.TEXT);
      TextOut(GETPX(110+x),GETPY(12+y),PreviewForm.edit30.Text );
      TextOut(GETPX(134+x),GETPY(25+y),PreviewForm.edit103.Text );
      TextOut(GETPX(134+x),GETPY(38.5+y),PreviewForm.Edit104.Text );
      TextOut(GETPX(150+x),GETPY(38.5+y),PreviewForm.Edit105.Text );
      TextOut(GETPX(134+x),GETPY(53+y),PreviewForm.Edit106.Text );
      TextOut(GETPX(134+x),GETPY(70+y),PreviewForm.Edit107.Text );
      TextOut(GETPX(134+x),GETPY(84+y),PreviewForm.Edit108.Text );
      TextOut(GETPX(157+x),GETPY(96.5+y),PreviewForm.Edit109.Text );
      TextOut(GETPX(157+x),GETPY(103+y),PreviewForm.Edit110.Text );
      if PreviewForm.RadioButton1.Checked then
         TextOut(GETPX(147+x),GETPY(110+y),'√' )
      Else
         TextOut(GETPX(171+x),GETPY(110+y),'√' ) ;
    end;
end;

procedure PrintPage3;
Var
  i:Integer;
begin
   with Printer.Canvas,previewform.adoquery1 do BEGIN
       x:=StrToInt(PreviewForm.DBEditX.TEXT);
       y:=StrToInt(PreviewForm.DBEditY.TEXT);

     For i:=1 to PreviewForm.memo9.Lines.Count do
        TextOut(GETPX(23+x),GETPY(24+y+(i-1)*5),PreviewForm.memo9.Lines[i-1] );

   end;
end;

procedure PrintPage4;
begin
     with Printer.Canvas,previewform.adoquery1 do BEGIN
       x:=StrToInt(PreviewForm.DBEditX.TEXT);
       y:=StrToInt(PreviewForm.DBEditY.TEXT);
      //顶部
      TextOut(GETPX(110+x),GETPY(10+y),'钟 村');
      TextOut(GETPX(60+x),GETPY(18+y),PreviewForm.edit1.Text );
      TextOut(GETPX(60+x),GETPY(26+y),PreviewForm.Edit2.Text );
      TextOut(GETPX(195+x),GETPY(26+y),PreviewForm.Edit3.Text );
      TextOut(GETPX(265+x),GETPY(26+y),PreviewForm.Edit4.Text );
       //表顶
      TextOut(GETPX(70+x),GETPY(32+y),PreviewForm.Edit5.Text );
      TextOut(GETPX(197+x),GETPY(32+y),PreviewForm.Edit6.Text );
      TextOut(GETPX(70+x),GETPY(41+y),PreviewForm.Edit7.Text );
      TextOut(GETPX(169+x),GETPY(41+y),PreviewForm.Edit120.Text );
      TextOut(GETPX(222+x),GETPY(41+y),PreviewForm.Edit8.Text );
      TextOut(GETPX(70+x),GETPY(52+y),PreviewForm.Edit9.Text );
      TextOut(GETPX(196+x),GETPY(52+y),PreviewForm.Edit121.Text );
      TextOut(GETPX(258+x),GETPY(52+y),PreviewForm.Edit10.Text );
      TextOut(GETPX(70+x),GETPY(60+y),PreviewForm.Edit11.Text );
      TextOut(GETPX(136+x),GETPY(60+y),PreviewForm.Edit12.Text );
      TextOut(GETPX(195+x),GETPY(60+y),PreviewForm.Edit13.Text );
      TextOut(GETPX(258+x),GETPY(60+y),PreviewForm.Edit14.Text );
      //1
      TextOut(GETPX(44+x),GETPY(86+y),PreviewForm.Edit15.Text );
      TextOut(GETPX(70+x),GETPY(86+y),PreviewForm.Edit16.Text );
      TextOut(GETPX(44+x),GETPY(95+y),PreviewForm.Edit17.Text );
      TextOut(GETPX(70+x),GETPY(95+y),PreviewForm.Edit18.Text );
      TextOut(GETPX(44+x),GETPY(104+y),PreviewForm.Edit19.Text );
      TextOut(GETPX(70+x),GETPY(104+y),PreviewForm.Edit20.Text );
      TextOut(GETPX(44+x),GETPY(113+y),PreviewForm.Edit21.Text );
      TextOut(GETPX(70+x),GETPY(113+y),PreviewForm.Edit22.Text );
      TextOut(GETPX(44+x),GETPY(122+y),PreviewForm.Edit23.Text );
      TextOut(GETPX(70+x),GETPY(122+y),PreviewForm.Edit24.Text );
      TextOut(GETPX(44+x),GETPY(132+y),PreviewForm.Edit25.Text );
      TextOut(GETPX(70+x),GETPY(132+y),PreviewForm.Edit26.Text );
      TextOut(GETPX(44+x),GETPY(141+y),PreviewForm.Edit27.Text );
      TextOut(GETPX(70+x),GETPY(141+y),PreviewForm.Edit28.Text );
      TextOut(GETPX(44+x),GETPY(150+y),PreviewForm.Edit29.Text );
      TextOut(GETPX(70+x),GETPY(150+y),PreviewForm.Edit31.Text );
      TextOut(GETPX(44+x),GETPY(159+y),PreviewForm.Edit32.Text );
      TextOut(GETPX(70+x),GETPY(159+y),PreviewForm.Edit33.Text );
      TextOut(GETPX(44+x),GETPY(168+y),PreviewForm.Edit34.Text );
      TextOut(GETPX(70+x),GETPY(168+y),PreviewForm.Edit35.Text );
      TextOut(GETPX(44+x),GETPY(177+y),PreviewForm.Edit36.Text );
      TextOut(GETPX(70+x),GETPY(177+y),PreviewForm.Edit37.Text );
      TextOut(GETPX(44+x),GETPY(186+y),PreviewForm.Edit38.Text );
      TextOut(GETPX(70+x),GETPY(186+y),PreviewForm.Edit39.Text );
       //2
      TextOut(GETPX(106+x),GETPY(86+y),PreviewForm.Edit40.Text );
      TextOut(GETPX(132+x),GETPY(86+y),PreviewForm.Edit41.Text );
      TextOut(GETPX(106+x),GETPY(95+y),PreviewForm.Edit42.Text );
      TextOut(GETPX(132+x),GETPY(95+y),PreviewForm.Edit43.Text );
      TextOut(GETPX(106+x),GETPY(104+y),PreviewForm.Edit44.Text );
      TextOut(GETPX(132+x),GETPY(104+y),PreviewForm.Edit45.Text );
      TextOut(GETPX(106+x),GETPY(113+y),PreviewForm.Edit46.Text );
      TextOut(GETPX(132+x),GETPY(113+y),PreviewForm.Edit47.Text );
      TextOut(GETPX(106+x),GETPY(122+y),PreviewForm.Edit48.Text );
      TextOut(GETPX(132+x),GETPY(122+y),PreviewForm.Edit49.Text );
      TextOut(GETPX(106+x),GETPY(132+y),PreviewForm.Edit50.Text );
      TextOut(GETPX(132+x),GETPY(132+y),PreviewForm.Edit51.Text );
      TextOut(GETPX(106+x),GETPY(141+y),PreviewForm.Edit52.Text );
      TextOut(GETPX(132+x),GETPY(141+y),PreviewForm.Edit53.Text );
      TextOut(GETPX(106+x),GETPY(150+y),PreviewForm.Edit54.Text );
      TextOut(GETPX(132+x),GETPY(150+y),PreviewForm.Edit55.Text );
      TextOut(GETPX(106+x),GETPY(159+y),PreviewForm.Edit56.Text );
      TextOut(GETPX(132+x),GETPY(159+y),PreviewForm.Edit57.Text );
      TextOut(GETPX(106+x),GETPY(168+y),PreviewForm.Edit58.Text );
      TextOut(GETPX(132+x),GETPY(168+y),PreviewForm.Edit59.Text );
      TextOut(GETPX(106+x),GETPY(177+y),PreviewForm.Edit60.Text );
      TextOut(GETPX(132+x),GETPY(177+y),PreviewForm.Edit61.Text );
      TextOut(GETPX(106+x),GETPY(186+y),PreviewForm.Edit62.Text );
      TextOut(GETPX(132+x),GETPY(186+y),PreviewForm.Edit63.Text );
       //3
      TextOut(GETPX(168+x),GETPY(86+y),PreviewForm.Edit64.Text );
      TextOut(GETPX(195+x),GETPY(86+y),PreviewForm.Edit65.Text );
      TextOut(GETPX(168+x),GETPY(95+y),PreviewForm.Edit66.Text );
      TextOut(GETPX(195+x),GETPY(95+y),PreviewForm.Edit67.Text );
      TextOut(GETPX(168+x),GETPY(104+y),PreviewForm.Edit68.Text );
      TextOut(GETPX(195+x),GETPY(104+y),PreviewForm.Edit69.Text );
      TextOut(GETPX(168+x),GETPY(113+y),PreviewForm.Edit70.Text );
      TextOut(GETPX(195+x),GETPY(113+y),PreviewForm.Edit71.Text );
      TextOut(GETPX(168+x),GETPY(122+y),PreviewForm.Edit72.Text );
      TextOut(GETPX(195+x),GETPY(122+y),PreviewForm.Edit73.Text );
      TextOut(GETPX(168+x),GETPY(132+y),PreviewForm.Edit74.Text );
      TextOut(GETPX(195+x),GETPY(132+y),PreviewForm.Edit75.Text );
      TextOut(GETPX(168+x),GETPY(141+y),PreviewForm.Edit76.Text );
      TextOut(GETPX(195+x),GETPY(141+y),PreviewForm.Edit77.Text );
      TextOut(GETPX(168+x),GETPY(150+y),PreviewForm.Edit78.Text );
      TextOut(GETPX(195+x),GETPY(150+y),PreviewForm.Edit79.Text );
      TextOut(GETPX(168+x),GETPY(159+y),PreviewForm.Edit80.Text );
      TextOut(GETPX(195+x),GETPY(159+y),PreviewForm.Edit81.Text );
      TextOut(GETPX(168+x),GETPY(168+y),PreviewForm.Edit82.Text );
      TextOut(GETPX(195+x),GETPY(168+y),PreviewForm.Edit83.Text );
      TextOut(GETPX(168+x),GETPY(177+y),PreviewForm.Edit84.Text );
      TextOut(GETPX(195+x),GETPY(177+y),PreviewForm.Edit85.Text );
      TextOut(GETPX(168+x),GETPY(186+y),PreviewForm.Edit86.Text );
      TextOut(GETPX(195+x),GETPY(186+y),PreviewForm.Edit87.Text );
       //4
      TextOut(GETPX(232+x),GETPY(86+y),PreviewForm.Edit88.Text );
      TextOut(GETPX(258+x),GETPY(86+y),PreviewForm.Edit89.Text );
      TextOut(GETPX(232+x),GETPY(95+y),PreviewForm.Edit90.Text );
      TextOut(GETPX(258+x),GETPY(95+y),PreviewForm.Edit91.Text );
      TextOut(GETPX(232+x),GETPY(104+y),PreviewForm.Edit92.Text );
      TextOut(GETPX(258+x),GETPY(104+y),PreviewForm.Edit93.Text );
      TextOut(GETPX(232+x),GETPY(113+y),PreviewForm.Edit94.Text );
      TextOut(GETPX(258+x),GETPY(113+y),PreviewForm.Edit95.Text );
      TextOut(GETPX(232+x),GETPY(122+y),PreviewForm.Edit96.Text );
      TextOut(GETPX(258+x),GETPY(122+y),PreviewForm.Edit97.Text );
      TextOut(GETPX(232+x),GETPY(132+y),PreviewForm.Edit98.Text );
      TextOut(GETPX(258+x),GETPY(132+y),PreviewForm.Edit99.Text );
      TextOut(GETPX(232+x),GETPY(141+y),PreviewForm.Edit100.Text );
      TextOut(GETPX(258+x),GETPY(141+y),PreviewForm.Edit101.Text );
      TextOut(GETPX(232+x),GETPY(150+y),PreviewForm.Edit102.Text );
      TextOut(GETPX(258+x),GETPY(150+y),PreviewForm.Edit111.Text );
      TextOut(GETPX(232+x),GETPY(159+y),PreviewForm.Edit112.Text );
      TextOut(GETPX(258+x),GETPY(159+y),PreviewForm.Edit113.Text );
      TextOut(GETPX(232+x),GETPY(168+y),PreviewForm.Edit114.Text );
      TextOut(GETPX(258+x),GETPY(168+y),PreviewForm.Edit115.Text );
      TextOut(GETPX(232+x),GETPY(177+y),PreviewForm.Edit116.Text );
      TextOut(GETPX(258+x),GETPY(177+y),PreviewForm.Edit117.Text );
      TextOut(GETPX(232+x),GETPY(186+y),PreviewForm.Edit118.Text );
      TextOut(GETPX(258+x),GETPY(186+y),PreviewForm.Edit119.Text );

      end;
end;

procedure printpage5;
var i:Integer;
begin
   with Printer.Canvas,previewform.adoquery1 do BEGIN
       x:=StrToInt(PreviewForm.DBEditX.TEXT);
       y:=StrToInt(PreviewForm.DBEditY.TEXT);

       //顶部
      TextOut(GETPX(35+x),GETPY(22+y),PreviewForm.edit122.Text );
      TextOut(GETPX(55+x),GETPY(22+y),PreviewForm.Edit123.Text );
      TextOut(GETPX(70+x),GETPY(22+y),PreviewForm.Edit124.Text );
      TextOut(GETPX(52+x),GETPY(27+y),PreviewForm.Edit125.Text );
      TextOut(GETPX(52+x),GETPY(34+y),PreviewForm.Edit126.Text );
      TextOut(GETPX(52+x),GETPY(41+y),PreviewForm.Edit127.Text );
      Printer.Canvas.Font.Size:=9;
      TextOut(GETPX(147+x),GETPY(34+y),'3602000111000023213');
      TextOut(GETPX(147+x),GETPY(41+y),'广州市工商银行第一支行');
      Printer.Canvas.Font.Size:=11;
       //中间
      TextOut(GETPX(18+x),GETPY(62+y),PreviewForm.ComboBox2.Text );
      TextOut(GETPX(18+x),GETPY(68+y),PreviewForm.ComboBox3.Text );
      TextOut(GETPX(55+x),GETPY(62+y),PreviewForm.Edit128.Text );
      TextOut(GETPX(70+x),GETPY(62+y),PreviewForm.Edit129.Text );
      TextOut(GETPX(81+x),GETPY(62+y),PreviewForm.Edit130.Text );
      TextOut(GETPX(86+x),GETPY(62+y),PreviewForm.Edit131.Text );
      TextOut(GETPX(91+x),GETPY(62+y),PreviewForm.Edit132.Text );
      TextOut(GETPX(96+x),GETPY(62+y),PreviewForm.Edit133.Text );
      TextOut(GETPX(101+x),GETPY(62+y),PreviewForm.Edit134.Text );
      TextOut(GETPX(106+x),GETPY(62+y),PreviewForm.Edit135.Text );
      TextOut(GETPX(111+x),GETPY(62+y),PreviewForm.Edit136.Text );
      TextOut(GETPX(116+x),GETPY(62+y),PreviewForm.Edit137.Text );
      TextOut(GETPX(121+x),GETPY(62+y),PreviewForm.Edit138.Text );
      TextOut(GETPX(126+x),GETPY(62+y),PreviewForm.Edit139.Text );
      TextOut(GETPX(55+x),GETPY(75+y),PreviewForm.Edit155.Text );
      TextOut(GETPX(70+x),GETPY(75+y),PreviewForm.Edit156.Text );
      TextOut(GETPX(81+x),GETPY(75+y),PreviewForm.Edit157.Text );
      TextOut(GETPX(86+x),GETPY(75+y),PreviewForm.Edit158.Text );
      TextOut(GETPX(91+x),GETPY(75+y),PreviewForm.Edit159.Text );
      TextOut(GETPX(96+x),GETPY(75+y),PreviewForm.Edit160.Text );
      TextOut(GETPX(101+x),GETPY(75+y),PreviewForm.Edit161.Text );
      TextOut(GETPX(106+x),GETPY(75+y),PreviewForm.Edit162.Text );
      TextOut(GETPX(111+x),GETPY(75+y),PreviewForm.Edit163.Text );
      TextOut(GETPX(116+x),GETPY(75+y),PreviewForm.Edit164.Text );
      TextOut(GETPX(121+x),GETPY(75+y),PreviewForm.Edit165.Text );
      TextOut(GETPX(126+x),GETPY(75+y),PreviewForm.Edit166.Text );
     IF PreviewForm.Memo1.Lines.Count<8 then
     begin
     For i:=1 to PreviewForm.memo1.Lines.Count do
      TextOut(GETPX(160+x),GETPY(50+y+(i-1)*5),PreviewForm.memo1.Lines[i-1] );
     end;
      TextOut(GETPX(53+x),GETPY(83+y),PreviewForm.Edit140.Text );
      TextOut(GETPX(64+x),GETPY(83+y),PreviewForm.Edit141.Text );
      TextOut(GETPX(75+x),GETPY(83+y),PreviewForm.Edit142.Text );
      TextOut(GETPX(87+x),GETPY(83+y),PreviewForm.Edit143.Text );
      TextOut(GETPX(99+x),GETPY(83+y),PreviewForm.Edit144.Text );
      TextOut(GETPX(110+x),GETPY(83+y),PreviewForm.Edit145.Text );
      TextOut(GETPX(122+x),GETPY(83+y),PreviewForm.Edit146.Text );
      TextOut(GETPX(134+x),GETPY(83+y),PreviewForm.Edit147.Text );
      TextOut(GETPX(145+x),GETPY(83+y),PreviewForm.Edit148.Text );
      TextOut(GETPX(157+x),GETPY(83+y),PreviewForm.Edit149.Text );
      //底部
      TextOut(GETPX(72+x),GETPY(102+y),PreviewForm.Edit150.Text );
      TextOut(GETPX(72+x),GETPY(112+y),PreviewForm.Edit151.Text );
      TextOut(GETPX(142+x),GETPY(90+y),PreviewForm.Edit152.Text );
      TextOut(GETPX(155+x),GETPY(90+y),PreviewForm.Edit153.Text );
      TextOut(GETPX(135+x),GETPY(102+y),PreviewForm.Edit154.Text );
end;
end;

procedure PrintPage6;
begin
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?