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

    Porting di un pezzo di codice con listview da vb.net a C#

    Salve ragazzi, ho bisogno di una mano, sto facendo un browser file con c# utilizzando le listview, lo feci già in vb.net (utilizzando un pezzo di codice trovato in rete che ha fatto proprio al caso mio), ho iniziato a fare il porting e dopo qualche problema sono rimasto con un unico errore che non riesco a risolvere.
    Vi posto entrambi i codici sperando che riusciate ad aiutarmi.

    codice:
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    
            Dim ar() As String
    
            'invia il comando
            ''ricevi elenco dei file e delle cartelle implodate
    
            explodare = ASCII.GetString(data, 0, bytes)
            ar = Split(explodare, "@@")
    
    
            ListView1.Items.Clear()
            Dim x, y As Int32
            For x = 0 To ar.ToArray.Length - 1
                ListView1.Items.Add(ar.ToArray()(x).ToString.Split("\")(ar.ToArray()(x).ToString.Split("\").Length - 1)) 'taglia il percorso lasciando solo il nome
            Next
            For y = 0 To ar.ToArray.Length - 1
                If ListView1.Items(y).ToString().Contains("&/") Then ' se contiene &/ essa è una cartella
                    ListView1.Items(y).Text = ListView1.Items(y).Text.Replace("&/", "")
                    ListView1.Items(y).ImageIndex = 0 'immagine per le cartelle
                Else
                    ListView1.Items(y).ImageIndex = 1 'immagine per i file
                End If
            Next
            percorso = TextBox1.Text
        End Sub
    codice:
    private void bSfoglia_Click(object sender, EventArgs e)
            {
                string[] ar;
                //invia comando
                //ricevi elenco dei file e delle cartelle implodate
    
                //explodare = ASCII.GetString(data, 0, bytes)
                //ar = Split(explodare, "@@")
    
                listView1.Items.Clear();
                for (int x = 0; x< ar.ToArray().Length; x++)
                    listView1.Items.Add(ar.ToArray()[x].ToString().Split('\\')(ar.ToArray()[x].ToString().Split('\\').Length - 1)); //taglia il percorso lasciando solo il nome
    
                for (int y = 0; y<ar.ToArray().Length;y++) {
                    if (listView1.Items[y].ToString().Contains("&/")) {// se contiene &/ essa è una cartella
                        listView1.Items[y].Text = listView1.Items[y].Text.Replace("&/", "");
                        listView1.Items[y].ImageIndex = 0; //immagine per le cartelle
                    } else 
                        listView1.Items[y].ImageIndex = 1; //immagine per i file
                }
                percorso = textBox1.Text;
            }
    Riscontro l'errore in questa parte di codice, mi dice che al posto del primo ar dovrebbe essere presente un metodo:
    codice:
    listView1.Items.Add(ar.ToArray()[x].ToString().Split('\\')(ar.ToArray()[x].ToString().Split('\\').Length - 1)); //taglia il percorso lasciando solo il nome
    Confido in voi!

  2. #2
    Ciao. Non vorrei sbagliarmi ma a me sembra che nel codice C# il tuo array "ar" non sia mai inizializzato.

    Per come lo leggo scorri qualcosa che ancora non esiste.

  3. #3
    Ti ringrazio per la risposta, in effetti sono stato non troppo chiaro, ma in realtà quell'array verrebbe inizializzato nella parte di codice sostituita da un commento per non far venire il post troppo lungo.
    Sono in ogni caso riuscito a risolvere cambiando il for incriminato in questo:

    codice:
    for (int x = 0; x < ar.ToArray().Length; x++) {
         string[] item =ar.ToArray()[x].ToString().Split('\\');
         listView1.Items.Add(item[item.Length - 1]); //taglia il percorso lasciando solo il nome
    }
    Ringrazio ugualmente, per me si può anche chiudere

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.