Newsgroup: it.comp.lang.visual-basic
Titolo: sos problemi con autocomposizione installazione

         txtDataIni = "0 / 0 / 0"
io aggiungerei anche qualche controllo sul valore data di txtdataini e
txtdatafin. e in generei userei di piu' le funzioni data di vb. questa sopra
dubito sia una data valida: a me ha dato errore. guarda p.e. nel form_load.
ciao, a.
--
andrea dot palazzi at tin dot it
free vb/sw: 
http://www.comune.modena.it/cittadini/apal/html/
Option Explicit
Private Function CalcoloGiorni(primo As Date, secondo As Date) As Integer
    CalcoloGiorni = DateDiff("d", primo, secondo)
End Function
Private Sub Command1_Click()
    Text1.Visible = True
    Label4.Visible = True
    Dim risultato As Long
    If txtDataIni.Text = "" Then
        MsgBox "E' necessario inserire la data iniziale", vbOKOnly,
"Attenzione"
    End If
    If txtDatafin.Text = "" Then
        MsgBox "E' necessario inserire la data finale", vbOKOnly,
"Attenzione"
    End If
    If Combo1.Text = "" Then
        MsgBox "E' necessario selezionare il tipo di container", vbOKOnly,
"Attenzione"
    End If
    Dim num As Long 'giorni da pagare
    If txtDataIni.Text <> "" And txtDatafin.Text <> "" Then
        num = CalcoloGiorni(txtDataIni, txtDatafin)
        Text1.Text = num
    End If
    If Option1.Value = True Then
        If num < 8 Then
            MsgBox "Non c'è alcun pagamento da effettuare", vbOKOnly, "Soste
Conateco"
            risultato = 0
        End If
        If num >= 8 And num <= 13 Then
            If Combo1.Text = "20'" Then
                risultato = (num - 7) * 15000
            Else
                risultato = (num - 7) * 25000
            End If
        Else
            If Combo1.Text = "20'" Then
                risultato = (((num - 13) * 25000)) + 6 * CLng(15000)
            Else
                risultato = ((num - 13) * 35000) + 6 * CLng(25000)
            End If
        End If
    End If
    If Option2.Value = True Then
        If num < 8 Then
            MsgBox "Non c'è alcun pagamento da effettuare", vbOKOnly, "Soste
Conateco "
            risultato = 0
        End If
        If num >= 8 And num <= 15 Then
            If Combo1.Text = "20'" Then
                risultato = (num - 7) * 7500
            Else
                risultato = (num - 7) * 15000
            End If
        Else
            If Combo1.Text = "20'" Then
                risultato = ((num - 15) * 25000) + 8 * CLng(7500)
            Else
                risultato = ((num - 15) * 35000) + 8 * CLng(15000)
            End If
        End If
    End If
    If Option3.Value = True Then
        If num < 10 Then
            MsgBox "Non c'è alcun pagamento da effettuare", vbOKOnly, "Soste
Conateco """
            risultato = 0
        End If
        If num >= 10 And num <= 16 Then
            If Combo1.Text = "20'" Then
                'rusultato = (num - 9) * 9000
                risultato = (num - 9) * 9000
            Else
                risultato = (num - 9) * 16500
            End If
        Else
            If Combo1.Text = "20'" Then
                risultato = (num - 16) * 15000 + 7 * CLng(9000)
            Else
                risultato = (num - 16) * 25000 + 7 * CLng(16500)
            End If
        End If
    End If
    txtImporto.Text = Format(risultato, "##,##0")
End Sub
Private Sub Command2_Click()
    Text2.Text = CalcoloGiorni(txtDataIni, txtDatafin)
End Sub
Private Sub Command3_Click()
    Dim risp
    risp = MsgBox("Vuoi uscire da questo bellissimo programma?", 4 + 32,
"Attenzione")
    If risp = 7 Then Exit Sub
    Unload Me
    Exit Sub
End Sub
Private Sub Form_Load()
    Text1.Visible = False
    Label4.Visible = False
    Option1.Value = False
    Option2.Value = False
    Option3.Value = False
'    StatusBar1.Panels(1) = Date
'    StatusBar1.Panels(2) = Time
    txtDataIni = CDate(#1/20/00#)
    txtDatafin = CDate(#2/20/00#)
    Combo1 = 20
End Sub
Private Sub txtDatafin_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then Combo1.SetFocus
End Sub
Private Sub txtDataIni_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then txtDatafin.SetFocus
End Sub
Private Sub txtDataIni_LostFocus()
    On Error GoTo mess
    If txtDataIni.Text <= #7/14/98# Then
        Option1.Value = True
    End If
    If txtDataIni.Text >= #7/15/98# And txtDataIni.Text <= #12/31/98# Then
        Option2.Value = True
    End If
    If txtDataIni.Text >= #1/1/99# Then
        Option3.Value = True
    End If
        txtDatafin.SetFocus
    Exit Sub
mess:
    If txtDataIni = "" Then
        txtDataIni = "0 / 0 / 0"
    Else
        MsgBox "Inserire la data in maniera corretta", vbOKOnly +
vbCritical, "Attenzione"
        txtDataIni.Text = ""
        txtDataIni.SetFocus
    End If
End Sub