Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    11

    [VB6] Visualizzazione di un vettore

    Salve, cortesemente vorrei un'informazione, ho la necessità di visualizzare un vettore, nel quale ho precedentemente provveduto ad inserire i valori, in altre parole esiste una istruzione simile a MsgBox, se si, funziona sia con gli array semplici, diciamo i vettori colonna che con le matrici?

    Grazie

    Saluti

    Mirko
    Quando le cose si mettono al meglio le rovina è dietro la porta [Seth Cohen]

  2. #2
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    una funzione che stampi un vettore non credo esista, ma puoi fartela tu in pochi secondi...

    codice:
    Function StampaVettore(Vettore as Variant, size as Long) as String
    Dim i as Integer
    
    str=""
    For i=0 to size-1  'puoi anche usare Ubound(nome vettore)-1
       str=str+ Vettore(i)+vbcrlf   
    Next
    Stampa Vettore=str
    
    End function
    poi stamperai la stringa con msgbox volendo...

  3. #3
    Accidenti... battuto sul tempo! Comunque ecco la funzione che avevo scritto:
    codice:
    Public Function Vector2String(arr As Variant) As String
    Dim c As Long
    If Not IsArray(arr) Then Err.Raise 5, "Vector2String", "arr must be an array."
    Err.Clear
    On Error Resume Next
    c = LBound(arr, 2)
    If Err.Number = 0 Then Err.Raise 5, "Vector2String", "arr must be a single dimension array."
    On Error GoTo 0
    For c = LBound(arr) To UBound(arr)
        Vector2String = Vector2String & CStr(arr(c)) & vbCrLf
    Next c
    End Function
    . Rispetto all'altra proposta, è più sicura (verifica che si tratti effettivamente di un array monodimensionale) e più versatile (funziona con array con qualunque indice di base).
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Questo codice funziona sia con vettori che con matrici, indipendentemente dal numero di dimensioni:
    codice:
    Dim ElementoArray As Variant
    For Each ElementoArray In NomeArray
        Debug.Print (ElementoArray)
    Next
    Ciauz

    Chico

  5. #5
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    sicuro?

  6. #6
    Sono sicuro solo della signora con la falce, Lak3d.....

    I test che ho effettuato sinora con questo codice (ho provato con un vettore e con matrici sino a tre dimensioni) non mi hanno dato problemi....

    Comunque, se reputi che nel codice da me proposto ci sia qualche imprecisione (o madornale errore) mi faresti una cortesia segnalandomelo.....

    Ciauz

    Chico

  7. #7
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    boh, a me funziona soltanto con vettori ad una dimensione... se ne creo uno dimensionale mi restituisce un errore... mi faresti un esempio di come lo utilizzi con un vettore a due dimensioni?

    magari è soltanto la mia ignoranza...

  8. #8
    codice:
    Option Explicit
    Private Sub Form_Load()
    Dim MioArray(2, 5, 6) As Double
    Dim ElementoArray As Variant
    'popolo l'array con valori casuali
    Dim A As Integer, B As Integer, C As Integer
    For A = 0 To 2
        For B = 0 To 5
            For C = 0 To 6
                Randomize Timer
                MioArray(A, B, C) = Int((60 * Rnd) + 1)
            Next
        Next
    Next
    'elenco il contenuto dell'array
    For Each ElementoArray In MioArray
        Debug.Print ElementoArray
    Next
    End Sub
    Ciauz

    Chico

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.