Mostrando texto no Memo com CarrierReturn no meio da linha
Olá pessoal, tudo blz?
Estou com um problema meio estranho, mas acredito que tenha solução.
Tenho um programa que carrega um arquivo texto dentro de um Memo, com a seguinte instrução:
memo1.lines.loadfromtext(´c:\teste.txt´)
Só que neste texto, existe uma linha que se repete propositalmente, já que será impresso em uma impressora matricial (a idéia é fazer um texto negrito). Então ele está desta maneira:
TEXTO0001-----?TEXTO0001-----
Considerem esta ? (interrogação) como o comando CarrierReturn (CR).
Na impressão ele imprime TEXTO0001----- e quando encontra o CR o carro retorna na posição inicial, na mesma linha, e imprime o outro TEXTO0001-----.
O grande problema é que quando eu mostro no Memo, esta linha aparece da seguinte maneira:
TEXTO0001-----
TEXTO0001-----
Já pensei em usar no lugar do memo.lines.loadfromtext() o memo.lines.add(string), mas se carrego um relatório de 24Mb fica leeeeennntttooooo.
Outra coisa que notei é que se abro este relatório no editor do Windows, por exemplo, a informação aparece normal (TEXTO0001-----?TEXTO0001-----) na linha.
Ou seja, se no editor do Windows faz por que no Delphi não? Ou eu que não sei, né!
Obrigado pela atenção e pelas dicas!
Estou com um problema meio estranho, mas acredito que tenha solução.
Tenho um programa que carrega um arquivo texto dentro de um Memo, com a seguinte instrução:
memo1.lines.loadfromtext(´c:\teste.txt´)
Só que neste texto, existe uma linha que se repete propositalmente, já que será impresso em uma impressora matricial (a idéia é fazer um texto negrito). Então ele está desta maneira:
TEXTO0001-----?TEXTO0001-----
Considerem esta ? (interrogação) como o comando CarrierReturn (CR).
Na impressão ele imprime TEXTO0001----- e quando encontra o CR o carro retorna na posição inicial, na mesma linha, e imprime o outro TEXTO0001-----.
O grande problema é que quando eu mostro no Memo, esta linha aparece da seguinte maneira:
TEXTO0001-----
TEXTO0001-----
Já pensei em usar no lugar do memo.lines.loadfromtext() o memo.lines.add(string), mas se carrego um relatório de 24Mb fica leeeeennntttooooo.
Outra coisa que notei é que se abro este relatório no editor do Windows, por exemplo, a informação aparece normal (TEXTO0001-----?TEXTO0001-----) na linha.
Ou seja, se no editor do Windows faz por que no Delphi não? Ou eu que não sei, né!
Obrigado pela atenção e pelas dicas!
Jorgeolimpia
Curtidas 0
Respostas
Edilcimar
05/04/2005
não utilize #13 e sim 10
GOSTEI 0
Jorgeolimpia
05/04/2005
não utilize #13 e sim 10
Eu não estou gerando este relatório, ele é um arquivo texto pronto. O programa que fiz faz a função de um editor de texto normal.
GOSTEI 0
Edilcimar
05/04/2005
o #13 dá nova linha + início da linha
o 10 dá ínicio da linha sem nova linha
portanto se vc tem 13 sempre vai acontecer as 2 linhas
o 10 dá ínicio da linha sem nova linha
portanto se vc tem 13 sempre vai acontecer as 2 linhas
GOSTEI 0
Jorgeolimpia
05/04/2005
o #13 dá nova linha + início da linha
o 10 dá ínicio da linha sem nova linha
portanto se vc tem 13 sempre vai acontecer as 2 linhas
Caro edilcimar,
este arquivo está aparecendo com 10 (CR), assim:
TEXTO0001-----10TEXTO0001-----
Não é este o caso. Deve existir alguma propriedade do Memo (ou até do RichEdit, se for o caso) que aparece a linha contínua do arquivo texto, já que o CR/LF está somente no final desta linha:
TEXTO0001-----10TEXTO0001-----13
GOSTEI 0
Edilcimar
05/04/2005
por que não troca para o richedit e coloca um bold, ou se estiver utilizando impressão DOS o comando de negrito da impressora?
GOSTEI 0
Jorgeolimpia
05/04/2005
por que não troca para o richedit e coloca um bold, ou se estiver utilizando impressão DOS o comando de negrito da impressora?
Caro edilcimar,
não posso utilizar isso porque não estou gerando o relatório a partir de um sistema em Delphi. Este arquivo texto vem de outro programa, escrito em outra linguagem. O que faço é somente exibir o arquivo texto que este programa gerou, contudo, há relatórios que têm este esquema de negrito e não dá para mudar.
GOSTEI 0