Jump to content
Fivewin Brasil

Gerar arquivo texto


eevaldo

Recommended Posts

Amigo,

Usando a TDOSPRN é fácil. Em vez de direcionar para "lpt1" colocar o nome do arquivo que ele gera normalmente.

Eu uso a tprinter e tdosprn no mesmo relatório sem crise, bastando uma pergunta ao usuário qual o padrão a ser utilizado (Matricial / Gráfico / Arquivo)

Paulo/CONTATO SISTEMAS

Clipper53b / FW26 / Blinker70

Link to comment
Share on other sites

Ola amigos...

O lance ae q vc falow me interessou, sobre matricial/grafica ou arquivo...

Eu to utlizando o rpv pra gerar a maioria dos relatorios... mas to sentindo q ele vai me dar uma travada... pois nao exporta e coisa do tipo... tipo..

Qual a diferenca do codigo fonte para a Matricial (DOSPRN) e do codigo para Grafico (Windows)?

Se eu criar um relatorio padrao windows.. tem como exportar para DOC por exemplo?

valeu

Um Xharbraço Pra Todos Os Amigos.

Uso Fwh 2.5 (xharbour 0.99) e Xmate Para Compilar

Link to comment
Share on other sites

Jef,

Eu fiz o seguinte: antes da impressão eu pergunto para o usuário qual o padrão que ele vai usar e armazeno a informação numa variável de memória chamada WTPIMPRES

"M" && matricial

"G" && grafico

"A" && arquivo

Se o usuário optou por "A" arquivo, a variável WDIRPORTA passa a ser o nome do arquivo. Ex: "C:\PLENOTMP\ARQUIVO.TXT"

Se optou por "M" matricial: WDIRPORTA:="LPT1" (ou outra)

Se for "G", essa variável fica sem função.

if WTPIMPRES="G" && grafico

PRINTERSETUP()

MsgRun( "MONTANDO O RELATORIO PARA MOSTRAR EM TELA - AGUARDE !! !! ...... ","", ;

{ | oTmp | IMPSCC02(oTmp) } )

else

IMPSCC02(oTmp)

endif

Na impressão eu uso o seguinte código:

nNumLinGr:=61

nNumCol_c:=132

nNumCol_n:=80

WLIN:=0

WCOL:=1

PAG:=1

PRIV Lim_Linhas, oFont , oPrn

IF WTPIMPRES#"G" && matricial ou arquivo

#xcommand @ , PSAY => oPrin:Say(,,)

Lim_Linhas :=61 // modo texto

oPrin:= TDosPrn():new(WDIRPORTA)

oPrin:StartPage() // da Start(inicializa) na página.

oPrin:lZeraBuffer:=.T. // Pular Página=.F. Nao Pular=.T.

REDUZ(0)

ELSE

PRINT oPrn NAME "RELSCC02" PREVIEW // modo grafico

Lim_Linhas:=VirCfgFont(oPrn,WFONTEREL,@oFont,"C")

PAGE

ENDIF

e assim por diante

wvar1_impr = STR(TRANSCOD,3,0)+" "+;

DTOC(DATACAD)+" "+;

TRANSDESCR+" "+;

ENDERECO+" "+;

SUBS(CONTATO,1,27)+" "+;

TRANS(CGC,"99.999.999/9999-99")

IF WTPIMPRES#"G"

@ WLIN+=2,WCOL PSAY wvar1_impr

ELSE

oPrn:CharSay(WLIN+=2, WCOL, wvar1_impr)

ENDIF

no fim:

IF WTPIMPRES#"G"

oPrin:lZeraBuffer:=.F. // Pular Página=.F.

oPrin:EndPage() // Obrigatorio

oPrin:End() // Idem

ImpSpool( "C:\PLENOTMP\RELAT.TXT",, .T. )

ELSE

ENDPAGE

ENDPRINT

ENDIF

Quanto a transformar TXT em DOC, não sei. Crie um tópico "TXT" para "DOC" que a galera ajuda.

Alias, estou com um pepino de "XLS" para "DBF"

Espero ter ajudado.

Paulo/CONTATO SISTEMAS

Clipper53b / FW26 / blinker70

Link to comment
Share on other sites

Olá,

citação: Eu to utlizando o rpv pra gerar a maioria dos relatorios... mas to sentindo q ele vai me dar uma travada... pois nao exporta e coisa do tipo... tipo..
id=quote>id=quote>

O RPV exporta sim. Basta você gerar o rel. informando quais campos quer exportar (comando E).

[]s,

Evandro G. de Paula

Curvelo - MG

evandro@skillnet.com.br (Escr. - na Cidade)

imortal@skillnet.com.br (Res. - na Roça)

FWH 2.5+PellesC+xBuild+xHarbour.org 0.99.3

Link to comment
Share on other sites

citação:

ola paulo,

voce poderia postar um exemplo??

pois em momento algum eu direciono para lpt1

gero meus relatorios atraves da funcao

oprn:charsay(001,001,"teste..") e nao vejo aonde desviar de lpt1 para um arquivo texto.

obrigado..


id=quote>id=quote>

oPrn := TDosPrn():New("Teste.Txt")

Vagner Wirts

Clipper 5.2 Lib 5.3 - Blinker 5.0 FW 2.0, Harbour 43.0 (Flex), xHarbour 99.1 99.2 99.3 (Simplex) FW 2.5 icon_smile_big.gif

Link to comment
Share on other sites

EEVALDO, BOM DIA.

Para gerar para arquivo texto ou para imprimir "draft" eu uso a TDOSPRN, através de uma única variável (WDIRPORTA)

A TPRINT utilizo somente para impressão gráfica.

Após seleção pelo usuário:

do case

case WTPIMPRES="M" && matricial

WDIRPORTA:="LPT1"

case WTPIMPRES="A" && arquivo

WDIRPORTA:="C:\PLENOTMP\ARQUIVO.TXT" // o caminho e nome que quizer.

case WTPIMPRES="G" && grafico

WDIRPORTA=""

endcase

e depois:

oPrin:= TDosPrn():new(WDIRPORTA)

O resto a TDOSPRN faz.

Dê uma olhada no exemplo aqui mesmo, eu uso em todo o relatório:

IF WTPIMPRES="G" && padrão grafico

&& faça alguma coisa

ELSE

&& faça outra

ENDIF

Paulo/CONTATO SISTEMAS

Clipper53b / FW26 / Blinker70

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...