Jump to content
Fivewin Brasil

EMULAR SET PRINTER TO ARCH


xbaselab

Recommended Posts

se for tdosprn


oPrn:=TDosPrn():New(fab.txt)

oPrn:Say(0,0,CLIENTES->NUMCLI)

oPrn:End()

id=code>id=code>

se for em report


REPORT oReport TITLE "*** My First Report ***" ;

CAPTION "The Firm - Salary Report" ;

FONT oFont1, oFont2 ;

PREVIEW TO FILE fab.txt

COLUMN TITLE "Código" DATA CLIENTES->NUMCLI

END REPORT

ACTIVATE REPORT oReport

id=code>id=code>

em tprinter dá mais "trabalho", mas funciona tb

Alessandro F. Silvaid=blue>

E-mail :aferracini@terra.com.br

FW2.0d + CL53b + Blinker 7.0 + @Say + CDX

MSN: ferracini_silva@hotmail.com

Ribeirão Preto/SP

Link to comment
Share on other sites

  • 1 year later...

Amiguos deste forum..Boa tarde :

Olha eu aqui com problemas no SET PRINTER TO / SET DEVICE TO PRINTER..

Static Function Processa()

WArqEnt:=alltrim(WarqEnt)

If ! File(WarqEnt)

MsgStop("Arquivo "+WArqEnt+" Inexistente","Atenção")

return nil

Endif

**

MsgRun("Criando Base de Dados Temporária...")

Declare Matriz[1]

Matriz[1]={'id','c',2,0}

AAdd(Matriz,{'conteudo' ,'c',120,0})

AAdd(Matriz,{'n21' ,'c',05,0})

AAdd(Matriz,{'cep' ,'c',08,0})

AAdd(Matriz,{'codcep' ,'c',01,0})

AAdd(Matriz,{'ceptri' ,'c',01,0})

AAdd(Matriz,{'codcif' ,'c',34,0})

AAdd(Matriz,{'numpostal','c',20,0})

AAdd(Matriz,{'datadev' ,'c',10,0})

AAdd(Matriz,{'categoria','c',05,0})

AAdd(Matriz,{'devolucao','c',02,0})

DbCreate('Temp.Dbf',Matriz)

Use Temp.Dbf

Zap

Go Top

Append From &WArqEnt Sdf

MsgRun("Iniciando Quebra de Arquivo...")

Contador:=0

Quebra :=1

Spool = Substr(WArqEnt,1,4)

Sai = Spool+"_"+StrZero(Quebra,2,0)+".TXT"

* Caso o primeiro arquivo já existe, apague-o!

If File(Sai)

FErase(Sai)

Endif

Set Printer to &Sai

Set Device to Printer

Go Top

Do While ! Eof()

@ Contador,00 Say id+conteudo+n21+cep+codcep+ceptri+codcif+;

numpostal+datadev+categoria+devolucao

If Id=="91"

Contador++

Endif

*

If Contador >= 5000

Set Printer to

Set Device to Screen

Contador:=0

Quebra++

Sai = Spool+"_"+StrZero(Quebra,2,0)+".TXT"

* Caso o arquivo já existe, apague-o!

If File(Sai)

FErase(Sai)

Endif

MsgRun("Criando Arquivo :"+Sai)

Set Printer to &Sai

Set Device to Printer

Endif

Skip

Enddo

Set Printer to

Set Device to Screen

Use

MsgAlert("Processo finalizado")

Return nil

2.png

Link to comment
Share on other sites

citação:

Amiguos deste forum..Boa tarde :

Olha eu aqui com problemas no SET PRINTER TO / SET DEVICE TO PRINTER..

Static Function Processa()

WArqEnt:=alltrim(WarqEnt)

If ! File(WarqEnt)

MsgStop("Arquivo "+WArqEnt+" Inexistente","Atenção")

return nil

Endif

**

MsgRun("Criando Base de Dados Temporária...")

Declare Matriz[1]

Matriz[1]={'id','c',2,0}

AAdd(Matriz,{'conteudo' ,'c',120,0})

AAdd(Matriz,{'n21' ,'c',05,0})

AAdd(Matriz,{'cep' ,'c',08,0})

AAdd(Matriz,{'codcep' ,'c',01,0})

AAdd(Matriz,{'ceptri' ,'c',01,0})

AAdd(Matriz,{'codcif' ,'c',34,0})

AAdd(Matriz,{'numpostal','c',20,0})

AAdd(Matriz,{'datadev' ,'c',10,0})

AAdd(Matriz,{'categoria','c',05,0})

AAdd(Matriz,{'devolucao','c',02,0})

DbCreate('Temp.Dbf',Matriz)

Use Temp.Dbf

Zap

Go Top

Append From &WArqEnt Sdf

MsgRun("Iniciando Quebra de Arquivo...")

Contador:=0

Quebra :=1

Spool = Substr(WArqEnt,1,4)

Sai = Spool+"_"+StrZero(Quebra,2,0)+".TXT"

* Caso o primeiro arquivo já existe, apague-o!

If File(Sai)

FErase(Sai)

Endif

Set Printer to &Sai

Set Device to Printer

Go Top

Do While ! Eof()

@ Contador,00 Say id+conteudo+n21+cep+codcep+ceptri+codcif+;

numpostal+datadev+categoria+devolucao

If Id=="91"

Contador++

Endif

*

If Contador >= 5000

Set Printer to

Set Device to Screen

Contador:=0

Quebra++

Sai = Spool+"_"+StrZero(Quebra,2,0)+".TXT"

* Caso o arquivo já existe, apague-o!

If File(Sai)

FErase(Sai)

Endif

MsgRun("Criando Arquivo :"+Sai)

Set Printer to &Sai

Set Device to Printer

Endif

Skip

Enddo

Set Printer to

Set Device to Screen

Use

MsgAlert("Processo finalizado")

Return nil

2.png


id=quote>id=quote>

Só faltou vc. dizer qual é o seu problema, para alguém tentar ajudar resolver...

o que tá acontecendo ???

o que vc. está querendo fazer ??

tem alguma mensagem do erro ??

fica dificil a gente ver o seu código e tentar adivinhar qual é o erro..

Desculpe a franqueza..

Abraços..

Luiz Arruda - Corumbá/MS

FWH 2.4 - WS - xHB 09950 - xDev

sai.gifico.corumba@gmail.com

Link to comment
Share on other sites

Desculpe-me

Vamos lá :

Recebo um arquivo de remessa, por exemplo, com 50.000 Linhas no formato TXT e quero "quebrá-lo", ou seja, dividí-lo de 5.000 em 5.000 linhas em vários outros arquivos no mesmo formato TXT,

Exemplo : COHA1903.TXT, original com 50000 linhas

Quebra : COHA_01.TXT, com 5.000 linhas, COHA_02.TXT, com 5.000 linhas, e por ai vai...

Para isso, eu coloquei todo o arquivo original com as suas 50.000 linhas dentro de DBF(append from..sdf) e cada linha do TXT em um campo com 240 colunas de tamanho..

Cada registro, que é uma linha do arquivo original, em uma determinada situação, tem um Header=91 que é o que uso para o Contador limitar-se em 5.000.

Então, estou usando o Set Device to / Set Printer to para gerar este arquivos quebrados.

O problema é que o programa, na hora de dar o SET PRINTER TO &ARQ, ele gera na Pasta o nome deste arquivo de saída, até ai beleza, mas dentro dele não grava nada...

Resumindo...ou o Set Printer to &Arq não esta funcionando ou é o Set Device to Printer.

Mensagem de erro: NENHUMA

Ação : O PROGRAMA TRAVA!

Editado por - sig_gilberto on 20/03/2008 17:04:58

Editado por - sig_gilberto on 20/03/2008 17:28:57

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...