Oppure

Loading
09/04/14 13:12
ju89
Ho un problema,
ho una textbox dove inserire una sanzione e questa sanzione può essere rateizzata in base al valore della sanzione,per esempio

da 211€ a 2108 € massimo di rata 12
da 2108€ a 5270€ massimo di rata 24
da 5270€ a 99999€ massimo di rata 60

come faccio una volta inserita la sanzione della textbox a fare il controllo e a far uscire in una label per esempio se la multa è di 2500€ il numero massimo di rata 24?
Vi ringrazio anticipamente
aaa
09/04/14 17:46
Roby94
Scusa se ti rispondo cosi ma con tutto il rispetto possibile questo non è un forum di finanza...
Spiegaci per bene cosa vuoi fare, che approccio stai usando, dove ti blocchi e che dubbi hai.
aaa
09/04/14 19:38
ju89
Ho una textbox dove devo inserire diciamo 3 categorie di numeri:
1) da 211 a 2108
2) da 208,01 a 5270
3) 5270,01 a 99999

Adesso quando inserisco valori sulla textbox la categoria 1, una volta inserito su di una label deve uscire il numero 12; se esce la categoria 2 deve uscire 24; se esce la categoria 3 deve uscire 60.

Spero di essermi spiegato
aaa
09/04/14 20:27
R0gerBlack
La tua difficoltà è nel controllo oppure nell'evento della textbox?
Per fare qualcosa quando si digita su una textbox è sufficiente usare l'evento TextBox.TextChanged (se fai doppio click sulla textbox Visual Studio te lo aggiunge da solo)

Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
        Dim value As Integer = TextBox1.Text
        If value >= 211 And value < 2108 Then
            Label1.Text = 12
        ElseIf value >= 2108 And value < 5270 Then
            Label1.Text = 24
        ElseIf value >= 5270 And value < 99999 Then
            Label1.Text = 60
        End If
End Sub
aaa
12/04/14 9:08
ju89
Se metto 2108,01 mi da sempre la rateizzazione di 12, invece dovrebbe darmi 24. ho cambiato il codice togliendo il maggiore uguale senno nella prima ipotesi se mettevo 2108 mi dava 24 rate invece che 12..

    Private Sub sanzione_TextChanged(sender As Object, e As EventArgs) Handles sanzione.TextChanged
        Dim value As Integer = sanzione.Text
        If value >= 211 And value <= 2108 Then
            Label5.Text = 12
        ElseIf value > 2108 And value <= 5270 Then
            Label5.Text = 24
        ElseIf value > 5270 And value <= 99999 Then
            Label5.Text = 60
        End If
    End Sub
Ultima modifica effettuata da ju89 12/04/14 9:15
aaa
12/04/14 11:35
R0gerBlack
Scusa non avevo considerato l'ipotesi dei numeri decimali. Con il tipo integer 2108,01 = 2108 (ma anche 2108,99 = 2108).
Modifica la dichiarazione di value in questo modo
Dim value As Decimal = sanzione.Text
Ultima modifica effettuata da R0gerBlack 12/04/14 11:37
aaa
12/04/14 11:55
nessuno
Postato originariamente da R0gerBlack:
ma anche 2108,99 = 2108


No ... in quel caso vale 2109
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
12/04/14 13:24
ju89
perfetto risolto:

    Private Sub sanzione_TextChanged(sender As Object, e As EventArgs) Handles sanzione.TextChanged
        Dim value As Decimal = sanzione.Text
        If value >= 211 And value <= 2108 Then
            Label5.Text = 12
        ElseIf value >= 2108.01 And value <= 5270 Then
            Label5.Text = 24
        ElseIf value >= 5270.01 And value <= 99999 Then
            Label5.Text = 60
        End If
    End Sub


però una volta compilato il programma ed avviato se cancello tutto il contenuto della textbox "sanzione" il programma va in crash e mi esce fuori questo messaggio:
:-|
Eccezione non gestita nell'applicazione. Cast non valido dalla stringa " " al tipo "decimal":-|
aaa