eevaldo Posted June 3, 2005 Report Share Posted June 3, 2005 ola amigos, como posso gerar um relatorio em arquivo texto semelhante ao SET PRINTER TO ARQUIVO.TXT do clipper?? uso o objeto tprinter em meus relatorios. oprn(nlin,001,´texto.....´) Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted June 3, 2005 Report Share Posted June 3, 2005 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 Quote Link to comment Share on other sites More sharing options...
jef2_tim Posted June 3, 2005 Report Share Posted June 3, 2005 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 Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted June 3, 2005 Report Share Posted June 3, 2005 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 Quote Link to comment Share on other sites More sharing options...
evandro Posted June 3, 2005 Report Share Posted June 3, 2005 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 Quote Link to comment Share on other sites More sharing options...
conpete Posted June 4, 2005 Report Share Posted June 4, 2005 Companheiros.... Estas dicas vieram em boa hora Mangueira Clipper53b/Blinker7/Fweval/MED 3.01/WorkShop 4.5 mangueira@ig.com.br Manaus - Amazonas Visite Manaus-Am Quote Link to comment Share on other sites More sharing options...
eevaldo Posted June 7, 2005 Author Report Share Posted June 7, 2005 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.. Quote Link to comment Share on other sites More sharing options...
vagner Posted June 7, 2005 Report Share Posted June 7, 2005 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 Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted June 7, 2005 Report Share Posted June 7, 2005 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.