FORMATAR TAMANHO DE STRING NA FRASE
Boa tarde!
Tenho um campo texto com tamanho 70 para nome.
Só que para imprimir não cabe estes 70 caracteres na pagima, gostaria que quando no nome tivesse mais de 40 caracteres partiria esta string para imprimir o restante do nome na segunda linha, mas pode cortar o nome no meio, e sim entre sobrenomes.
Ex: MARIA JOSE DA SILVA SANTO CARDOSO MEDEIROS DA CONCEICAO ESPIRITO PORTO
Pegando tamanho da string fica assim:
MARIA JOSE DA SILVA SANTO CARDOSO MEDEIR
OS DA CONCEICAO ESPIRITO PORTO
Gostaria que ficasse assim:
MARIA JOSE DA SILVA SANTO CARDOSO
MEDEIROS DA CONCEICAO ESPIRITO PORTO
Tenho um campo texto com tamanho 70 para nome.
Só que para imprimir não cabe estes 70 caracteres na pagima, gostaria que quando no nome tivesse mais de 40 caracteres partiria esta string para imprimir o restante do nome na segunda linha, mas pode cortar o nome no meio, e sim entre sobrenomes.
Ex: MARIA JOSE DA SILVA SANTO CARDOSO MEDEIROS DA CONCEICAO ESPIRITO PORTO
Pegando tamanho da string fica assim:
MARIA JOSE DA SILVA SANTO CARDOSO MEDEIR
OS DA CONCEICAO ESPIRITO PORTO
Gostaria que ficasse assim:
MARIA JOSE DA SILVA SANTO CARDOSO
MEDEIROS DA CONCEICAO ESPIRITO PORTO
Uma idéia seria você contar antes quantos caracteres há na string. Caso o resultado seja maior que 70 você quebrar a string em duas, quebre-a pelo espaço [Ô] [Ô], e guardar em um vetor para ser exibido posteriormente.
Aqui tem como você utilizar estes atributos:
http://www.macoratti.net/vbn_str.htm
Se atente ao .lenght e .Split
Tente implementar sozinho, se tiver dúvidas avise.
Att,
Lucas
Aqui tem como você utilizar estes atributos:
http://www.macoratti.net/vbn_str.htm
Se atente ao .lenght e .Split
Tente implementar sozinho, se tiver dúvidas avise.
Att,
Lucas
Dim matriz() As String
Dim i As Integer, Contador as integer
Dim ARRA() As String
Dim texto As String, arrau as string, novo as string, novo1 as string
texto = text1.text
Contador = len(texto)
If Contador >= 40 Then
arra = Split(texto, [Ô] [Ô])
For i = 0 To UBound(arrau)
ARRA(i) = arrau(i)
Next
i = 1
novo = ARRA(i)
do while len(ARRA(i)) <= 40
novo1= novo1 & ARRA(i) & ARRA(i + 1)
loop
Mais ou menos isto?
E como pegar a segunda parte?
Dim i As Integer, Contador as integer
Dim ARRA() As String
Dim texto As String, arrau as string, novo as string, novo1 as string
texto = text1.text
Contador = len(texto)
If Contador >= 40 Then
arra = Split(texto, [Ô] [Ô])
For i = 0 To UBound(arrau)
ARRA(i) = arrau(i)
Next
i = 1
novo = ARRA(i)
do while len(ARRA(i)) <= 40
novo1= novo1 & ARRA(i) & ARRA(i + 1)
loop
Mais ou menos isto?
E como pegar a segunda parte?
Private Sub Command1_Click()
Dim i As Integer, Contador As Integer
Dim ARRA() As String
Dim texto As String, novo As String, novo1 As String
texto = Text1.Text
Contador = Len(texto)
If Contador >= 40 Then
ARRA = Split(texto, [Ô] [Ô])
Contador = 0
For i = 0 To UBound(ARRA)
Contador = Contador + Len(ARRA(i)) + 1
If Contador < 40 Then novo = novo & ARRA(i) & [Ô] [Ô] Else novo1 = novo1 & ARRA(i) & [Ô] [Ô]
Next [ô]i
MsgBox [Ô]1ª linha: [Ô] & novo
MsgBox [Ô]2ª linha: [Ô] & novo1
End If
End Sub
nao precisa do while... basta aà um if para fazer a separação das linhas.....
Exatamente o que precisava.
Muito obrigado.
Muito obrigado.
Tópico encerrado , respostas não são mais permitidas