Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB.NET 2010] - creare matrice dinamica

    Ciao a tutti,
    all'interno di una sub creo una matrice contenente i valori di alcune textbox. Ora vorrei che cliccando su un tasto mi aggiornasse la matrice aggiungendo una riga con i nuovi valori delle textbox.

    Nel general ho dichiarato la variabile

    Public Mat(x,3) as Object

    poi ho creato la seguente sub:
    codice:
    Public Sub battesimo()
    dim x as integer
    x=0
    
    Mat (x,0)=textbox1.text
    Mat (x,1)=textbox2.text
    Mat (x,2)=textbox3.text
    Mat (x,3)=textbox4.text
    
    x=x+1
    
    End sub
    Successivamente all'evento del click sul tasto richiamo la sub con
    codice:
    Call battesimo()
    Ma non funziona...qualcuno sa dirmi perchè?

  2. #2
    Mi sembra ci siano parecchi errori, logici e concettuali. Se l'obiettivo è memorizzare da qualche parte i valori inseriti nelle texbox, direi che una strada migliore potrebbe essere questa:
    codice:
    'crei una classe per gestire i tuoi record
    Public Class Persona
        Public Property Nome() As String
        Public Property Cognome() As String
        Public Property Data() As Date
        '...
    End Class
    
    'nel form, in general, crei una lista di oggetti Persona
    Private lista As New List(Of Persona)
    
    'evento click del pulsante
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim p As New Persona
    
        p.Nome = TextBox1.Text
        p.Cognome = TextBox2.Text
        p.Data = CType(TextBox3.Text, Date)
        '...
    
        lista.Add(p)
    End Sub
    In alternativa, come hai fatto tu, potresti usare un array di oggetti Persona, utilizzando il comando Redim Preserve per ridimensionare l'array:
    codice:
    Private elenco() As Persona
    Private x As Integer = -1
    
    'evento click del pulsante
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim p As New Persona
    
        p.Nome = TextBox1.Text
        p.Cognome = TextBox2.Text
        p.Data = CType(TextBox3.Text, Date)
        '...
    
        x += 1
        Redim Preserve elenco(x)
        elenco(x) = p
    End Sub
    Chi non cerca trova.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.