Vai al contenuto
PLC Forum


Vb6 Valore Numerico più alto - come individuarlo?


Brothers

Messaggi consigliati

Ciao a tutti

Ho una Matrice di Label (label(0) - Label(1) etc) circa un centinaio.

Tutti con la Caption numerica (1 5 7 10 20 etc)

Vorrei individuare la Caption con il valore più alto.

Ho provato con l'operatore Or in 2 modi ma mi legge tutti i risultati sopra lo 0

sotto il codice:

---------------------------------------

Dim i As Integer

Dim MyCheck

For i = 0 To 100

If MyCheck >= Label(i).Caption Or Label(i).Caption Then MsgBox MyCheck

Next i

---------------------------------------

Cosi mi legge 100 Msg vuoti

---------------------------------------

Dim i As Integer

Dim MyCheck

For i = 0 To 100

If MyCheck >= Label(i).Caption Or Label(i).Caption Then MsgBox Label(i).Caption

Next i

---------------------------------------

Cosi mi legge tutti i valori sopra lo zero

Sto sbagliando qualcosa ma non capisco cosa.

Qualcuno sa come risolvere questo guazzabuglio?

Grazie anticipate

Link al commento
Condividi su altri siti


Prova così:

dim max as Integer, i as Integer

For i=0 to label.Count-1 Then

If Cint(label(i).Caption) > max Then

max = Cint(label(i).Caption)

End If

Next

Ciao

Link al commento
Condividi su altri siti

Ciao Lucios e grazie della risposta

Ho provato subito cosi

----------------------------

Dim max As Integer, i as Integer

For i = 0 To Label.Count - 1

If CInt(Label(i).Caption) > max Then

max = CInt(Label(i).Caption)

MsgBox max

End If

Next

----------------------------

Ma MsgBox max è uguale a zero

Forse non ho capito quello che mi volevi dire?

Grazie Comunque

Ciao

Link al commento
Condividi su altri siti

    Dim I As Long
    Dim tmp
    tmp = 0
    For I = 0 To 20
        If Val(Label1(I).Caption) > tmp Then tmp = Val(Label1(I).Caption)
    Next I
    MsgBox "Numero " + CStr(tmp), vbInformation, "Eccoci"

Piu' o meno

Link al commento
Condividi su altri siti

Msgbox max lo devi mettere fuori dal ciclo for.

For i = 0 To Label.Count - 1

If CInt(Label(i).Caption) > max Then

max = CInt(Label(i).Caption)

End If

Next

MsgBox max

Deve andare!

Ciao

Link al commento
Condividi su altri siti

Ciao

Scusa Lucios Hai ragione e funziona a meraviglia

sbagliavo io avevo

Label1(i).Caption e scrivevo Label(i).Caption Errore di distrazione wallbash.gif

E funziona perfettamente anche il codice di Dago, come sempre del resto.

Vi ringrazio tutti e due ragazzi wink.gif

Ciao e alla Prossima

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...