Le Graphisme Sous Kixtart

 
 
MESSAGEBOX - BOX
 
 

Du graphisme avec un langage de script... C'est vrai que ça peut prêter à sourire. Mais bon nous sommes sous Windows, et l'apparence prime. Donc pour ceux qui le désire il est possible de faire des menus graphiques et des interfaces avec kixtart.

MESSAGEBOX- top

Le moyen le plus simple de communiquer avec l'utilisateur passe par l'utilisation d'une fenètre système. Celle ci s'ouvre avec la fonction MESSAGEBOX("message", "title", style, time-out).

L'utilisation des arguments est codée.

  • message est une chaine de caractère qui apparaitra dans la box. Pour faire des retours à la ligne il suffit d'inclure la fonction CHR(13)+CHR(10). Le message ne peut être composé de plus de 1024 caractères.


  • title est une chaine de caractère elle apparait en haut de la fenêtre.


  • style est le type de message. C'est très particulier car pour définir le comportement de la fenêtre on va additionner les valeurs des options voulues.

    • Plus clairement, pour obtenir une fenêtre avec un bouton Yes et un bouton No (valeur 4), avec une icône question (valeur 32), dans laquelle on positionne le bouton No, le deuxième, comme celui par défaut (valeur 256) et que cette fenêtre arrive au premier plan (valeur 4096). On entrera comme valeur pour style : 4+32+256+4096=4388
    • Les valeurs possibles sont :
      • Boutons :

        Valeur
        A l'écran
        0
        1
        2
        3
        4
        5


      • Icone

        Valeur A l'écran
        16
        32
        48
        64


      • Bouton par défaut

        Valeur
        A l'écran
        0
        Premier bouton
        256
        Deuxième bouton
        512
        Troisième bouton


      • Modalité

        Valeur A l'écran
        0 Application - l'utilisateur doit répondre avant de continuer l'application
        4096 Système - Se place au-dessus de toutes les autres applications


  • Timeout sert à déterminer combien de temps le système attend la réponse de l'utilisateur avant d'adopter le choix par défaut.


  • La réponse choisie est désigner par la valeur de retour @ERROR de messageBox.

    Valeur effets
    -1 L'utilisateur n'a pas répondu dans le temsp de timeout
    1 Bouton OK sélectionné
    2 Bouton Annuler sélectionné
    3 Bouton Abandonner sélectionné
    4 Bouton Réessayer sélectionné
    5 Bouton Ignorer sélectionné
    6 Bouton Oui sélectionné
    7 Bouton Non sélectionné
    Si la fenêtre contient le bouton Annuler, utiliser la touche ESC produit le même effet que choisir Annuler.

D'où notre exemple se résumant à la ligne de commande suivante :

MessageBox("Message dans la fenêtre","title",4388)


BOX - top

Ensuite, la plus simple (et passe-partout) est de passer par une interface graphique type dos. C'est pas très joli, mais ça a le mérite d'être léger et efficace.

Il faut penser à sa fenêtre d'abord, savoir quelle taille elle aura. A partir de là tout n'est qu'affaire de positionnement. Une fenetre a des origines, en haut à gauche, puis après ça s'étend vers la droite (abscisse) et en bas (ordonnée).

Puis pour utiliser des formes sous kixtart, on utilise la commande :
BOX (top_left_row, top_left_column, bottom_right_row, bottom_right_column, "line style")

Top_left_row, top_left_column, bottom_right_row, bottom_right_column
Exprime les coordonnées de la fenêtre, le row correspond aux abscisses et le column aux ordonnées. Comme nous l'avons vu 0,0 representera le coin en haut à gauche de l'écran.

Line style peut avoir quatre valeurs et représente l'apparence du trait :

  • single : ligne simple
  • double : ligne double
  • full : ligne simple épaisse
  • grid : apparence d'une grille
  • une chaine de caractère où on respecte l'ordre suivant d'apparition :

    • 1, coin haut-gauche
    • 2, Horizontal haut
    • 3, coin haut-droit
    • 4, Vertical droit
    • 5, Coin bas-droit
    • 6, Horizontal-bas
    • 7, coin bas-gauche
    • 8, vertical gauche
    • 9, intérieur

    Ce qui nous donne avec le code suivant :

    Code kix
    Visualisation

    $rc=Box(1, 10, 10, 15, single)
    $rc=Box(1, 17, 10, 22, double)
    $rc=Box(1, 24, 10, 29, full)
    $rc=Box(1, 31, 10, 36, grid)
    $rc=Box(1, 38, 10, 43, "+-+|+-+| ")


 

 

 

 



Pour ne pas simplement faire que des carrés il faut utiliser les commandes COLOR et AT().

COLOR X/Y (X pour le premier plan et Y pour l'arrière-plan) va permettre de colorer ce qui va apparaitre dans la fenetre (texte ou box). Il se place avant le code à colorer. Il n'existe que huit couleurs de base qui sont :

n : Normal (black)
  r : Red
 
b : Blue   m : Magenta  
g : Green   y : Yellow/brown  
c : Cyan   w : White  

AT(ligne, colonne), va permettre de positionner le curseur, donc du texte sur la fenêtre.

ATTENTION : Ne pas oublier que les instructions sont séquentielles et aficher d'abord les box avant le texte sinon il sera dessous et non visible.


Puis une plus compliqué en passant par un objet ole qui lance une fenêtre web et l'utilise.

L'idée est de générer une page HTML et de faire appel à un objet Web par Internet Explorer (sur des machines Windows c'est le cas généralement). En allant dans la rubrique avancée vous pourrez voir comment fabriquer ce type d'objet.

 

 
   
 


J'oubliais, le contenu de ce site peut être pompé ou utilisé dans son intégralité tant que ce n'est pas à des fins commerciales. Il a été concu dans le cadre de ma formation à l'Université de Marne la Vallée et les copyright lui appartiennent donc.