IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Générer un code d'une carte fiscale?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut Générer un code d'une carte fiscale?
    Slt
    je suis en Cours de developper un programme de gestion des cartes fiscales
    et je trouve un probleme pour generer le numero de ces derniers.
    Programme:
    Base de donnes des Contribuables physiques en paradox contien les champ suivants:
    -nom-prenom-
    nom_mere-prenom_mere .
    mois_naissance-année_naissance.
    Num act de naissance- num inscription.
    sexe - adresse- Activité- tel- num de commune.
    je cherche a generer un numero de carte fiscale a l'aide de ces champs.
    Le num de carte fiscales sa sera:
    Lematricule fiscale comprend 15 positions numeriques.
    1 + 3 + 4 + 5 + 2 =15
    --------- --------------- -------------- ------------ ---------------
    Code Sexe Année-Naissance Lieu-Naissance N° Act-Naiss Clé de controle

    La codification de ces champs:
    Chiffres impairs : masculin
    chiffres pairs :féminin

    (1) Code sexe

    1 et 2 :extrait de naissance normal
    3 et 4 :Extrait de naissance doublé
    4 et 5 :Extrait de naissance en trible
    7 et 8 : Présumé.

    (2) Année de naissance
    3 derniers chiffres de l'année de naissance.
    cas d'un d'un présumé: année de transcription a l'etat civil.

    (3) Lieu de naissance:
    2 position : code wilaya.
    2 position: Code commune.
    ...etc


    Merci d'avancement

  2. #2
    Membre chevronné
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Par défaut
    Bonjour,
    Donnez nous un exemple de votre code fiscal complet, on vous aidera beaucoup mieux. Il nous manque les noms de champs tels qu'ils apparaissent dans la table ainsi que le et/ou les caractéres de séparation.

    Il est trés simple de générer un code quelque soit sa nature.
    Exemple :
    Supposons que j'ai 7 champs de table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ChpsSexe.value:=1;
    ChpsAnn.value:=55;
    ChpsMois.value:=12;
    ChpsDep.value:=20;
    NumVill.value:=183;
    NumDistrict.value:=014;
    CodeClefs.value:=47
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    ....
    procedure evenementquelconque(Dataset : TDataset);
    var
    MonCode : String;
    begin
    MonCode := Dataset.fieldbyname('ChpsSexe').value+'-'+
                     Dataset.fieldbyname('ChpsAnn').value+'-'+
                     Dataset.fieldbyname('ChpsMois').value+'-'+
                     Dataset.fieldbyname('ChpsDep').value+'-'+
                     Dataset.fieldbyname('ChpsNumVil').value+'-'+
                     Dataset.fieldbyname('ChpsNumDistrict').value+'/'+
                     Dataset.fieldbyname('CodeClefs').value;                               
                     end;
    ....
    Donnera (avec des valeurs de champs correctes) :
    1-55-12-20-183-014/47 par exemple

    Cordialement,
    Hauwke

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut
    Salut
    Merci bien frere Hauwke,
    je te donne cette apres mii la structure des champ.
    Merci d'avancement.

  4. #4
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut
    Salut
    - Voila la structure de ces codes.
    * La structure ne contient aucun séparateur, se sont 15 chiffres numerique.

    pour les personnes physique nées dans le pays.

    1- Code sexe: de 1 a 9 (codification des champ).
    2 -Année de naissance. (Ex :1982).Comment Avoir couper la date(Ex :12/12/1982 je cherche a avoir sauf 1982).
    3-Lieu de naissance ( 2Champ pour la wilaya et 2 pour la commune).
    4-n° act de naissance (contient 5 chiffres numerique).dans la BD.
    5- Cle de controle(2Chiffres numerique), mais dans ce cas je cherche comment generer automatiquement 2 champs qui different dans chaque matricule a partir d'une fonction ou ....(important)

    Pour les personnes physique nées a l'etranger.

    1- Code sexe: de 1 a 9 (codification des champ).
    2 -Année de naissance. (Ex :1982).Comment Avoir couper la date(Ex :12/12/1982 je cherche a avoir sauf 1982).
    3-le premier chiffre contient "9" par default et les 3 chiffres restants contient la codification des autres pays (qui est plasser dans la BD).
    4-N° squentiel (contient 5 chiffres numerique) dans la BD.
    5- Cle de controle(2Chiffres numerique), mais dans ce cas je cherche comment generer automatiquement 2 champs qui different dans chaque matricule a partir d'une fonction ou ....(important)

    pour les Personnes morales
    1- Code personne morale (0) par default.
    2- Année de creation de l'entreprise.
    3- Code territoire( contient 4 champs).
    4- le numero sequentiel (contient 5 chiffres) dans la bd.
    5- Cle de controle(2Chiffres numerique), mais dans ce cas je cherche comment generer automatiquement 2 champs qui different dans chaque matricule a partir d'une fonction ou ....(important)

    Et Merci d'avancement.

  5. #5
    Membre chevronné
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    function Tform1.CodeUnic : AnsiString;                                               
                                                                                    // On épure les formats envoyés avant de les utiliser dans CodeUnic
    function OterCaract(Instr : AnsiString; SeparChar : Char): AnsiString;          // Portée limitée à cette fonction
    var                                                                             
        i       : longInt;
        OutStr  : AnsiString;                                                       // Pour pouvoir initialiser => principe de précaution
    begin
        OutStr              :='';
        for i := 1 to length(Instr) do begin
            if (Instr[i] <> Separchar) then
            OutStr          := OutStr + Instr[i];
            end;
        if OutStr<>'' then
        result              := OutStr else MessageDlg('Problème', MtWarning, [mbOk],0);
        end;                                                                        // fin de fonction "OterCaract"
    //
    function CptMilliseconde : AnsiString;                                          // Porte limitée à cette fonction
    var
        milli   : AnsiString;
     
    begin
        milli:='';
        milli               := inttostr(millisecondof(time));
        while length(milli) = 2 do                                                  // trois chiffres significatifs pour les millisecondes
        milli               := '0'+ milli;
        result              := Milli;
        end;                                                                        // fin de fonction "CptMilliseconde"
    //
    var
        EuIdent : AnsiString;
    begin
        EuIdent             := '860542';                                            // Tout autre code fera aussi bien l'affaire
        result              := '@'+
                                OterCaract(Datetostr(Date),'/')+
                                '-'+
                                OterCaract(Timetostr(Time),':')+
                                CptMilliseconde+
                                '#'+
                                EuIdent+
                                '#';                                                // Plu c'est long, plus c'est bon 8-)
         end;                                                                       // fin de fonction "CodeUnic"
    Voici, un exemple vite fait pour produire un code unique quelque soit la machine. Le code renvoyé est de la forme '@24072006-000030140#860542#'
    avec
    24072006 := 24/07/2006
    000030 := 00H00 30 secondes
    140 := 140 millisecondes
    860542 := le code d'identification de l'utilisateur qui a créé l'information

    Voilà, vous avez de quoi vous inspirez

    PS : Je ne réponds jamais au sollicitations techniques par MP, le forum est là pour celà
    Cordialement,
    Hauwke

  6. #6
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut
    Slt mr Hauwke
    pour le MP je t'assure que c'est une faute. Pardent!!!!
    et pour la fonction j'essaye d'utilise et je te donne une reponse.
    Merci infiniment.

Discussions similaires

  1. Générer du code vbs dans une prog vbs
    Par zz99 dans le forum VBScript
    Réponses: 3
    Dernier message: 20/05/2010, 18h36
  2. Obtenir les données pour avoir une carte de France par codes postaux
    Par lilsandy dans le forum SIG : Système d'information Géographique
    Réponses: 0
    Dernier message: 08/06/2009, 13h46
  3. Réponses: 2
    Dernier message: 30/03/2009, 21h36
  4. Afficher les coordonnées d'un code postal sur une carte
    Par FredericB dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/12/2007, 16h54
  5. Comment générer du code sur une feuille de calcul?
    Par mardona dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/05/2007, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo