ho una ListBox che popolo da un bottone,
List1.AddItem (Text1)
es.
mario
piero
franco
....
bene se esiste mario come evito l'inserimento in Listbox?
ho una ListBox che popolo da un bottone,
List1.AddItem (Text1)
es.
mario
piero
franco
....
bene se esiste mario come evito l'inserimento in Listbox?
Basta che non chiami il metodo AddItem...Originariamente inviato da x69asterix
se esiste mario come evito l'inserimento in Listbox?![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Originariamente inviato da alka
Basta che non chiami il metodo AddItem...![]()
![]()
????
il bottone non lo gestisco io, ma viene gestito in automatico
Tu hai detto "ho una ListBox che popolo da un bottone", quindi il codice che risponde al clic su quel bottone l'hai scritto tu, no?Originariamente inviato da x69asterix
il bottone non lo gestisco io, ma viene gestito in automatico
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Fai così:
Chiaramente così non distingue tra maiuscole e minuscole (es. Casa è diverso da casa..ma quello si risolve o con lcase o con ucase)codice:for i = 0 to list1.listcount - 1 if stringa = list1.list(i) then msgbox "Stringa già presente, voce n° " & i -1 else list1.additem stringa next i
fammi sapere..
ciao
esatto!Originariamente inviato da alka
Tu hai detto "ho una ListBox che popolo da un bottone", quindi il codice che risponde al clic su quel bottone l'hai scritto tu, no?
ciao,Originariamente inviato da MdE2005
Fai così:
Chiaramente così non distingue tra maiuscole e minuscole (es. Casa è diverso da casa..ma quello si risolve o con lcase o con ucase)codice:for i = 0 to list1.listcount - 1 if stringa = list1.list(i) then msgbox "Stringa già presente, voce n° " & i -1 else list1.additem stringa next i
fammi sapere..
ciao
in questo modo funziona:
List1.AddItem (text1)
stringa = (text1)
For i = 0 To List1.ListCount - 1
If stringa = List1.List(i) Then
List1.RemoveItem (i) - 1
Else
List1.AddItem stringa
End If
Next i
Se funziona allora..cmq te NON avevi chiesto questo, te avevi semplicemente chiesto di evitare di inserire un valore già presente e NO di eliminarlo in caso ci fosse..anche perchè se controlli i valori in entrata non è possibile che ci siano copie di valori, non ti sembra?ciao,
in questo modo funziona:
List1.AddItem (text1)
stringa = (text1)
For i = 0 To List1.ListCount - 1
If stringa = List1.List(i) Then
List1.RemoveItem (i) - 1
Else
List1.AddItem stringa
End If
Next i
Ti conviene però fare il ciclo all'opposto, cioè da list1.listcount - 1 to 0 step -1..
ciao
Se il codice lo hai scritto tu, cosa c'è di automatico?Originariamente inviato da x69asterix
esatto!
Per evitare di avere in lista un valore duplicato, come ti hanno già suggerito, basta evitare di inserirlo quando c'è già.
A questo punto, siccome il codice per inserire l'elemento lo hai scritto tu, non vedo cosa ci sia di "automatico": basta completare il codice inserendo il controllo aggiuntivo che l'elemento digitato non sia già presente nella casella e, solo in caso negativo, inserirlo attraverso la AddItem.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...