Moro taasen,
Eli ongelmana on tällainen:
Minulla on nyt funktiot
- tarkastaKayttaja(), jolle tuodaan textboxin nimet formista
- tallennaKayttaja(), joka tallentaa tarkastaKayttaja() -funktiosta i:n arvon
- annaKayttaja(), jonka pitäisi saada i:n arvo vastaan ja lähettää käyttäjän tiedot eteenpäin
Mitenkähän tuo nyt sitten onnistuu?
Function tallennaKayttaja(ByVal varmistus As Integer) As Integer
Dim varmistus2 As Integer
varmistus = varmistus2
End Function
Function tarkastaKayttaja(ByVal textbox, ByVal textbox2)
Dim i, x As Integer
Dim aloitus2 As New aloitus2
Dim k(3) As kayttajat
With k(0)
.kayttaja = "a0001"
.salasana = "1234"
End With
With k(1)
.kayttaja = "a0002"
.salasana = "4321"
End With
With k(2)
.kayttaja = "a0003"
.salasana = "2143"
End With
For i = 0 To 2
If textbox.Text = k(i).kayttaja And textbox2.Text = k(i).salasana Then
tallennaKayttaja(i)
aloitus2.ShowDialog()
End If
Next i
End Function
Function AnnaKayttaja()
End FunctionTuo tallennaKayttaja taitaa olla poskellaan. Jos ymmärsin oikein, niin sen pitäisi laittaa tuo i talteen, jonka se saa varmistus-parametrina. Jos tuon AnnaKayttajan pitäisi tietää kyseisen parametrin arvo myöhemmin, esim. jonkun painonapin takaa, niin parametri täytyy tallentaa johonkin globaaliin muuttujaan.
Jos et käytä funktioita palauttamaan mitään arvoja, ne voi yhtä hyvin olla subeja.
Esimerkiksi (oletan että tuo tarkastaKayttaja toimii, en viitsinyt testata):
'ihan formin koodin alussa
Dim varmaI as Integer
Sub tallennaKayttaja(ByVal varmistus As Integer) 'tämä voi olla ihan sub
varmaI = varmistus
End Sub
Sub tarkastaKayttaja(ByVal textbox, ByVal textbox2) 'tämäkin voi olla sub
Dim i, x As Integer
Dim aloitus2 As New aloitus2
Dim k(3) As kayttajat
With k(0)
.kayttaja = "a0001"
.salasana = "1234"
End With
With k(1)
.kayttaja = "a0002"
.salasana = "4321"
End With
With k(2)
.kayttaja = "a0003"
.salasana = "2143"
End With
For i = 0 To 2
If textbox.Text = k(i).kayttaja And textbox2.Text = k(i).salasana Then
tallennaKayttaja(i)
aloitus2.ShowDialog()
Exit For 'jos käyttäjä löytyi, seuraavia ei tarvitse tarkastaa, vai kuinka?
End If
Next i
End Sub
Sub AnnaKayttaja() 'tämäkin voi olla sub
'nyt täällä tiedetään että i on muuttujassa varmaI
MsgBox CStr(varmaI)
End SubKiitoksia!
Taas löytyi apu:) Tein toisen version kyseisestä koodista... paljon pitemmän kaavan kautta, mutta toimii kuitenkin..
Tuo on silti selkeämpi..
Kiitoksia vielä kerran:D
Aihe on jo aika vanha, joten et voi enää vastata siihen.