还有一种方法,就是用qrreport的qrexpr控件。
我的例子程序如下
共有两个文件
unit1.pas
------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, QuickRpt, QRCtrls, qrexpr,ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
QuickReport2.QRExpr1.Expression := edit1.Text;
QuickReport2.PreviewModeless;
QuickReport2.Hide;
BringtoFront;
end;
end.
------------------------
unit2.pas
------------------------
unit Unit2;
interface
uses Windows, SysUtils, Messages, Classes, Graphics, Controls,
StdCtrls, ExtCtrls, Forms, QuickRpt, QRCtrls;
type
TQuickReport2 = class(TQuickRep)
TitleBand1: TQRBand;
QRExpr1: TQRExpr;
procedure QRExpr1Print(sender: TObject; var Value: String);
private
public
end;
var
QuickReport2: TQuickReport2;
implementation
uses unit1;
{$R *.DFM}
procedure TQuickReport2.QRExpr1Print(sender: TObject; var Value: String);
begin
form1.edit2.Text := value;
end;
end.
------------------------
如果哪位有qrreport的源代码,请给俺看看,这里面一定有一个单独
的计算表达式的函数,这样就会更简单了