Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: käyttäjän ja salasanan tarkistus... onkelmia

Belaeryth [30.01.2005 19:02:39]

#

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 i

Mod: kooditagit lisätty

Latska [30.01.2005 19:21:02]

#

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.

Antti Laaksonen [30.01.2005 19:41:37]

#

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.

Belaeryth [30.01.2005 20:35:35]

#

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!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta