Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - spazio vuoto nella combo1
Forum - Visual Basic 6 - spazio vuoto nella combo1

Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 13:26
Venerdì, 04/01/2008
Ciao a tutti!
Allora, io ho una combobox (combo1) e 2 pulsanti (command1 e command2).
nella lista della combo1 c'è solo 1 elemento ed è "bosco"
Nel command1 c'è questo codice:
Codice sorgente - presumibilmente VB.NET

  1. Dim klo As Long
  2. klo = Combo1.ListCount
  3. Dim w As Long
  4. Open App.Path & "\dati\luoghi.dat" For Output As #1
  5. For w = 1 To klo
  6. Print #1, Combo1.List(w)
  7. Next w
  8. Close #1


che serve x salvare il contenuto della combo1.

Nel command2 c'è questo codice:
Codice sorgente - presumibilmente VB.NET

  1. Dim gh(1 To 99999) As String
  2. Dim gj As Integer
  3. Dim y As Integer
  4. Open App.Path & "\dati\luoghi.dat" For Input As #1
  5. Do
  6. gj = gj + 1
  7. Line Input #1, gh(gj)
  8. Loop Until EOF(1) = True
  9. Close #1
  10.  
  11. For y = 1 To gj
  12. Combo1.AddItem gh(y)
  13. Next y


che serve per caricare gli elementi salvati nella combo1.

Teoricamente dovrebbe succedere che se premo salva  mi salva la parola "bosco" e fino a qui ci siamo. Solo ke me la salva con un accapo e quindi quando carico la combo1 mi viene bosco ma anke 1 altro "elemento" vuoto, cioè c'è uno spazio vuoto. Come posso fare x eliminarlo?

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 13:42
Venerdì, 04/01/2008
nn devi eliminarlo, basta nn devi salvare la riga vuota:
Codice sorgente - presumibilmente VB.NET

  1. Dim klo As Long
  2. klo = Combo1.ListCount [b]-1[/b]
  3. Dim w As Long
  4. Open App.Path & "\dati\luoghi.dat" For Output As #1
  5. For w = 1 To klo
  6. Print #1, Combo1.List(w)
  7. Next w
  8. Close #1



il listcout restituisce il numero di elementi in una lista e nn l' indice dell' ultimo elemento...
es: ci sono 2 (A,B) elementi in una combo
listcout=2, ma l' indice di B nn è 2 ma 2-1, questo xk la combo inizia a contare da 0 (l' indice di A è infatti 0)

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 13:43
Venerdì, 04/01/2008
nn devi eliminarlo, basta nn devi salvare la riga vuota:
Codice sorgente - presumibilmente VB.NET

  1. Dim klo As Long
  2. klo = Combo1.ListCount [b]-1[/b]
  3. Dim w As Long
  4. Open App.Path & "\dati\luoghi.dat" For Output As #1
  5. For w = 1 To klo
  6. Print #1, Combo1.List(w)
  7. Next w
  8. Close #1



il listcout restituisce il numero di elementi in una lista e nn l' indice dell' ultimo elemento...
es: ci sono 2 (A,B) elementi in una combo
listcout=2, ma l' indice di B nn è 2 ma 2-1, questo xk la combo inizia a contare da 0 (l' indice di A è infatti 0)

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 18:16
Venerdì, 04/01/2008
Purtroppo quando vado a salvare il file, mi cancella bosco cioè nel file luoghi.dat risulta non esserci + niente, mentre invece ci dovrebbe essere bosco..

Cmq grazie x l'aiuto!

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 19:21
Venerdì, 04/01/2008
fa partire la w da 0
[codefor w=0 to ...]

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 21:59
Venerdì, 04/01/2008
Grazie ora tutto funziona come deve!
:):)

Ultima modifica effettuata da GrG il 04/01/2008 alle 22:00
PM Quote