Oppure

Loading
03/11/11 18:27
karl93
Salve,
ho creato una matrice e visualizzato grazie al componente MSFlexGrid.

Ecco il codice:

Option Explicit
Dim i, j, righecolonne As Integer
Dim matrice(1 To 10, 1 To 10) As Integer

Private Sub Command1_Click()
righecolonne = InputBox("inserire il numero colonne/righe" & vbCrLf & "(inserire valore minore di 10)", "inserimento dati ")
For i = 1 To righecolonne
For j = 1 To righecolonne
matrice(i, j) = Val(InputBox("inserire valore dell'elemento" & CStr(i) & "," & CStr(j), "Caricamento matrice"))
Next j
Next i



End Sub


Private Sub Command2_Click()
Label3.Caption = sommaprincipale

End Sub

Private Sub Command3_Click()
Label4.Caption = sommasecondaria


End Sub

Private Function sommasecondaria() As Integer
Dim somma, k As Integer
somma = 0
k = righecolonne
For i = 1 To righecolonne
somma = somma + matrice(i, k)

Next i
sommasecondaria = somma
End Function

Private Sub Command4_Click()
flex.FixedRows = 1
flex.FixedCols = 1
flex.Rows = righecolonne + 1
flex.Cols = righecolonne + 1
For i = 1 To righecolonne
For j = 1 To righecolonne
flex.Row = i
flex.Col = j
flex.CellFontBold = True
flex.Text = matrice(i, j)
Next j
Next i

End Sub



Private Function sommaprincipale() As Integer
Dim somma As Integer
somma = 0
For i = 1 To righecolonne
somma = somma + matrice(i, i)
Next i
sommaprincipale = somma
End Function



Ora vorrei selezionare una casella e visualizzare il suo contenuto in una TextBox. Come risolvere? :k:
aaa
03/11/11 18:45
nessuno
Private Sub flex_Click()
    Text1.Text = flex.Text
End Sub
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
04/11/11 9:42
karl93
Funziona molto bene. Grazie mille. ;)


Se invece devo inserirlo in più Text. Ad esempio voglio che le righe/colonne siano 2 e i valori sono:

1.1 = 3
1.2 = 5
2.1 = 2
2.2 = 8


Quando clicco su una casella, tipo 1.1, compari nella Text1 il suo valore...se invece clicco il valore 2.1 voglio che questa compari nella Text2...quindi devo riuscire a gestire questo evento. :k:

aaa
04/11/11 9:44
nessuno
Non ho capito bene ma se vuoi usare più textbox, crea un array di textbox e gestisci l'indice
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
04/11/11 10:14
karl93
Ora ti spiego il problema. Devo gestire un numero massimo di 25 auto...ogni auto ha un suo valore. Quindi ho pensato di gestirlo cn le matrici...sbaglio??? Perchè vorrei visualizzare il tutto grazie al componente MSFlexGrid. Dovrei gestire il fatto che ad esempio io inserisco 3...devo poter inserire il nome dell'auto(sempre tre nomi diversi) e 3 valori:

1 = 30421
2 = 30425
3 = 30428

Quindi non dovrei visualizzare 3 righe e 3 colonne...visto che non mi servono. Secondo te dovrei gestire con due vettori?

Tipo scrivendo così:


Do
N = InputBox("Quante macchine vuoi caricare?" & vbCrLf & _
"(Inserire un valore minore di 25)", "richiesta numero dati")
Loop While N > 25

For i = 1 To N
Numeri(i) = InputBox("Inserisci Numero Macchina", "Inserimento Dati")
Valore(i) = InputBox("Inserisci Valore", "Inserimento Dati")
Label1.Caption = Label1.Caption & Numeri(i) & " "
Label4.Caption = Label4.Caption & Valore(i) & " "

Next i
aaa
04/11/11 10:20
karl93
Come ho scritto io...visualizzo il loro contenuto in due Label, ma a me dopo serve che posso cliccare su una casella e visualizzarla in una Text. Ecco perchè stavo gestendo con le matrici. Oppure è possibile visualizzare quei vettori nel componente MSFlexGrid??? ;)
aaa
04/11/11 11:41
karl93
In questo modo visualizzo i valori(valore auto) e i numeri(nome auto):

Do
N = InputBox("Quante macchine vuoi caricare?" & vbCrLf & _
"(Inserire un valore minore di 25)", "richiesta numero dati")
Loop While N > 25

For i = 1 To N
Numeri(i) = InputBox("Inserisci Numero Macchina", "Inserimento Dati")
Valore(i) = InputBox("Inserisci Valore", "Inserimento Dati")
Next i

Flex1.Cols = N + 1
For i = 1 To N
Flex1.Col = i
Flex1.CellFontBold = True
Flex1.Text = Numeri(i)
Next i


Flex.Cols = N + 1
For i = 1 To N
Flex.Col = i
Flex.CellFontBold = True
Flex.Text = Valore(i)
Next i



Se invece voglio visualizzarli in un solo componente MSFlexGrid ??? :-|
Ultima modifica effettuata da karl93 04/11/11 11:52
aaa