Onkos kenellekkään tullut vastaan valmista koodia, millä tarkastetaan VB6:ssa TextBoxiin syötetyn henkilötunnuksen oikeellisuuden. Olisin linkistä tai koodista hyvin kiitollinen.
Henkilötunnuksen tarkistaminen on helppo juttu, esim. tällä sivulla on tietoa sen muodostumisesta:
http://www.hut.fi/~jautero/faq//sao-faq.html/ch2.html#s2.3
Tässä on VB-funktio, joka tarkistaa tunnusosan eli viimeisen merkin oikeellisuuden. Funktiota voisi ehkä vielä parantaa niin, että se tarkistaisi päivämäärän oikeellisuuden sekä sen, että välimerkki on +, - tai A.
'tunnus = tarkistettava henkilötunnus, palauttaa True, jos se on oikein Function TarkistaHetu(tunnus As String) As Boolean If Mid("0123456789ABCDEFHJKLMNPRSTUVWXY", _ Val(Left(tunnus, 6) + Mid(tunnus, 8, 3)) _ Mod 31 + 1, 1) = Right(tunnus, 1) Then TarkistaHetu = True End If End Function
Mielenkiintoinen esimerkki. Antin VB-koodi vie 7 riviä ja linkistä löytyvä C-kielen ohjelma noin 165 riviä. Siihen niitä virheitäkin mahtuu. Kyllä koodinvääntö C-kielellä vaatii rautaista ammattitaitoa.
jos antin koodin laittaa yhdelle riville eli nappaa noi rivinjatkot (eli _) pois ja tekee iffistä yksirivisen niin se menee kolmelle riville :P
Kiitokset. Kyllä toimii.
noista rivinjatkoista en ollu ennen kuullukaan, pitääkin ruveta käyttään ja kokeileen miten ne toimii. ainiin ja sori mun offtopic
Aihe on jo aika vanha, joten et voi enää vastata siihen.