DÉVELOPPEMENT D'APPLICATIONS AVEC ...






COURS 12 - DÉVELOPPER L'APPLICATION "GESTION" EN POWERBUILDER






Pour cette partie du cours nous allons suivre le tutoriel PowerBuilder à partir du livre "Getting Started".
Si vous n'avez pas le livre vous pouvez suivre directement sur Internet en consultant PowerBuilder Getting Started


CRÉATION DE L'APPLICATION

Le premier objet créé dans une nouvelle application est l'objet application qui garde les informations générales au sujet de l'application. Cet objet est stocké, avec tous les autres objets de cette application, dans une library. Normallement on crée une librairie différente pour chaque application. Pour notre application, la librairie s'appellera gestion.pbl et sera stockée dans N:\gestion1\gestion.pbl

Au moment de créer l'application on spécifie le type d'interface: si on demande à PB de générer l'application, on obtient une application MDI (Multiple Document Interface) et on commence avec des fenêtres, des menus et autres objets standard pour Windows.



Cela signifie que notre application aura l'apparence qu'on connaît des logiciels Windows comme MS-Word ou MS-Access et les utilisateurs seront immédiatement familiers avec l'interface. Si ce n'est pas MDI, on dessine tous nos menus et fenêtres nous-même et on obtient un interface custom. Pour ce cas-ci, on veut une application MDI donc on répond: Yes.


CRÉATION D'UN WINDOW "LOGIN"

Le Window en PB est l'objet le plus visible à l'utilisateur. Pour le construire on utilise le window painter. On commence avec un espace vide sur lequel on place des controls. Les controls servent à afficher du texte, saisir les données entrées par l'utilisateur, exécuter des scripts, etc.

Il y a plusieurs types de window: celui qui sera utilisé dans l'application est le type MDI-frame puisqu'on travaille en MDI. Cependant, pour le logon on utilise le type Response qui force l'utilisateur à entrer quelque-chose avant de pouvoir continuer (il faut que le userid et le password soient entrés avant tout pour démarrer l'application). On peut voir le type de window dans Properties de l'objet. Dès que vous avez le window de créé, sauvegardez-le et donnez-lui un nom, par exemple: w_logon.

Une fois le window créé on y ajoute les controls nécessaires. Il faudra 2 Single Line Edit (sle_ ) pour le userid et le password et 2 Command Button (cb_ ) pour Exit et OK. On insère les titres appropriés avec des Static Text (st_ ) et on devrait aussi y mettre une image pour le logo de l'entreprise. Maintenant que w_logon est construit et fonctionne, il faut l'ouvrir au bon moment et cela veut dire: dès le lancement de l'application. La première chose qui arrive dans une application MDI c'est l'ouverture du window de base: w_genapp_frame. Donc on active w_genapp_frame et, pour voir ce qui se passe lorsqu'il s'ouvre, on ouvre le Script du Open event de l'objet. On remarque que le script choisi le texte de menu approprié et ouvre une nouvelle Sheet; mais, on veut qu'il ouvre w_logon à la place. Donc, on désactive la fonction wf_newsheet() et on insère la commande Open w_logon à sa place. On peut maintenant tester l'application en faisant Run>.


CONNECTION AU DATABASE

Avant d'essayer de se rattacher à la base de données il faut évidemment que celle-ci existe!

Notre base de données "Gestion" a été créée en SQL Anywhere au moyen des outils de Sybase Central. Pour s'y connecter on doit passer par ODBC (Open DataBase Connectivity), le protocole de connection développé par Microsoft. Avant d'utiliser la bd pour la première fois en PB on doit créer un Data Source. Le Data Source décrit le database et le DBMS qui l'accompagne. En PB on utilise le ODBC Painter pour définir le Data Source.



La définition du Data Source n'est pas très compliquée: d'abord on lui donne un nom - c'est ce Data Source Name (DSN) que vous verrez mentionné à différent endroits. Puis on nomme le User Id et le Password et on fait un Browse pour trouver le Database File.



La connection au database commence dès l'ouverture de l'application. L'objet Application a un Open event qui contient le script exécuté lors de l'ouverture de l'application. Ce script spécifie, entre autre, que le Startupfile est PB.INI et donne la liste des paramètres à aller chercher dans PB.INI. Il donne ensuite les commandes pour établir la connection.

Si vous décidiez de ne pas utiliser un Logon, vous pourriez activer toutes ces commandes et ouvrir le database automatiquement en partant des informations de PB.INI. Donc, dès que vous ouvrez l'application la connection s'établira et vous commencerez le traitement.

Dans notre cas on a un Logon donc, on va l'utiliser. Dans le script du Open de l'application on désactive toutes les lignes de paramètres, sauf sqlca.DBMS, et les commandes de connection.

Pour établir la connection on utilise une fonction attachée à la fenêtre (un Window function). N'oubliez pas qu'une fonction est simplement une série d'instructions, un programme, qui travaille avec des paramètres et retourne toujours une réponse. Pour créer la fonction on active le window et on clique Declare --> Window functions dans le menu. Puis on donne un nom à la nouvelle window fonction et on nomme les paramètres qu'elle utilisera: dans ce cas, userid et password. En cliquant OK le script painter s'ouvre. On déclare 3 variables locales de type string: le nom du database, le userid entré et le password entré.



Quand la fonction wf_connect sera-t-elle exécutée? Quand on fera Click sur le bouton OK après avoir entré le userid et le password. Il faut donc activer le bouton OK, ouvrir son script pour le Clicked event et y inscrire la fonction.



Le script Clicked du bouton Cancel ne nécéssite que la commande Halt.





[ Page TITRE ]      [ PRÉCÉDENTE ]      [ SUIVANTE ]