如果我要打印界面中的所有edit框中的内容除了一个个打的话,还有什么简单一点的办法吗?或者能不能用循环? (100分)

  • 主题发起人 主题发起人 wrh
  • 开始时间 开始时间
W

wrh

Unregistered / Unconfirmed
GUEST, unregistred user!
如果我要打印界面中的所有edit框中的内容除了一个个打的话,还有什么简单一点的办法吗?或者能不能用循环?
 
可以用循环呀,遍历一下
for i:=0 to form1.controlcount-1do
begin
if uppercase(form1.controls.ClassName)="TEDIT" then
printstring:=((form1.controls) as Tedit).Text;
//printstring就是你要得到的字符串
end;
 
但打印位置呢?是按在界面中的位置吗??
 
一定要给分,因为我保证能完成.在Delphi上验证通过!
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
str :string;
begin
str:='';
for i:=0 to componentcount-1do
begin
if components is Tedit then
str:=str+' '+Tedit(components).text;
end;
showmessage(str )
end;
 
用以上老兄的方法取得内容后就直接送往打印机,好象有PRINTER这个对象,你可以详细
的控制打印机的动作!
 
当然可以用循环了,以下代码你可以参考一下,然后加以改造成你所需的:
var
i : integer;
slTxt : Tstrings;
begin
slTxt := TStringList.Create;
for i := 0 to ComponentCount - 1do
begin
if Components is TEdit then
slTxt.Add(TEdit(Components).Text);
end;
showmessage(slTxt.Text);
//显示Form上所有Edit中的内容
slTxt.Free;
end;
 
多人接受答案了。
 
后退
顶部