fastreport报表中图片作为背景模版,只是在预览时可以看到,但不要打印出来,因为我们有印刷这种表格出来,我只要在里面打印数据就可以了,请问应该怎么设置看到有高手给了这样的过程,
把图片的TAG设为1; 
//处理不需打印的对象 
procedure   TReportPrintForm.NotPrint(frReport:   TfrReport); 
var 
    i,   j:   Integer; 
begin 
    for   j   :=   0   to   frReport.Pages.Count   -   1   do 
        for   i   :=   0   to   frReport.Pages[j].Objects.Count   -   1   do   begin 
            if   StrToIntDef(TfrView(frReport.Pages[j].Objects[i]).Tag,   0)   =   1   then 
                TfrView(frReport.Pages[j].Objects[i]).Visible   :=   False; 
        end; 
end; 
//打印时调用
if   AIsTD   then   NotPrint(frfReport); 
    if   frfReport.PrepareReport   then   begin 
      frfReport.ShowPreparedReport; 
    end
但如何判断是在打印状态下还是在预览状态下呢?
if   AIsTD这个判断起到什么作用??
   

解决方案 »

  1.   

    第一次在CSDN求助竟如此惨淡,
      

  2.   

    AIsTD在這裡是一個boolean型變量,用來判斷是預覽狀態、還是打印狀態
      

  3.   

    当你预览的时候 你先把这变量 设为 0当打印的时候 设为 1然后在 fastreport 里面用if 语句来判断 如果变量为 0 visible 设为 True
    反之为 False
      

  4.   

    類似這樣,你好好研究一下這些最基本的東東
    var
       isprintReport:Boolean;
    try...
    打印...
    isprintReport:=true;
    except
    ...
    try
    預覽...
    except
    ...
    end;
    ...
    end;
    if isprintReport then
    begin
    //
    end else
    begin
    ///
    end;
      

  5.   

    try...
    打印...
    try
    預覽...关键就是这个打印还是预览应该怎样判断啊,对fr不了解,问题太弱,高手见笑了
      

  6.   

    var
      isprintReport:Boolean;
    try...
    if ()  then  ///打印...
    isprintReport:=true;
    except
    ...括号里应该怎么填?当什么条件下,给isprintReport赋值为TRUE
      

  7.   

    kye_jufei大哥,小弟在这里先谢谢了,
      

  8.   

    括號裡就是打印或預覽的條件(判斷isprintReport為true時為打印,false為預覽)
      

  9.   

    不知道楼主FR用的是哪个版本?我目前用的4.x是有不打印背景图片这个功能的。
    在page的backpicture属性中设置背景图片,然后把backpictureprintable设置为false,这样在预览时可以看到图片,但打印时是不会打印出来的。
      

  10.   

    属性里直接设置,同意dearfws.
    无须判断是打印还是预览状态,问题反而复杂了。
    fastReport升级从2.X到4.X变化较大的是变量赋值,别的改动很少,如果使用的版本过低就升级到4.X好了