QUEBRAR LINHA NO PRINTER

USUARIO.EXCLUIDOS 28/11/2006 09:00:37
#186693
Como faço para quebrar linha com o printer ???
USUARIO.EXCLUIDOS 28/11/2006 09:07:16
#186695
Quando vc da um Printer.Print "Texto". Ele automaticament já realiza uma quebra de linha.

Mas para um controle melhor da página, podemos trabalhar como se fosse um plano cartesiano, indicando as coordenadas X e Y.
X = Posição na Horizontal.
Y = Posição na vertical.

Ex.:
Printer.CurrentX = 3000
Printer.CurrentY = 5000
Printer.Print "Marcelo"

Printer.CurrentX = Printer.CurrentX + 200
Printer.Print "Faustino"

USUARIO.EXCLUIDOS 28/11/2006 09:15:58
#186698
Marcelo, o texto que preciso imprimir é muito grande e não quebra linha

ex.:

"Printer.print tab(10); data1.recordset.fields("OBSERVACAO")"

onde o campo "OBSERVACAO" é do tipo memorando do access!
USUARIO.EXCLUIDOS 28/11/2006 09:45:48
#186710
Ahhhhhhh.. agora entendi!!
Não tinha entendido que era isso... Disfarça...rsrs

Realmente cara... Não quebra linha não, vc vai precisar fazer isso na mão...

Exemplo:
Pensando que vc usa o CurrentX.....

MargemDireita = 1000
If Printer.TextWidth(data1.recordset.fields("OBSERVACAO")") + Printer.CurrentX > Printer.Width - MargemDireita Then
'Significa que vai passar da folha, temos que realizar a quebra de linha
EspacoLivre = Printer.CurrentX > Printer.Width - (MargemDireita + Printer.TextWidth(data1.recordset.fields("OBSERVACAO")") + Printer.CurrentX)
TamanhoTexto = Printer.TextWidth(data1.recordset.fields("OBSERVACAO")")
Texto = data1.recordset.fields("OBSERVACAO")")

UltimaPosicao = 1
For i = 1 to ((TamanhoTexto - (TamanhoTexto Mod EspacoLivre)) / EspacoLivre) + 1
For i = 1 to Len(TamanhoTexto)
if Printer.TextWidht(Mid(Texto, UltimaPosicao, i)) >= EspacoLivre then
Printer.Print Mid(Texto,UltimaPosicao,i - 1)
UltimaPosicao = UltimaPosicao + i - 1
End if
Next
Next
End If



Não testei, mas ve se a lógica ajuda em algo.
HUGOSSOUZA 28/11/2006 09:54:43
#186714
Resposta escolhida
da uma olhada nesse exemplo...
vc passa a string e ele imprimir justificado..

Tópico encerrado , respostas não são mais permitidas