Página 1 de 1
Video x Impressora (URGENTE)
Enviado: 06 Abr 2006 00:10
por diegofreak
E ae pessoal,
Bom, tenho de fazer meu programa mostrar e imprimir os dados apresentados na tela.
A impressão está ok, agora fazer essa sincronia está complicado...rss
Sei que existe o SET DEVICE TO SCREEN, no qual se coloca no final da rotina, alguém pode me dizer onde ?...rss
Segue o código:
clear
USE tecnico INDEX indtec
USE nivel INDEX indniv NEW
SELE tecnico
l=8
p=1
DO WHILE .NOT. EOF()
SET DEVICE TO PRINT
@2,2 SAY "Data: " + dtoc(date())
@2,60 SAY "Pagina: " + ltrim(str(p))
@4,20 SAY "RELACAO DE ALUNOS POR NIVEL"
@6,2 SAY "Codigo"
@6,10 SAY "Nome"
@6,50 SAY "Nivel"
@7,2 SAY replicate ("=",70)
DO WHILE l < 20 .AND. .NOT. EOF()
@l,2 SAY CODIGO
@l,10 SAY NOME
chave1=niv
SELE nivel
seek chave1
@l,50 SAY NOME
SELE técnico
l=l+1
SKIP
ENDDO
INKEY(2)
EJECT
p=p+1
l=8
ENDDO
INKEY(3)
DO PRINCIPAL
Espero que alguém possa me ajudar!
Fico muito agradecido!
Obrigado mesmo!
Até!
Enviado: 06 Abr 2006 11:56
por alaminojunior
Ele deve ficar antes do Do While
Re: Video x Impressora (URGENTE)
Enviado: 06 Abr 2006 14:36
por digitom
diegofreak escreveu:E ae pessoal,
Bom, tenho de fazer meu programa mostrar e imprimir os dados apresentados na tela.
A impressão está ok, agora fazer essa sincronia está complicado...rss
Sei que existe o SET DEVICE TO SCREEN, no qual se coloca no final da rotina, alguém pode me dizer onde ?...rss
Segue o código:
clear
USE tecnico INDEX indtec
USE nivel INDEX indniv NEW
SELE tecnico
l=8
p=1
DO WHILE .NOT. EOF()
SET DEVICE TO PRINT
@2,2 SAY "Data: " + dtoc(date())
@2,60 SAY "Pagina: " + ltrim(str(p))
@4,20 SAY "RELACAO DE ALUNOS POR NIVEL"
@6,2 SAY "Codigo"
@6,10 SAY "Nome"
@6,50 SAY "Nivel"
@7,2 SAY replicate ("=",70)
DO WHILE l < 20 .AND. .NOT. EOF()
@l,2 SAY CODIGO
@l,10 SAY NOME
chave1=niv
SELE nivel
seek chave1
@l,50 SAY NOME
SELE técnico
l=l+1
SKIP
ENDDO
INKEY(2)
EJECT
p=p+1
l=8
ENDDO
INKEY(3)
DO PRINCIPAL
Espero que alguém possa me ajudar!
Fico muito agradecido!
Obrigado mesmo!
Até!
Tente da seguinte forma:
clear
USE tecnico INDEX indtec
USE nivel INDEX indniv NEW
SELE tecnico
l=8
p=1
SET CONSOLE OFF
SET DEVICE TO PRINT
DO WHILE .NOT. EOF()
@2,2 SAY "Data: " + dtoc(date())
@2,60 SAY "Pagina: " + ltrim(str(p))
@4,20 SAY "RELACAO DE ALUNOS POR NIVEL"
@6,2 SAY "Codigo"
@6,10 SAY "Nome"
@6,50 SAY "Nivel"
@7,2 SAY replicate ("=",70)
DO WHILE l < 20 .AND. .NOT. EOF()
@l,2 SAY CODIGO
@l,10 SAY NOME
chave1=niv
SELE nivel
seek chave1
@l,50 SAY NOME
SELE técnico
l=l+1
SKIP
ENDDO
INKEY(2)
EJECT
p=p+1
l=8
ENDDO
SET PRINTER TO
SET DEVICE TO SCREEN
SET CONSOLE ON
INKEY(3)
DO PRINCIPAL
Fui........ :|<
Re: Video x Impressora (URGENTE)
Enviado: 06 Abr 2006 21:04
por diegofreak
digitom escreveu:diegofreak escreveu:E ae pessoal,
Bom, tenho de fazer meu programa mostrar e imprimir os dados apresentados na tela.
A impressão está ok, agora fazer essa sincronia está complicado...rss
Sei que existe o SET DEVICE TO SCREEN, no qual se coloca no final da rotina, alguém pode me dizer onde ?...rss
Segue o código:
clear
USE tecnico INDEX indtec
USE nivel INDEX indniv NEW
SELE tecnico
l=8
p=1
DO WHILE .NOT. EOF()
SET DEVICE TO PRINT
@2,2 SAY "Data: " + dtoc(date())
@2,60 SAY "Pagina: " + ltrim(str(p))
@4,20 SAY "RELACAO DE ALUNOS POR NIVEL"
@6,2 SAY "Codigo"
@6,10 SAY "Nome"
@6,50 SAY "Nivel"
@7,2 SAY replicate ("=",70)
DO WHILE l < 20 .AND. .NOT. EOF()
@l,2 SAY CODIGO
@l,10 SAY NOME
chave1=niv
SELE nivel
seek chave1
@l,50 SAY NOME
SELE técnico
l=l+1
SKIP
ENDDO
INKEY(2)
EJECT
p=p+1
l=8
ENDDO
INKEY(3)
DO PRINCIPAL
Espero que alguém possa me ajudar!
Fico muito agradecido!
Obrigado mesmo!
Até!
Tente da seguinte forma:
clear
USE tecnico INDEX indtec
USE nivel INDEX indniv NEW
SELE tecnico
l=8
p=1
SET CONSOLE OFF
SET DEVICE TO PRINT
DO WHILE .NOT. EOF()
@2,2 SAY "Data: " + dtoc(date())
@2,60 SAY "Pagina: " + ltrim(str(p))
@4,20 SAY "RELACAO DE ALUNOS POR NIVEL"
@6,2 SAY "Codigo"
@6,10 SAY "Nome"
@6,50 SAY "Nivel"
@7,2 SAY replicate ("=",70)
DO WHILE l < 20 .AND. .NOT. EOF()
@l,2 SAY CODIGO
@l,10 SAY NOME
chave1=niv
SELE nivel
seek chave1
@l,50 SAY NOME
SELE técnico
l=l+1
SKIP
ENDDO
INKEY(2)
EJECT
p=p+1
l=8
ENDDO
SET PRINTER TO
SET DEVICE TO SCREEN
SET CONSOLE ON
INKEY(3)
DO PRINCIPAL
Fui........ :|<
Então digitom fiz o procedimento que você me disse e a tela fica preta (sem nenhum dado), logo que fecho o programa ele imprime corretamente!
o SET PRINTER TO não tem nenhum parametro a mais ?
é assim mesmo a sintaxe, apenas isso ?
Segue o código (com a modificação):
PROCEDURE P_REL_N
CLEAR
USE tecnico INDEX indtec
USE nivel INDEX indniv NEW
SELE tecnico
l=8
p=1
r=0
SET CONSOLE OFF
SET DEVICE TO PRINT
DO WHILE .NOT. EOF()
@2,2 SAY "Data: " + dtoc(date())
@2,60 SAY "Pagina: " + ltrim(str(p))
@4,20 SAY "RELACAO DE ALUNOS POR NIVEL"
@6,2 SAY "Codigo"
@6,10 SAY "Nome"
@6,50 SAY "Nivel"
@7,2 SAY replicate ("=",70)
DO WHILE l < 20 .AND. .NOT. EOF()
chave1=niv
IF chave1 = sel_niv
@l,2 SAY CODIGO
@l,10 SAY NOME
chave1=niv
SELE nivel
seek chave1
@l,50 SAY NOME
SELE tecnico
l=l+1
r=r+1
SKIP
ELSE
SELE tecnico
SKIP
ENDIF
ENDDO
@21,2 SAY replicate("=",70)
@22,2 SAY "Registro(s) nesta pagina: " + ltrim(str(r))
EJECT
p=p+1
l=8
r=0
ENDDO
SET PRINTER TO
SET DEVICE TO SCREEN
SET CONSOLE ON
INKEY(0)
DO PRINCIPAL
Muito Obrigado!