BiO_GetString

Fonction Catégorie Version
BIO 03 BiO_GetString Gestion Entrées Utilisateur 1.0 - Janvier 2007

Description

But Demande d'entrer une chaîne de caractères en proposant l'ancienne valeur
Prototype (BiO_GetString Message Val_courante Val_Défaut)
Argument Message : - Le message qui sera affiché - chaîne -
Val_courante : - La valeur courante de la chaîne - chaîne -
Val_Défaut : - Valeur proposée par défaut - chaîne -
Retours Une chaîne
Var. globales Néant
Description BiO_GetString interrompt la tâche en cours pour demander d'entrer une chaîne, en proposant la valeur précédente si la variable a déjà été utilisée ou, sinon une valeur par défaut.
Notes C'est la fonction GetString améliorée, la version normale ne proposant pas de valeur précédente ni de valeur par défaut.
Des espaces sont possibles dans la chaîne.
Il faut taper la touche "Entrée" pour terminer.
Exemples

Command: (setq ch1 (BiO_GetString "Prénom : " ch1 "Albert"))
    Prénom :  : Bernard
    "Bernard"          -------  le résultat
	
Command: (setq ch1 (BiO_GetString "Prénom : " ch1 "Albert"))
    Prénom :  : [Touche entrée]
    "Bernard"          -------  le résultat
	
Command: (setq ch2 (BiO_GetString "Prénom : " ch1 "Claude"))
    Prénom :  : Daniel
    "Daniel"          -------  le résultat

Autre exemple	

Command: (setq z1 (BiO_GetString "Prénom : " z1 ""))
    Prénom : <> : 
    [Touche entrée]
    ""            -------  le résultat
    Dans ce cas l'argument z1 est "nil"

La fonction


  1- (defun BiO_GetString (*Msg *Val_cour *Defo / Reponse)

  2-    (if (not *Defo)
  3-        (setq *Defo " ")
  4-    )
  5-    (if (not *Val_cour)
  6-        (setq *Val_cour *defo)
  7-    )
  8-    (setq Reponse (getstring t (prompt (strcat *Msg " <" *val_cour ">: "))))
  9-    (if (equal Reponse "") 
 10-        (eval *Val_cour) 
 11-        Reponse
 12-    )
 13- )

Lignes 2-4 :  Pour éviter les messages d'erreur, si l'argument 'valeur par défaut' est nul.
Ligne 5 :     Si l'argument 'valeur courante'  est nul,
Ligne 6 :        Donne-lui la valeur de l'argument 'valeur par défaut'.
Ligne 8 :     Affiche le message et le texte qui sera pris en compte si on actionne la 
                 touche "Entrée"
Ligne 9 :     Si on a appuyé sur la touche "Entrée" (donc sans taper un texte),
Ligne 10 :        Retourne la valeur courante
Ligne 11 :        Sinon la chaîne tapée au clavier..


getstring : Demande d'entrer une chaîne.
prompt : Affiche un message dans le bas de l'écran.
strcat : Concatène (regroupe) plusieurs chaînes en une seule.
equal : Détermine si 2 expressions sont égales
eval : Renvoie le résultat de l'évaluation d'une expression.