起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 137|回复: 5

【搞定】业务信息**

[复制链接]
发表于 2007-9-12 09:48:14 | 显示全部楼层 |阅读模式
我这有个业务信息YWXX1下面有表单TBGWD2,
在功能里是这样用的YWXX1.TBGWD2(....)
我现在需要用个通用的过程 procedure aa(vYWXX:TIno;vBD:TSheetDoc);(这是我定义的)

如何把YWXX1.TBGWD2()这句的两个固定值(YWXX1,TBGWD2) 换成2个过程中定义的2个变量?

vYWXX.TvBD 就是这个意思,如何写?谢谢!
回复

使用道具 举报

发表于 2007-9-12 10:00:55 | 显示全部楼层
procedure aa(vYWXX:TIno;vBD:TSheetDoc);
你写在哪里了?是业务信息YWXX1?还是业务信息YWXX1下面有表单TBGWD2上?
另外,你要在哪里调用?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-12 10:02:52 | 显示全部楼层
我在打印的时候调用 YWXX1(业务信息的名字) TBGWD2(表单的名字)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-12 10:05:07 | 显示全部楼层
procedure  TMainForm.qq(vDocPrint:TDocView;strings:string;cell1:integer;cell2:integer;n:integer);
var
  vI:integer;
  aa:TDoc;
  begin
  if(length(strings))>n then
  begin
      vI:=YWXX1.TBGWD2(vDocPrint.Doc).Cells[cell1,cell2].Font.Size;
      YWXX1.TBGWD2(vDocPrint.Doc).Cells[cell1,cell2].Font.Size:=n*vI DIV (length(strings));
  end;
end;

procedure TMainForm.Button1Click(Sender: TObject);
var
  vDocPrint:TDocView;
  vStr:sTring;
  vI:integer;
begin
  vDocPrint := TDocView.Create(Self);
  vStr:=DS_CS.DataSet.FieldByName('NR1').AsString;

  try
    vDocPrint.Parent := Self;

    vDocPrint.InfoBroker := InfoBroker1;
    vDocPrint.DocClassID := 'BGWD2';
    qq(vDocPrint,vStr,2,1,7);
    vDocPrint.Preview;

  finally
    vDocPrint.Free;

这是过程和打印的代码;都写在了这个功能的窗体上,
所以业务信息和表单的名字是死的,我想写成公共的过程,要传参数;
回复 支持 反对

使用道具 举报

发表于 2007-9-12 10:15:28 | 显示全部楼层
不用那那个强制转换,用tsheetdoc转换就可以了
vI:=Tsheetdoc(vDocPrint.Doc).Cells[cell1,cell2].Font.Size;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-12 10:21:19 | 显示全部楼层
不错 ,谢谢大家 结贴!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-16 00:21 , Processed in 0.035382 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表