USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  datas
IceEyes
BRASIL
MS - BRASIL
ENUNCIADA !
Postada em 15/04/2009 15:08 hs            
estou com um pequeno problema muito simples q nao consigo resolver gostaria de saber como posso formatar um campo no formato data DD/MM/YY em um text tipo se for campo vazio coloco a data atual e se tiver q digitar a data entao que não precisa-se digitar as barras "/ /" tipo se digitar 01011999 que o próprio programa coloca-se as barras eu tentei usando format(text1,("0#/0#/0#)) até que ficom bom mas se preciono o enter ele pega o valor e divide e me da outro resultado.
   
Alexandre Patos
Pontos: 2843 Pontos: 2843
PATOS DE MINAS
MG - BRASIL
ENUNCIADA !
Postada em 15/04/2009 16:40 hs            
rsss, é realmente ele vai dividir iceeyes, eu faço da seguinte maneira
o usuario digita 01011999, ora que ele aperta a tecla tab coloco no evento lostfocus da data o seguinte codigo.
 
txtdata.text = format(txtdata.text,"dd/mm/yy")
   
IceEyes
BRASIL
MS - BRASIL
ENUNCIADA !
Postada em 15/04/2009 16:51 hs            
n funciona ele da outro valor.. aki nas dicas encontrei um lance bem maneiro mas naum estou conseguindo usar com a tecla enter ou tab a função é essa de baixo... pois utilizo todos os text em formato de index

Function CampoDATA(obj As Object, Keyasc As Integer)
    If Not ((Keyasc >= Asc("0") And Keyasc <= Asc("9")) Or Keyasc = 8) Then
        Keyasc = 0
        Exit Function
    End If
    
    If Keyasc <> 8 Then
        If Len(obj.Text) = 2 Or Len(obj.Text) = 5 Then
            obj.Text = obj.Text + "/"
            obj.SelStart = Len(obj.Text)
        End If
    End If
End Function

Private Sub Text1_KeyPress(KeyAscii As Integer)
    CampoDATA Text1, KeyAscii
End Sub

   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 15/04/2009 22:53 hs            
o Text em formato index quer dizer array? tipo text1(0), text1(1), etc...?
 
se sim fico feliz que tenha gostado da função, se verificar na seção de dicas verá que esta função foi desenvolvida por mim, e ficarei feliz em ajuda-lo agora, então veja esta adptação.
 
primeiro em todos textboxs que forem usados para a data, coloque na propriedade TAG destes um asterisco (*), para que a função aja somente nestes campos, e agora cole o código abaixo:
 
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
If Text1(Index).Tag = "*" Then
CampoDATA Text1(Index), KeyAscii
End If
End Sub

Function CampoDATA(obj As Object, Keyasc As Integer)
If Keyasc = vbKeyReturn Then
SendKeys "{tab}"
If obj.Tag = "*" And obj.Text = "" Then
obj.Text = Format(Date, "dd/mm/yy")
End If
End If
    If Not ((Keyasc >= Asc("0") And Keyasc <= Asc("9")) Or Keyasc = 8) Then
        Keyasc = 0
        Exit Function
    End If
   
    If Keyasc <> 8 Then
        If Len(obj.Text) = 2 Or Len(obj.Text) = 5 Then
            obj.Text = obj.Text + "/"
            obj.SelStart = Len(obj.Text)
        End If
    End If
End Function
 
Private Sub Text1_LostFocus(Index As Integer)
If Text1(Index).Tag = "*" And Text1(Index).Text = "" Then
Text1(Index).Text = Format(Date, "dd/mm/yy")
End If
End Sub
 

 
e pronto funcional como deseja
 
qualquer duvida poste, ou me envie um email
TÓPICO EDITADO
 
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 16/04/2009 09:44 hs            
IceEyes no text para vc transformar o text em data é fácil, nesse caso será verificado quando tecla o enter
    If KeyAscii = 13 Then
        Text1.Text = Format(Text1.Text, "@@/@@/@@") 'Formata o text
        If CDate(IsDate(Text1.Text)) = False Then 'Transforma o text em data(isdate) e verifica se é válida(cdate)
            MsgBox "Data inválida"
        Else
            MsgBox "Data válida"
        End If
    End If

Vc pode também usar Text1.Text = Format(Text1.Text, "@@/@@/@@@@") para formatar 4 casas no ano.



Abraço e que DEUS te abençõe, espero poder ter te ajudado
Eu sou o Senhor, o DEUS de vocês;
eu os seguro pela mão e lhes digo;
Não fiquem com medo, pois eu os ajudo
Isaias 41:13
   
IceEyes
BRASIL
MS - BRASIL
ENUNCIADA !
Postada em 16/04/2009 11:51 hs            
isso aew treze legals a paradinha do codigo vou testar tbm vou testar o q o Álvaro sujeriu, e jah vou responder... sim oq estou utilizando é um array e tbm nao sabia esse lance de tag.. vai ser bastante útil.... valeu ae
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página