Visualizar e Imprimir dados do DbGrid em Delphi
Prezados, bom dia.
No meu form de cadastro possuo um Dbgrid e gostaria de visualizar e imprimir os dados pesquisados dentro dele.
Componente utilizado: PrintDialog
Encontrei este código mas ao rodar dá erro na linha EndDoc: "Not enough actual parameters"
Poderiam avaliar?
No meu form de cadastro possuo um Dbgrid e gostaria de visualizar e imprimir os dados pesquisados dentro dele.
Componente utilizado: PrintDialog
Encontrei este código mas ao rodar dá erro na linha EndDoc: "Not enough actual parameters"
Poderiam avaliar?
procedure Tfrmcliente.BitBtn1Click(Sender: TObject);
var
x,y,i: integer;
begin
If Pdimprimir.Execute Then
Begin
With Printer Do
Begin
BeginDoc;
X := 200; // margem da página
Y := 200; // margem da página
With canvas Do
Begin
dm_dados.adqcliente.First;
For i := 1 To dm_dados.adqcliente.RecordCount Do
Begin
textout(X, Y,
inttostr(i) + 'º | Campo 1: ' + dm_dados.adqcliente.FieldValues
['cli_cod '] //Código do Cliente
+ ' | Campo 2: ' + string
(dm_dados.adqcliente.FieldValues['cli_nome']) //Nome
+ ' | Campo 3: ' + string
(dm_dados.adqcliente.FieldValues['cli_cpf']) //CPF
+ ' | Campo 4: ' + string
(dm_dados.adqcliente.FieldValues['cli_end']) //Endereço
+ ' | Campo 5: ' + string
(dm_dados.adqcliente.FieldValues['cli_num']) //Número
+ ' | Campo 6: ' + string
(dm_dados.adqcliente.FieldValues['cli_complemento']) //Complemento
+ ' | Campo 7: ' + string
(dm_dados.adqcliente.FieldValues['cli_bairro']) //Bairro
+ ' | Campo 8: ' + string
(dm_dados.adqcliente.FieldValues['cli_telefone']) //Telefone
+ ' | Campo 6: ' + string
(dm_dados.adqcliente.FieldValues['cli_celular'])); //Celular
End;
inc(Y, 50);
/// espaçamento das linhas, não eliminar, 50 é para linha normal
If Y = 6600 Then
/// tamanho de uma página A4
Begin
Newpage;
Y := 200; // margem da nova página
End;
dm_dados.adqcliente.Next;
End;
End;
EndDoc;
End;
End;
Carlos Leonel
Curtidas 0
Respostas
Anderson Gonçalves
03/05/2019
Prezados, bom dia.
No meu form de cadastro possuo um Dbgrid e gostaria de visualizar e imprimir os dados pesquisados dentro dele.
Componente utilizado: PrintDialog
Encontrei este código mas ao rodar dá erro na linha EndDoc: "Not enough actual parameters"
Poderiam avaliar?
,No meu form de cadastro possuo um Dbgrid e gostaria de visualizar e imprimir os dados pesquisados dentro dele.
Componente utilizado: PrintDialog
Encontrei este código mas ao rodar dá erro na linha EndDoc: "Not enough actual parameters"
Poderiam avaliar?
procedure Tfrmcliente.BitBtn1Click(Sender: TObject);
var
x,y,i: integer;
begin
If Pdimprimir.Execute Then
Begin
With Printer Do
Begin
BeginDoc;
X := 200; // margem da página
Y := 200; // margem da página
With canvas Do
Begin
dm_dados.adqcliente.First;
For i := 1 To dm_dados.adqcliente.RecordCount Do
Begin
textout(X, Y,
inttostr(i) + 'º | Campo 1: ' + dm_dados.adqcliente.FieldValues
['cli_cod '] //Código do Cliente
+ ' | Campo 2: ' + string
(dm_dados.adqcliente.FieldValues['cli_nome']) //Nome
+ ' | Campo 3: ' + string
(dm_dados.adqcliente.FieldValues['cli_cpf']) //CPF
+ ' | Campo 4: ' + string
(dm_dados.adqcliente.FieldValues['cli_end']) //Endereço
+ ' | Campo 5: ' + string
(dm_dados.adqcliente.FieldValues['cli_num']) //Número
+ ' | Campo 6: ' + string
(dm_dados.adqcliente.FieldValues['cli_complemento']) //Complemento
+ ' | Campo 7: ' + string
(dm_dados.adqcliente.FieldValues['cli_bairro']) //Bairro
+ ' | Campo 8: ' + string
(dm_dados.adqcliente.FieldValues['cli_telefone']) //Telefone
+ ' | Campo 6: ' + string
(dm_dados.adqcliente.FieldValues['cli_celular'])); //Celular
End;
inc(Y, 50);
/// espaçamento das linhas, não eliminar, 50 é para linha normal
If Y = 6600 Then
/// tamanho de uma página A4
Begin
Newpage;
Y := 200; // margem da nova página
End;
dm_dados.adqcliente.Next;
End;
End;
EndDoc;
End;
End;
So de olhar e contar um pouco to vendo que o tal ENDDOC está fora do laço With que deveria estar, da uma olhada nisso e depois de diz.
GOSTEI 0