Ho un problema con il comando di un pulsante in programmazione Basic.
Allora, il codice:
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
funziona benissimo e mi trova il valore massimo tra N valori inseriti in una griglia.
Il codice
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
dovrebbe funzionare allo stesso modo ma trovando il valore minimo tra gli stessi valori inseriti nella stessa griglia.
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