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

Calendar em VB

Discussão em 'Programação' iniciada por KarLOox, 22 de Abril de 2009. (Respostas: 6; Visualizações: 1303)

  1. KarLOox

    KarLOox Power Member

    Boas. Eu tenho um programa em visual basic sobre uma empresa de aluguer de automoveis. E na parte da realização do aluguer tenho dois calendars, um com a data de inicio do aluguer e outro para a data do fim do aluguer. O que eu queria saber era se dava para fazer o preço do aluguer autmomaticamente. Ou seja, depois de escolher a data de inicio e de fim do aluguer dizer logo o preço a pagar, tipo um dia de aluguer vale 25€ e se alugar para uma semana fazer logo este calculo de forma automatica.



    Cumps e obrigado
     
  2. ribeiro55

    ribeiro55 Power Member

    Se for VB.NET:

    Basta subtraíres a data inicial da data final para um TimeSpan e depois multiplicares o TimeSpan.Days por o preço diário.

    EDIT: E com mais um esforçozinho mental até consegues implementar tarifas diferentes para fins de semana ou dias específicos.
     
    Última edição: 22 de Abril de 2009
  3. KarLOox

    KarLOox Power Member

    Desculpa lá. Mas eu ainda sou um bocado noob nisto, n percebi nada do que disses.te. Não sei como usar o TimeSpan
     
  4. ribeiro55

    ribeiro55 Power Member

    :)
    Espero então que seja VB.NET.
    Se for VB6, considera fortemente passar para VB.NET.

    Código:
            Dim Inicio As New Date(2009, 1, 1)
            Dim Fim As New Date(2009, 12, 31)
            Dim TS As TimeSpan = Fim - Inicio
            Dim PrecoDiario As Double = 25
    
            MsgBox("Preço do aluguer: " & TS.Days * PrecoDiario & " €")
    Se meteres isso num botão, por exemplo, vai ser disparada uma message box com o preço para o número de dias desde 01/01/2009 até 31/12/2009.
    A partir daqui já te deves safar.
     
    Última edição: 22 de Abril de 2009
  5. KarLOox

    KarLOox Power Member


    é vb6, estou num curso profissional de programação e falta.me isso das datas para acabar um projecto
     
  6. ribeiro55

    ribeiro55 Power Member

    Lol, então boa sorte.
    Não me lembro minimamente do VB6 para te dizer se tem TimeSpans, mas duvido potes.
    Há-de passar alguém por aqui que te ajude, com toda a certeza.
     
  7. Diogo_Ramalho

    Diogo_Ramalho Power Member

    utiliza esta função DateDiff basta colocares as duas datas e ele retorna o valor da diferença ;)


    deixo aqui um exemplo
    Private Sub Text1_Validate(Cancel As Boolean)
    If Not IsDate(Text1.Text) Then
    MsgBox " Data Invalida !! ", vbCritical, " Erro na Data "
    Cancel = True
    Else
    Data = CVDate(Text1.Text)
    End If
    End Sub

    Private Sub Command1_Click()
    Dim d1, d2, d3, d4, d5 As Single

    d1 = DateDiff("d", Data, Now)
    d2 = DateDiff("m", Data, Now)
    d3 = DateDiff("yyyy", Data, Now)
    d4 = DateDiff("s", Data, Now)

    Msg = " Sua idade e : " & vbCrLf
    Msg = Msg & " ============================== " & vbCrLf
    Msg = Msg & " Em dias : " & d1 & " dias " & vbCrLf
    Msg = Msg & " Em meses : " & d2 & " meses " & vbCrLf
    Msg = Msg & " Em anos : " & d3 & " anos " & vbCrLf
    Msg = Msg & " Em segundos : " & d4 & " segundos " & vbCrLf

    MsgBox Msg, vbOKOnly, " calculando intervalos de datas "

    End Sub
     

Partilhar esta Página