Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Hetu:n tarkastus

arisau [30.03.2004 01:13:42]

#

Onkos kenellekkään tullut vastaan valmista koodia, millä tarkastetaan VB6:ssa TextBoxiin syötetyn henkilötunnuksen oikeellisuuden. Olisin linkistä tai koodista hyvin kiitollinen.

Antti Laaksonen [30.03.2004 07:51:23]

#

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

setä [30.03.2004 10:16:25]

#

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.

sooda [31.03.2004 11:38:12]

#

jos antin koodin laittaa yhdelle riville eli nappaa noi rivinjatkot (eli _) pois ja tekee iffistä yksirivisen niin se menee kolmelle riville :P

arisau [05.04.2004 11:58:25]

#

Kiitokset. Kyllä toimii.

Puhveli [06.04.2004 16:43:16]

#

noista rivinjatkoista en ollu ennen kuullukaan, pitääkin ruveta käyttään ja kokeileen miten ne toimii. ainiin ja sori mun offtopic

Vastaus

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

Tietoa sivustosta