"AndAlso"???? io smetterei di usare questo linguaggio solo per questo!si purtroppo da quel poco che ho capito il C# è più efficace del vb.net in certe situazioni però ormai sto imparando questo e non mi va di ricominciare da zero. Comunque visto il tuo codice come diceva qualcuno "non è poi così facile". Io credo di aver risolto abbastanza brillantemente con una classe che sfrutta la potenza dei datagrid e con 1/4 del codice da te prodotto. L'importante è sempre raggiungere l'obiettivo
![]()
Nel form basta istanziarla coi riferimenti ai parametri e viacodice:Public Shared Function MKred(ByRef DTG As DataGridView, ByRef ArrayV() As Integer, ByRef matk As Array) As Array Dim dsNl As New DataSet("MK") 'crea il dataset Dim dtNl As New DataTable("MKred") ' crea il datatable Dim col As DataColumn For c As Integer = 0 To dim_tot col = New DataColumn(c, GetType(String)) dtNl.Columns.Add(col) Next For i As Integer = 0 To dim_tot Dim newRow As DataRow = dtNl.NewRow() For j As Integer = 0 To dim_tot newRow(j) = matk(i, j) Next dtNl.Rows.Add(newRow) Next 'aggiunge la tabella al dataset dsNl.Tables.Add(dtNl) DTG.DataSource = dtNl DTG.RowHeadersVisible = False DTG.AutoSize = False Dim v As Integer Dim l, di As Integer di = Math.Sqrt(matk.Length) - 1 l = ArrayV.Length - 1 For v = 0 To l If v = 0 Then DTG.Columns.RemoveAt(ArrayV(v)) DTG.Rows.RemoveAt(ArrayV(v)) Else DTG.Columns.RemoveAt(ArrayV(v) - v) DTG.Rows.RemoveAt(ArrayV(v) - v) End If Next Dim MRKr(maxdim - 1, maxdim - 1) As Double For i As Integer = 0 To maxdim - 1 For j As Integer = 0 To maxdim - 1 MRKr(i, j) = CDbl(DTG.Item(j, i).Value) Next Next Return MRKr End Function 'nb maxdim e dim_tot possono essere passati all'interno della function o messi tra i parametri

si purtroppo da quel poco che ho capito il C# è più efficace del vb.net in certe situazioni però ormai sto imparando questo e non mi va di ricominciare da zero. Comunque visto il tuo codice come diceva qualcuno "non è poi così facile". Io credo di aver risolto abbastanza brillantemente con una classe che sfrutta la potenza dei datagrid e con 1/4 del codice da te prodotto. L'importante è sempre raggiungere l'obiettivo
Rispondi quotando