Question

Je développe un programme RPG sur le logiciel de développement IBM

ce qui se passe, c'est que je crée un fichier d'affichage avec un champ de saisie

J'essaie d'accomplir une tâche.

S'ils saisissent déjà tous les champs et que l'autre enregistrement est affiché, je souhaite protéger le champ en leur faisant simplement saisir la valeur jusqu'à ce qu'ils appuient sur Entrée.

mais je ne sais pas comment puis-je utiliser le DSPATR(PR) pour protéger le champ

Était-ce utile?

La solution 2

J'ai trouvé la réponse à ma question.

Pour ce faire, allez simplement dans les propriétés du concepteur d'écran > cliquez avec le bouton droit sur les propriétés et recherchez le mot-clé protect et cela protégera tout l'écran du champ dans lequel ils entrent jusqu'à ce que enter est enfoncé pour déprotéger.

Cela peut également être fait en ajoutant DSPATR(PR) avec indicateur et ajoutez-le à RPG pour allumer l'indicateur du champ requis.

Autres conseils

Sur l'écran vert, le programme RPG ne sait que ce qui est à l'écran lorsque vous appuyez sur <enter> sur votre écran.Il semble que vous souhaitiez protéger un champ une fois que l'utilisateur a saisi des données dans le champ.Je ne pense pas que cela soit possible à moins que chaque champ ait le CHECK(ER) sur chaque champ.Cela deviendrait ennuyeux selon la fonction du programme.Les utilisateurs qui saisissent directement préfèrent continuer à taper et ont mémorisé exactement le nombre de tabulations et d'espaces dont ils ont besoin pour saisir les données.

Pour l'étude Purpouse Vous pouvez définir des attributs d'affichage depuis votre code RPG "Backend", par exemple dans votre cas, la valeur de code hexadécimal pour la protection (lecture seule) déposée est "A0", jetez un coup d'œil au code:

dans DDSSRC:

.....AAN01N02N03T.Nombre++++RLon++TPdBLínPosFunciones+++++++++++++++++++++++++++
 A* First declare the variable 
 A                REV1           1A  P
 A*
 A* then, after the display field in function limit you assign it
 A*
 A                FIELD01       14Y 2B 17 42EDTCDE(1)    
 A                                          DSPATR(&REV1)

Dans RPGSRC, il suffit de définir ou de claire lorsque vous en avez besoin:

CL0N01Factor1+++++++Operac&ExtFactor2+++++++Resultado+++++Lon++D+MaMeIg....Comentarios+++++++++
C* 
C* Set the hex value in the QDDSSRC variable
C                       EVAL      REV2 = x'A0'
C*
C* Clear the variable
C                   CLEAR                   REV1              1

Il y a trop de codes hexa pour de nombreux purpouses, il suffit de regarder autour du site www :).

A SEL 1A B 11 2
Un 99 dSPatr (PC)

A 99 DSPATR (RI)

Lorsque vous affichez un champ sur l'écran vert, vous exfmez généralement pour E / S. Ici, je vais d'abord effacer le champ SEL puis exfmt le format d'enregistrement à partir du fichier d'affichage (DDS).Une fois que l'utilisateur appuie sur ENTER, je "active" l'indicateur 99. J'exfmt ensuite à nouveau pour afficher l'écran.Dans l'exemple si * in99 était * activé, le curseur se positionnerait au champ Sel et inverser l'image.Vous pouvez faire la même chose avec Protéger DSPATR (PR).Dans votre code, vous avez "défini" l'indicateur, affichez l'écran.L'utilisateur hits entrez vous "activez" l'indicateur et repeuplez l'écran.

dans RPG, vous pouvez utiliser le déplacement * sur * in99.

ou vous pouvez utiliser SETON ........ 99.

ou déplacer '1' * in99.

en CLP, vous pouvez chvar var (& in99) valeur ('1')

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top