Suppression des blancs avec COBOL

Bonjour

Comment supprimer les blancs à droite dans une chaîne de caractères avec COBOL
par exemple 'abcd ' deviendrait 'abcd'

Merci.

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    UNSTRING ... DELIMITED BY ALL SPACES INTO ...

    Ca devrait le faire...

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    1. Merci, j'ai essayé
      mais apparemment cela ne fonctionne pas!
      Il y a toujours les blancs
      de je veux éliminer uniquement les blancs à droite
      par exemple:
      'DE SEVRES '
      ne pas supprimer l'espace entre 'de' et 'sevres'
      A plus
      1. Modérateur
        Ok, donc dans ce cas, la seule solution est de redéfinir ta zone de saisie en tableau :

        05 toto occurs 200.
        10 str pic x.

        move tavariable to toto.

        Et ensuite tu fais une boucle qui décrémente i de 200 à 1 et tu testes x(i) jusqu'à ce que x(i) soit différent d'espace. Dès que ta condition est vraie tu recopies la suite dans une autre variable (avec 'string').
        1. Bonjour
          Si à priori, tu ne sais pas ou mettre les blancs, ça parait difficile!!
          'DE SEVRES " Comment savoir qu'il faut laisser le blanc entre DE et
          SEVRES ???
          Une fois déterminé ce problème, le reste est résolu...
          KAIDI
          1. Modérateur
            Euh ben si, il a dit 'supprimer les blancs à droite'... ;-)
        2. dois-tu supprimer tous les blancs ou pas?
          'DE SEVRES" doit-il devenir "DESEVRES" ?
          1. Modérateur
            Non, il ne veut que supprimer les blancs à droite...
        3. il ne peut le faire que s'il connait par avance les mots (ou les longueurs) dont il doit supprimer les blancs!!
          1. Bonjour,

            je vous remercie tous pour votre aide très précieuse!
            1. bonjour

              il faut je pense utiliser un occurs et tester la valeur caracteres par caracteres

              mais ne pas faire la sup si val (I) = spaces et val (i + 1) not = spaces

              cordialement
            2. Modérateur
              @claudius51Ca fait 3 ans que le problème est résolu...