alfredo Postado Novembro 30, 2006 Denunciar Share Postado Novembro 30, 2006 Bom dia a todos.Precisava que alguém me ajudasse para fazer um programa.Eu fiz o seguinte programa para contar os carcteres de uma String:Option Explicit'Dim Contador As Integer também podia colocar contador como globalPrivate Sub Command1_Click()Dim K As IntegerDim Contador As IntegerDim aux1 As ByteDim aux2 As Byteaux1 = Asc(Text2.Text)If aux1 >= 65 And aux1 <= 90 Then aux2 = aux1 + 32Else If aux1 >= 97 And aux1 <= 122 Then aux2 = aux1 - 32 Else aux2 = aux1 End IfEnd IfContador = 0For K = Len(Text1.Text) To 1 Step -1 If Mid(Text1.Text, K, 1) = Chr(aux1) Or (Check1.Value = 1 And Mid(Text1.Text, K, 1) = Chr(aux2)) Then Contador = Contador + 1 End IfNextLabel4.Caption = ContadorEnd SubPrivate Sub Command2_Click() EndEnd SubPrivate Sub Command3_Click()Text2.Text = ""Label4.Caption = ""End SubPrivate Sub Command4_Click()Text1.Text = ""Text2.Text = ""Label4.Caption = ""End SubAgora, em vez de contar os caracteres, queria que contasse as palavras.Será que alguém me pode ajudar nisso.ObrigadoAlfredo Castro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Novembro 30, 2006 Denunciar Share Postado Novembro 30, 2006 Salve!Em um texto temos como separador das palavras o espaço. Então você poderia percorrer o texto (lembrando de remover os espaços das extremidades, ou seja, lembre-se de utilizar a função Trim()) e quando achar um espaço, sabe que percorreu uma palavra. Após isso, você terá a ocorrência de todos os espaços (dentre as palavras) do texto, basta acrescentar 1 no seu contador para que ele fique com a quantidade exata de palavras existentes!Agora, uma forma bem simples (porém não aconselhável) seria utilizar a função Split() do VB.Bom, tente fazer, em caso de dúvida é só falar!Abraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alfredo Postado Novembro 30, 2006 Autor Denunciar Share Postado Novembro 30, 2006 Boa trade.Obrigado pela dica.Mas não estou a conseguir funcionar.Será que dá para escrever as alterações no texto que falaste.Agradecia muitoAlfredo Castro Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Dezembro 1, 2006 Denunciar Share Postado Dezembro 1, 2006 Salve!Claro, posso lhe ajudar sim.Para fazer percorrendo seria assim: i = 1 While (i < Len(Trim(Text1.Text))) If Mid(Trim(Text1.Text), i, 1) = " " Then palavras = palavras + 1 End If i = i + 1 Wend palavras = palavras + 1 MsgBox "Temos " & palavras & " palavras no TextBox", vbOKOnly E no caso não aconselhável seria assim; palavras = Split(Trim(Text1.Text), " ") MsgBox "Temos " & UBound(palavras) + 1 & " palavras no TextBox", vbOKOnly Qualquer coisa é só falar ;)Abraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
alfredo
Bom dia a todos.
Precisava que alguém me ajudasse para fazer um programa.
Eu fiz o seguinte programa para contar os carcteres de uma String:
Option Explicit
'Dim Contador As Integer também podia colocar contador como global
Private Sub Command1_Click()
Dim K As Integer
Dim Contador As Integer
Dim aux1 As Byte
Dim aux2 As Byte
aux1 = Asc(Text2.Text)
If aux1 >= 65 And aux1 <= 90 Then
aux2 = aux1 + 32
Else
If aux1 >= 97 And aux1 <= 122 Then
aux2 = aux1 - 32
Else
aux2 = aux1
End If
End If
Contador = 0
For K = Len(Text1.Text) To 1 Step -1
If Mid(Text1.Text, K, 1) = Chr(aux1) Or (Check1.Value = 1 And Mid(Text1.Text, K, 1) = Chr(aux2)) Then
Contador = Contador + 1
End If
Next
Label4.Caption = Contador
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Command3_Click()
Text2.Text = ""
Label4.Caption = ""
End Sub
Private Sub Command4_Click()
Text1.Text = ""
Text2.Text = ""
Label4.Caption = ""
End Sub
Agora, em vez de contar os caracteres, queria que contasse as palavras.
Será que alguém me pode ajudar nisso.
Obrigado
Alfredo Castro
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.