Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    111

    Cicli tra matrici

    Cosa sbaglio?


    codice:
    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
            Dim strPosizione() As String
            Dim Elenco As String(,) = _
            {{"ZeroZero", "ZeroUno", "ZeroDue"}, _
            {"UnoZero", "UnoUno", "UnoDue"}, _
            {"DueZero", "DueUno", "DueDue"}}
    
            ReDim strPosizione(Elenco.Length - 1)
            For i As Integer = 0 To Elenco.Length - 1
             Next
            MessageBox.Show(strPosizione(1))
        End Sub
    End Class
    Nel mio computer, questo codice viene eseguito fino al NEXT. GLi ultimi due messaggi, quello con "Adesso" e con strPosizione(1) NON vengono eseguiti.
    I messaggi al centro del ciclo invece appaiono regolarmente.

    In pratica si apre la form senza mostrarli.
    E cosa ancora più strana, non mi appaiono nemmeno errori dal compilatore...
    Qualcuno mi sa siegare come mai?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma la for vuota a che serve?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    111
    Scusa, ma devo avere fatto un po' di confusione quando ho copiato
    Il codice all'interno del ciclo era questo

    codice:
            For i As Integer = 0 To Elenco.Length - 1
                strPosizione(i) = Elenco(i, 1)
                MessageBox.Show(strPosizione(i))
            Next
    Credo anche di sapere quale è l'errore, ma non so come correggerlo:
    Vorrei ciclare fino al limite di una colonna in Elenco, e non su tutti i valori contenuti in tutte le dimensioni.
    Es 1, 2, 3
    4, 5, 6

    Vorrei fermarmi al limite della colonna 1,4

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    111
    A parte l'errore, che forse ho risolto, il mio intento sarebbe quello di scrivere una cosa del genere, ma meno dozzinale.

    codice:
    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
            Dim strPosizione() As String
            Dim Elenco As String(,) = _
            {{"ZeroZero", "ZeroUno", "ZeroDue"}, _
            {"UnoZero", "UnoUno", "UnoDue"}, _
            {"DueZero", "DueUno", "DueDue"}}
    
            Dim a As Integer = CInt(Elenco.length / 3)
    
            ReDim strPosizione(a)
            For i As Integer = 0 To a
                  strPosizione(i) = Elenco(i, 1)
             Next
        End Sub
    End Class
    Avete qualche consiglio?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se non ho capito male

    For i As Integer = 0 To Elenco.GetLength(0) - 1
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    111
    Perfetto! Grazie.
    BRAVO!!!

  7. #7

    Moderazione

    Ti ricordo che il linguaggio di riferimento (e relativa versione) va sempre specificato (anche nel titolo, sotto forma di "tag").

    Ora correggo io, in futuro imposta correttamente la discussione fin da subito.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.