QUEBRAR LINHA NO VB6, COMO FA?O ISSO...??

WAMMFR 26/10/2015 10:52:04
#453069
Bom Dia

Estou modificando um programa baixado aqui do VBMania e adaptando as minhas necessidades, na impressão preciso que faça uma quebra de linha e não faço nem idéia como posso alterar este código abaixo para que faça a quebra de linha:

Private Sub BtnListarImpressora_Click()
Dim Total As Double, StrAux As String

Printer.Print [Ô][Ô]
Printer.Font = [Ô][Ô]
Printer.FontName = [Ô]Times New Roman[Ô]
Printer.FontSize = 8

CabecalhoImpressora

Totalo = 0
LstMov.Clear
RegCon.Index = [Ô]IndiceData[Ô]
RegCon.MoveFirst
Do Until RegCon.EOF
RegCon.Edit

Total = RegCon([Ô]Qdade[Ô]) * RegCon([Ô]Vlr[Ô])

If RegCon([Ô]Data[Ô]) >= InvData(TxtDataInicial.text) Then
Lprint 0, LINHA, RegCon([Ô]Sequencia[Ô])
Lprint 550, LINHA, InvData(RegCon([Ô]Data[Ô]))
Lprint 1400, LINHA, Mid(RegCon([Ô]Cond[Ô]), 1, 60)
Lprint 4400, LINHA, Mid(RegCon([Ô]Descricao[Ô]), 1, 75)

StrAux = Format(RegCon([Ô]Qdade[Ô]), [Ô]####[Ô])
Lprint 8500, LINHA, _
Justifica(Printer.TextWidth(StrAux), 1500) + StrAux

StrAux = Format(RegCon([Ô]Vlr[Ô]), [Ô]#,##0.00[Ô])
Lprint 8990, LINHA, _
Justifica(Printer.TextWidth(StrAux), 1500) + StrAux

StrAux = Format(Total, [Ô]#,##0.00[Ô])
Lprint 9700, LINHA, _
Justifica(Printer.TextWidth(StrAux), 1500) + StrAux
End If
LINHA = LINHA + 240
If LINHA >= 14250 Then
Alimenta
CabecalhoImpressora
End If

RegCon.MoveNext
Loop
Printer.EndDoc
End Sub

Qualquer luz, agradeço...
ROBSON 26/10/2015 10:56:11
#453070
Apos o comando printer, digite: vbCrLf
WAMMFR 26/10/2015 14:13:22
#453092
Robson
Como eu disse, estou completamente sem noção de programação, estou pegando nas coxas...

Tentei dessa forma:
Lprint vbCrLf & 4400, LINHA, Mid(RegCon([Ô]Descricao[Ô]), 1, 75)

Não funcionou... Grato

Não estou conseguindo achar nenhum tutorial detalhado sobre isso na WEB.
PERCIFILHO 26/10/2015 15:09:46
#453100
Resposta escolhida
Não seria dessa forma?
Lprint 4400, LINHA, Mid(RegCon([Ô]Descricao[Ô]), 1, 75) & vbCrLf 


WAMMFR 26/10/2015 15:29:12
#453102
Já tentei também e nada... já tentei com Chr(13), com Chr(10) e Chr(13) e nada...

PERCIFILHO 27/10/2015 09:07:31
#453145
Apesar de já fazer muitos anos que não uso VB6, quando ia imprimir, eu nunca utilizei o Lprint.
Veja se nesse artigo você encontra a sua solução. Ele me ajudou e muito.
http://www.macoratti.net/printer.htm
WAMMFR 27/10/2015 09:37:30
#453150
Bom Dia... Percifilho

Vou ler atentamente e depois posto uma resposta aqui... apesar de já ter visto estas dicas... e não consegui me entender direito...
Mas vamos tentar novamente...

Grato
WAMMFR 28/10/2015 11:05:33
#453195
Bom Dia... Novamente aqui

Mudei meus códigos de impressão para:

========================================================
Private Sub Command2_Click()
Dim LINHA As Integer
Dim vetor As Variant
Dim i As Integer

Set Banco = OpenDatabase([Ô]C:\Users\servidor\Downloads\Ari\Controle de receitas e despesas\Controle de receitas e despesas\Controle.mdb[Ô])
Set RegCon = Banco.OpenRecordset([Ô]Controle[Ô], dbOpenTable)

LINHA = 1

Do While Not RegCon.EOF
If LINHA = 1 Then

End If
LINHA = LINHA + 1
Printer.Print Tab(2); RegCon!Sequencia;
Printer.Print Tab(10); RegCon!data;
Printer.Print Tab(21); RegCon!CodCond;
Printer.Print Tab(28); RegCon!Cond;
[ô]Printer.Print Tab(68); RegCon!Descricao;
[ô]Chr(10) + Chr(13)
vetor = Split(RegCon([Ô]Descricao[Ô]))

For i = LBound(vetor) To UBound(vetor)
[ô]LBound(vetor) To UBound(vetor)
Printer.Print Tab(68); i & vbTab & vetor(i)
[ô]i & vbTab & vetor(i)
Next

If LINHA = 50 Then
Printer.NewPage
LINHA = 1
End If
RegCon.MoveNext
Loop

Printer.EndDoc
End Sub
======================================================

Agora ele imprime as linhas de baixo do textbox... mas com problemas...:
Está imprimindo além dos textos os valores 0 a quantas linhas tiver, e pega e separa as palavras nas linhas, tipo assim:

[Ô]Vou para casa mais cedo[Ô] - ele está separando nas linhas desse jeito:
0 Vou
1 para
2 casa
3 mais
4 cedo

Alguém tem uma idéia quais as funções de string posso usar para mudar o LBound to UBound e a separação de linha quando atingir 50 caracteres...?? Grato.
[txt-color=#e80000] [/txt-color]
PERCIFILHO 29/10/2015 08:56:06
#453230
Faz muitos anos que não programo mais em VB6, mas creio que o seu erro deva estar por aqui:

For i = LBound(vetor) To UBound(vetor)
[ô]LBound(vetor) To UBound(vetor)
Printer.Print Tab(68); i & vbTab & vetor(i) ======>>>>> aqui está imprimindo [Ô]i[Ô] + vetor(i)
[ô]i & vbTab & vetor(i)
Next


o [Ô]i[Ô] é uma variável que está definindo quantos itens tem no vetor, correto? Se você mandar imprimir o [Ô]i[Ô], ele vai imprimir o número do vetor.
WAMMFR 29/10/2015 16:43:05
#453249
Boa Tarde - Perci Filho

Em partes você tem razão, o [Ô]i[Ô] que você esta falando, estava realmente mostrando a numeração, tirando ele continua separar sem mostrar os números, o problema acho que é no comando [Ô]vetor = Split[Ô] - pois se tirar ele o LBound e UBound deixam de funcionar...

Mas grato pela sua atenção... Me revoltei e fiz uma Gambiarra... Tirei o textbox de Multiline e acrescente mais dua Textbox, assim:

===============================================================================================
Private Sub Command2_Click()
Dim LINHA As Integer

Set Banco = OpenDatabase([Ô]C:\Users\servidor\Downloads\Ari\Controle de receitas e despesas\Controle de receitas e despesas\Gambiarra\Controle.mdb[Ô])
Set RegCon = Banco.OpenRecordset([Ô]Controle[Ô], dbOpenTable)

LINHA = 1

Do While Not RegCon.EOF
If LINHA = 1 Then
CabecalhoBematech

End If
LINHA = LINHA + 1
Printer.Print Tab(2); RegCon!Sequencia;
[ô]Printer.Print Tab(12); InvData(RegCon!data);
[ô]Printer.Print Tab(24); RegCon!CodCond;
[ô]Printer.Print Tab(30); RegCon!Cond;
Printer.Print Tab(10); RegCon!Descricao;
Printer.Print Tab(58); Format(RegCon!Vlr, [Ô]Standard[Ô]);
Printer.Print Tab(65); Format(RegCon!Total, [Ô]Standard[Ô]);
Printer.Print Tab(10); RegCon!Descricao2
Printer.Print Tab(10); RegCon!Descricao3;


If LINHA = 50 Then
Printer.NewPage
LINHA = 1
End If
RegCon.MoveNext
Loop

Printer.EndDoc
End Sub
============================================================================================

Dai ele imprime do jeito que eu quero... Só que nem sempre tudo é felicidade... (ehehe) - agora preciso descobrir outros complementos que preciso incrementar:

Tipo:

Preciso fazer dois tipos de pesquisa para imprimir as quais são:

1) - Consultar pelo Código e puxar o Nome do Condomínio no Cabeçalho, Ex.: Cod: 500 - No Cabeçalho em Negrito aparecer: Cond. Edif. Fulano de Tal.
Este é um dos problemas, o outro:

2) - Imprimir no cabeçalho o Nome do Condomínio puxado pelo código e no corpo do relatório por Período - Ex.: Cod: 500 - Cabeçalho: Fulano de Tal e
Período: 01/08/2015 a 31/08/2015.

Se você tiver alguma idéia de como fazer esta pesquisa e que envie para cabeçalho e corpo do print por Período - Agradeço

Até mais...
WAMMFR 30/10/2015 10:12:38
#453277
Bom Dia

Esta parte esta resolvida...:

1) - Consultar pelo Código e puxar o Nome do Condomínio no Cabeçalho, Ex.: Cod: 500 - No Cabeçalho em Negrito aparecer: Cond. Edif. Fulano de Tal.
Este é um dos problemas, o outro:

Preciso descobrir agora como:
2) - Imprimir no corpo do relatório por Período - Ex.: Cod: 500 - Período: 01/08/2015 a 31/08/2015.

Grato.
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas