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

Cobol Discussion :

Comparaison de chaines de caractères


Sujet :

Cobol

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Points : 72
    Points
    72
    Par défaut Comparaison de chaines de caractères
    Bonjour,

    Dans un programme Pacbase, je fais la comparaison de 2 chaines de caractères de longueur 8 de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         W-CHAINE = 'AB00TY99'
         Si W-CHAINE > '7FFFFFFF' 
              alors OK
         Sinon KO
    Le résultat de ce test est 'KO', mais je ne comprends pas pourquoi.

    D'avance merci pour vos infos,
    a+

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    En EBCDIC, et c'est le cas si on est en z/OS, le chacactère '7' ( x'F7' ) a une valeur supérieure au charactère 'A' ( x'C1' ).

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Points : 72
    Points
    72
    Par défaut
    Merci Luc,
    Effectivement, la comparaison est faite en Hexa !

    Existe-t-il une fonction Pacbase pour comparer les chaines de caractères en EBCDIC ?

    D'avance merci,
    a+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 37
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    Dans ton cas, pourquoi t'attends-tu à un test OK ?
    Ecrire en cobol un test qui compare 7 à A ne veut pas dire grand chose selon moi.
    Comme le dit Luc Orient, dans ce cas, ton programme ne pourra que comparer les valeurs hexa correspondantes.

  5. #5
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Citation Envoyé par Sakapatate Voir le message
    ... Effectivement, la comparaison est faite en Hexa !
    Existe-t-il une fonction Pacbase pour comparer les chaines de caractères en EBCDIC ?
    Ta question n'a pas de sens. La comparaison est faite sur un code en EBCDIC et la valeur peut être exprimée en hexadécimal, mais pourrait l'être aussi bien en binaire.

    A mon sens, pour obtenir ce que tu souhaites il faut coder au niveau de l'ENVIRONNEMENT DIVISION du programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CONFIGURATION SECTION.
    SOURCE-COMPUTER. IBM-370.
    OBJECT-COMPUTER. IBM-370
                     PROGRAM COLLATING SEQUENCE IS ASCII.
    SPECIAL-NAMES. ALPHABET ASCII IS STANDARD-1.
    Avec cette déclaration l'ordre de comparaison appliqué sera celui de l'ASCII avec les valeurs des chiffres avant celles des lettres, et ceci à l'inverse de l'EBCDIC.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant] Comparaison début chaines de caractères
    Par Anthony17 dans le forum Delphi
    Réponses: 2
    Dernier message: 01/06/2006, 16h44
  2. Réponses: 2
    Dernier message: 10/05/2006, 15h23
  3. comparaison de chaine de caractères
    Par lecyberax dans le forum C
    Réponses: 10
    Dernier message: 24/03/2006, 19h30
  4. Réponses: 2
    Dernier message: 23/03/2006, 12h39
  5. Réponses: 11
    Dernier message: 22/03/2006, 21h57

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