Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #58 da revista programar. Faz já o download aqui!

andrejkl

[Resolvido] Programar os meses

Mensagens Recomendadas

andrejkl    0
andrejkl

Se não disseres qual é o teu problema, não estou a ver como te podemos ajudar.

o codigo nao funciona

eu ponho 22/01/15 na textbox1 , e nao me aparece janeiro na textbox3

Editado por andrejkl

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

Nem podia aparecer. ("dd-01-yy") é literal. Só te aparecia Janeiro se o que estivesse na TextBox1 fosse mesmo "dd-01-yy".

Tens de fazer outro tipo de validação. Sugiro o operador Like.

No teu caso:

If TextBox1.Text Like "??/01/??" Then TextBox3.Text = "Janeiro"

Vê mais informação no artigo da wiki da comunidade, mas basicamente o Like vai comparar o padrão ??/01/?? com o texto, onde o ? representa um qualquer caractere.

Agora, da forma como estás a fazer não pode funcionar nunca pois estás a comparar com uma string literal.

Deixo-te uma outra sugestão de implementação:

Public meses As String() = {"Janeiro", "Fevereiro", "Março", "Abril",
                                "Maio", "Junho", "Julho", "Agosto", "Setembro",
                                "Outubro", "Novembro", "Dezembro"}

   Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
       Dim tx As TextBox = DirectCast(sender, TextBox)
       Dim mes As String = "desconhecido"
       For m As Integer = 0 To meses.Length
           If tx.Text Like "??/" & (m + 1).ToString().PadLeft(2, "0") & "/??" Then
               mes = meses(m)
               Exit For
           End If            
       Next
       TextBox3.Text = mes
   End Sub

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
andrejkl    0
andrejkl

Nem podia aparecer. ("dd-01-yy") é literal. Só te aparecia Janeiro se o que estivesse na TextBox1 fosse mesmo "dd-01-yy".

Tens de fazer outro tipo de validação. Sugiro o operador Like.

No teu caso:

If TextBox1.Text Like "??/01/??" Then TextBox3.Text = "Janeiro"

Vê mais informação no artigo da wiki da comunidade, mas basicamente o Like vai comparar o padrão ??/01/?? com o texto, onde o ? representa um qualquer caractere.

Agora, da forma como estás a fazer não pode funcionar nunca pois estás a comparar com uma string literal.

Deixo-te uma outra sugestão de implementação:

Public meses As String() = {"Janeiro", "Fevereiro", "Março", "Abril",
							 "Maio", "Junho", "Julho", "Agosto", "Setembro",
							 "Outubro", "Novembro", "Dezembro"}

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
	Dim tx As TextBox = DirectCast(sender, TextBox)
	Dim mes As String = "desconhecido"
	For m As Integer = 0 To meses.Length
		If tx.Text Like "??/" & (m + 1).ToString().PadLeft(2, "0") & "/??" Then
			mes = meses(m)
			Exit For
		End If			
	Next
	TextBox3.Text = mes
End Sub

obrigado vou experimentar

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.