FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Clé de contrôle du numéro SS Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Clé de contrôle du numéro SS Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Clé de contrôle du numéro SS Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Clé de contrôle du numéro SS Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Clé de contrôle du numéro SS Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Clé de contrôle du numéro SS Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Clé de contrôle du numéro SS Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Clé de contrôle du numéro SS Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Clé de contrôle du numéro SS Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Clé de contrôle du numéro SS Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Clé de contrôle du numéro SS Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Clé de contrôle du numéro SS Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Clé de contrôle du numéro SS Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Clé de contrôle du numéro SS Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Clé de contrôle du numéro SS Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-45%
Le deal à ne pas rater :
PC Portable LG Gram 17″ Intel Evo Core i7 32 Go /1 To
1099.99 € 1999.99 €
Voir le deal

 

 Clé de contrôle du numéro SS

Aller en bas 
3 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Clé de contrôle du numéro SS Empty
MessageSujet: Clé de contrôle du numéro SS   Clé de contrôle du numéro SS EmptyDim 24 Nov 2013 - 14:36

Un petit (tout petit) programme sans grand intérêt, c'est pour ça que je le mets ici, pour calculer la clé de contrôle du numéro de sécurité sociale (les 2 chiffres qui suivent) ) à partir de ce numéro à 13 chiffres:
Code:
' clé de contrôle du numéro SS à partir des 13 chiffres
LABEL Exec
DIM v, q, r
WIDTH 0,210: HEIGHT 0,90: BORDER_SMALL 0: COLOR 0,180,255,255
CAPTION 0,"NB  DE  CONTRÔLE  DU   N°  SS"
ALPHA 1: CAPTION 1,"N° SS:"+CHR$(10)+"(13 ch.)"
EDIT 2: TOP 2,2: LEFT 2,50: WIDTH 2,100: COLOR 2,255,255,0
BUTTON 3: TOP 3,2: LEFT 3,LEFT(2)+WIDTH(2)+5: WIDTH 3,30: HEIGHT 3,20
CAPTION 3,"OK": ON_CLICK 3,Exec
ALPHA 4: TOP 4,32: CAPTION 4,"Nombre de contrôle:"
EDIT 5: TOP 5,30: LEFT 5,120: WIDTH 5,30: COLOR 5,255,255,0
END
Exec:
IF LEN(TEXT$(2))<>13 THEN MESSAGE "N° incorrect": RETURN
v = VAL(TEXT$(2)): q = INT(v/97): r = v-q*97
TEXT 5,STR$(97-r)
RETURN
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Clé de contrôle du numéro SS Empty
MessageSujet: Re: Clé de contrôle du numéro SS   Clé de contrôle du numéro SS EmptyDim 24 Nov 2013 - 16:00

Salut JL35.

Les clés permettent d’ouvrir des serrures, n’est-ce-pas ?
Et si la clé est bonne mais la serrure ne l’est pas, comment faire ?
Bon, Ok, c’est une mauvaise plaisanterie.
Je m’explique :
Ton programme permet  de calculer la clé  du N° de Sécurité Sociale.
Cette clé est sensée détecter les éventuelles  erreurs dans la saisie du N°.
Or ton programme ne détecte pas ces erreurs, c’est qui fait que tel qu’il est, il n’a pas beaucoup d’intérêt.
Exemple : entrer comme N° 0000000000000 ou 1111111111111.
Le programme affiche bien une clé, mais il est évident que les N° saisis sont erronés.



« Le numéro de sécurité sociale de chacun est composé de quinze chiffres. Les deux derniers forment une clé de deux chiffres.
Le premier donne le sexe (1 pour masculin, 2 pour féminin), les deux suivants l'année de naissance (2 derniers chiffres du millésime), puis le mois (sur 2 chiffres : février donne 02), le numéro du département (99 pour l'étranger, 2A et 2B pour la Corse : des règles spécifiques sont utilisées pour calculer la clé en Corse), celui de la commune (3 chiffres) enfin le numéro d'ordre d'inscription sur le registre d'état civil (3 chiffres).
Les deux derniers constituent la clé de vérification. Celle-ci est calculée à partir du nombre formé par les treize premiers chiffres. Si celui-ci a pour reste n dans la division par 97 alors la clé sera 97 - n. »
Regardez ici : http://therese.eveilleau.pagesperso-orange.fr/pages/truc_mat/textes/cles.htm

Donc, on peut (TU PEUX, si tu veux) inclure dans le programme les tests nécessaires pour que la saisie du N° respecte les règles.

Cela ne m’empêche pas de te remercier pour le partage.
Si je pinaille parfois (plutôt souvent) c’est pour interdire à celui qui, (comme moi) cherche à mettre en échec un programme en saisissant n’importe quoi !
Le concepteur du programme est à mon sens le responsable d’une saisie fantaisiste de l’utilisateur.

lol! lol! lol! 
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Clé de contrôle du numéro SS Empty
MessageSujet: Re: Clé de contrôle du numéro SS   Clé de contrôle du numéro SS EmptyDim 24 Nov 2013 - 17:35

J’ai ajouté des tests pour le contrôle de la saisie.

Code:
' clé de contrôle du numéro SS à partir des 13 chiffres
LABEL Exec
DIM v, q, r
dim n$,sexe$,annee$,mois$,departement$,commune$,ordre$ : ' <--- Papydall
WIDTH 0,210: HEIGHT 0,90: BORDER_SMALL 0: COLOR 0,180,255,255
CAPTION 0,"NB  DE  CONTRÔLE  DU   N°  SS"
ALPHA 1: CAPTION 1,"N° SS:"+CHR$(10)+"(13 ch.)"
EDIT 2: TOP 2,2: LEFT 2,50: WIDTH 2,100: COLOR 2,255,255,0 : set_focus 2 : ' Papydall
BUTTON 3: TOP 3,2: LEFT 3,LEFT(2)+WIDTH(2)+5: WIDTH 3,30: HEIGHT 3,20
CAPTION 3,"OK": ON_CLICK 3,Exec
ALPHA 4: TOP 4,32: CAPTION 4,"Nombre de contrôle:"
EDIT 5: TOP 5,30: LEFT 5,120: WIDTH 5,30: COLOR 5,255,255,0
END
Exec:

IF LEN(TEXT$(2))<>13 THEN MESSAGE "N° incorrect": RETURN

' Modif de Papydall
n$ = text$(2)
sexe$ = mid$(n$,1,1): annee$ = mid$(n$,2,2) : mois$ = mid$(n$,4,2)
departement$ = mid$(n$,6,2) : commune$ = mid$(n$,8,3) : ordre$ = mid$(n$,11,3)

if sexe$ <> "1" and sexe$ <> "2"
   message "Erreur sur le sexe : 1er chiffre(1 : masculin; 2 : féminin) " : return
end_if

if numeric(annee$) = 0
   message "Erreur sur l'année de naissance : 2ème et 3_eme chiffres (numérique)" : return
end_if

if numeric(mois$) = 0
   message "Erreur sur le mois : 4ème et 5ème chiffres (entier > 0 et < 13)" : return
else
   if (val(mois$) < 1) or (val(mois$) > 12)
      message "Erreur sur le mois : 4ème et 5ème chiffres (entier > 0 et < 13)" : return
   end_if
end_if

if numeric(departement$) = 0
   message "Erreur sur le département : 6ème et 7ème chiffres (numérique)" : return
end_if

if numeric(commune$) = 0
   message "Erreur sur la commune : 8ème, 9ème et 10ème chiffres (numérique)" : return
end_if

if numeric(ordre$) = 0
   message "Erreur sur le N° d'ordre : 11ème, 12ème et 13ème chiffres (numérique)" : return
end_if
' Fin de la modif de Papydall

v = VAL(TEXT$(2)): q = INT(v/97): r = v-q*97
TEXT 5,STR$(97-r)
RETURN
PS : J’ai remarqué qu’une certaine erreur de saisie n’est pas prise en compte.
En effet, la fonction NUMERIC(V$) considère le caractère e ou E comme valeur numérique.
E ou e est pris pour la notation en puissance de 10
Si E ou e ne sont suivis d’aucun nombre, il s’agit comme si c’était 0
Code:
print val("1e")  : ' <--- donne 1
print val("2E")  : ' <--- donne 2
print val("1e5") : ' <--- donne 100000
EDIT : Que celui qui veuille corriger cette erreur se met à torturer son clavier !
Moi, je m'échappe!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Clé de contrôle du numéro SS Empty
MessageSujet: Re: Clé de contrôle du numéro SS   Clé de contrôle du numéro SS EmptyDim 24 Nov 2013 - 18:21

Pour éviter les caractères alphabétiques et n'avoir que des chiffres, je ferais plutôt comme ça:
Code:
' clé de contrôle du numéro SS à partir des 13 chiffres
LABEL Exec , Edite
DIM v, q, r , C$ , L$ , R$ , V$ , P , i
V$="0123456789":' liste des caractères autorisés dans l'edit
WIDTH 0,210: HEIGHT 0,90: BORDER_SMALL 0: COLOR 0,180,255,255
CAPTION 0,"NB  DE  CONTRÔLE  DU   N°  SS"
ALPHA 1: CAPTION 1,"N° SS:"+CHR$(10)+"(13 ch.)"
EDIT 2: TOP 2,2: LEFT 2,50: WIDTH 2,100: COLOR 2,255,255,0:ON_CHANGE 2,Edite
BUTTON 3: TOP 3,2: LEFT 3,LEFT(2)+WIDTH(2)+5: WIDTH 3,30: HEIGHT 3,20
CAPTION 3,"OK": ON_CLICK 3,Exec
ALPHA 4: TOP 4,32: CAPTION 4,"Nombre de contrôle:"
EDIT 5: TOP 5,30: LEFT 5,120: WIDTH 5,30: COLOR 5,255,255,0
END

Exec:
IF LEN(TEXT$(2))<>13 THEN MESSAGE "N° incorrect": RETURN
v = VAL(TEXT$(2)): q = INT(v/97): r = v-q*97
TEXT 5,STR$(97-r)
RETURN

Edite:
   L$="":R$=""
   FOR i=1 TO LEN(TEXT$(2))
      C$=MID$(TEXT$(2),i,1)
      P=INSTR(V$,C$)
      if P=0 THEN EXIT_FOR
   NEXT i
   L$=LEFT$(TEXT$(2),i-1)
   if LEN(TEXT$(2))>i THEN R$=RIGHT$(TEXT$(2),LEN(TEXT$(2))-i)
   TEXT 2,L$+R$:CARET_POSITION 2,LEN(TEXT$(2))
RETURN
A+ Wink Wink Wink
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Clé de contrôle du numéro SS Empty
MessageSujet: Re: Clé de contrôle du numéro SS   Clé de contrôle du numéro SS EmptyDim 24 Nov 2013 - 18:41

Certes, vous avez raison, mais le but était uniquement de montrer l'algorithme de calcul de la clé à partir du numéro, et non pas de valider ce numéro, il est bien évident que si on rentre un mauvais numéro on aura une mauvaise clé !
Et aucun contrôle ne m'empêchera de saisir un numéro erroné, sexe, département, commune, etc..., la clé correspondra au numéro saisi, c'était le seul but.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Clé de contrôle du numéro SS Empty
MessageSujet: Re: Clé de contrôle du numéro SS   Clé de contrôle du numéro SS EmptyDim 24 Nov 2013 - 21:55

Réflexion faite, puisque la clé est égale à 97 – le reste de la division entière du numéro par 97, on peut la calculer simplement par :
Code:
 text 5, str$(97-mod(v,97))
sans passer par q et r.
Mais ce n’est qu’un détail ! Laughing 
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Clé de contrôle du numéro SS Empty
MessageSujet: Re: Clé de contrôle du numéro SS   Clé de contrôle du numéro SS EmptyDim 24 Nov 2013 - 22:32

Bien joué papydall ! finalement mon programme se résume à une seule ligne !
C'est un détail, certes, mais le détail qui fait la différence entre le programmeur génial et le programmeur besogneux !
Je plaisante, mais imagine d'en faire un exécutable qui va peser 1,4 M pour deux ou trois lignes de code...
vivement le compilateur.
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Clé de contrôle du numéro SS Empty
MessageSujet: Re: Clé de contrôle du numéro SS   Clé de contrôle du numéro SS EmptyDim 24 Nov 2013 - 22:56

JL35 a écrit:
Bien joué papydall ! finalement mon programme se résume à une seule ligne !
Donc c’est un programme optimisé.Laughing 
Sans doute, il ne pèsera pas lourd dans le compilateur, mais attendons jusqu’à demain pour voir !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Clé de contrôle du numéro SS Empty
MessageSujet: Re: Clé de contrôle du numéro SS   Clé de contrôle du numéro SS EmptyDim 24 Nov 2013 - 23:04

J'ai hâte d'essayer ! surtout pour voir les volumes résultants. Et sans doute aussi la rapidité d'exécution.

J'espère que je ne vais pas en rêver cette nuit, en attendant... bonne nuit ! Sleep 
Revenir en haut Aller en bas
Contenu sponsorisé





Clé de contrôle du numéro SS Empty
MessageSujet: Re: Clé de contrôle du numéro SS   Clé de contrôle du numéro SS Empty

Revenir en haut Aller en bas
 
Clé de contrôle du numéro SS
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comment vérifier la somme de contrôle d'un fichier
» Numéro de version
» Contrôle validité de date
» Contrôle des touches de fonction
» "Back 2 Basic" numéro 4

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Présentation et bavardage-
Sauter vers: