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

    [VB.NET] Array multidimensionale

    Ciao a tutti, riscontro qualche difficoltà nella creazione di un array multidimensionale.

    Vorrei creare un array formato da 40 "righe", ed ogni riga abbia per esempio 5 spazi. Qual'è la sintassi?

    E' possibile inoltre specificare il tipo di dato per ogni singola cella?

    Grazie mille

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459

    Re: [VB.NET] Array multidimensionale

    Originariamente inviato da Alexg
    Vorrei creare un array formato da 40 "righe", ed ogni riga abbia per esempio 5 spazi. Qual'è la sintassi?
    Cosa intendi per "spazi".

    Originariamente inviato da Alexg
    E' possibile inoltre specificare il tipo di dato per ogni singola cella?
    In genere, un array è formato da elementi dello stesso tipo.

    Magari spiega meglio qual è la natura dei dati che vuoi memorizzare, esemplificandola.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Si in effetti "spazi" è una parola sbagliata, intendo dire colonne. Comunque per quanto riguarda la sintassi per crearne uno ci sono riuscito.

    Mi rimane solo, se è possibile, sapere come specificare il tipo di dato che andrà magari in una certa colonna o riga.

    Per esempio:

    Dim MioArray(2,2) As Integer

    però questa sintassi mi crea un array dove posso inserire solo numeri!
    Se invece io vorrei ad esempio nella colonna 0 poter inserire dati di tipo String e sulla colonna 1 dati di tipo Integer?

  4. #4
    Originariamente inviato da Alexg
    Si in effetti "spazi" è una parola sbagliata, intendo dire colonne. Comunque per quanto riguarda la sintassi per crearne uno ci sono riuscito.

    Mi rimane solo, se è possibile, sapere come specificare il tipo di dato che andrà magari in una certa colonna o riga.

    Per esempio:

    Dim MioArray(2,2) As Integer

    però questa sintassi mi crea un array dove posso inserire solo numeri!
    Se invece io vorrei ad esempio nella colonna 0 poter inserire dati di tipo String e sulla colonna 1 dati di tipo Integer?
    Devi creare un array di Variant, a quel punto in ciascun elemento puoi mettere anche tipi diversi di dato...
    IceCube_HT (VB6 fan Club)

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459
    Originariamente inviato da icecube_HT
    Devi creare un array di Variant, a quel punto in ciascun elemento puoi mettere anche tipi diversi di dato...
    In VB.NET il tipo Variant, ammesso che si possa utilizzare, è senz'altro "deprecato".

    Io userei una struttura dati tipo Hashtable o SortedList per mantenere una chiave di tipo stringa a cui associare un tipo di dati che equivale ad una struttura analoga, ma identificata con una chiave di tipo differente.

    Rimando come sempre alla documentazione MSDN per ulteriori informazioni in merito.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Dalla tua descrizione sembra che hai una sorta di DataBase.

    Puoi provare a usare la DataSet.

    Oppure un array di strutture (anzi meglio un ArrayList di strutture).

    codice:
    Structure myrow
      Dim col1 As Integer
      Dim col2 As Integer
      Dim col3 As Integer
      Dim col4 As Integer
      Dim col4 As Integer
    End Structure
    
    Dim arr As New ArrayList()
    
    Function Aggiungi(ByVal uno As Integer) As Integer
      Dim buff As New myrow
      buff.col1 = uno
      buff.col2 = uno + 2
      '.....
      Return arr.Add(buff) 'Ritorna l'Index dell'elemento in caso di successo o -1 in errore
    End Function
    
    Function ottieni(ByVal i As Integer) As myrow
     if TypeOf arr(i) Is myrow then
        return arr(i)
     end if
    End Function
    Ma è poco elegante a mio parere, secondo me fai prima a usare la DataSet (o la DataTable) perchè dalla tua descrizione sembra essere esattamente quello che stai cercando.

  7. #7
    Sto realizzando il gioco della briscola (90%!) per cui non mi serve un database, perché non devo salvare dati per riprenderli in un'altra sessione. Per il momento ho assegnato dei numeri a tutte le caratteristiche (ad es. 1 = denari, 2 = bastoni ecc.). Il programma è correttamente funzionante e ora mi rimangono solo ritocchini tipo la voce del computer, piccoli aggiustamenti all'IA.

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459
    Originariamente inviato da flash.tato
    Oppure un array di strutture (anzi meglio un ArrayList di strutture).
    O meglio ancora una lista tipizzata List<> sfruttando i Generics.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.