[VB6]programma calcolo BMI

di il
4 risposte

[VB6]programma calcolo BMI

Ho creato un programma che calcola il BMI:

Peso/ ( altezza/100)^2

volevo fare in modo che, ottenendo un risultato amggiore di un numero pre-stabilito, la label del risultato ei suo testo diventasse si un altro colore....

riporto il codice:


Option Explicit
Dim Peso As Integer
Dim Altezza As Integer
Dim Risultato As Integer

Private Sub cmdCalcola_Click()


lblRisultato.Caption = Peso / (Altezza / 100) ^ 2
Risultato = lblRisultato.Caption


If 0 > Risultato <= 18.5 Then
lblRisultato.ForeColor = &HFF00FF
End If

If 18.5 >= Risultato <= 25 Then
lblRisultato.ForeColor = &HFF0000
End If

If 25 <= Risultato >= 30 Then
lblRisultato.ForeColor = &H400040
End If

If 30 <= Risultato >= 40 Then
lblRisultato.ForeColor = &HFF00&
End If

If Risultato >= 40 Then
lblRisultato.ForeColor = &HFF&
End If




End Sub



Private Sub cmdReset_Click()
lblRisultato.Caption = ""
txtAltezza.Text = ""
txtPeso.Text = ""

End Sub

Private Sub txtAltezza_Change()
Altezza = txtAltezza.Text
End Sub

Private Sub txtPeso_Change()
Peso = txtPeso.Text
End Sub



AVENDO 14 ANNI, VI PREGO DI SPIEGARE TUTTO AL MEGLIO....CIAO E GRAZIE!!!

-.kjhgfdxsz<u ,opginds

4 Risposte

  • Re: [VB6]programma calcolo BMI

    A parte qualche leggera incongruenza il codice va bene.
    Per la richiesta "volevo fare in modo che, ottenendo un risultato amggiore di un numero pre-stabilito, la label del risultato ei suo testo diventasse si un altro colore...." in parte l'hai già fatto da te.. Se vuoi colorare lo sfondo della label usa la proprietà BackColor.
    Piuttosto penso ci sia qualche errore di logica:
    ad esempio If <b> 0 > Risultato <= 18.5 </b> Then
    scritto così significa "Se Risultato è minore di 0" (e in tal caso il "<= 18.5" è superfluo). Forse intendevi "Se Risultato è compreso fra 0 e 18.5 (ossia If 0 < Risultato <= 18.5)...
    anche le altre condizioni andrebbero modificate... comunque se vuoi ti posso inviare i sorgenti di un programma simile che ho creato. Se hai bisogno di ulteriori chiarimenti chiedi pure

    "La nostra ignoranza è il loro potere"
  • Re: [VB6]programma calcolo BMI

    Ciao...grazie 1000....

    ecco il programma...
    http://www.gta92.it/Calcolatore_BMI.ra

    -.kjhgfdxsz<u ,opginds
  • Re: [VB6]programma calcolo BMI

    Qualche accorgimento...:

    <b>If 0 <= Risultato <= 18.5 Then
    lblRisultato.ForeColor = &HFF00FF
    ElseIf 18.5 <= Risultato <= 25 Then
    lblRisultato.ForeColor = &HFF0000
    ElseIf 25 <= Risultato <= 30 Then
    ...</b>

    Fossi in te non metterei tutte le condizioni il segno "=" (si pensi ad esemio che il Risultato fosse 18.5: dal codice non si capisce quale sarebbe il colore (e quindi la diagnosi del calcolo..)

    Comunque in casi di condizione multipla come questo ti consiglio l'uso del costrutto Select Case:

    Select Case (var)
    Case espressione1
    istruzione1
    Case epressionen
    istruzionen
    Case else
    istruzioneelse
    End Select

    (con espressione*** inteso come uno o più valori (numerici o sotto forma di stringa) che, se verificati, comportano l'esecuzione dell'istruzione che li segue)

    che in questo caso si tradurrebbe come:

    Select Case Risultato
    Case 0 To 18.5: lblRisultato.ForeColor = &HFF00FF
    Case 18.5 To 25: lblRisultato.ForeColor = &HFF0000
    Case 25 To 30: lblRisultato.ForeColor = &H400040
    Case 30 To 40: lblRisultato.ForeColor = &HFF00&
    Case Is > 40: lblRisultato.ForeColor = &HFF&
    End Select

    «La NOSTRA ignoranza è il LORO potere­»
  • Re: [VB6]programma calcolo BMI

    Grazie 1000!!!!!
    avendo 14 anni e non conoscendo bene il visual basic, non ero riuscito...ora ho capito...grazie 10000 ancora!!!!!

    -.kjhgfdxsz<u ,opginds
Devi accedere o registrarti per scrivere nel forum
4 risposte