Introduction à PANORAMIC

Dernière mise à jour : 9 Novembre 2010


  1. Introduction
  2. Installation
  3. Un exemple simple
  4. Les objets et leurs propriétés
  5. Evénements et sous-programmes
  6. Un exemple plus complexe
  7. L'Environnement de Développement Intégré (EDI)
  8. Conclusion
  9. Remerciements

I. Introduction

PANORAMIC est un interpréteur/compilateur BASIC développé depuis 2007 par Jean-Jacques Druelle. Il permet de créer facilement sous Windows des programmes pourvus d'interfaces graphiques. Ce logiciel freeware est disponible en versions française et anglaise.


II. Installation

Le programme d'installation peut être téléchargé en :

Le programme installe PANORAMIC dans C:\Program Files\Panoramic Editor\V 0.9.19 et crée un raccourci sur le bureau.

PANORAMIC se compose d'un seul exécutable PANORAMIC_EDITOR.exe que l'on peut facilement recopier sur un support quelconque (p. ex. une clé USB).


III. Un exemple simple

Une fois lancé par un clic sur le raccourci, PANORAMIC affiche la fenêtre de l'éditeur. En activant l'option "Fichier/Nouveau" (ou en cliquant sur la première icône) on ouvre une nouvelle fenêtre où l'on va taper le fameux programme "Hello world" :

Les mots-clés tels que print apparaissent en bleu. L'éditeur numérote automatiquement les lignes, mais cette option peut être désactivée.

Le programme se lance en pressant F9 ou en cliquant sur l'icône en forme d'éclair. Le programme affiche la fenêtre principale avec notre texte.

On peut générer un exécutable en choisissant "Fichier / Executable". On obtient un énorme fichier EXE d'environ 1,5 mégaoctet que l'on peut réduire par UPX à environ 1/3 de sa taille originelle. Cet exécutable est autonome et ne requiert aucune bibliothèque ou runtime additionnel.


IV. Les objets et leurs propriétés

Une application se compose de plusieurs objets. L'exemple précédent ne comportait qu'un seul objet : la fenêtre principale, qui est un objet de type Form.

PANORAMIC affecte un nombre à chaque objet. Par défaut, la fenêtre principale reçoit le numéro 0, d'où le titre "Form 0".

Chaque objet a plusieurs propriétés. Par exemple, la fenêtre principale a une propriété caption (son titre) et une propriété font (pour le texte affiché).

On définit une propriété par un mot-clé spécifique, suivi du numéro de l'objet puis de la valeur de la propriété. Par exemple, on peut changer le titre de la fenêtre et la police de caractères de la façon suivante :

Notez que la couleur de la police s'exprime dans le format RGB (Red, Green, Blue), de sorte que "255, 0, 0" spécifie un rouge vif.

Le programme s'affiche alors sous la forme :

Une liste complète des objets disponibles (incluant les graphismes 2D et 3D, les sprites, le multimédia), ainsi que leurs propriétés et les mot-clés correspondants, s'obtient en choisissant "Aide / Manuel utilisateur" dans le menu de l'éditeur.


V. Evénements et sous-programmes

Un événement survient quand l'utilisateur agit sur un objet, p. ex. en cliquant sur un bouton. Le programme doit alors exécuter une partie bien définie du code, à savoir un sous-programme. Chaque sous-programme est identifié par une étiquette (label) qui doit être déclarée avant qu'on puisse y faire référence. Nous aurons donc une série d'instructions du type :

  label bouton1_click         ' déclare l'étiquette
  ...................
  on_click 1, bouton1_click   ' quand on clique sur le bouton (objet numéro 1),
                              ' exécuter le sous-programme identifié par bouton1_click
  ...................
  end                         ' fin du programme principal

  bouton1_click:              ' sous-programme
  ...................         ' instructions à exécuter
  return                      ' fin du traitement de l'événement


VI. Un exemple plus complexe

Nous allons maintenant appliquer les précédentes considérations à un nouveau programme : un visualiseur d'images. Le code se présente ainsi :

  ' ---------------------------------
  ' Programme principal
  ' ---------------------------------

  ' --- Declarations ---

  label button1_click
  dim filename$

  ' --- Description des objets ---

  left 0, 300
  top 0, 200
  width 0, 350
  height 0, 400
  caption 0, "Picture viewer"

  button 1
  left 1, 50
  top 1, 50
  width 1, 250
  caption 1, "Load picture"
  on_click 1, button1_click

  picture 2
  left 2, 50
  top 2, 100
  width 2, 250
  height 2, 250

  open_dialog 3

  end

  ' ---------------------------------
  ' Sous-programme
  ' ---------------------------------

  button1_click:
    filename$ = file_name$(3)
    if filename$ <> "_" then file_load 2, filename$
  return

Cette application utilise 4 objets :

La première ligne du sous-programme affecte le nom du fichier sélectionné à la variable chaîne de caractères filename$. Tout comme les labels, les variables définies par le programmeur doivent être déclarées, avant qu'on puisse s'en servir, par le mot-clé dim. Ici nous avons groupé les déclarations en début de programme, mais ce n'est pas obligatoire.

La deuxième ligne du sous-programme charge le fichier dans l'objet picture. Le test vérifie que l'utilisateur a validé son choix en cliquant sur le bouton "Open" du dialogue (un caractère de soulignement est retourné dans filename$ si l'utilisateur clique sur le bouton "Cancel").

Le lancement du programme fait apparaître la fenêtre suivante :

En cliquant sur le bouton on obtient une boîte de dialogue permettant de choisir un fichier image. Après validation l'image est affichée.


VII. L'Environnement de Développement Intégré (EDI)

Dans l'exemple précédent nous avons défini les propriétés de nos objets directement dans l'éditeur. L'Environnement de Développement Intégré (EDI ou IDE = Integrated Development Environment) permet de placer et de dimensionner les objets de manière interactive avec la souris. Ce programme appelé PANORAMIC_IDE est actuellement en cours de mise au point. Tout comme l'éditeur, il est constitué d'un seul programme exécutable PANORAMIC_IDE.exe.

Au démarrage, PANORAMIC_IDE affiche les fenêtres suivantes :



Les objets sont sélectionnés dans la palette avec la souris, puis déposés sur la fenêtre principale ("Form 0"), comme avec Visual Basic ou Delphi. Les objets se placent selon la grille, cette option pouvant être désactivée. Ils peuvent être déplacés ou redimensionnés avec la souris. Les valeurs de leurs propriétés sont saisies dans la fenêtre "Objects Properties".

Un clic droit sur un objet ouvre une fenêtre d'édition permettant de saisir le code du sous-programme associé à l'objet. Si plusieurs événements sont associés au même objet, chacun d'eux peut être sélectionné dans un menu pop-up qui apparaît avant l'activation de l'éditeur.

Le programme peut être lancé depuis l'IDE, sauvegardé dans un fichier ou compilé en un exécutable. On peut aussi le transférer dans PANORAMIC_EDITOR pour de plus amples modifications.

Note : En plus de PANORAMIC_IDE, la communauté des utilisateurs propose un autre IDE entièrement écrit en PANORAMIC. Ce logiciel en version française est disponible ici.


VIII. Conclusion

PANORAMIC est un logiciel particulièrement attrayant pour ceux qui veulent développer des applications graphiques sous Windows, tout en conservant la légendaire simplicité du BASIC. Le prochain article montrera comment on peut enrichir les fonctionnalités de PANORAMIC à l'aide de DLLs.


IX. Remerciements

Je remercie Jean-Jacques Druelle, auteur de PANORAMIC, ainsi que tous les membres du forum PANORAMIC français, pour avoir relu cet article et m'avoir suggéré diverses améliorations.




Retour au sommaire