conversão arquivo texto para rtf... e visualizar no fivewin

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: conversão arquivo texto para rtf... e visualizar no fivewin

Mensagem por sygecom »

Edgar, OLE ja vem implantado com o proprio xharbour, qual versão você esta usando ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: conversão arquivo texto para rtf... e visualizar no fivewin

Mensagem por rochinha »

Amiguinhos

Olhando minhas pastas encontrei ole32.lib, oleaut32.lib, hbole.lib portanto voces devem procura-los nas pastas LIB do Harbour e BCC pois são nativas deles e não do Fivewin.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

conversão arquivo texto para rtf... e visualizar no fivewin

Mensagem por asimoes »

Achei interessante a função do Farlei e fiz alguma alterações:

L=Default alinhado a esquerda
R-Alinhado a direita
C-Centralizado
J-Justificado

Os parâmetros

1-Arquivo de entrada
2-Arquivo de saída, se não informado, terá o mesmo nome da entrada
3-Tamanho do arquivo de entrada
4-Alinhamento

Txt2Rtf( "CONTRATO.TXT", "CONTRATO-LEFT.TXT", 69, "L" )
Txt2Rtf( "CONTRATO.TXT", "CONTRATO-RIGHT.TXT", 69, "R" )
Txt2Rtf( "CONTRATO.TXT", "CONTRATO-CENTER.TXT", 69, "C" )
Txt2Rtf( "CONTRATO.TXT", "CONTRATO-JUSTIFY.TXT", 69, "J" )

Código: Selecionar todos

FUNCTION Txt2Rtf( cArquivoIn, cArquivoOu, nColunas, cAlinha )
LOCAL cArqRtf, arq, arq_txt, cHandle
LOCAL cCaractere := space( 01 ), cLinha := space( 01 )
LOCAL lf := chr( 13 ) + chr( 10 )
   hb_DeFault(@cAlinha,'L')
   hb_DeFault(@cArquivoOu,cArquivoIn)
   // fs define o tamanho da fonte, para o Courier New é a metade
   // fs14 - fonte 7,0 - 136 colunas
   // fs23 - fonte 11,5 - 80 colunas
   // margl - margem esquerda
   // margr - margem direita
   // margt - margem superior
   // margb - margem inferior
   // criar um arquivo rtf com o mesmo nome
   cArqRtf := lower( left( cArquivoOu, len( cArquivoOu ) - 4 ) + ".rtf" )
   //cArqRtf := substr(time(),1,2)+substr(time(),4,2)+substr(time(),7,2)+".rtf"
   // acrescentar antes do texto os parâmetros rtf
   nHandle := fCreate( cArqRtf ) //fcreate( cArqRtf, 1 ) somente leitura
   cHandle := "{\rtf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}{\f1\fswiss\fcharset0 Arial;}}" + hb_eol()
   cHandle += "\margl284\margr505\margt505\margb505" + hb_eol()
   
   //{\rtf1\ansi\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
   //{\*\generator Riched20 10.0.10240}\viewkind4\uc1 
   
   // \viewkind4\uc1\pard\qj\f0\ justificado
   // \viewkind4\uc1\pard\qc\f0\ centralizado
   // \viewkind4\uc1\pard\f0\    esquerda
   // \viewkind4\uc1\pard\qr\f0\ direita
   
   IF cAlinha = "L"
      cHandle+="{\*\generator Msftedit 5.41.15.1503;}\viewkind4\uc1\pard\f0\"
   ELSEIF cAlinha = "R"
      cHandle+="{\*\generator Msftedit 5.41.15.1503;}\viewkind4\uc1\pard\qr\f0\"
   ELSEIF cAlinha = "C"
      cHandle+="{\*\generator Msftedit 5.41.15.1503;}\viewkind4\uc1\pard\qc\f0\"
   ELSE
      cHandle+="{\*\generator Msftedit 5.41.15.1503;}\viewkind4\uc1\pard\qj\f0\"
   ENDIF
   
   IF nColunas == 136
      cHandle += "fs14 "
   ELSE
      cHandle += "fs23 "
   ENDIF
   fWrite( nHandle, cHandle )
   // Pega Linha por Linha do TXT e Transforma para RTF
   arq_txt := fOpen( cArquivoIn, 0 )
   WHILE .T.
      cCaractere := space( 01 )
      IF fRead( arq_txt, @cCaractere, 1 ) <> 1
         EXIT
      ENDIF
      IF ( cCaractere ) = chr( 13 )
         cLinha += "\par" + hb_eol()
         fWrite( nHandle, cLinha )
         cLinha := space( 01 )
         fSeek( arq_txt, 1, 1 )
         LOOP
      ENDIF
      IF cLinha = space( 01 )
         cLinha := cCaractere
      ELSE
         cLinha += cCaractere
      ENDIF
   ENDDO
   cHandle := "}"
   fWrite( nHandle, cHandle )
   fClose( nHandle )
   fClose( arq_txt )
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

conversão arquivo texto para rtf... e visualizar no fivewin

Mensagem por Kapiaba »

Rochinha, links quebrados. abs.
Responder