Ciao
Vorrei estrarre il valore massimo contenuto in una quindicina di TEXTBOX, pensavo di utilizzare la funzione MAX ma non va bene
Ciao
Vorrei estrarre il valore massimo contenuto in una quindicina di TEXTBOX, pensavo di utilizzare la funzione MAX ma non va bene
:rollo:Originariamente inviato da Massimo Moretti
...pensavo di utilizzare la funzione MAX ma non va bene
In che senso non va bene? non è che la quindicina di text è in una matrice di controlli, magari?
Il concetto di "massimo" non è determinabile con tipi di dati come le stringhe, ovviamente, a meno che non si tratti di un confronto ASCII, ma non ne vedo il senso se non per effettuare ordinamenti.Originariamente inviato da Massimo Moretti
Vorrei estrarre il valore massimo contenuto in una quindicina di TEXTBOX, pensavo di utilizzare la funzione MAX ma non va bene
Se si tratta di valori numerici, devi ovviamente convertire tali valori da stringa a intero o a decimale e, solo allora, effettuare i confronti tra i valori acquisiti per determinare quale di quelli è il massimo.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Grazie ugualmente... nel frattempo ho risolto in un modo arcaico, se però qualcuno avesse un suggerimento per semplificare lo ringrazio nuovamente.
Buona giornata
Private Sub VALOREMAX()
'Dim Speed_Maxima As Integer
If Val(Speed_1) > Val(Speed_2) Then
Speed_Maxima = Speed_1
Else
Speed_Maxima = Speed_2
End If
If Speed_Maxima > Val(Speed_3) Then
Speed_Maxima = Speed_Maxima
Else
Speed_Maxima = Speed_3
End If
....
If Speed_Maxima > Val(Speed_15) Then
Speed_Maxima = Speed_Maxima
Else
Speed_Maxima = Speed_15
End If
Text2.Text = Speed_Maxima
End Sub
al posto tuo utilizzerei una matrice di controlli...
con un array di controlli, avresti a disposizione la possibilità di indirizzarti verso ciascun controllo mediante un indice numerico, rendendo possibile l'utilizzo di un Ciclo e semplificando, di conseguenza, moltissimo il codice.
mettiamo quindi che i tuoi textbox siano:
Speed_Maxima(0), Speed_Maxima(1), Speed_Maxima(2), Speed_Maxima(n...)
per sapere qual'è il valore massimo inserito in essi:
codice:Dim Sp_Max As Double Sp_Max = CDbl(Speed_Maxima(0).Text) For i = 0 to Speed_Maxima.Ubound If CDbl(Speed_Maxima(i).Text) > Sp_Max Then Sp_Max = CDbl(Speed_Maxima(i).Text) End If Next i MsgBox "Il Valore Massimo è : " & Sp_MaxBoolean
Ti ringrazio per la semplificazione, ho provato... e direi che funziona