GARANTIR DESCONTO

Fórum Impressao de campo MEMO em Matriciais #344596

16/08/2007

0

Alô pessoal!

Alguém tem uma idéia de como imprimir um campo memo, tabulando a largura máxima de colulas para não sair da folha EM IMPRESSORAS MATRICIAIS?

Por exemplo, preciso imprimir um campo memo que vá só até a coluna 70 numa matricial, o restante será quebrado e jogado na outra linha.

Abraços a todos e obrigado.


Microbios

Microbios

Responder

Posts

03/09/2007

Microbios

ninguém pode dar uma dicazinha sequer? :cry:


Responder

Gostei + 0

05/09/2007

Joaoshi

Colega, você esta utilizando alguma ferramenta para gerar o relatório?


Responder

Gostei + 0

06/09/2007

Microbios

Colega Joaoshi! Estou usando o VDO, que por sinal é ÒTIMO E RECOMENDADO... o problema está em limitar a impressão do Campo memo em determinado números de colunas.. por exemplo.. iniciar na coluna 20 e terminar na coluna 60.. imprimindo nessa faixa até acabar o texto do memo.

Obrigado por responder.


Responder

Gostei + 0

06/09/2007

Microbios

Incluive amigo JoaoShi e colegas do fórum... Tenho uma função que faz isso muito bem em ´CLIPPER´, queria convertê-la para delphi mas não consegui ainda. Tou muito leigo em Delphi pra chegar a esse ponto. Se alguém quiser arriscar, acho que solucionaria o problema de muita gente que procura pela solução do mesmo problema. Lá vai ela:

Function JustTexto(cTextJust,nTamCol) cTextEdit := ´´ aTextResult := {} For S := 1 To Len( cTextJust ) cTextEdit += AllTrim( cTextJust[S] ) + Space( 01 ) Next s nTotLinhas := MLCount( cTextEdit , nTamCol ) For T := 1 To nTotLinhas aAdd( aTextResult , MemoLine( cTextEdit , nTamCol , t ) ) nCodAsc := 170 aTextResult[T] := AllTrim( aTextResult[T] ) aTextResult[T] := StrTran( aTextResult[T] , ´ ´ , Chr( nCodAsc ) ) While .T. If Len( AllTrim( aTextResult[T] ) ) == nTamCol .Or. T == nTotLinhas For r := 170 To nCodAsc aTextResult[T] := StrTran( aTextResult[t] , Chr( r ) , ´ ´ ) Next r Exit EndIf nPosSpaco := At( Chr( nCodAsc ) , aTextResult[t] ) If nPosSpaco > 0 aTextResult[T] := SubStr( aTextResult[T] , 1 , nPosSpaco - 1 ) + Space( 02 ) + ; SubStr( aTextResult[T] , nPosSpaco + 1 , ( nTamCol - ( nPosSpaco - 1 ) ) ) aTextResult[T] := AllTrim( aTextResult[T] ) aTextResult[T] := StrTran( aTextResult[T] , Chr( nCodAsc ) , Chr( nCodAsc + 1 ) ) Else nPosSpaco := At( Space( 02 ) , aTextResult[T] ) aTextResult[T] := SubStr( aTextResult[T] , 1 , nPosSpaco - 1 ) + Space( 03 ) + ; SubStr( aTextResult[T] , nPosSpaco + 2 , ( nTamCol - ( nPosSpaco - 2 ) ) ) EndIf nCodAsc += 1 EndDo Next T Return aTextResult


nela você passa o texto e a quantidade de colunas a JUSTIFICAR e funciona perfeitamente. Em Delphi não sei como fazer!!! :cry:


Responder

Gostei + 0

06/09/2007

Joaoshi

Colega, lamento não utilizo o VDO, talvez algum colega do forum possa auxiliar.


Responder

Gostei + 0

06/09/2007

Joaoshi

Não tinha visto o seu post anterior (no mesmo horário que o meu), talvez:

1. se tentar montar um memo com uma fonte aproximada ou igual a da impressora com a largura que você precisa
2. jogar o texto no memo
3. imprimir cada linha do memo até o final.

Parece meio gambiarra, mas pode ser uma saida, com certeza deve haver uma forma melhor de resolver.


Responder

Gostei + 0

06/09/2007

Microbios

Pode ser tentado, mas se alguém conseguisse converter essa funçãozinha aí é que ia ficar SHOW de BOLA... ela justifica LEGAL mesmo.
Sempre uso-a em programas clipper.

Obrigado pela idéia, mas vamos ver se alguém consegue...


:P


Responder

Gostei + 0

20/09/2007

Microbios

Ninguéééémmmm pra tentar resolver?????? Ninguééém... :D :D Ahhhh... cadê a turma de professores que esse fórum tem, que sempre deu showwwww????? :D Brincadeira, gente.. mas, ninguém pra dar uma forcinha?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar