想把stringgrid中的内容打印成报表,
但不知道制报表的基本用法,
请帮助我,
能不能拿一段例子贴给我!
不胜感谢!

解决方案 »

  1.   

    难道这版就做的这么差,
    没有一个愿意给他人一点建议的么?
    我很怀疑这里可能是csdn里最没有人情味的地方!
      

  2.   

    难道这版就做的这么差,
    没有一个愿意给他人一点建议的么?
    我很怀疑这里可能是csdn里最没有人情味的地方!
      

  3.   

    难道这版就做的这么差,
    没有一个愿意给他人一点建议的么?
    我很怀疑这里可能是csdn里最没有人情味的地方!
      

  4.   

    StringGrid -> Query
    打印;
    For iCount := 1 to StringGrid.CelsCount? do
      For jCount := 1 to StringGrid.RowCount? do
       ....
      end;
    end;
    可以用Query了;
    好长时间没有用StringGrid了,有些属性不大记了;
    或者,放大后Form.Print,哈哈哈
      

  5.   

    大哥你说什么呢,
    看了半天啥都不懂,
    For iCount := 1 to StringGrid.CelsCount? do
      For jCount := 1 to StringGrid.RowCount? do
       ....
      end;
    end;
    这里没有看到和打印有关的函数、方法啊?
    至于form.print又如何用呢?
      

  6.   

    to fat_rat_1980(fatrat):
       怎么能这样说话呢?你这样说,还有谁愿意帮你。再说你自己也没把问题说清楚。打印报表连格式都没定,怎么打?如果有连数据集的话,建议直接用QUICKREPORT实现报表吧。如果直接打印,参考下面的。
    var
      sum :integer ;
      i, nHorRes, nVerRes, nCharWidth, nCharHeight, lineint:integer ;
    begin
      if PrintDialog.Execute then
      begin
        printer.Canvas.Font.Name:='Ms Sans Serif';
        printer.Canvas.Font.size:=12;
        printer.Refresh ;           printer.BeginDoc;    sum:=2;
        nHorRes:=GetDeviceCaps(Printer.Handle, HORZRES);
        nVerRes:=GetDeviceCaps(Printer.Handle, VERTRES);
        nCharWidth:=printer.Canvas.TextWidth('X');
        nCharHeight:=printer.Canvas.TextHeight('X');
        lineint:= nHorRes div nCharWidth;
        for i:=0 to lineint do
        begin
          printer.Canvas.TextOut(sum,10,'X');
          sum:=sum+ nCharWidth;
        end;
        printer.EndDoc;
      end;
    end ;