Nouveautés DDS Graphiques V3R10

BoTTom |    Changer de couleur
 
               Nouveautés DDS Graphiques V3R10
 
............................................................................
:  RPG --              ** Interrogation par code **        le: xx/yy/zz    :
:                                                                          :
:                                                                          :
:                                                                          :
:     CLE      DESIGNATION                 TYPE   QUANTITE                 :
:     K1       Article un                    1       15,00             |A| :
:     K2       Article deux                  7       27,50             |:| :
:     K4       Article quatre                2        4,56             |:| :
:     K7       article sept                  2      745,45      /-->   |:| :
:     K8       article huit                  1     1000,00     /       |V| :
:                                                             /            :
:                                                 Ascenseurs /             :
:                                                                          :
:                                                                          :
                                                                         :
 | Entrée |  | Défil Av |  | Défil Ar |  <-----    Boutons               :
:..........................................................................:
 


|    Changer de couleur
 Barres de défilement (ascenseurs) 
 
        avec le mot-clé SFLEND(*SCRBAR) associé aux sous-fichiers.
 
 Dans ce contexte SFLSIZ(&taille), permet de renseigner la taille réelle
  du sous-fichier de manière dynamique [taille est une variable 5,0 S].
 
 Cela permet de rendre la position du pointeur de l'ascenseur significative
  lors d'un chargement page à page.
 
 SFLSCROLL mot-clé associé à une variable 5,0 H  permet de retrouver
  le n° de rang de l'enregistrement à afficher.
 
 Si Entrée est utilisée, SFLSCROLL renvoie le N° de rang de la première
                                    ligne actuelle
 Si ROLLUP est utilisée, SFLSCROLL renvoie le N° de rang de la première
                                    ligne de la page suivante.
 Si ROLLDOWN est utilisée et renvoyée au pgm, SFLSCROLL renvoie 1.
 
 Quand l'ascenseur est utilisé à l'aide la souris, SFLSCROLL renvoie
  le N° de rang de la ligne à afficher en tête de page.
 


|    Changer de couleur
 
 SFLRCDNBR possède une nouvelle option : SFLRCDNBR(*TOP) 
    (compatible avec *CURSOR), qui demande à ce que l'enregistrement dont
  le rang est contenu dans la variable associée, soit le premier affiché
 
 Il suffit de placer la variable reçue de SFLSCROLL dans la variable
  associée à SFLRCDNBR(*TOP) pour que l'affichage corresponde TOUJOURS
  à la réalité, (même après une manipulation de l'ascenseur).
 
 soit:                                      SFLPAG(15)
     A            LIGNE          5S 0H      SFLRCDNBR(*TOP)
     A            DEMANDE        5S 0H      SFLSCROLL
 
 pgm :            chgt d'une page, dernier = rang (du dernier écrit)
                  ligne = 1
                  tant que pas F12
                       affichage
                       si (demande + 14) > dernier
                          chgt d'une page(15)
                       fin si
                       ligne = demande
                  fin tant que.


|    Changer de couleur
 
 Boutons 
 
        avec les mots-clés PSHBTNFLD et PSHBTNCHC 
 
     A            CHOIX          2Y 0B 23  2PSHBTNFLD
     A                                      PSHBTNCHC(1 'Entrée')
     A                                      PSHBTNCHC(2 'Défil Av' ROLLUP)
     A                                      PSHBTNCHC(3 'Défil Ar' ROLLDOWN)
 
 Syntaxe de PSHBTNCHC (x texte fonction)
 
         texte peut être une constante ou une variable du format (&texte)
          si texte contient >, le caractère suivant est souligné
                               (raccourci clavier)
 
       Il est possible d'associer les touches de fonctions:
          CA01-24 / CF01-24
          ROLLUP, ROLLDOWN, ENTER, PRINT, CLEAR, HELP, HOME (ENTER par dft)
 
       Vous pouvez aussi tester la variable associée.
          (ici choix, contenant une valeur entre 1 et 3)


|    Changer de couleur
 Syntaxe de PSHBTNFLD:  PSHBTNFLD(option1 option2 ...)
 
  *NORSTCSR/*RSTCSR : restreindre (ou non) le déplacement du curseur à
                       l'intérieur du groupe de boutons.
 
  (*NUMCOL x)       : précise sur combiens de colonnes doivent s'afficher
                       les boutons
                      avec (*NUMCOL 3) l'affichage est :
                       <bouton1>   <bouton2>   <bouton3>
                       <bouton4>   <bouton5>   <bouton6>
 
  (*NUMROW x)       : précise sur combiens de lignes doivent s'afficher
                       les boutons
                      avec (*NUMROW 2) l'affichage est :
                       <bouton1>   <bouton3>   <bouton5>
                       <bouton2>   <bouton4>   <bouton6>
 
  (*GUTTER x)       : nombre d'espaces entre deux boutons
                      le défaut est 3 espaces, nombre de colonnes = nombre
                       de boutons entiers tenant sur une ligne.
 
                 la largeur d'un bouton est fonction du texte à afficher.


|    Changer de couleur
 Reconnaissance de la souris avec
 
   MOUBTN (*xyz fonction *QUEUE/*NOQUEUE)      : événement simple (1 action)
 ou
   MOUBTN (*xyz *xyz fonction *QUEUE/*NOQUEUE) : événement double (2 actions
                                                                     souris)
           x = U (Unshift) / S (Shift)
           y = L (Left)    / R (right)    / M (middle)
           z = P (pressed) / R (released) / D (double click)
 
           les fonctions sont les mêmes que PSHBTNCHC (CAxx/CFxx ROLLUP ...)
            ou un EVENT-ID E00 à E15, récupérable dans l'INFDS.
 
   les contrôles sur les zones d'entrée (COMP, VALUES ...) sont effectués
 
   Chaque action souris doit être unique.
    Un événement double ne peut pas avoir comme première action souris
     l'action associée à un autre événement simple.
   *QUEUE/*NOQUEUE précise si le système doit bufferiser les actions souris.
 
     A          R FMT                       CA03(03)
     A  (click bouton gauche = F3)          MOUBTN(*ULP CA03)


|    Changer de couleur
 
 Pour utiliser cette nouvelle fonction, RTNCRSLOC a été modifié :
 
      RTNCSRLOC(*RECNAME &fmt &zone &pos), retrouve comme en V2R30 les noms
       de format et de zone correspondant à la position curseur.
 
      RTNCSRLOC(*MOUSE &l1 &c1 &l2 &c2), retrouve (&l1 &c1) la position
       actuelle du curseur, et dans &l1 &c1 la position du curseur
       lors de la première action souris pour un événement double.
       (0 dans &l2 &c2, s'il s'agit d'un événement simple)
 
et enfin
      RTNCSRLOC(*WINDOWS &l1 &c1 &l2 &c2), retrouve la position absolue du
       curseur dans &l1 &c1, et la position (&l2 &c2) relative à la
       première position utilisable de la fenêtre (ligne1/colonne1).
      Donc &l2 &c2 peuvent avoir des valeurs négatives.
       Cela permet aussi de calculer la position de la fenêtre.
 
      Utilisable même avec un format classique (sans WINDOW), &l2 &c2
       prennent alors les valeurs de &l1 &c1.
 
      &l1 &c1 &l2 &c2, sont des variables du format 3S 0 Hidden.


|    Changer de couleur
 
 Titres possibles avec les fenêtres :
                                                       *CENTER   *TOP
   WDWTITLE( (*TEXT 'titre') (*COLOR XXX) (*DSPATR xx) *LEFT     *BOTTOM  )
                                                       *RIGHT
 Divers:
 
    Césure automatique sur une variable multilignes (usage I ou B)
 
   WRDWRAP  la césure est réalisée sur un espace. (idem BLKFOLD/PRTF)
 
   VALNUM   empêche la saisie de ' ', '+', '-'  pour une variable numérique
 
   CSRINPONLY  limite le déplacement du curseur aux zones d'entrée.
 
              (attention si vous avez des aides associées à des constantes)
 
   HELPSHELF   associe une étagère INFOSEEKER à un panneau d'aide (F11)
                il faut au moins un HLPPNLGRP
                invalide avec HLPSCHIDX
 
 


|    Changer de couleur
 
 Boutons radio et Cases à cocher :
 
  > valides avec un sous-fichier
 
    SFLCHCCTL défini dans le format d'enregistrement,
              (doit être la première variable de l'enregistrement)
              contient 0 = disponible
                       1 = choisi ou coché
 ................      2 = non disponible
 : 2,3 et 4     :           on ne peut pas positionner le curseur, sauf s'il
 :  ne peuvent  :           y a une aide associée.
 :  être que    :      3 = non disponible
 :  fournies    :           on peut toujours positionner le curseur
 :  par le pgm. :      4 = non disponible
 :..............:           on ne peut jamais positionner le curseur
 
    SFLSNGCHC défini dans le format de contrôle,
              précise qu'il s'agit d'une liste avec boutons radio
 
    SFLMLTCHC défini dans le format de contrôle,
              précise qu'il s'agit d'une liste avec cases à cocher


|    Changer de couleur
 
 paramètres pour SFLSNGCHC
 
            *RSTCSR/*NORSTCSR : resteindre le déplacement du curseur
                                 au sous-fichier
            *SLTIND           : chaque enregistrement est précédé d'un
                                 bouton radio
 
            *NOSLTIND (dft)   : chaque enregistrement est affiché tel que,
                                la validation se fait par la touche espace.
                                (la ligne passe en inversion d'image)
 
            *AUTOSLT          : La touche entrée valide automatiquement la
                                 ligne où se trouve le curseur
 
            *NOAUTOSLT        : Touche espace imposée pour valider.
 
            *AUTOSLTEHN       :  idem *AUTOSLT derrière un ctl graphique.
 
 
 
 


|    Changer de couleur
 
 paramètres pour SFLMLTCHC(&variable *option)
 
            &variable         : variable du format (4Y 0 H) qui contiendra
                                 le nombre d'enregistrements choisis
 
            *RSTCSR/*NORSTCSR : voir SFLSNGCHC
            *SLTIND/*NOSLTIND :  -- idem -- mais avec cases à cocher.
 
  La doc ne le précise pas, mais les tests tendent à prouver que le
   système n'accepte qu'UNE variable dans le format d'enregistrement,
   en plus de celle associée au mot-clé SFLCHCCTL (erreur à la compil).
 
    il faudrait alors définir une Data-structure dans le pgm.
 
  et enfin le mot-clé SFLRTNSEL indique que lors de la lecture des
   enregistrements modifiés (READC ou READ SUBFILE NEXT MODIFIED) les
   enregistrements pré-sélectés par programme, (variable associée au
    mot-clé SFLCHCCTL contenant 1), seront lus.
 
  Sans ce mot-clé, seuls les enregistrement modifiés par l'utilisateur
   (à l'aide du clavier), seront lus.


|    Changer de couleur
 
 petit exemple récapitulatif
 
         A
         A          R SFLRCD                    SFL
         A            ZONCTL         1Y 0H      SFLCHCCTL
         A            CLE           10A  O  6 10
         A          R SFLCTLRCD                 SFLCTL(SFLRCD)
         A                                      SFLMLTCHC(&NBSEL *SLTIND)
         A                                      SFLPAG(5) SFLSIZ(&TAILLE)
         A   30                                 SFLDSP
         A   31                                 SFLDSPCTL
         A  N31                                 SFLCLR
         A   32                                 SFLEND(*SCRBAR)
         A  N32                                 ROLLUP(60)
         A            DEMANDE        5S 0H      SFLSCROLL
         A            LIGNE          4S 0H      SFLRCDNBR(*TOP)
         A            TAILLE         5S 0P
         A            NBSEL          4Y 0H
         A                                 1 30' -- Titre --'
         A                                 4  5'Liste à sélections multiples'
 


|    Changer de couleur
 
 DIVERS Mots-clés existants, modifiés: 
 
  PULLDOWN -> *RSTCSR/*NORSTCSR déplacements curseur limités au menu.
 
  WINDOW   -> *RSTCSR/*NORSTCSR déplacements curseur limités à la fenêtre.
 
  CHCCTL   -> mêmes valeurs (0 à 4), que SFLCHCCTL
 
  MNUBAR   -> *SEPARATOR/*NOSEPARATOR
              avec ou sans ligne de séparation
 
              MNUBARSEP invalide avec MNUBAR(*NOSEPARATOR)
                                                                            
 
 Pour tout ce qui est DDS Graphique, n'oubliez pas que le résultat sera :
 
      + sensiblement indentique sur un écran semi-graphique et un micro
         en émulation PC5250 (nouvel émulateur CA pour WINDOWS)
 
      + mais assez différent avec une émulation RUMBA
             (les ascenseurs sont sur fond vert par exemple)





©AF400