Eli miten onnistuu tekstintiedoston tekstien saaminen comboboxiin? osaan kyllä lukea yhen rivin, mutta pitäs saada kaikki tekstit comboboxiin...
Lue tiedostosta rivejä, kunnes Eof-funktio ilmoittaa tiedoston loppumisesta. Koodi menee suunnilleen näin:
Dim rivi As String Open "oma.txt" For Input As #1 While Not Eof(1) Line Input #1, rivi Combo1.AddItem rivi Wend Close #1
kiitoksia, toimii!
Mutta miten poistetaan combosta tietoa, entä kuinka tarkistaa onko tieto jo listattuna?
1) ComboBox sisältää metodin RemoveItem, jolle annat suluissa minkä tiedon haluat poistaa. Clear taas poistaa kaikki tiedot.
Combo1.RemoveItem(0) 'poistaa ensimmäisen tiedon Combo1.Clear 'poistaa loputkin tiedot
2) Esimerkiksi For-silmukalla
Dim rivi As String Dim i As Integer Dim OnJo As Boolean Open "oma.txt" For Input As #1 While Not Eof(1) Line Input #1, rivi OnJo = False For i = 0 To Combo1.ListCount - 1 If Combo1.List(i) = rivi Then OnJo = True Next i If Not OnJo Then Combo1.AddItem rivi Wend Close #1
Toinen mieleen tullut tapa on käyttää String-tyyppistä apumuuttujaa, jos taulu on tyhjä tai se ensin tyhjätään, ennen kuin sinne viedään tietoja txt-filestä.
Dim rivi As String Dim OnJo As String Open "oma.txt" For Input As #1 Combo1.Clear While Not Eof(1) Line Input #1, rivi OnJo = OnJo & "|" & rivi & "|" 'käytetään vbTextCompare:a, niin vertailu ei erottele isoja ja pieniä kirjaimia 'jos kirjain koolla on jotain väliä, niin tuon voi ottaa pois tai vaihtaa vbBinaryCompare:ksi If InStr(1, OnJo, "|" & rivi & "|", vbTextCompare) <> 0 Then Combo1.AddItem rivi Wend Close #1
Aihe on jo aika vanha, joten et voi enää vastata siihen.