Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    81

    Array irregolare multidimensionale

    Salve a tutti gli amici di HTML.it,
    avrei la necessità di implementare un array dinamico di n dimensioni in cui in ogni n-esimo item inserisco un altro array di tre elementi.

    Ho già partecipato ad un'altra discussione qui in cui alcuni mi hanno detto che è quasi impossibile realizzare in VB6 quanto detto sopra. Qualcun altro può darmi altre delucidazioni in merito?

    Se l'idea di cui sopra non potesse essere realizzabile, cosa ne pensereste di creare un unico array di (3 * n) elementi e archiviare le informazioni 3 per volta, una di seguito all'altra?

    Potete consigliarmi una soluzione operativa migliore?

    Grazie in anticipo per la risp!

  2. #2
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, non so se è quello che volevi, ti posto due esempi:
    codice:
    Private Type elementi
       uno As String
       due As String
       tre As String
    End Type
    
    Dim vett1() As elementi
    Dim vett2() As String
    
    Private Sub Esempio1()
       Dim i As Integer
       ReDim Preserve vett1(5)
       For i = 0 To UBound(vett1)
          vett1(i).uno = i & "1"
          vett1(i).due = i & "2"
          vett1(i).tre = i & "3"
       Next
    End Sub
    
    Private Sub Esempio2()
       Dim i As Integer
       ReDim Preserve vett2(2, 5)
       For i = 0 To UBound(vett2, 2)
          vett2(0, i) = i & "1"
          vett2(1, i) = i & "2"
          vett2(2, i) = i & "3"
       Next
    End Sub
    Jupy

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    81
    Ciao Giupy,
    grazie per il listato... lo proverò!

    Ho chiesto al telefono ad un amico programmatore lo stesso questito. Mi ha detto che nel modo che vorrei progettare è un casino e non vale la pena di insistere. Mi ha consigliato di utilizzare una "classe" per immagazzinare le informazioni!!!

    Anche si quest'ultimo punto potete consigliarmi qualcosa? Io, personalmente, non ho mai utilizzato una "classe"... xò io sono mezzo novizio...

    Grazie ancora una volta!

  4. #4
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653

    Re: Array irregolare multidimensionale

    Originariamente inviato da alfionas
    Salve a tutti gli amici di HTML.it,
    avrei la necessità di implementare un array dinamico di n dimensioni in cui in ogni n-esimo item inserisco un altro array di tre elementi.

    Ho già partecipato ad un'altra discussione qui in cui alcuni mi hanno detto che è quasi impossibile realizzare in VB6 quanto detto sopra. Qualcun altro può darmi altre delucidazioni in merito?

    Se l'idea di cui sopra non potesse essere realizzabile, cosa ne pensereste di creare un unico array di (3 * n) elementi e archiviare le informazioni 3 per volta, una di seguito all'altra?

    Potete consigliarmi una soluzione operativa migliore?

    Grazie in anticipo per la risp!
    scusami ma nn ho ankora capito il tuo problema, potresti essere + kiaro?

  5. #5

    Re: Array irregolare multidimensionale

    Originariamente inviato da alfionas
    Salve a tutti gli amici di HTML.it,
    avrei la necessità di implementare un array dinamico di n dimensioni in cui in ogni n-esimo item inserisco un altro array di tre elementi.
    ......
    ....non sono sicuro di aver capito ma come segue non va bene ?:

    codice:
    Option Explicit
    
    Private Type udtTAr
        myAr(1 To 3) As String
    End Type
    
    Private myDynMat() As udtTAr
    
    Private Sub Command1_Click()
    
    Dim i as integer , j as integer
    
    ReDim myDynMat(1 To 5, 1 To 4)
    
    For i = 1 To 5
        For j = 1 To 4
         With myDynMat(i, j)
            .myAr(1) = 1
            .myAr(2) = 2
            .myAr(3) = 3
         End With
        Next j
    Next i
    
    With myDynMat(2, 3)
        Debug.Print .myAr(1) & " " & .myAr(2) & " " & .myAr(3)
    End With
    
    Erase myDynMat
    
    End Sub

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    81
    Originariamente inviato da Jupy64
    codice:
    Private Type elementi
       uno As String
       due As String
       tre As String
    End Type
    
    Dim vett1() As elementi
    
    Private Sub Esempio1()
       Dim i As Integer
       ReDim Preserve vett1(5)
       For i = 0 To UBound(vett1)
          vett1(i).uno = i & "1"
          vett1(i).due = i & "2"
          vett1(i).tre = i & "3"
       Next
    End Sub
    yyzyyz, ti rispondo quotando il codice postato da Jupy64... it's perfect!

    In sostanza cercavo un modo per ordinare ed avere disponibile alcune informazioni tratte da un file di testo. Anzi, mi spiego ancora meglio. Le informazioni sono sempre tre righe di n differenti file di testo. Dopo averle estratte, lo scopo è quelle di mantenerle in memorie per averle sempre disponibili! Ecco a cosa mi serviva l'array multidimensionale!

    X Jupy64
    Posso creare il tipo "elementi" come voglio, per esempio così:

    codice:
    Private Type elementi
       uno As String
       due As Integer
       tre As Long
    End Type


    Grazie a tutti per la pazienza e per le vostre risposte!

  7. #7
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    x Jupy64:
    codice:
    ReDim Preserve vett1(5)
    mi spieghi questa riga , in ke modo interviene sul vettore?

  8. #8
    Ridimensiona il vettore trasformandolo in un vettore di 5 elementi conservando gli elementi precedentemente contenuti in esso. Attenzione: si tratta di un'istruzione piuttosto lenta, perché il programma spesso si trova a dover allocare un nuovo blocco di memoria e ricopiarci tutti gli elementi dell'array. Istruzione mooolto sconsigliata, se puoi farne a meno è meglio.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Originariamente inviato da alfionas
    Posso creare il tipo "elementi" come voglio, per esempio così:

    codice:
    Private Type elementi
       uno As String
       due As Integer
       tre As Long
    End Type
    ma certo!
    Jupy

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.