webForumDet fria alternativet

Val() av personnummer = fel ??

Programmering

5 svar · 288 visningar · startad av sailsoft

Medlem sedan juli 2001225 inlägg
Frågan#1

Jag försöker validera en inmatning av personnummer men får hela tiden fel fast personnumret är angivet rätt.

Val(txtKundPersonnummer.Text, iPos, iFelNr);

iPos > 'personnumret'

Klarar inte val att hantera så stora tal eller ?

Medlem sedan juni 2000350 inlägg
#2

Om ipos är av typen integer så räcker den inte till, Prova med int64.
Du kan prova att validera inmatningen med en MaskEdit komponent istället.

Medlem sedan juli 2001225 inlägg
#3

Jag tänkte ju använda en maskedit först, men om man bara fyllde i 6 av de 10 fälten och sen försökte validera inmatningen så fick jag körningsfel, hittade inget sätt att kontrollera så inmatningen blev rätt.

Hur kollar jag så inmatningen blev rätt från maskedit då?

Medlem sedan juni 2000350 inlägg
#4

Testa: 000000\-9999;1;_

Medlem sedan juli 2001225 inlägg
#5

Jag har fortfarande problem med hur jag skall kontrollera så maskedit kontrollen ärn korrekt ifylld. Jag bifogar 1 bild som förklarar problemet.

felmeddelande.jpg
Medlem sedan juni 2000350 inlägg
#6

Tror du kan anväda ValidateEdit och sedan fånga ett exception, om du själv vill visa ett felmeddelande.

Men det enklaste är nog att behandla personnummret som en sträng och kontrollera denna själv med kod.
Exempel på detta.
http://gillberg.dynup.net/tipstricks/delphi_personnummer.html

260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)