Ja jeg troede bare det ville være nemmere hvis jeg beskrev det
Men her er noget af den så:
procedure TForm1.Button2Click(Sender: TObject);
type Tcpr = array[1..6] of integer;
type Tslut = array[1..4] of integer;
var cpr : Tcpr;
slut : Tslut;
i,fejl,SUM,SUM1,SUM2,Kontrol : integer;
s : string;
begin
s := Inputbox('CPR','Indtast dato uden mellemrum eller bindestreger','');
for i := 1 to 6 do
begin
val(s[i],cpr[i],fejl);
end;
for i := 0 to 4 do
begin
slut[i] := 0;
end;
SUM1 := 0;
SUM2 := 0;
SUM1 := (cpr[1] * 4) + (cpr[2] * 3) + (cpr[3] * 2) + (cpr[4] * 7) + (cpr[5] * 6) + (cpr[6] * 5);
Kontrol := 0;
repeat //1000'erne
repeat // 100'erne
repeat // 10'erne
repeat // 1'erne
SUM2 := (slut[1] * 4) + (slut[2] * 3) + (slut[3] * 2) + (slut[1] * 1);
SUM := SUM1 + SUM2;
if SUM mod 11 = 0 then
begin
ListBox.Items.Add(Format('%g er gyldigt.',[cpr]));
end;
Inc(slut[4]);
until slut[4]=10;
slut[4] := 0;
Inc(slut[3]);
until slut[3] = 10;
slut[3] := 0;
Inc(slut[2]);
until slut[2] = 10;
slut[2] := 0;
Inc(slut[1]);
until slut[1] = 10;
end;
Indlæg senest redigeret d. 21.02.2007 16:39 af Bruger #11404