DIVIDIR STRING

CAIO.FR.SP 27/03/2011 13:46:37
#369345
Galera preciso pegar um texto de um textbox e dividi-lo em linhas para poder imprimir em um cupom de venda.

o texto esta em um textbox multiline. e preciso dividi-lo para que caiba na impressao de 40 colunas.
MARCELO.TREZE 27/03/2011 14:06:19
#369347
como vc preenche este textbox?
CAIO.FR.SP 27/03/2011 14:41:25
#369349
na verdade este textbox esta nas configuraçoes do cumpom de venda.

entao nele o usuario ira preeencher o que ele quer deixar como rodapé do cupom.

dai na hora de imprimir, eu tenho q pegas este texto que sera salvo com arquivo de texto .txt, e digividir sua string em linhas de 40 colunas
para caber na impressao.

MARCELO.TREZE 27/03/2011 15:16:32
#369351
então cada linha tera 40 caracteres
se for

For F = 1 To Len(Text1.Text) Step 40
Printer.Print Mid(Text1.Text, F, 40)
Next f
CAIO.FR.SP 27/03/2011 15:18:14
#369352
axo que é quase isso, so uma duvida, se o texto tiver 180 caracteres entao ele fara o loop 4 vezes, mas os 20 caracteres restantes?
CAIO.FR.SP 27/03/2011 15:38:56
#369355
Marcelo, consegui resover aqui. de uma olha no codigo e veja se tem como simplificar ele.


Function imprimiRodape(Texto As String, Colunas As Integer)
Dim Linhas As Integer
Dim Rodape() As String
If Len(Texto) <= Colunas Then
Saida.Print Texto
Else
Linhas = Int(Len(Texto) / Colunas)
resto = Len(Texto) / Colunas
If resto > 0 Then
Linhas = Linhas + 1
End If
ReDim Rodape(Linhas)

For i = 0 To Linhas
Dim Inicio As Integer
Inicio = i * Colunas
If Inicio = 0 Then
Inicio = 1
Else
inico = Inicio + 1
End If
Saida.Print Mid(Texto, Inicio, Colunas)
Next i
End If
End Function
MARCELO.TREZE 27/03/2011 15:44:59
#369356
acho que tá bom
não vejo o que melhorar
CAIO.FR.SP 27/03/2011 15:46:28
#369357
Vlw Marcelo, Muito obrigado pela atenção.
Tópico encerrado , respostas não são mais permitidas