Ho un problema con il comando di un pulsante in programmazione Basic.
Allora, il codice:
funziona benissimo e mi trova il valore massimo tra N valori inseriti in una griglia.codice:MSFlexGrid1.Col = 1 MSFlexGrid1.Row = 1 datomax = Val(MSFlexGrid1.Text) For indice = 1 To Val(Text3.Text) MSFlexGrid1.Row = indice dato1 = Val(MSFlexGrid1.Text) MSFlexGrid1.Row = indice + 1 dato2 = Val(MSFlexGrid1.Text) If dato1 > dato2 Then If dato1 > datomax Then datomax = dato1 Label3.Caption = datomax End If End If Next indice
Il codice
dovrebbe funzionare allo stesso modo ma trovando il valore minimo tra gli stessi valori inseriti nella stessa griglia.codice:MSFlexGrid1.Col = 1 MSFlexGrid1.Row = 1 datomax = Val(MSFlexGrid1.Text) For indice = 1 To Val(Text3.Text) MSFlexGrid1.Row = indice dato1 = Val(MSFlexGrid1.Text) MSFlexGrid1.Row = indice + 1 dato2 = Val(MSFlexGrid1.Text) If dato1 < dato2 Then If dato1 < datomax Then datomax = dato1 Label3.Caption = datomax End If End If Next indice
Il primo codice (ricerca massimo) funziona, ma la ricerca del minimo (secondo codice) non va.
Dove può stare l'errore???
Il codice completo è:
codice:Private Sub Command1_Click() MSFlexGrid2.Row = Val(Text1.Text) If Text1.Text <> "" Then MSFlexGrid2.Col = 0 MSFlexGrid2.Text = Text1.Text End If If Text2.Text <> "" Then MSFlexGrid2.Col = 1 MSFlexGrid2.Text = Text2.Text End If End Sub Private Sub Command2_Click() MSFlexGrid1.Row = Val(Text1.Text) If Text1.Text <> "" Then MSFlexGrid1.Col = 0 MSFlexGrid1.Text = Text1.Text End If If Text2.Text <> "" Then MSFlexGrid1.Col = 1 MSFlexGrid1.Text = Text2.Text End If End Sub Private Sub Command3_Click() MSFlexGrid1.Col = 1 MSFlexGrid1.Row = 1 datomax = Val(MSFlexGrid1.Text) For indice = 1 To Val(Text3.Text) MSFlexGrid1.Row = indice dato1 = Val(MSFlexGrid1.Text) MSFlexGrid1.Row = indice + 1 dato2 = Val(MSFlexGrid1.Text) If dato1 < dato2 Then If dato1 < datomax Then datomax = dato1 Label3.Caption = datomax End If End If Next indice End Sub Private Sub Command4_Click() MSFlexGrid1.Col = 1 MSFlexGrid1.Row = 1 datomax = Val(MSFlexGrid1.Text) For indice = 1 To Val(Text3.Text) MSFlexGrid1.Row = indice dato1 = Val(MSFlexGrid1.Text) MSFlexGrid1.Row = indice + 1 dato2 = Val(MSFlexGrid1.Text) If dato1 > dato2 Then If dato1 > datomax Then datomax = dato1 Label3.Caption = datomax End If End If Next indice End Sub Private Sub Form_Load() Dim Num As Integer MSFlexGrid1.ColWidth(0) = 900 MSFlexGrid1.ColWidth(1) = 1000 MSFlexGrid1.Row = 0 MSFlexGrid1.Col = 0 MSFlexGrid1.Text = "Posizione" MSFlexGrid1.Col = 1 MSFlexGrid1.Text = "Numero" MSFlexGrid1.Col = 0 For Num = 1 To 10 MSFlexGrid1.Row = Num MSFlexGrid1.Text = Num Next Num End Sub

Rispondi quotando