急、急、急 有办法在程序执行时判断QRDBText的位置吗? (50分)

  • 主题发起人 主题发起人 xyt3dnow
  • 开始时间 开始时间
X

xyt3dnow

Unregistered / Unconfirmed
GUEST, unregistred user!
思路:在QRDBText8为不同的值的时候在纸张不同的位置,如下面代码
procedure Tprintfrom.FormActivate(Sender: TObject);
begin
if QRDBText8.caption='私人'then
QRDBText8.left:=250;
if QRDBText8.caption='集体' then
QRDBText8.left:=150;
if QRDBText8.caption='其他' then
QRDBText8.left:=50;
end;
但无论我把代码放到Tprintfrom.FormActivate还是Tprintfrom.FormCreate下,
QRDBText8的位置都是纹丝不动,请高手指点。
 
老兄﹐這還不是一樣的
那邊我已經貼出代碼了
基本是一樣的﹐在獲得數據時處理就可以實現
----------------------------------------------
一. | 二. | 三. | 四. | 五. | 六 |
| | | | | |
我做過差不多是像上面的格式﹐但并不是每一列都有數據﹐格式是固定的
有時候只有一兩列﹐(例如 1,3,6)這樣﹐但每一列的資料都有所區別的
在onneedData中處理﹐當是那一列時就填充那一列﹐還是看你原來的貼子吧
 
加在onneeddata中还是没反应啊。你的代码加在那里了?大侠?
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1780105
記得qr的dataset不能設置,一定要為空
 
在什么地方写都一样啊下面这段程序就能正常运行
lbl:=TQRlabel.Create(self);
lbl.Parent:=band1;
lbl.Font.Style:=lbl.Font.Style+[fsBold];
lbl.Font.Style:=lbl.Font.Style+[fsUnderline];
lbl.Caption:=str;
lbl.Left:=new_width;
lbl.Top :=3 ;
txt:=TQRDBtext.Create(self);
txt.Parent:=band2;
txt.DataSet:=data_form.print_table;
txt.DataField:=str;
txt.Left:=new_width;
txt.top:=3;
new_width:=new_width+return_long(str);
所谓的不动你应该单步调试一下,看你的条件有没有一个是成立的
就是你那几个if后面的语句有没有执行
 
多人接受答案了。
 
后退
顶部