DIVIDIR STRING
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.
o texto esta em um textbox multiline. e preciso dividi-lo para que caiba na impressao de 40 colunas.
como vc preenche este textbox?
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.
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.
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
se for
For F = 1 To Len(Text1.Text) Step 40
Printer.Print Mid(Text1.Text, F, 40)
Next f
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?
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
acho que tá bom
não vejo o que melhorar
não vejo o que melhorar
Vlw Marcelo, Muito obrigado pela atenção.
Tópico encerrado , respostas não são mais permitidas