SMF & Programmer > Programmer

สุ่มบัตรประชาชน Perl

(1/1)

Admin:
[mb]


--- โค๊ด: ---
#!/usr/bin/env perl
# Thai ID Number Random original code by AssazziN THD
# Port to Linux by Ron Linix
use Tk;

### ID rand func
sub makeTSSN {
$id[0]=int(rand(8))+1;
$last=$id[0];
foreach $z (2..12) {
   $id[$z-1]=int(rand(9));
   $tmp[$z-1]=$id[$z-1]*(14-$z);
   $last+=$tmp[$z-1];
}
$last=11-($last%11);
if ($last==11) {
   $last=1;
}
elsif ($last==10) {
   $last=0;
}
$key=join('',@id);
$key.=$last;
#return $key;
return "$id[0]-$id[1]$id[2]$id[3]$id[4]-$id[5]$id[6]$id[7]$id[8]$id[9]-$id[10]$id[11]-$last";
}

### GUI
my $id;
my $mw = new MainWindow();
$mw->title("Thai ID Random.");
$mw->Label( -text => 'Thai ID Gen : Linux port by Ron Linix Original from AssazziN THD')->pack;
$entry = $mw->Entry( -textvariable => \$id )->pack;
$mw->Button( -text => 'Generate',
   -command => sub{ $id = &makeTSSN, print $id,"\n",} )->pack;
MainLoop;


--- End code ---
[/mb]
Cd - AssazziN THD

นำร่อง

[0] ดัชนีข้อความ

Go to full version