Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Array da file e Combobox da Array
Forum - C# / VB.NET - [VB.NET] Array da file e Combobox da Array

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
WCodeLyokoYT (Normal User)
Newbie


Messaggi: 16
Iscritto: 27/09/2014

Segnala al moderatore
Postato alle 21:17
Sabato, 17/09/2016
Ciao! Sono tre ore che tento di capire come fare questa cosa, ma non ci riesco.
In pratica ho un file di testo e due combobox, e con il file di testo le volevo riempire entrambi. Allora, Il file contiene <SOLO NUMERI> e <PAROLE E NUMERI>, più o meno è strutturato così:
Codice sorgente - presumibilmente Plain Text

  1. 1
  2. Parola 1
  3. Parola 2
  4. Parola 3
  5. 2
  6. Altra parola 1
  7. Altra parola 2
  8. Altra parola 3


La prima combobox dovrebbe avere soltanto i numeri e, in base al numero della prima combobox, la seconda deve contenere una lista di parole (ovviamente :rofl: ).
Ad esempio se nellala prima combobox è selezionato 1, nella seconda dovrebbero apparire "Parola 1", "Parola 2" e "Parola 3".
Secondo me l'approccio miglore sono gli array, ma potrei sbagliarmi. Voi che ne pensate? E' possibile? Come?

Grazie in anticipo.

Ultima modifica effettuata da WCodeLyokoYT il 21/09/2016 alle 20:22
PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 950
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 23:15
Sabato, 17/09/2016
Ciao!
Immagino che non hai problemi a leggere il contenuto dei file, e codificare i dati.

Le possibili soluzioni su come risolvere il problema sono tante. Io ti consiglierei l'uso della liste, piuttosto che semplici vettori.
- https://msdn.microsoft.com/it-it/library/6sh2ey19(v=vs.110) ... -
Queste ultime non sono vincolate da una dimensione prefissata.
In ogni caso, creati una semplice struttura, o classe, in cui memorizzare i <numeri> e <parole e numeri> da scrivere nelle combobox.

Ultima modifica effettuata da Poggi Marco il 17/09/2016 alle 23:16


Nulla va più veloce della luce, quindi rilassati.
PM Quote
Avatar
darioza (Normal User)
Pro


Messaggi: 104
Iscritto: 06/10/2014

Segnala al moderatore
Postato alle 16:44
Lunedì, 19/09/2016
Ciao!   Concordo con quanto ti è stato detto, veloce e pratico

Ultima modifica effettuata da darioza il 19/09/2016 alle 16:46
PM Quote
Avatar
WCodeLyokoYT (Normal User)
Newbie


Messaggi: 16
Iscritto: 27/09/2014

Segnala al moderatore
Postato alle 15:48
Venerdì, 23/09/2016
Grazie a tutti e due per le risposte. Ho seguito i vostri consigli e adesso ho una classe con una lista, la quale ha due proprietà. Adesso ho un altro problema, non riesco a codificare i dati. Riesco ad ottenere <numeri> che sarebbero la proprietà "linea" della lista, ma non <numeri e parole> (proprietà nome).
Il codice è questo

Codice sorgente - presumibilmente VB.NET

  1. Dim Linee As New StreamReader("C:\Users\Code\Desktop\Linee.txt")
  2.     Dim variabile As Integer
  3.     Private Fermate As List(Of Linee)
  4.     Dim nom As String = ""
  5.     Dim lin As String = ""
  6.  
  7.     Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  8.  
  9.         Fermate = New List(Of Linee)
  10.  
  11.  
  12.         Do
  13.             nom = Linee.ReadLine()
  14.  
  15.             If Not nom Like "?" Then
  16.  
  17.                 Do
  18.                     lin = Linee.ReadLine()
  19.  
  20.                     If lin Like "?" Then
  21.                         Dim a As Linee = New Linee(nom, lin)
  22.                         Fermate.Add(a)
  23.                     End If
  24.                 Loop Until lin Is Nothing
  25.             End If
  26.         Loop Until nom Is Nothing
  27.  
  28.         For Each Fermata As Linee In Fermate
  29.             Dim temp As Integer = "0"
  30.             temp = temp + 1
  31.             If Fermata.linea Like "?" Then
  32.  
  33.                 If Fermata IsNot Nothing Then
  34.  
  35.                     ComboBox1.Items.Add(Fermata.linea)
  36.  
  37.  
  38.                 End If
  39.             End If
  40.         Next
  41. End sub


Questo è per inserire gli elementi nella seconda combobox
Codice sorgente - presumibilmente VB.NET

  1. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
  2.         ComboBox2.Items.Clear()
  3.  
  4.         For Each Fermata As Linee In Fermate
  5.             If (Fermata.linea.Equals(ComboBox1.Text) And Fermata IsNot Nothing) Then
  6.  
  7.                 ComboBox2.Items.Add(Fermata.nome)
  8.  
  9.             End If
  10.         Next
  11.     End Sub



Cosa sbaglio?

PM Quote
Avatar
darioza (Normal User)
Pro


Messaggi: 104
Iscritto: 06/10/2014

Segnala al moderatore
Postato alle 20:13
Venerdì, 23/09/2016
Testo quotato

Postato originariamente da WCodeLyokoYT:
non riesco a codificare i dati



Intendi che non riesci a pulire e ripopolare la combobox?
se provi ad accedere "manualmente" ai valori, le liste sono correttamente popolate?

PM Quote
Avatar
WCodeLyokoYT (Normal User)
Newbie


Messaggi: 16
Iscritto: 27/09/2014

Segnala al moderatore
Postato alle 20:23
Venerdì, 23/09/2016
No, non riesco a popolare la lista

PM Quote
Avatar
darioza (Normal User)
Pro


Messaggi: 104
Iscritto: 06/10/2014

Segnala al moderatore
Postato alle 21:07
Venerdì, 23/09/2016
leggo da mobile, non ho modo di compilare il tuo codice al momento
le clausule if vengono soddisfatte?
errori non ne scaturiscono?

PM Quote
Avatar
WCodeLyokoYT (Normal User)
Newbie


Messaggi: 16
Iscritto: 27/09/2014

Segnala al moderatore
Postato alle 21:34
Venerdì, 23/09/2016
Testo quotato

Postato originariamente da darioza:

leggo da mobile, non ho modo di compilare il tuo codice al momento
le clausule if vengono soddisfatte?
errori non ne scaturiscono?


No no, nessun errore

PM Quote
Avatar
darioza (Normal User)
Pro


Messaggi: 104
Iscritto: 06/10/2014

Segnala al moderatore
Postato alle 0:30
Sabato, 24/09/2016
Se non scaturisce errore e non popola, probabilmente non passi le condizioni if...
Accertatene
oppure qualche errore logico....
Per il resto, 2 cose importanti...
La prima, in senso assoluto, anche se trascurabile in piccoli progetti, ma te la consiglio sempre, commenta!
Soprattutto in funzioni procedurali e quando i conti non tornano, anche per verificare che stai facendo quello che stai pensando di fare
La qual cosa ti torna utile se devi sottoporre a qualcuno il tuo codice
in secondo luogo, non ho presente come vuoi trattare la tua sorgente dati...
ma non ho capito una cosa...
Codice sorgente - presumibilmente C# / VB.NET

  1. Fermate = New List(Of Linee)


sei sicuro di questo?
Hai bisogno di una list di streamreader tu?
Penso di no, immagino tu voglia una lista di stringhe...
https://msdn.microsoft.com/it-it/library/dd293617.aspx
Forse può aiutarti a vedere meglio il concetto...

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo