PRINT PICTURE
Olá pessoal.
Preciso de ajuda que acho que é simples mas não estou acertando.
O seguinte tenho em um form duas pictures com imagens diferentes, e um botão que dentro dele tem o seguinte codigo.
Dim SQL As String
conexao
ReabreRst Rst
SQL = [Ô]SELECT * FROM TabContatos ORDER BY CodiCont[Ô]
Rst.Open SQL, Cnn, adOpenKeyset, adLockOptimistic
[ô]If MsgBox([Ô]Inicia a Impressão?[Ô], 36, razao) = 7 Then
[ô] Exit Sub
[ô]
Dim ll As Byte
Dim pag As Byte
Dim acum As Single
acum = 0
pag = 0
ll = 60
Printer.FontName = [Ô]Arial[Ô] [ô]declarar fonte desejada
Printer.Orientation = 1 [ô]onde 1=retrato e 2=paisagem
[ô]Printer.PaperSize = 1
Printer.ScaleMode = 5
Printer.FontSize = 12 [ô]tamanho da fonte
On Error Resume Next
Do While Not Rst.EOF
If ll >= 60 Then
Printer.Print [ô]linha em branco
pag = pag + 1
Printer.Print Tab(1); [Ô]Torp Industrias e Comercios Ltda[Ô];
Printer.Print Tab(40); [Ô]Data :[Ô] + CStr(Date);
Printer.Print Tab(70); [Ô]Pag. :[Ô] + Str(pag)
Printer.Print Tab(1); String(80, [Ô]_[Ô])
Printer.Print Tab(25); [Ô]Relatório de Produtos[Ô]
Printer.Print Tab(1); String(80, [Ô]_[Ô])
Printer.Print Tab(1); [Ô]Código[Ô];
Printer.Print Tab(12); [Ô]Descrição[Ô];
Printer.Print Tab(44); [Ô]quantidade[Ô];
Printer.Print Tab(54); [Ô]Preço[Ô];
Printer.Print Tab(1); String(80, [Ô]_[Ô])
Printer.Print
ll = 8
End If
Printer.Print Tab(3); Format(Rst!CodiCont, [Ô]000[Ô]);
Printer.Print Tab(12); Rst!NomeCont;
Printer.Print Tab(44); Format(Rst!Idade, [Ô]0000[Ô]);
Printer.Print Tab(54); Format(Rst!ObseCont, [Ô]standard[Ô]);
Printer.Print Tab(54); Picture1.Picture;
[ô]acum = acum + (quantidade * preco)
[ô]ll = ll + 1
Rst.MoveNext
If ll = 60 Then
Printer.NewPage [ô]jogar numa próxima pagina
End If
Loop
Printer.Print
Printer.Print Tab(12); [Ô]Valor Total........: [Ô];
Printer.Print Tab(54); Format(acum, [Ô]standard[Ô])
Printer.EndDoc
End Sub
Bom como todos podem ver esse codigo esta funcionando beleziinha ele entra no banco e imprime o que eu quero certinho mais não conssigo imprimir no topo da pagina essas duas Pictures, pois a intenção é imprimir as duas imagens uma do lado da outra e abaixo esse relatorio que esse codigo ja imprime..
Pessoal da um ajuda aee para colocar dentro desse codigo alguma coisa que inprima duas pictures uma do lado da outra.
Obrigado.
NETVOO bom dia
esta codigo voce imprime direto na impressora né? beleza então.
estas imagens serao sempre as mesmas ou cada cadastro tem uma imagem diferente?
então por que voce não joga os dados acima num RPT do cristal.? eu acho que fica mais pratico pois voce tem a opcao mandar direto para a impressora ou ate mesmo abri-lo antes de imprimir.
pense nesta opcao e poste de novo. ok
esta codigo voce imprime direto na impressora né? beleza então.
estas imagens serao sempre as mesmas ou cada cadastro tem uma imagem diferente?
então por que voce não joga os dados acima num RPT do cristal.? eu acho que fica mais pratico pois voce tem a opcao mandar direto para a impressora ou ate mesmo abri-lo antes de imprimir.
pense nesta opcao e poste de novo. ok
Sim a cada cliente é uma imagem, e no cristal não me dei bem com ele ainda, eu estava apanhando com ele e resolvi tentar assim. e ele vai direto para impressora sim.
OLHA ABAIXO A LINHA EM VERMELHO
Dim SQL As String
conexao
ReabreRst Rst
SQL = [Ô]SELECT * FROM TabContatos ORDER BY CodiCont[Ô]
Rst.Open SQL, Cnn, adOpenKeyset, adLockOptimistic
[ô]If MsgBox([Ô]Inicia a Impressão?[Ô], 36, razao) = 7 Then
[ô] Exit Sub
[ô]
Dim ll As Byte
Dim pag As Byte
Dim acum As Single
acum = 0
pag = 0
ll = 60
Printer.FontName = [Ô]Arial[Ô] [ô]declarar fonte desejada
Printer.Orientation = 1 [ô]onde 1=retrato e 2=paisagem
[ô]Printer.PaperSize = 1
Printer.ScaleMode = 5
Printer.FontSize = 12 [ô]tamanho da fonte
On Error Resume Next
Do While Not Rst.EOF
If ll >= 60 Then
Printer.Print [ô]linha em branco
pag = pag + 1
Printer.Print Tab(1); [Ô]Torp Industrias e Comercios Ltda[Ô];
Printer.Print Tab(40); [Ô]Data :[Ô] + CStr(Date);
Printer.Print Tab(70); [Ô]Pag. :[Ô] + Str(pag)
Printer.Print Tab(1); String(80, [Ô]_[Ô])
Printer.Print Tab(25); [Ô]Relatório de Produtos[Ô]
Printer.Print Tab(1); String(80, [Ô]_[Ô])
Printer.Print Tab(1); [Ô]Código[Ô];
Printer.Print Tab(12); [Ô]Descrição[Ô];
Printer.Print Tab(44); [Ô]quantidade[Ô];
Printer.Print Tab(54); [Ô]Preço[Ô];
Printer.Print Tab(1); String(80, [Ô]_[Ô])
Printer.Print
ll = 8
End If
Printer.Print Tab(3); Format(Rst!CodiCont, [Ô]000[Ô]);
Printer.Print Tab(12); Rst!NomeCont;
Printer.Print Tab(44); Format(Rst!Idade, [Ô]0000[Ô]);
Printer.Print Tab(54); Format(Rst!ObseCont, [Ô]standard[Ô]);
[txt-color=#e80000] Printer.PaintPicture Image1.Picture, 0, 0, 2700, 2500 [ô]posiciona a foto[/txt-color]
[ô]acum = acum + (quantidade * preco)
[ô]ll = ll + 1
Rst.MoveNext
If ll = 60 Then
Printer.NewPage [ô]jogar numa próxima pagina
End If
Loop
Printer.Print
Printer.Print Tab(12); [Ô]Valor Total........: [Ô];
Printer.Print Tab(54); Format(acum, [Ô]standard[Ô])
Printer.EndDoc
End Sub
OLHA O ANEXO QUE TEM MELHOR O EXPLICATIVO BELEZA
Dim SQL As String
conexao
ReabreRst Rst
SQL = [Ô]SELECT * FROM TabContatos ORDER BY CodiCont[Ô]
Rst.Open SQL, Cnn, adOpenKeyset, adLockOptimistic
[ô]If MsgBox([Ô]Inicia a Impressão?[Ô], 36, razao) = 7 Then
[ô] Exit Sub
[ô]
Dim ll As Byte
Dim pag As Byte
Dim acum As Single
acum = 0
pag = 0
ll = 60
Printer.FontName = [Ô]Arial[Ô] [ô]declarar fonte desejada
Printer.Orientation = 1 [ô]onde 1=retrato e 2=paisagem
[ô]Printer.PaperSize = 1
Printer.ScaleMode = 5
Printer.FontSize = 12 [ô]tamanho da fonte
On Error Resume Next
Do While Not Rst.EOF
If ll >= 60 Then
Printer.Print [ô]linha em branco
pag = pag + 1
Printer.Print Tab(1); [Ô]Torp Industrias e Comercios Ltda[Ô];
Printer.Print Tab(40); [Ô]Data :[Ô] + CStr(Date);
Printer.Print Tab(70); [Ô]Pag. :[Ô] + Str(pag)
Printer.Print Tab(1); String(80, [Ô]_[Ô])
Printer.Print Tab(25); [Ô]Relatório de Produtos[Ô]
Printer.Print Tab(1); String(80, [Ô]_[Ô])
Printer.Print Tab(1); [Ô]Código[Ô];
Printer.Print Tab(12); [Ô]Descrição[Ô];
Printer.Print Tab(44); [Ô]quantidade[Ô];
Printer.Print Tab(54); [Ô]Preço[Ô];
Printer.Print Tab(1); String(80, [Ô]_[Ô])
Printer.Print
ll = 8
End If
Printer.Print Tab(3); Format(Rst!CodiCont, [Ô]000[Ô]);
Printer.Print Tab(12); Rst!NomeCont;
Printer.Print Tab(44); Format(Rst!Idade, [Ô]0000[Ô]);
Printer.Print Tab(54); Format(Rst!ObseCont, [Ô]standard[Ô]);
[txt-color=#e80000] Printer.PaintPicture Image1.Picture, 0, 0, 2700, 2500 [ô]posiciona a foto[/txt-color]
[ô]acum = acum + (quantidade * preco)
[ô]ll = ll + 1
Rst.MoveNext
If ll = 60 Then
Printer.NewPage [ô]jogar numa próxima pagina
End If
Loop
Printer.Print
Printer.Print Tab(12); [Ô]Valor Total........: [Ô];
Printer.Print Tab(54); Format(acum, [Ô]standard[Ô])
Printer.EndDoc
End Sub
OLHA O ANEXO QUE TEM MELHOR O EXPLICATIVO BELEZA
Nada amigo ele não imprime a imagen hehehhee caraca velho já baixai uma pancada de exemplo, mais nada funfa ahhahah
DA ALGUM ERRO OU SÓ NAO IMPRIME?
TENTA MUDAR A IMAGEM DO PICTURE PARA IMAGE QUE DEVE FUNCIONAR.
OUTRA COISA COMO VOCE GRAVA A IMAGEM, DIRETO NO BANCO OU VOCE GRAVA O CAMINHO?
POIS FUNCIONA COMIGO ASSIM NESTE MESMO CODIGO, MUDE E ME FALE O RESULTADO OK
TENTA MUDAR A IMAGEM DO PICTURE PARA IMAGE QUE DEVE FUNCIONAR.
OUTRA COISA COMO VOCE GRAVA A IMAGEM, DIRETO NO BANCO OU VOCE GRAVA O CAMINHO?
POIS FUNCIONA COMIGO ASSIM NESTE MESMO CODIGO, MUDE E ME FALE O RESULTADO OK
ok amigo funfo assimm
Printer.PaintPicture Picture1.Picture, 2, 1, 2, 2 [ô]posiciona a foto
Printer.PaintPicture Picture2.Picture, 4, 1, 2, 2 [ô]posiciona a foto
uma do lado da outra mas imprime encima do resultado que vem do banco.
Printer.PaintPicture Picture1.Picture, 2, 1, 2, 2 [ô]posiciona a foto
Printer.PaintPicture Picture2.Picture, 4, 1, 2, 2 [ô]posiciona a foto
uma do lado da outra mas imprime encima do resultado que vem do banco.
Printer.PaintPicture Picture1.Picture, [txt-color=#e80000]2, 1, 2, 2[/txt-color] [ô]posiciona a foto
os numero acima sao o posicionamento da imagem mude ate chegar ao ponto necessario.
os numero acima sao o posicionamento da imagem mude ate chegar ao ponto necessario.
Cara
as coordenadas de inicio do relatorio deve ser maior que as impressões das figuras, senão vai imprimir em cima mesmo.
outra dica:
quando tu quizer imprimir uma imagem de fundo centralizada, tipo marca dágua (desbotada),
primeiro você da o printer na figura e depois no relatório, pois se começar o relatorio e depois a figura,
vai sobrepora figura xobre o relatorio eliminado a impressão do relatório nas coordenadas da figura,
a segunda impressão sempre sobrepõe a primeira, no caso de estar na mesma página
. . .
netvoo segue o projeto. beleza
até mais.
até mais.
Olá pessoal nosso amigo ERIVELTONVGA ajudou pra caramba, tenho que ageitar ainda o codigo para finalizar e ver se dessa maneira vai dar certo ou vou ter que apelar para o Crystal.
Mas agradeço a todos que ajudarão.
Muito obrigado.
Mas agradeço a todos que ajudarão.
Muito obrigado.
Tópico encerrado , respostas não são mais permitidas