PRINT PICTURE

NETVOO 20/03/2010 09:44:29
#337485


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.
ERIVELTONVGA 20/03/2010 10:39:16
#337488
Resposta escolhida
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

NETVOO 20/03/2010 11:04:41
#337490
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.
ERIVELTONVGA 20/03/2010 11:31:14
#337493
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
NETVOO 20/03/2010 11:39:27
#337494
Nada amigo ele não imprime a imagen hehehhee caraca velho já baixai uma pancada de exemplo, mais nada funfa ahhahah
ERIVELTONVGA 20/03/2010 11:44:49
#337495
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
NETVOO 20/03/2010 11:46:42
#337496
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.
ERIVELTONVGA 20/03/2010 11:51:38
#337497
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.
MICROSCHEME 20/03/2010 12:09:16
#337498

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

. . .
ERIVELTONVGA 20/03/2010 22:55:24
#337528
netvoo segue o projeto. beleza

até mais.
NETVOO 20/03/2010 23:00:28
#337529
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.
Tópico encerrado , respostas não são mais permitidas