Précédent   Forum du club des développeurs et IT Pro > Autres langages > Autres langages > Cobol
Cobol Forum d'entraide sur la programmation en langage Cobol
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 06/05/2012, 19h19   #1
gearsofcha
Invité de passage
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 14
Points : 0
Points : 0
Par défaut Texte coloré en Cobol

Bonjour à tous,

Voila j'éssaye de mettre un fond de couleur avec une couleur de texte en fonction du montant du solde mais cela ne marche pas

voici le code :

* Solution 1 :
* Affichage couleur en direct avec le DISPLAY
IDENTIFICATION DIVISION.
PROGRAM-ID. VOY-CON-SCREEN1.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.


DATA DIVISION.
WORKING-STORAGE SECTION.
*Prendre en compte le masque négatif
77 SOLDE PIC -z(5).99.
77 MONTANT PIC -z(5).99.

PROCEDURE DIVISION.
PAR.
DISPLAY "ENCODEZ LE SOLDE - MAX 5 CHIFFRES".
DISPLAY "---------------".
* ACCEPT SOLDE.
COMPUTE SOLDE = 5 + 6.
* MOVE -123 TO SOLDE.
* MOVE SOLDE TO MONTANT.

IF SOLDE > 0
THEN DISPLAY SOLDE AT LINE 10 WITH FOREGROUND-COLOR IS 2
BACKGROUND-COLOR IS 7
ELSE
DISPLAY SOLDE AT LINE 10 WITH FOREGROUND-COLOR IS 4
BACKGROUND-COLOR IS 7

END-IF.

STOP RUN.




Meme lorsque le chiffre est positif il me le met en fond blanc et texte en rouge
Je pense savoir d'où vient l'erreur (le masque de solde) mais je ne sais pas du tout comment la résoudre :s

Si quelqu'un a une idée, cela serait très gentil

Merci et bonne soirée à tous
gearsofcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2012, 12h29   #2
Hédhili Jaïdane
Expert Confirmé
 
Homme
Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
Inscription : juin 2007
Messages : 1 789
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Tunisie

Informations professionnelles :
Activité : Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol

Informations forums :
Inscription : juin 2007
Messages : 1 789
Points : 2 723
Points : 2 723
Bonjour.

- Il faudrait mettre le code en utilisant les balises CODE (bouton ).

- Ton programme a l'air de marcher (testé sous Cobol/2), sauf que les couleurs 2 (vert) et 4 (rouge) te semblent peut être trop proches l'une de l'autre. J'ai mis d'autres couleurs qui donnent un meilleur rendu : positif 1/7 et négatif 7/4.

- bien que ça passe avec certains compilateurs, mais il faudrait éviter d'utiliser les opérateurs de test des numériques avec les numériques édités (pic Z et compagnie).
__________________

Hédhili Jaïdane est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/05/2012, 18h09   #3
gearsofcha
Invité de passage
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 14
Points : 0
Points : 0
Merci pour ta réponse mais je vois bien les couleurs.
Effectivement si je ne mets pas le masque pic z le programme fonctionne mais j'ai besoin de les utiliser.

J'utilise Merant sous XP

Merci
gearsofcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2012, 18h25   #4
Hédhili Jaïdane
Expert Confirmé
 
Homme
Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
Inscription : juin 2007
Messages : 1 789
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Tunisie

Informations professionnelles :
Activité : Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol

Informations forums :
Inscription : juin 2007
Messages : 1 789
Points : 2 723
Points : 2 723
Et si tu faisais :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
77 SOLDE PIC S9(5)V99.
77 SOLDEZ PIC -Z(5).99.
.../...
MOVE SOLDE TO SOLDEZ.
IF SOLDE > 0
               THEN DISPLAY SOLDEZ AT LINE 10 WITH FOREGROUND-COLOR IS 1
                       BACKGROUND-COLOR IS 7
           ELSE
               DISPLAY SOLDEZ AT LINE 10 WITH FOREGROUND-COLOR IS 7
                       BACKGROUND-COLOR IS 4

           END-IF.
__________________

Hédhili Jaïdane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2012, 22h44   #5
gearsofcha
Invité de passage
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 14
Points : 0
Points : 0
Impek !!!!! ça fonctionne

Merci l'amis

++
gearsofcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h38.


 
 
 
 
Partenaires

Hébergement Web