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

AS/400 Discussion :

[C++ ILE] Comment afficher/ouvrir un sous format?


Sujet :

AS/400

  1. #1
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [C++ ILE] Comment afficher/ouvrir un sous format?
    Bonjour,
    j'essaye d'ecrire mon premier programme en C++ ILe, et je suis bloqué au niveau de la gestion des sous-fichier.
    J'ai créé un fichier ecran comportant 2 "RECORD" (enregistrement);
    le premier correspond à un ensemble de champ et le second est un sous-fichier (SFL).
    Comment faire pour afficher le sous-fichier après avoir réaliser les entrées correspondante à l'enregistrement N° 1?
    Ci-après un bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    	RECORD1 rcd1, rcd1_in,rcd1_out;
    	RECORD2 rcd2;
    
    	/* ON affiche tant que la saisie n'est pas correcte.*/
    
    	if ((dspf = _Ropen ("MyLIB/MYDSPF", "ar+,indicators=y" )) == NULL )
    	{
    		printf ("Display file did not open.\n" );
    		exit (0);
    	}
    		
    	do {
                    _Rindara ( dspf, ind_area1 );
    		_Rformat (dspf, "RECORD1" );
    		rfb1 = _Rwrite (dspf, "", 0);
    		rfb1 = _Rreadn (dspf, &rcd1, sizeof(rcd1), __DFT );
    
    		//traitement du sous-fichier
    		/*---- ????? COMMENT FAIRE A PARTIR D'ICI ???
                    /*-pour afficher et traiter RECORD2????      */
    	}
    	while ( ind_area1[PF12] == IND_OFF);
    Merci pour vos réponses.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Retraite
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 1 347
    Points
    1 347
    Billets dans le blog
    1
    Par défaut trt SFL C j'espere que cela t'aideras
    void TRT_SFL ()
    {
    int I_Ligne ;
    int I_LignP ;
    _Rformat(dspf,"FMT01CTL");
    indicator_area[I91] = IND_OF ;
    indicator_area[I96] = IND_ON ; _Rwrite(dspf,DISPLAY_CTL,I_LGCTL);
    indicator_area[I96] = IND_OF ;

    _Rformat(dspf,"FMT02SFL");
    /*--------------- PAGE AV ---------------*/
    if (CLAVIER == ENTER ) { FK = _Rlocate(P_PHY,K_BUF_PHY,I_LGKEY,__NO_LOCK|__START);
    FK = _Rlocate(P_PHY,K_BUF_PHY,I_LGKEY,__NO_LOCK|__KEY_GE);
    FK = _Rreadp(P_PHY,BUF_PHY,I_LGPHY,__NO_LOCK) ;

    }
    if (CLAVIER == PG_AV ) FK = _Rreadp(P_PHY,BUF_PHY,I_LGPHY,__NO_LOCK) ; CPF();
    /*--------------- PAGE AR ---------------*/
    if (CLAVIER == PG_AR )
    {
    I_Ligne = 0 ;
    if (indicator_area[I77] == IND_OF ) I_LignP = (I_NBLIG * 2 ) + 1 ;
    else I_LignP = I_NBLIG + 1 ;
    do {
    FK = _Rreadp(P_PHY,BUF_PHY,I_LGPHY,__NO_LOCK) ; CPF();
    if ( IND != IN33 ) ++I_Ligne ;
    } while ((IND != IN33 ) && (I_Ligne != I_LignP)) ;
    if (FK->num_bytes == EOF ) FK = _Rlocate(P_PHY,K_BUF_PHY,I_LGKEY,__NO_LOCK|__START);
    }
    /*--------------- AFFICHAGE ---------------*/
    indicator_area[I77] = IND_OF;
    FK = _Rreadn(P_PHY,BUF_PHY,I_LGPHY,__NO_LOCK); CPF();
    I_Ligne = 0 ;
    do {
    if (IND != IN33)
    {
    CHARGE_SFL(); _Rwrited(dspf,DISPLAY_SFL,I_LGSFL, ++ I_Ligne);

    indicator_area[I91] = IND_ON;
    FK = _Rreadn(P_PHY,BUF_PHY,I_LGPHY,__NO_LOCK); CPF();
    }
    } while ((IND != IN33) && ( I_Ligne != I_NBLIG)) ;
    if (FK->num_bytes == EOF ) { FK = _Rlocate(P_PHY,K_BUF_PHY,I_LGKEY,__NO_LOCK|__LAST);
    indicator_area[I77] = IND_ON;
    }
    }

  3. #3
    Candidat au Club
    Inscrit en
    Août 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci, pour la fonction, je vais essayer de l'adapter à ma sauce.
    ou a défaut, je vais me tourner vers le RPG

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/06/2006, 16h20
  2. afficher un nombre sous format binaire?
    Par sofiane44 dans le forum C++
    Réponses: 2
    Dernier message: 20/01/2006, 18h47
  3. afficher des bytes sous format hex
    Par zantar dans le forum MFC
    Réponses: 2
    Dernier message: 21/12/2005, 12h54
  4. comment afficher cursor: hand sous FF pour une image?
    Par Death83 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/09/2005, 08h48
  5. Comment afficher les accent sous mysql v4.0.13
    Par buildozer dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 09h33

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