1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

relógio em VB express 2005

Discussão em 'Programação' iniciada por sacez, 11 de Outubro de 2008. (Respostas: 6; Visualizações: 1602)

  1. Boa tarde sou novo na programação e tou com dificuldade em programar um relógio.
    Já consegui acertar a hora com o PC, mas como é que faço para ter as horas os minutos eos segundos em duas casas décimais, ou seja em vez de 1:1:1 seg. ter 01:01:01 e tou a trabalhar com três Label's
    Agradecia ajuda para a configuração:004:
     
  2. fLaSh_CF

    fLaSh_CF Banido

    Código:
    Label1.Text = IIf(Now.Hour.ToString.Length = 2, Now.Hour.ToString, "0" & Now.Hour.ToString)
    Label2.Text = IIf(Now.Minute.ToString.Length = 2, Now.Minute.ToString, "0" & Now.Minute.ToString)
    Label3.Text = IIf(Now.Second.ToString.Length = 2, Now.Second.ToString, "0" & Now.Second.ToString)
    
     
  3. Ainda não testei, vou já mesmo.
    Mas antes queria desde já te agradecer
    Muito Obrigado pela tua desponibilidade
     
  4. Testei agora 100%
    Mais uma vez obrigado
     
  5. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Uma alternativa que não sei como funciona em .NET é como eu usava em VB6:

    Código:
    Private Function MaisDigitos(Quantos As Integer, Numero As String) As String
      MaisDigitos = String(Quantos - Len(Numero), "0") & Numero
    End Function
    
    Não está testado, mas há-de ser qualquer coisa assim, que funciona com uma chamada do género
    Código:
    Msgbox MaisDigitos(2, "1")
    
    De uma forma geral, "acrescenta tantos zeros quantos forem necessários à esquerda de um número de modo a que este perfaça 2 caracteres".

    Vou experimentar fazer isso em VB 2005 e já digo qualquer coisa...

    edit - à procura de um equivalente ao String(), no Google, encontrei algo ainda melhor:

    Código:
    Label1.Text = Now.Hour.ToString.PadLeft(2, "0")
    Label2.Text = Now.Minute.ToString.PadLeft(2, "0")
    Label3.Text = Now.Second.ToString.PadLeft(2, "0")
    

    :D
     
    Última edição: 11 de Outubro de 2008
  6. Agradeço a todos a vossa colaboração
     
  7. fLaSh_CF

    fLaSh_CF Banido

    Sim Kayvlim, tambem funciona só é necessário acrescentar a keyword New
    Código:
        Private Function MaisDigitos(ByVal Quantos As Integer, ByVal Numero As String) As String
            Return New String("0", Quantos - Len(Numero)) & Numero
        End Function
    Nunca reparei.. o VB.NET tem muitas coisas novas :)
     

Partilhar esta Página