关于宏的问题 和报表的问题 还有 打印 难 难 难 !(100分)

  • 主题发起人 主题发起人 红色闪电
  • 开始时间 开始时间

红色闪电

Unregistered / Unconfirmed
GUEST, unregistred user!
第一个:
是关于窗体打印的事
我用了FORM.PRINT可它已图形方式打印的我的打印机是针式的 所以上面有许多点我想以字符方式(那就不会有点了)打印怎么办啊 我要打印的是TDBGRID的内容 我不想用TREPORT 我对它不熟 他的反应也不好! 先谢谢你帮助 。
第二个:我在DELPHI 怎么定义函数 。还有象过程一类东西 (就象FOXPRO里的) 嘻嘻有点无知是不是
第三个:关于变量的 我在调用控件的时候控件名在数据库中呢 可是我用字段变量又不行出错的 在FOXPRO里有个宏代换的命令可以完成的 DELPHI怎么办啊!

第四个:DEIPHI能直接调用EXCEL的打印报表方式么 我就是不想用TREPORT(DELPHI的);
谢谢 大家 红色闪电 敬上 tomorrow@mail.hr.hl.cn
 
第二个: ????????
第三个:
function FindComponent(const AName: string): TComponent;
这样就可以实现根据名字找到对象了.
 
第一个: 可以在打印前把Form.Color设置为clWhite,打印完改回来。
你也可以在http://delphi.nease.net/DELPHIGB/DEFAULT.HTM找到直接打印
DBGrid的控件。只是你得学学什么是控件和控件的用法。
这时初学者的愿望:希望能用自己现在所学到的东西实现一切。
第二个: 看书把,兄第。网上的书也有一大把,例如http://www.netease.com/~zjfeng/
第四个:可以,你得知道OLE编程。一中网址可以找到一个OleExcel的控件可以
把DbGrid中的内容送到一个Excel表中,需要的话mailto:qdyoung@263.net
 
用TPrinter
 
delphi 里好像能不能定义宏,
只能用函数和过程来代替。
这对某些要求速度但不要求代码长度的程序来说是不利的。
 
第一. 可以设置printer.canvas的背景色为当前form的颜色, 然后设置
属性为透明属性, 这样form的颜色就不会打印出来了. 如果用文本方式, 可以用
canvas.textout输出字符串, 不过位置还是需要转成图形的点距, 自己调整.(很
繁人的)
第二.
声明过程:
procedure 过程名([var] 参数: 类型;
[var] 参数: 类型;...);
限制关键词;限制关键词...;

声明函数:
function 函数名([var] 参数: 类型;
[var] 参数: 类型;...): 返回值类型;
限制关键词;限制关键词...;
定义过程:
procedure [类名].过程名([var] 参数: 类型;...);
var
局部变量名: 类型;
.....
begin
...... //具体实现
end;

定义函数:
function [类名].函数名([var] 参数: 类型;....):返回值类型;
var
局部变量名: 类型;
.....
begin
...... // 具体实现
result:=返回值;
或者 函数名:=返回值;
end;

注意, 和foxpro之类解释型语言不同的是, 如果一个过程或函数中需要调用其他过程
或函数, 需要这个被调过程或函数"可见", 所谓可见即在当前过程或函数之前声明
或定义过(之后定义的不能直接调用, 除非在前面声明过).
第三. 可以在程序中调用 当前Form(如form1).FindComponent(控件名)得到.
注意: 得到的类型为TComponent, 要具体使用还需转换成相应类型才行(如TLabel,
TEdit....), 除非调用的是作为TComponent类就存在的方法或属性.
第四. 有控件(Freeware)可以实现这个功能. 你可以在Delphi Super Page找到
http://sunsite.icm.edu.pl/delphi/ (有1000+个Freeware控件, 基本上你想得
到的那都有了. 不过速度慢了点)
 
检索一下已答问题有关于宏的OCX控件,很棒!!
 
多人接受答案了。
 
后退
顶部