Visual
Basic - Lösning Lab 16 |

Option Explicit
Private Sub CommandBeräkna_Click()
'Deklaration av variabler
Dim pnr As String
Dim i As Integer
Dim mult As Integer
Dim sum As Integer
'Hämta personnumret till variabeln 'pnr'.
pnr = Text1.Text
'Ta bort '-'-tecknet
pnr = Replace(pnr, "-", "") 'Ersätter '-' med ingenting
'Initiera variabler
sum = 0
mult = 2
'Gå igenom 'pnr'
For i = 1 To Len(pnr)
Dim värde As Integer
'Ta reda på siffran
värde = Val(Mid(pnr, i, 1))
'Multiplicera med faktorn
värde = värde * mult
If värde > 9 Then
'Summera siffrornas värden, t ex 17 => 1+7=8
värde = värde - 9
End If
'Räkna upp summan
sum = sum + värde
'Ändra faktorn till nästa varv
If mult = 1 Then
mult = 2
Else
mult = 1
End If
Next i
'Justera sista siffran
Dim siffran As Integer
'Ta bort 10-tals-siffran
siffran = sum Mod 10
'Räkna ut "resten".
siffran = 10 - siffran
'Kontrollera om det blir just 10, isf ska det bli 0
If siffran = 10 Then
siffran = 0
End If
'Presentera
MsgBox "Personnumret blir " & Text1.Text & Str(siffran)
'Markera det som står i rutan
Text1.SetFocus
Call SelectPnr
End Sub
Private Sub Form_Load()
'Markera det som står i rutan
Call SelectPnr
End Sub
Private Sub SelectPnr()
'Markera det som står i rutan
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End Sub
|