[hp49] cours sur le commande DoInputForm

Posez vos questions sur le RPL-Système ici

Modérateur: Modérateurs prog.

[hp49] cours sur le commande DoInputForm

Messagede administrateur » 14/11/2005 13:15

Commande DoInputForm (équivalent de la commande INFORM du RPL, mais en mieux ;) )


La commande DoInputForm est plus complexe à utiliser que son équivalent du RPL, mais elle permet de créer des formulaires plus complexe et plus rapide. En RPL il n’y a que le champ texte, alors qu’en RPL système il y a 4 types de champs différents.
En exemple nous verrons le code source d'un convertisseur euro/franc

Bon accrochez vous bien, c’est parti…



La commande DoInputForm nécessite les arguments suivants :
Label1 paramètres du label

Labeln
Champ1 paramètres du champ

Champn
#nombre de labels
#nombre de Champs
MessageHandler Normalement 'DROPFALSE
"titre" Titre affiché

Paramètres du Label

Il y a 3 arguments pour chaque label qui sont :
"Label"
#position_x coordonné en x
#position_y coordonné en y

la position 0,0 correspond au coin en haut à gauche de l'écran.

Paramètres du champ

Il y 13 arguments pour définir chaque champ :
MessageHandler Normalement 'DROPFALSE
#position_x coordonné en x
#position_y coordonné en y (normalement position_y du label + 2)
#Longueur longueur du champ
#Hauteur hauteur du champ
#Type_de_champ nombre indiquant le type (listes, case à cocher, champ texte…)
#Types_autorisés Listes des types autorisés
Decompile
"Message d’aide" texte d’aide apparaissant en bas
Donnée de la liste de choix
ChooseDecompile ???
ResetValue
InitValue

MessageHandler : Le gestionnaire de messages est normalement à 'DROPFALSE, ce qui signifie que le programme ne manipule pas ce que l'utilisateur entre.

Type de champ

il y a quatre genres de champs:
Champ de donnée : l'utilisateur entre du texte,
Champ de donnée étendu : qui autorise l’utilisateur à écrire ou à choisir une variable,
Liste de choix : ensemble prédéterminé de valeurs,
Case à cocher :

1 texte : DF (Data Field) ou EDF (Extended Data Field)
3 Algébrique:
12 Liste de choix (LF : List Field)
32 Case à cocher (CF : Check Field)

Exemple:
Code: Tout sélectionner
"!NO CODE
!RPL
::
CK0NOLASTWD
"Valeur" #1 TEN

* def Valeur
'DROPFALSE
#20 #8
FORTYFIVE #9
#1
{ ZERO }
#4
"Valeur à convertir"
MINUSONE
DUP
DUPDUP

* choix
'DROPFALSE
#50 # 8
#32 #9
TWELVE
MINUSONE
SEVENTEEN
"CHOOSE ou [+/-] pour sélectionner"
{
  { $ "FR\8DEuro"
     DROP
     DUP
     MINUSONE
     #=ITE
     ::
       DROP
       $ "ERREUR: 1 CHAMP VIDE"
     ;
     ::
       DUP %2 RNDXY
       a%>$
       $ "_Fr="
       &$ NEWLINE$&$ SWAP
       % 6.55957 %/ %2
       RNDXY
       a%>$
       $ "_Euro"
       &$
       &$
       ;
     }
     {

      }
   }
;
@"

Enregistrer le code source (EuroFr.s par exemple, je mets un .s pour faire la différence entre version compilé ou non, le programme exécutable sera appelé EuroFr)

Pour compiler le programme tapez: 257 ATTACH (si la librairie 257 n'est pas déjà attachée)
Puis faites: [Shift droite]; [2] (Lib); [A] (MASD) (Le programme est alors compilé, s'il y a un message d'erreur, vérifiez qu'il n'y ait aucune faute).
Tapez: 'EuroFr' STO
(Conseil : recopier le contenu port 0 et du répertoire HOME dans le port 1 ou 2 pour sauvegarder au cas ou une instruction aurait été oublié)
Tapez: Lancer le programme EuroFr.
S'il ne s'exécute pas comme il faut, vérifiez le code source (sauvé sous EuroFr.s ou télécharger le code source).

Je décline toutes responsabilités en cas de perte de données, plantages...
Télécharger la version compilé et le code source:
Mesurez vous aux autres sur les jeux hp: scores à battre
Faq sur les HP
administrateur
Administrateur en chef
 
Messages: 86
Inscription: 12/01/2002 19:07
Localisation: France
Gender: homme

Retourner vers RPL-Système

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron