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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2009
    Messages : 17
    Points : 12
    Points
    12

    Par défaut Pb de Fenêtre (écran de daisie) dans une boucle do

    Bonjour,

    Dans une macro, Je veux demander une liste de noms, puis pour chaque nom, une liste de variétés. Ne connaissant pas le nombre de noms et le nombre de variétés pour chaque noms au préalable, les demandes de chacun de ces noms et noms de variétés doivent s'effectuer dans une double boucle.
    Si rentre tout ceci dans un seul écran de saisie, je rencontre des problèmes de calcul du numéro de ligne pour afficher la question correspondant à la jème variété du ième nom.
    Je me suis dit qu'il serait plus simple de poser une question par écran de saisie et de lancer la série de questions sur les noms de variétés dans une boucle DO.
    Mais...

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    %macro cro();
    %window essai color=gray COLUMNS=40 rows=10 icolumn=30 irow=15        
    #2 @5 "Nombre de fruit :" @23 np 2 required=yes
    #4 @10 "Nom du premier fruit :" @33 v1  15 required=yes;
    %display essai;
    %do u=2 %to &np;
    %window essaio color=gray COLUMNS=40 rows=10 icolumn=30 irow=15
      #(2) @10 "Nom du &u ème fruit :" @32 v&u  15 required=yes;
    %display essaio;
    %end;
    %mend cro;
    %cro();
    Voici le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ERROR 22-322: Expecting an integer constant.
    ERROR 200-322: The symbol is not recognized and will be ignored.
    ERROR: %WINDOW statement not processed due to errors.
    ERROR: Unable to open window macro file ESSAIO.
    ERROR: The macro CRO will stop executing.
    Si je donne le même nom de 'window' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    %macro cro();
    %window essai color=gray COLUMNS=40 rows=10 icolumn=30 irow=15        
    #2 @5 "Nombre de fruit :" @23 np 2 required=yes
    #4 @10 "Nom du premier fruit :" @33 v1  15 required=yes;
    %display essai;
    %do u=2 %to &np;
    %window essai color=gray COLUMNS=40 rows=10 icolumn=30 irow=15
      #(2) @10 "Nom du &u ème fruit :" @32 v&u  15 required=yes;
    %display essai;
    %end;
    %mend cro;
    %cro();
    le message d'erreur est (sachant que j'ai rentré 3 à la première question i.e. np = 3):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ERROR 22-322: Expecting an integer constant.
    ERROR 200-322: The symbol is not recognized and will be ignored.
    ERROR: %WINDOW statement not processed due to errors.
    ERROR 22-322: Expecting an integer constant.
    ERROR 200-322: The symbol is not recognized and will be ignored.
    ERROR: %WINDOW statement not processed due to errors.
    Merci !

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    avril 2008
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2008
    Messages : 1 840
    Points : 4 089
    Points
    4 089

    Par défaut

    Bonjour.
    Le message vient de #(2) dans la définition du 2e %WINDOW (dans la boucle). Il faut écrire #2, comme dans le 1er %WINDOW.
    Olivier
    Bon courage.
    Olivier

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2009
    Messages : 17
    Points : 12
    Points
    12

    Par défaut

    Merci !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/02/2012, 12h00
  2. [Lazarus] [Ubuntu] Regrouper les fenêtres de l'EDI dans une seule
    Par Sephiroth Lune dans le forum Lazarus
    Réponses: 0
    Dernier message: 11/07/2008, 14h36
  3. Réponses: 5
    Dernier message: 17/01/2007, 12h52
  4. Réponses: 4
    Dernier message: 04/12/2006, 11h37
  5. Pause dans une boucle
    Par HT dans le forum Langage
    Réponses: 4
    Dernier message: 03/06/2003, 08h52

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