Juu, kun olis tämmönen ongelma.. eli haluaisin ohjelman tarkistavan, että käyttäjätunnus ja salasana täsmäävät.. mutta kun ei meinaa tuo For -homma pelata.. mitähän funktiota tuohon vois käyttää? Vai meneekö pelkästään sillä?
Jotka osaavat vastata, vastatkaa pikaisesti. Kiitoksia jo etukäteen:)
With k1
.kayttaja = "a0001"
.salasana = "1234"
End With
With k2
.kayttaja = "a0002"
.salasana = "4321"
End With
With k3
.kayttaja = "a0003"
.salasana = "2143"
End With
i = 1
For i = 1 To 3
k0 = "k" & i & ".kayttaja" 'pitäisi tulla k1.kayttaja, k2.kayttaja jne
s0 = "k" & i & ".salasana"
If kayttajatunnus.Text = k0 And salasana.Text = s0 Then
aloitus2.ShowDialog()
End If
i += 1
Next iMod: kooditagit lisätty
Katoppa kohtaa i = 1 se tekee tuon aika mahdottomaksi. Eli
For 1 = 1 To 3
Joka sinällään on kovin mahdotonta. Ja rivi i +=1 en tiedä onko tuo tahallinen vai tahaton virhe, mutta tuokin on melko mahdoton rivi.
Muista muuten ensi kerralla kooditagit.
Ei i-muuttujan määrittely ennen silmukkaa haittaa mitään, jos ei hyödytäkään. Rivi "i += 1" viittaa siihen, että ohjelma on tehty VB.NETillä. Kuitenkaan muuttujan arvoa ei pidä kasvattaa itse, vaan For-silmukka pitää siitä huolen.
Muuttujaan ei voi viitata merkkijonossa olevan nimen kautta. Mutta kun teet yksittäisten muuttujien asemesta taulukon, ongelma ratkeaa. Nyt sinulla on varmaan koodin alussa jotain tällaista:
Dim k1, k2, k3 As TYYPPI
Muuta määrittely muotoon:
Dim k(2) As TYYPPI
Nyt voit viitata ensimmäiseen muuttujaan nimellä k(0), toiseen k(1) ja kolmanteen k(2). Luvun tilalla voi yhtä hyvin olla muuttuja tai kokonainen laskulauseke.
Kiitoksia Teille! Nyt toimii!
En huomannut lukea noita keskusteluohjeita, kun pientä paniikkia meinaa tulla tämän koodaamisen kanssa.
Eli vb.net:llä teen tätä ja tuo i = 1 jäi tuonne, kun yritin jotain... mitä en nyt enää muistakaan. Oon klo 12 asti istunut tämän ääressä ja alkaa ajatukset tökkimään.
Mutta kiitokset teille vielä kerran!
Aihe on jo aika vanha, joten et voi enää vastata siihen.