rendered paste body###############
## Made by ##
## Nargil ##
## ##
## #1024 @ ##
## Quakenet ##
## ##
## Free for ##
## personal ##
## use ##
## ##
## !FIX! ##
## 2 ##
## Fixes ##
###############
menu channel,status,query,nicklist,menubar {
-
Personnummergenerator:/person
}
on *:load:{
unload -rs -rs Personnummergenerator-by.Nargil.ini
echo -a Personnummergenerator laddad. Finns nu i menyn.
echo -a Made by Nargil - #1024 @ Quakenet.org - Free for personal use
personpic 0 0 0 0
}
alias personnummer {
if (($len($1) != 9) || ($1 !isnum)) {
return Error1
halt
}
elseif ($1 == 000000000) {
return Error2
halt
}
elseif ($right($left($1,6),4) == 0229) {
if ($chr(46) isin $calc($left($1,2) / 4)) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 01) {
if ($right($left($1,6),2) > 31) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 03) {
if ($right($left($1,6),2) > 31) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 04) {
if ($right($left($1,6),2) > 30) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 05) {
if ($right($left($1,6),2) > 31) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 06) {
if ($right($left($1,6),2) > 30) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 07) {
if ($right($left($1,6),2) > 31) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 08) {
if ($right($left($1,6),2) > 31) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 09) {
if ($right($left($1,6),2) > 30) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 10) {
if ($right($left($1,6),2) > 31) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 11) {
if ($right($left($1,6),2) > 30) {
return Error2
halt
}
}
elseif ($right($left($1,4),2) == 12) {
if ($right($left($1,6),2) > 31) {
return Error2
halt
}
}
var %x = $1
var %z = $calc($left(%x,1)*2) $+ $calc($right($left(%x,2),1)*1) $+ $calc($right($left(%x,3),1)*2) $+ $calc($right($left(%x,4),1)*1) $+ $calc($right($left(%x,5),1)*2) $+ $calc($right($left(%x,6),1)*1) $+ $calc($right($left(%x,7),1)*2) $+ $calc($right($left(%x,8),1)*1) $+ $calc($right($left(%x,9),1)*2)
var %n = 1
var %q = 0
var %t = $len(%z)
while (%n <= %t) {
var %q = $calc(%q + $right($left(%z,%n),1))
inc %n
}
if ($right(%q,1) == 0) {
var %f = $left(%q,1)
}
else {
var %f = $left(%x,6) $+ - $+ $right(%x,3) $+ $calc(10 - $right(%q,1))
}
return %f
}
alias personkoen {
var %x = $1
if ($right($left(%x,10),1) isin 13579) {
var %f = 1
}
else {
var %f = 0
}
return %f
}
alias personlaen {
var %x = $1
var %z = $right($left(%x,10),3)
if (%z isnum 001-139) { return Stockholms län (AB) }
elseif (%z isnum 140-159) { return Uppsala län (C) }
elseif (%z isnum 160-189) { return Södermanlands län (D) }
elseif (%z isnum 190-237) { return Östergötlands län (E) }
elseif (%z isnum 240-269) { return Jönköpings län (F) }
elseif (%z isnum 270-289) { return Kronobergs län (G) }
elseif (%z isnum 290-319) { return Kalmar län (H) }
elseif (%z isnum 320-329) { return Gotlands län (I) }
elseif (%z isnum 330-349) { return Blekinge län (K) }
elseif (%z isnum 350-389) { return Kristianstads län (L) }
elseif (%z isnum 390-459) { return Malmöhus län (M) }
elseif (%z isnum 460-479) { return Hallands län (N) }
elseif (%z isnum 480-549) { return Göteborgs och Bohus län (O) }
elseif (%z isnum 550-589) { return Älvsborgs län (P) }
elseif (%z isnum 590-619) { return Skaraborgs län (R) }
elseif (%z isnum 620-649) { return Värmlands län (S) }
elseif (%z isnum 660-689) { return Örebro län (T) }
elseif (%z isnum 690-709) { return Västmanlands län (U) }
elseif (%z isnum 710-739) { return Kopparbergs län (W) }
elseif (%z isnum 740-749) { return Serien används eventuellt för adopterade, som fötts utanför Sverige }
elseif (%z isnum 750-779) { return Gävleborgs län (X) }
elseif (%z isnum 780-819) { return Västernorrlands län (Y) }
elseif (%z isnum 820-849) { return Jämtlands län (Z) }
elseif (%z isnum 850-889) { return Västerbottens län (AC) }
elseif (%z isnum 890-929) { return Norrbottens län (BD) }
elseif (%z isnum 930-999) { return Extraserie använd när de andra tar slut eller vid immigration }
}
alias personsign {
if ($right($left($1,4),2) == 01) {
if ($right($left($1,6),2) <= 19) {
return Stenbocken
halt
}
else {
return Vattumannen
halt
}
}
if ($right($left($1,4),2) == 02) {
if ($right($left($1,6),2) <= 18) {
return Vattumannen
halt
}
else {
return Fiskarna
halt
}
}
if ($right($left($1,4),2) == 03) {
if ($right($left($1,6),2) <= 20) {
return Fiskarna
halt
}
else {
return Väduren
halt
}
}
if ($right($left($1,4),2) == 04) {
if ($right($left($1,6),2) <= 19) {
return Väduren
halt
}
else {
return Oxen
halt
}
}
if ($right($left($1,4),2) == 05) {
if ($right($left($1,6),2) <= 20) {
return Oxen
halt
}
else {
return Tvillingarna
halt
}
}
if ($right($left($1,4),2) == 06) {
if ($right($left($1,6),2) <= 20) {
return Vattumannen
halt
}
else {
return Kräftan
halt
}
}
if ($right($left($1,4),2) == 07) {
if ($right($left($1,6),2) <= 22) {
return Kräftan
halt
}
else {
return Lejonet
halt
}
}
if ($right($left($1,4),2) == 08) {
if ($right($left($1,6),2) <= 22) {
return Lejonet
halt
}
else {
return Jungfrun
halt
}
}
if ($right($left($1,4),2) == 09) {
if ($right($left($1,6),2) <= 22) {
return Jungfrun
halt
}
else {
return Vågen
halt
}
}
if ($right($left($1,4),2) == 10) {
if ($right($left($1,6),2) <= 22) {
return Vågen
halt
}
else {
return Skorpionen
halt
}
}
if ($right($left($1,4),2) == 11) {
if ($right($left($1,6),2) <= 21) {
return Skorpionen
halt
}
else {
return Skytten
halt
}
}
if ($right($left($1,4),2) == 12) {
if ($right($left($1,6),2) <= 21) {
return Skytten
halt
}
else {
return Stenbocken
halt
}
}
}
alias person {
dialog -md persongui persongui
}
dialog persongui {
title "Personnummergenerator"
size -1 -1 240 68
option dbu
button "Generate", 1, 5 5 50 10
edit "000000", 2, 60 5 25 10, center
text "-", 3, 85 6 4 10, center
edit "000", 4, 90 5 16 10, center
edit "", 5, 106 5 7 10, read
edit "", 6, 5 20 108 10, read center
edit "", 7, 5 32 108 10, read center
edit "", 8, 5 44 108 10, read center
edit "", 9, 5 56 108 10, read center
icon 10, 115 -1 125 50, personpic.jpeg
button "Kopiera text", 11, 117 44 58 10
button "Spara bild", 12, 180 44 58 10
}
alias personpic {
window -pd @person 0 1 250 100
drawfill -s @person 0 1 5 5
drawtext -pbp @person 1 0 fixedsys 10 5 5 Personnummer: $1
drawtext -pbp @person 1 0 fixedsys 10 5 21 Kön: $2
drawtext -pbp @person 1 0 fixedsys 10 5 37 Stjärntecken: $3
drawtext -pbp @person 1 0 fixedsys 10 5 53 Län: $4-
drawsave -q100 @person personpic.jpeg
drawsave -q100 @person personpic2.jpeg
window -ac @person
}
on 1:dialog:persongui:sclick:11:{
clipboard $did(persongui,6).text $+ $chr(10) $+ $did(persongui,7).text $+ $chr(10) $+ $did(persongui,8).text $+ $chr(10) $+ $did(persongui,9).text
}
on 1:dialog:persongui:sclick:12:{
copy -ao personpic.jpeg $sfile(C:\,Spara Personnummer.jpeg,Spara)
}
on 1:dialog:persongui:sclick:1:{
var %x = $personnummer($did(persongui,2) $+ $did(persongui,4).text)
if (Error1 == %x) {
did -r persongui 6
did -a persongui 6 Skriv in 9 SIFFROR...
did -r persongui 7
did -r persongui 8
did -r persongui 9
}
elseif (Error2 == %x) {
did -r persongui 6
did -a persongui 6 Skriv in ett giltigt nummer...
did -r persongui 7
did -r persongui 8
did -r persongui 9
}
else {
var %r = $right(%x,1)
did -r persongui 5
did -a persongui 5 %r
did -r persongui 6
did -a persongui 6 Hela personnummret är: %x
did -r persongui 7
var %k = $personkoen(%x)
var %u = $personlaen(%x)
var %s = $personsign(%x)
did -a persongui 7 Kön: $replace(%k, 1, Man, 0, Kvinna)
did -r persongui 8
did -a persongui 8 Län: %u
did -r persongui 9
did -a persongui 9 Stjärntecken: %s
personpic %x $replace(%k, 1, Man, 0, Kvinna) %s %u
}
did -g persongui 10 personpic.jpeg
}