/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Validering af CPR
Fra : Ukendt


Dato : 09-01-06 20:29

Hej.

Det bliver benyttet ofte, så der må være en, der ligger inde med noget kode
til at validere et CPR-nummer (med modulus11) som er indtastet i en editboks

Er der en herinde, der har sådan noget og vil dele?



 
 
Uffe Kousgaard (09-01-2006)
Kommentar
Fra : Uffe Kousgaard


Dato : 09-01-06 20:35

"Museumsmedarbejderen" <Industrimuseet> wrote in message
news:43c2b960$0$12109$ba624c82@nntp02.dk.telia.net...
>
> Er der en herinde, der har sådan noget og vil dele?

Kunne google ikke finde noget til dig?

Læs i øvrigt:
http://www.cpr.dk/Index/dokumenter.asp?o=2&n=0&t=1&d=393&s=4

hilsen
Uffe



Ukendt (09-01-2006)
Kommentar
Fra : Ukendt


Dato : 09-01-06 20:39

"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:43c2baea$0$84021$edfadb0f@dtext01.news.tele.dk...
> "Museumsmedarbejderen" <Industrimuseet> wrote in message
> news:43c2b960$0$12109$ba624c82@nntp02.dk.telia.net...
>>
>> Er der en herinde, der har sådan noget og vil dele?

> Kunne google ikke finde noget til dig?

Nej. Ikke til Delphi

Men til alt muligt andet inkl. Excel og papir/blyant

> Læs i øvrigt:
> http://www.cpr.dk/Index/dokumenter.asp?o=2&n=0&t=1&d=393&s=4

Ja ved det (desværre) godt. Men er interesseret alligevel



Uffe Kousgaard (09-01-2006)
Kommentar
Fra : Uffe Kousgaard


Dato : 09-01-06 21:21

"Museumsmedarbejderen" <Industrimuseet> wrote in message
news:43c2bbc9$0$16993$ba624c82@nntp02.dk.telia.net...
>
> Nej. Ikke til Delphi
>
> Men til alt muligt andet inkl. Excel og papir/blyant

Det er en ret simpel formel, som nemt kan oversættes til delphi kode, hvis
man har f.eks. excel.

hilsen
Uffe



Hans (09-01-2006)
Kommentar
Fra : Hans


Dato : 09-01-06 20:40

"Museumsmedarbejderen" <Industrimuseet> skrev i en meddelelse
news:43c2b960$0$12109$ba624c82@nntp02.dk.telia.net...
> Hej.
>
> Det bliver benyttet ofte, så der må være en, der ligger inde med noget
> kode til at validere et CPR-nummer (med modulus11) som er indtastet i en
> editboks
>
> Er der en herinde, der har sådan noget og vil dele?

Fandt dette på min HD

function cleancprnummer(cpr : string) : string;
var
x : byte;
begin
x:=1;
while x<=length(cpr) do
begin
if not (upcase(cpr(.x.)) in (.'0'..'9','A'..'Z'.)) then
delete(cpr,x,1)
else
inc(x);
end;
result:=cpr;
end;

function testcprnummerok(cprnummer : string) : byte;
var
cpr : string;
nr : array(.1..10.) of byte;
x : byte;
verdi : word;
tal : byte;
code : integer;
begin
testcprnummerok:=1;
cpr:=cleancprnummer(cprnummer);

if length(cpr)<>10 then
exit;

for x:=1 to 10 do
begin
val(cpr(.x.),tal,code);
nr(.x.):=tal;
end;
verdi:=4*nr(.1.)+3*nr(.2.)+2*nr(.3.)+7*nr(.4.)+6*nr(.5.)+5*nr(.6.)+
4*nr(.7.)+3*nr(.8.)+2*nr(.9.)+nr(.10.);

if verdi mod 11<>0 then
testcprnummerok:=2
else
testcprnummerok:=3;
end;

-------------------------------------

if testcprnummerok(editcprnummer.text)=2 then
begin
if messagedlg('Det indtastede cprnummer er ikke et gyldigt dansk
cprnummer. Er dette i orden?',mterror,[mbyes,mbno],0)=idno then
begin
editcprnummer.setfocus;
exit;
end;
end;




Ukendt (09-01-2006)
Kommentar
Fra : Ukendt


Dato : 09-01-06 20:47

Hej Hans

"Hans" <nomail@noname.dk> skrev i en meddelelse
news:43c2bc0f$0$84034$edfadb0f@dtext01.news.tele.dk...
> "Museumsmedarbejderen" <Industrimuseet> skrev i en meddelelse
> news:43c2b960$0$12109$ba624c82@nntp02.dk.telia.net...
>> Hej.
>>
>> Det bliver benyttet ofte, så der må være en, der ligger inde med noget
>> kode til at validere et CPR-nummer (med modulus11) som er indtastet i en
>> editboks
>>
>> Er der en herinde, der har sådan noget og vil dele?
>
> Fandt dette på min HD

Super godt - vidste ikke at det var SÅ besværligt at lave et tjek på
CPR-nummer.

Kunne jeg få dig til at uddybe de første funktioner lidt for mig. Jeg har
kun været vant til simple procedurer, hvor der ikke er variabler af alle de
typer og beregninger.

> function cleancprnummer(cpr : string) : string;
> var
> x : byte;
> begin
> x:=1;
> while x<=length(cpr) do
> begin
> if not (upcase(cpr(.x.)) in (.'0'..'9','A'..'Z'.)) then
> delete(cpr,x,1)
> else
> inc(x);
> end;
> result:=cpr;
> end;
>
> function testcprnummerok(cprnummer : string) : byte;
> var
> cpr : string;
> nr : array(.1..10.) of byte;
> x : byte;
> verdi : word;
> tal : byte;
> code : integer;
> begin
> testcprnummerok:=1;
> cpr:=cleancprnummer(cprnummer);
>
> if length(cpr)<>10 then
> exit;
>
> for x:=1 to 10 do
> begin
> val(cpr(.x.),tal,code);
> nr(.x.):=tal;
> end;
> verdi:=4*nr(.1.)+3*nr(.2.)+2*nr(.3.)+7*nr(.4.)+6*nr(.5.)+5*nr(.6.)+
> 4*nr(.7.)+3*nr(.8.)+2*nr(.9.)+nr(.10.);
>
> if verdi mod 11<>0 then
> testcprnummerok:=2
> else
> testcprnummerok:=3;
> end;
>
> -------------------------------------
>
> if testcprnummerok(editcprnummer.text)=2 then
> begin
> if messagedlg('Det indtastede cprnummer er ikke et gyldigt dansk
> cprnummer. Er dette i orden?',mterror,[mbyes,mbno],0)=idno then
> begin
> editcprnummer.setfocus;
> exit;
> end;
> end;
>
>
>



Hans (09-01-2006)
Kommentar
Fra : Hans


Dato : 09-01-06 21:09

"Museumsmedarbejderen" <Industrimuseet> skrev i en meddelelse
news:43c2bdcb$0$4820$ba624c82@nntp02.dk.telia.net...
> Hej Hans
>
> "Hans" <nomail@noname.dk> skrev i en meddelelse
> news:43c2bc0f$0$84034$edfadb0f@dtext01.news.tele.dk...
>> "Museumsmedarbejderen" <Industrimuseet> skrev i en meddelelse
>> news:43c2b960$0$12109$ba624c82@nntp02.dk.telia.net...
>>> Hej.
>>>
>>> Det bliver benyttet ofte, så der må være en, der ligger inde med noget
>>> kode til at validere et CPR-nummer (med modulus11) som er indtastet i en
>>> editboks
>>>
>>> Er der en herinde, der har sådan noget og vil dele?
>>
>> Fandt dette på min HD
>
> Super godt - vidste ikke at det var SÅ besværligt at lave et tjek på
> CPR-nummer.
>
> Kunne jeg få dig til at uddybe de første funktioner lidt for mig. Jeg har
> kun været vant til simple procedurer, hvor der ikke er variabler af alle
> de typer og beregninger.

<klip kode>

Jow da,

cleancprnummer fjerner ganske enkelt alle tegn som ikke er 0>9 eller A>Z,
grunden til at jeg beholder A>Z er at jeg også benytter den til udenlandske
personer.

Ang. testcprnummerok:

Hvis længden af cprnummeret ikke er 10 returneres værdien 1
Hvis cprnummer er ugyldig returneres værdien 2
Hvis cprnummer er i orden returneres værdien 3

Bemærk: Det er nok 20 år siden (uden at overdrive) at jeg skrev funktionen i
Borland Pascal version et eller andet, så der kan nok pyntes på den.

Mvh
HK



Uffe Kousgaard (09-01-2006)
Kommentar
Fra : Uffe Kousgaard


Dato : 09-01-06 21:33

"Hans" <nomail@noname.dk> wrote in message
news:43c2c2f8$0$84015$edfadb0f@dtext01.news.tele.dk...
>
> Bemærk: Det er nok 20 år siden (uden at overdrive) at jeg skrev funktionen
> i Borland Pascal version et eller andet, så der kan nok pyntes på den.

Og det gør du så alligevel for Borland Pascal kom først til i 1992:
http://www.dragonsoftru.com/delphi_hist.php

Men har du været med helt siden turbo pascal 2, så kan det godt være sandt.
Jeg startede selv med TP3.

hilsen
Uffe



Hans (09-01-2006)
Kommentar
Fra : Hans


Dato : 09-01-06 21:44

"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:43c2c879$0$84037$edfadb0f@dtext01.news.tele.dk...
> "Hans" <nomail@noname.dk> wrote in message
> news:43c2c2f8$0$84015$edfadb0f@dtext01.news.tele.dk...
>>
>> Bemærk: Det er nok 20 år siden (uden at overdrive) at jeg skrev
>> funktionen i Borland Pascal version et eller andet, så der kan nok pyntes
>> på den.
>
> Og det gør du så alligevel for Borland Pascal kom først til i 1992:
> http://www.dragonsoftru.com/delphi_hist.php
>
> Men har du været med helt siden turbo pascal 2, så kan det godt være
> sandt. Jeg startede selv med TP3.

Ja Turbo Pascal var det det hed :), kan ikke huske hvad version jeg startede
med men det kan da godt være det kun har været 18 år siden så.

/HK



Finn Bindeballe (10-01-2006)
Kommentar
Fra : Finn Bindeballe


Dato : 10-01-06 07:53

hey....

er du saa ung....*G*....
jeg startede med compas-pascal - til CPM....*S* -(nok omkring 83-84)...

/finn

Ukendt (13-01-2006)
Kommentar
Fra : Ukendt


Dato : 13-01-06 17:45

Tak for det Finn

"Hans" <nomail@noname.dk> skrev i en meddelelse
news:43c2c2f8$0$84015$edfadb0f@dtext01.news.tele.dk...
> "Museumsmedarbejderen" <Industrimuseet> skrev i en meddelelse
> news:43c2bdcb$0$4820$ba624c82@nntp02.dk.telia.net...
>> Hej Hans
>>
>> "Hans" <nomail@noname.dk> skrev i en meddelelse
>> news:43c2bc0f$0$84034$edfadb0f@dtext01.news.tele.dk...
>>> "Museumsmedarbejderen" <Industrimuseet> skrev i en meddelelse
>>> news:43c2b960$0$12109$ba624c82@nntp02.dk.telia.net...
>>>> Hej.
>>>>
>>>> Det bliver benyttet ofte, så der må være en, der ligger inde med noget
>>>> kode til at validere et CPR-nummer (med modulus11) som er indtastet i
>>>> en editboks
>>>>
>>>> Er der en herinde, der har sådan noget og vil dele?
>>>
>>> Fandt dette på min HD
>>
>> Super godt - vidste ikke at det var SÅ besværligt at lave et tjek på
>> CPR-nummer.
>>
>> Kunne jeg få dig til at uddybe de første funktioner lidt for mig. Jeg har
>> kun været vant til simple procedurer, hvor der ikke er variabler af alle
>> de typer og beregninger.
>
> <klip kode>
>
> Jow da,
>
> cleancprnummer fjerner ganske enkelt alle tegn som ikke er 0>9 eller A>Z,
> grunden til at jeg beholder A>Z er at jeg også benytter den til
> udenlandske personer.
>
> Ang. testcprnummerok:
>
> Hvis længden af cprnummeret ikke er 10 returneres værdien 1
> Hvis cprnummer er ugyldig returneres værdien 2
> Hvis cprnummer er i orden returneres værdien 3
>
> Bemærk: Det er nok 20 år siden (uden at overdrive) at jeg skrev funktionen
> i Borland Pascal version et eller andet, så der kan nok pyntes på den.
>
> Mvh
> HK
>
>



Ukendt (13-01-2006)
Kommentar
Fra : Ukendt


Dato : 13-01-06 19:03

"Museumsmedarbejderen" <.> skrev i en meddelelse
news:43c7d909$0$9303$ba624c82@nntp02.dk.telia.net...
> Tak for det Finn

Undskyld - det var selvfølgelig Hans, jeg skulle sige tak til



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste