• Aucun résultat trouvé

L’éditeur de code est le centre de traitement de WinDev. L'éditeur de code permet de saisir tous les traite- ments en WLangage (le langage de 5ème génération intégré à WinDev).

Il permet de saisir le code source : • des champs

• des fenêtres • des états

• des procédures locales et globales • des classes

• des composants

2.6.1 Programmation événementielle

L’éditeur de code de WinDev offre une programmation immédiatement structurée grâce à la gestion des événements par chapitre.

Il suffit de saisir le traitement à exécuter en WLangage dans le paragraphe concerné. Les événements présentés sont les événements les plus utilisés.

Par exemple, pour un champ de saisie, les événements présentés par défaut sont : • initialisation

• entrée • sortie

• à chaque modification

Les autres événements peuvent être ajoutés à tout moment : • survol souris

• bouton gauche enfoncé • bouton gauche relâché • bouton gauche double-clic • bouton droit enfoncé

• bouton droit double-clic • roulette souris

• touche enfoncée • touche relâchée • touche appuyée

• touche système enfoncée • touche système relâchée • touche système appuyée • ascenseur horizontal • ascenseur vertical

• affichage menu contextuel • déplacement

• changement de taille • prise de focus • perte de focus

2.6.2 Saisie assistée

Le développeur bénéficie à tout moment d’aides à la saisie du code et à la compréhension : • saisie assistée :

Lors de la saisie d’une fonction WLangage, la syntaxe de la fonction est automatiquement affichée, ainsi que le détail des paramètres attendus. La liste des ressources concernant cette fonction est affi- chée (exemples livrés, composants livrés, ...).

• mise en forme automatique :

Le code saisi est mis en forme à partir des mots-clés reconnus. • coloration syntaxique avec couleurs et polices personnalisables : Chaque famille de mots-clés dispose d’une couleur spécifique. • complétion du code :

La saisie est complétée en cours de frappe en proposant une liste intelligente des valeurs possibles. • détection immédiate des erreurs de frappe et aide à la correction

• compilation incrémentale :

La compilation est transparente pour le développeur. Seul le code modifié et nouvellement saisi est compilé.

• gestion de l’historique des modifications de code avec retour en arrière :

Les modifications de code sont conservées par développeur et une restauration de précédentes ver- sions, ainsi qu’une comparaison de code est possible.

• repérage du code modifié

• ouverture simultanée de plusieurs fenêtres de code • zoom

• glossaire

• assistants de création de code :

Pour les fonctions à paramètres multiples, un assistant guide le développeur dans la saisie des para- mètres.

• indentation automatique • charte de programmation :

Chaque type de variables ou d’éléments est préfixé automatiquement. • statistiques de code pour connaître le pourcentage de commentaires • coloration des procédures

2.6.3 Enroulé déroulé

Un code connu et déjà testé peut être enroulé pour libérer de l’espace dans l’éditeur de code et rendre le code encore plus clair.

Trois types de lignes de code peuvent être enroulés :

• les lignes de code correspondant à une structure de code spécifique : les instructions condition- nelles (SI, SELON, QUAND EXCEPTION), les déclarations de globales, de constantes, de struc- tures, ...

• les lignes de code précédées d'un commentaire.

• les lignes de code spécifiques, déterminées par le développeur. Une icône à côté de la partie de code permet d’enrouler et de dérouler le code. Tous les enroulés/déroulés sont mémorisés.

2.6.4 Visualisation des traitements

L’éditeur de code donne la possibilité de visualiser ou non les traitements vides. Un code n’affichant pas les traitements vides permet de se concentrer sur les traitements utilisés.

2.6.5 Traduction du code Français/Anglais

Le code WLangage peut à tout moment être passé du français à l’anglais et inversement par une option de menu.

2.6.6 Code multi-cibles

L'éditeur de code permet de saisir dans un même traitement un code spécifique pour chaque environne- ment (WinDev, WebDev et WinDev Mobile).

De plus, suivant la plate-forme (Windows ou Linux) et type de génération (Java, Application .NET ou Ser- vice Web XML) il peut également y avoir des cibles différentes pour chaque environnement. Le terme "pla- teforme" est utilisé pour distinguer ces différents codes.

L’éditeur de code est partagé est autant de parties qu’il y a de plateformes définies. Les plateformes disponibles sont les suivantes :

• Application Windows • Application Java • Application .Net

• Service Windows (32 ou 64 bits) • Application Linux 32 bits • Service linux (32 ou 64 bits) • Webservice Windows

Il est également possible de sélectionner dans certains codes, des plate-formes WinDev Mobile et WebDev (code du projet, code des collections de procédures, ...).

Il est également possible d’associer un traitement à plusieurs plate-formes.

2.6.7 Aide en ligne

L’aide en ligne est directement accessible depuis l’éditeur de code par la touche [F1]. Si une fonction WLan- gage est sélectionnée, l’aide correspondante est affichée. Il est possible de réaliser des "copier-coller" de l’aide vers l’éditeur de code.

Rappel : Selon la configuration de WinDev, l’aide en ligne affichée peut être : • l’aide en ligne locale, installée avec le produit.

• l’aide en ligne Internet. Cette aide en ligne est mise à jour régulièrement. Il est possible d’annoter des pages d’aide pour enrichir l’aide apportée à la communauté des développeurs WinDev.

2.6.8 Ajout d’une tâche

A tout moment, le développeur peut ajouter une tâche dans la liste des tâches en utilisant le mot-clé "A faire" dans l’éditeur de code, suivi de la tâche à ajouter.

2.6.9 Débogueur

Le débogueur permet de tracer les traitements en WLangage afin de faciliter la mise au point des applica- tions. Le débogueur est disponible en 32 et 64 bits.

Le code source exécuté est visualisé à l’écran. Les différents traitements exécutés sont hiérarchisés dans le volet "Code" (pile d’appels).

La valeur des variables peut être visualisée :

• individuellement dans la bulle de survol de chaque variable • dans le volet "Débogueur"

Pour accéder au débogueur, plusieurs méthodes sont disponibles :

• par le choix de menu "Mode Test". Il est possible de tester / déboguer le projet en cours de déve- loppement, mais aussi l’exécutable du projet en cours de développement que ce soit sur le poste de développement ou sur un autre poste.

• lors de l’exécution en mode test depuis l’éditeur, en appuyant sur les touches [CTRL + Pause] • par programme, en utilisant le mot-clé WLangage STOP

• en ajoutant un point d’arrêt dans l’éditeur de code • en plaçant une condition auto-stop sur une expression

A partir du débogueur, l’exécution peut se faire selon plusieurs manières : • pas à pas

• pas à pas sans rentrer dans le détail des procédures et méthodes • par bloc de lignes

• jusqu’au prochain point d’arrêt • en ignorant les points d’arrêt

Le débogueur permet d’ajouter dans le volet "Débogueur" une expression à évaluer qui peut être : • une variable

• une fonction

• des opérations sur des variables

Le débogueur permet également de changer le contenu des variables en cours d’exécution.

2.6.10 Déboguer avec la fonction Trace

La fonction Trace permet de déboguer un traitement qui ne peut être interrompu par le débogueur. Cette fonction affiche les informations demandées dans une fenêtre ouverte en parallèle de la fenêtre en cours ou directement dans un fichier.

Il existe également un analyseur de performances et un comparateur de code qui sont détaillés un peu plus loin dans cet ouvrage.

2.6.11 Rétro modélisation de code

Depuis un code existant (procédure, méthode, traitement, ...), WinDev permet d’effectuer une rétro modé- lisation dans l’éditeur de modélisation. Cette fonctionnalité permet, en partant d’un code, soit de décompo- ser fonctionnellement les traitements contenus dans ce code, soit de retrouver les parties de code qui appellent ce code ailleurs dans le projet.

La décomposition fonctionnelle d’une procédure affiche toutes les procédures appelées depuis la procédure. Elle permet de comprendre l’organisation de la procédure et de trouver où apporter des modifications. La recherche des parties de code qui appellent une procédure donnée affiche récursivement toutes les procé- dures qui appellent la procédure. Elle permet d’évaluer l’impact d’une modification dans la procédure.