我也看不懂是什么意思,如果你会用一种报表,那么连套打这么简单的报表都不会做吗?如果你不会用报表,那是你基础没打好,你是该看看书,每本DELPHI的基础教程上都会提到报表的设计。

解决方案 »

  1.   

    再问个基础问题:在写代码里有用到这一句“image1.Picture.Graphic is TJpegImage” 运行到这一行就出错了,提示:Undeclared identifier: 'TJpegImage'
    这要如何处理,哪位能说得详细些告诉我行吗,我初学者,谢谢
      

  2.   

    image1只能load bmp图像
    你使用的却是jpeg
    修改方法
    use jpeg在你的程序里

    var
    jf:Tjpegimage;
    bmp:Tbitmap;
    begin
    s:=tjpegimage.Create;
    s.LoadFromFile('c:\1.jpg');
    bmp:=Tbitmap.Create;
    bmp.Assign(s);
    image1.Picture.Assign(s);
    //就可以载入jpeg文件了。
      

  3.   

    套打的主要代码
     printer 是 Tprinter的类的实例
    use printers;
    begin
       Printer.BeginDoc;
       Printer.Canvas.Font.Name:='宋体';
       Printer.Canvas.Font.Style:=[fsBold];
       Printer.Canvas.Font.Size:=11;
       Printer.Canvas.TextOut(Y+ 15,X+ 102,Edit2.Text);
       //这2行的x,y就是偏差值,y+15是左边到字体输出处的偏差,x+102是上边到字体输出处
       //这些偏差和打印机有关,要测试调整
       Printer.Canvas.TextOut(Y+ 15,X+ 142,DBEdit2.Text);
       Printer.EndDoc;
    //本来还有分辨率什么的
    //才接触就不要忙着看
    //以下是begindoc的源代码,你看看,很有用的
    //在delphi中按住ctrl+鼠标左键 点击想看的函数,就会调出它的原代码
    //加油吧
    //在网上搜索以下,对比学习更好的
    procedure TPrinter.BeginDoc;
    var
      DocInfo: TDocInfo;
    begin
      CheckPrinting(False);//检测打印机
      SetState(psHandleDC);
      Canvas.Refresh;
      TPrinterCanvas(Canvas).UpdateFont;
      FPrinting := True;
      FAborted := False;
      FPageNumber := 1;
      FillChar(DocInfo, SizeOf(DocInfo), 0);
      with DocInfo do
      begin
        cbSize := SizeOf(DocInfo);
        lpszDocName := PChar(Title);
      end;
      SetAbortProc(DC, AbortProc);
      StartDoc(DC, DocInfo);
      StartPage(DC);
    en