请问,在delphi中如何把delphi界面上的某个变量的值,比如是定义的某个字符串或者某个控件的值传递给fastreport中的参数,我想要的是比如点击界面上的某一个按钮,就传递过去,而不是在frxReport1中的哪个事件写代码传递的,能否请高手赐教,而且变量名称不固定,怎么事先判断该变量是否存在,存在才赋值这样的,我是新手,可耻的伸回手,望解答

解决方案 »

  1.   

    界面上变量名称不固定还是report模板中名称不固定
    传值可以通过fastreport中“数据字典”或直接根据名称
    1、FrReport1.Dictionary.Variables['test'] := 'ok' 
    2、FrReport1.FindObject('Memo1').Memo.Text := 'ok';
      

  2.   

    在GetValue事件中寫代碼,訪問其FR組件
    example:
       v_MemoView:=frxrprt_qjd.FindObject('Memo59') as TfrxMemoView;
       v_MemoView.Visible:=False;
      

  3.   

    在GetValue事件中寫代碼,訪問其FR組件
    example:
      v_MemoView:=frxrprt_qjd.FindObject('Memo59') as TfrxMemoView;
      v_MemoView.Visible:=False;
      

  4.   

    http://blog.csdn.net/bdmh/archive/2009/05/27/4219395.aspx
      

  5.   

       n := frxReport1.Variables.Count;
       for i :=0 to n-1 do
       begin
         if frxReport1.Variables.Items[i].Name = 'v1' then
           frxReport1.Variables['v1'] := QuotedStr('v1');
       end;
      

  6.   

    不知道是不是你要的,
    我用的fastreport4 ,和3的赋值方法不同,如果和你用的版本不同
    需要你自己改下