DELPHI的report打印的问题,我要打印一段话,中间包括从数据库里取的项目名称字段。字段长短不确定,希望这段段话根据项目名称的长短自动换行并对EDIT9的内容字体加黑加下划线。
例如:Form_jldy.QRLabel23.Caption:='    我单位开标的'+edit9.text+'项目,已于'+SmalldateTOBig(DataModule1.ADO_zbjgb.fieldbyname('sj').asstring)+'**********************************************************************************************************************************************************************************,请务于】
以上打印的希望在打印界面里根据EDIT9和日期字段(sj)的长短自动换行。并且把EDIT9的内容字体加黑加下划线
只要是report的控件都行。因为以前的必须用REORT做。麻烦帮忙看看

解决方案 »

  1.   

    fastreport 控件
    很容易的!象是这样的:
    frsreport 的getvalue下写
    if valuename = '你要打印的' then
    value:= edit9.text
      

  2.   

    FR???
    大家是不是太习惯了,打印就用FR啊?
    我的建议,
    用word,把要写的文字,写到word里去,
    特别是Edit9.text的下划线,用FR能解吗?
    呵呵,能解的也真是报表强人了。
    具体代码,网络找吧。
    delphi操作word应该还是有的。
      

  3.   

    procedure   TForm1.QRDBText1Print(sender:   TObject;   var   Value:   String);   
      Var   
          s,stemp   :String   ;   
          n   :integer   ;   
      begin   
          n:=8   ;   
          s   :=''   ;   
          stemp   :=value   ;   
          while   (length(stemp)   >n)     do   
          Begin   
              s   :=s   +   Copy(stemp,1,8)   +   #13   ;   
              stemp   :=Copy(stemp,9,length(stemp))   ;   
          end   ;   
          value   :=s   ;   
      end;   换行的地方加#13,或者加个空格,quickreport对汉字过长的支持的不太好。最好的是fastreport。
      

  4.   

    反正就是要在内容里加个空格就好了,对于汉字内容还是可以的。全是英文的就自动换行了。
    我很少用QuickReport,不太适合中文报表。
      

  5.   

    下劃線可以在 給Caption賦值之前,執行此代碼:
    edit9.Font.Style := [fsUnderLine]
      

  6.   

    不過粗體沒法這樣解決
    建議這樣修改,不要把所有的字串都放在Form_jldy.QRLabel23.Caption
    分開放,edit9.text,可以再放一個label來接收,這樣既可以畫下線也可以設定粗體