Estive olhando aki no forum e encontrei varios topicos falando sobre o problema da lx-300 + winxp, lentidão na hora de imprimir, segui varios topicos aqui do forum e não consegui encontra a solução, compilei o programa com harbour e o problema continua, aqui eu uso papel formulario cont. meia folha, segue o prg para vcs darem uma olhada pra ver o que esta faltando, pois começa a imprimir normal ae a impressao para demora pra volta, as vezes tenho que sair do programa para terminar de imprimir.
Vlw
Código: Selecionar todos
SET DATE AMERI
CLOSE DATA
SELE 1
USE EMPRESAS INDEX COEMPCOD,COEMPNOM,COEMPROT,COEMPEXC
SELE 2
USE ITENPEDI INDEX COITECOD,COITEMER,COITEEMI,COITEIMP,COITECME
SET RELA TO CODITENCLI INTO EMPRESAS
SELE 3
USE VENDEDOR INDEX COVENCOD,COVENNOM,COVENEXC
SELE 4
USE MERCADO INDEX COMERCOD,COMERDES,COMEREXC,COMERGRU
SELE 5
USE PEDIATAC INDEX COPATCOD,COPATMER,COPATEMI
SELE 6
USE RECEBER INDEX CORECCOD,CORECCLI,CORECVEN
*
nCtlin := 00
DO WHILE .T.
SELE 2
SETCOLOR(cCor1)
@ 07,21 CLEAR TO 19,78
cPedido = SPACE(08)
@ 13,36 SAY "Codigo do Pedido " GET cPedido PICT "99999999"
READ
IF LASTKEY()=27
nCtlin := 00
SET DATE BRIT
EXIT
ENDIF
cPedido=STRZERO(VAL(cPedido),8,0)
@ 13,54 SAY cPedido
SEEK cPedido
IF EOF()
Msg("Codigo Informado nÆo existe.")
INKEY(3)
Limpalinha()
IF nCtlin>=30
nCtlin=33
ELSE
nCtlin=00
ENDIF
LOOP
ENDIF
cCoditencli := CODITENCLI
COMTEIMP()
IF LASTKEY()=27
nCtlin := 00
SET DATE BRIT
RETURN
ENDIF
SET DEVI TO PRIN
SET CONSOLE OFF
SET PRINT ON
*
nSubValor=0.00
nTotValor=0.00
*
SELE 5
SEEK cPedido
dEmissao := EMISSAO
dVencimento:= VENCIMENTO
cCodven := VENDEDOR
SELE 1
SEEK cCoditencli
cNomeemp := SUBSTR(NOMEFANT,1,35)
cEndereco := SUBSTR(ENDERECO,1,35)
cBairro := SUBSTR(BAIRRO,1,15)
cCidade := SUBSTR(CIDADE,1,15)
cUf := SUBSTR(UF,1,2)
cCgc := CGC
cIe := SUBSTR(INSCEST,1,13)
??" C O M I L - Comercio de Milho - Fone(34) 3242-3783"
? "+------------------------------------------------------------------------------+"
? "| Pedido...: "+cPedido+space(58)+"|"
? "| Cliente..: "+cNomeemp+SPACE(05)+"Data....: "+TRAN(dEmissao,"@E 99/99/9999")+" |"
* ? "| Cliente..: "+cCoditencli+" - "+cNomeemp+" Data....: "+TRAN(dEmissao,"@E 99/99/9999")+" |"
? "| Endereco.: "+cEndereco+SPACE(05)+"Bairro..: "+cBairro+" |"
? "| Cidade...: "+cCidade+SPACE(24)+" Uf......: "+cUf+SPACE(13)+" |"
* ? "| CGC/CPF..: "+cCgc+SPACE(22)+"Insc.Est: "+TRAN(cIe,"@R 999.999999.9999")+SPACE(1)+"|"
* IIF(len(cCgc)<1,'',IIF(LEN(cCGC)==14,tran(cCgc,'@R 99.999.999/9999-99'),tran(cCgc,'@R 999.999.999-99'+" ")))
* IF LEN(cCGC)=14
IF LEN(ALLTRIM(cCgc))==14
? "| CGC/CPF..: "+tran(cCgc,"@R 99.999.999/9999-99")+SPACE(22)+"Insc.Est: "+TRAN(cIe,"@R 999.999999.9999")+SPACE(1)+"|"
ELSE
? "| CGC/CPF..: "+tran(cCgc,"@R 999.999.999-99"+" ")+SPACE(22)+"Insc.Est: "+TRAN(cIe,"@R 999.999999.9999")+SPACE(1)+"|"
ENDIF
* ? "+-------+----------------------------+-----------+--------------+--------------+"
* ? "| CODI. | DESCRICAO DA MERCADORIA | QUANTIDADE| VLR.UNITARIO | VALOR TOTAL |"
* ? "+-------+----------------------------+-----------+--------------+--------------+"
? "+------------------------------------+-----------+--------------+--------------+"
? "| DESCRICAO DA MERCADORIA | QUANTIDADE| VLR.UNITARIO | VALOR TOTAL |"
? "+------------------------------------+-----------+--------------+--------------+"
SELE 2
nCtlin=09
DO WHILE CODITENPED=cPedido .AND. (.NOT. EOF())
TECLA=INKEY()
DO CASE
CASE TECLA=80
PAUSA()
CASE TECLA=27
CLOSE DATABASES
TELAABER()
nCtlin := 00
SET DATE BRIT
EXIT
ENDCASE
* cCoditenmer := SUBSTR(CODITENMER,1,26)
cCoditenmer := CODITENMER
nQuantidade := QUANTIDADE
nValorunita := VALORUNITA
nValortotal := VALORTOTAL
SELE 4
SEEK cCoditenmer
cNomemer := SUBSTR(DESCRICAO,1,34)
SELE 2
*
* ? "| "+cCoditenmer+" | "+cNomemer+" | "+TRAN(nQuantidade,"@R 99,999.99")+" | "+TRAN(nValorunita,"@R 9,999,999.99")+" | "+TRAN(nValortotal,"@R 9,999,999.99")+" |"
? "| "+cNomemer+" | "+TRAN(nQuantidade,"@R 99,999.99")+" | "+TRAN(nValorunita,"@R 9,999,999.99")+" | "+TRAN(nValortotal,"@R 9,999,999.99")+" |"
*
REPLA IMPRESSO WITH "S"
nSubValor=nSubValor+nValortotal
nTotValor=nTotValor+nValortotal
nCtlin := nCtlin + 1
SKIP
ENDDO
IF nCtlin<24
DO WHILE nCtlin<>24
* ? "| | | | | |"
? "| | | | |"
nCtlin := nCtlin + 1
LOOP
ENDDO
ENDIF
SELE 2
IF nCtlin=24
SELE 5
SEEK cPedido
dVencimento := VENCIMENTO
dVenci := VENCIMENTO
SELE 2
SEEK cPedido
cTipo := TIPO
*
? "+------------------------------------+-----------+--------------+--------------+"
IF cTipo = "C"
SELE 5
dVencimento := VENCIMENTO
? "| Data do Vencimento.: "+"CHEQUE P/ "+TRAN(dVencimento,"@E 99/99/9999")+SPACE(11)+" TOTAL....: "+TRAN(nTotValor,"@R 9,999,999.99")+" |"
ENDIF
IF cTipo = "A"
dVencimento = " A V I S T A"
? "| Data do Vencimento.: "+dVencimento+SPACE(19)+" TOTAL....: "+TRAN(nTotValor,"@R 9,999,999.99")+" |"
ENDIF
IF cTipo = "N"
SELE 5
SEEK cPedido
dVencimento := VENCIMENTO
? "| Data do Vencimento.: "+TRAN(dVencimento,"@E 99/99/9999")+SPACE(21)+" TOTAL....: "+TRAN(nTotValor,"@R 9,999,999.99")+" |"
ENDIF
nSubValor = 0.00
? "+------------------------------------------------------------------------------+"
? "| Recebi(emos) as mercadorias discriminadas acima Data....: __/__/____ |"
? "| Assinatura.: __________________________________ |"
? "+------------------------------------------------------------------------------+"
?
?
nCtlin=0
ENDIF
SET DEVICE TO SCREEN
SELE 6
SEEK cPedido
REPLACE VALOR WITH nTotValor
LOOP
ENDDO
SET CONSOLE ON
SET PRINT OFF
SET DEVICE TO SCREEN
SET DATE BRIT
CLOSE DATABASES
RETURN


