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

Langage Delphi Discussion :

Probleme de format, récupération de caractere


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 18
    Points
    18
    Par défaut Probleme de format, récupération de caractere
    Bonjour,

    J'ai un petit souci en faite j'ai un champs toto qui contient des éléments comme : DD10000, FE45001 ..., j'aimerai en récupérer seulement les 4 derniers caractères, je procède alors de la façon suivante :

    en calculant d'abord la taille de ma chaîne de caractère : taille1 := length(<req."toto">);

    ensuite je récupère grâce a un copy mes 5 derniers caractères : c := copy(<req."toto">,taille1-4,5);

    cependant j'aimerai au cas ou dans mon champs on aurait cela : DDDDDDD, FESAFECE ... alors j'aimerai que si il vois que les 5 dernières caractères ne sont pas des chiffres alors par défaut il affiche 00000

    Merci de votre aide

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2009
    Messages : 322
    Points : 310
    Points
    310
    Par défaut
    Citation Envoyé par reuqnas Voir le message
    J'ai un petit souci en faite j'ai un champs toto qui contient des éléments comme : DD10000, FE45001 ..., j'aimerai en récupérer seulement les 4 derniers caractères, je procède alors de la façon suivante :

    en calculant d'abord la taille de ma chaîne de caractère : taille1 := length(<req."toto">);

    ensuite je récupère grâce a un copy mes 5 derniers caractères : c := copy(<req."toto">,taille1-4,5);

    cependant j'aimerai au cas ou dans mon champs on aurait cela : DDDDDDD, FESAFECE ... alors j'aimerai que si il vois que les 5 dernières caractères ne sont pas des chiffres alors par défaut il affiche 00000
    Est-ce que tu récupères les cinq ou les quatre derniers caractères?
    ...

    En supposant CINQ

    Donc on récupère les cinq derniers caractères:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function extraction(ZeChamp:string):string;
    var 
        entier:word;// ou integer, 
        erreur:word;
        taille:word;
        c:string
    begin
        taille1 := length(ZeChamp);
        c := copy(ZeChamp,taille1-4,5);
        val(c,entier,erreur);//si la convertion échoue erreur est plus grand que 0
        If erreur>0 then c='00000';
        result:=c;
    end;

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 78
    Points : 18
    Points
    18
    Par défaut
    c'est bien les 5 caractères que je récupère, erreur de frappe de ma part. Concernant ton code tu initialise pas entier dans ta fonction val ?
    result n'est pas déclaré non plus, c'est un string du coup

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2009
    Messages : 322
    Points : 310
    Points
    310
    Par défaut
    Citation Envoyé par reuqnas Voir le message
    c'est bien les 5 caractères que je récupère, erreur de frappe de ma part.
    Ok pour 5
    Concernant ton code tu initialise pas entier dans ta fonction val ?
    Oui c'est la fonction eval qui l'initialise

    Je ne sais pas comment ça s'appelle. Moi j'appelle ça une variable creuse. Elle sert à appeler une fonction pour utiliser un traitement habituellement accessoire qui s'avère principale dans un cas spécifique.

    result n'est pas déclaré non plus, c'est un string du coup
    result est le résultat par défaut pour toute fonction en Delphi

    à la place de :
    result:=c;

    extraction:=c;

    aurait été tout aussi bon.

Discussions similaires

  1. [MySQL] Probleme de format pour caracteres speciaux
    Par jubourbon dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 11/07/2012, 15h39
  2. Réponses: 2
    Dernier message: 20/11/2008, 21h11
  3. [HTML][FORMULAIRE] Probleme dans la récupération des données
    Par baddounet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 15/08/2005, 18h51
  4. probleme urgent format date
    Par donny dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 08/08/2005, 11h44
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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