Index

 

  TX FM1

 

La première mouture est réalisée sous Lazarus (https://www.lazarus-ide.org/), un logiciel libre et donc sans licence. Son cousin non libre est connu des développeurs sous le nom de « Delphi » (https://www.embarcadero.com/fr/products/delphi) distribué par Embarcadero, 'ex Borland".

Le langage de programmation est donc le Pascal orienté objet. Vous pourrez donc vous appuyer sur les livres à destination de l’apprentissage de la prise en main de Delphi bien que la communauté de développeurs issus « Lazarus » commence à devenir très active. En effet, cet outil de développement a acquéris sa phase de maturité.

Toutefois, attention à la dépendance des paquets des composants tiers et à la version de Lazarus pour lesquels ils ont été écrits. Cela conditionne la version sous laquelle il vous faudra l’installer pour développer votre logiciel.

Dans notre cas, nous restons dans l’utilisation des composants livrés d’origine et ils suivent donc les montées de version du RAD (Rapid Application Development) par leurs auteurs respectifs.

Nous avons fait appel à 2 composants tiers, (externe) qui se compilent très bien sous la dernière version actuelle de Lazarus (2.0.6). Il s’agit de Rackctls (https://wiki.lazarus.freepascal.org/RackCtls) écrits d’origine par son auteur pour Delphi et traduits au format Lazarus et le composant « Native HID » (https://www.winsoft.sk/nathid.htm) de chez Winsoft. Ce dernier est un composant non visuel car il nous permet d’assurer le dialogue dans les 2 sens entre l’électronique et le logiciel par le port USB en mode HID (Human Interface Device). Bien que ce dernier composant nécessite une license d’utilisation, sa version démonstration (Trial) n’est pas limitée dans le temps, un écran « nag » apparait au lancement de votre logiciel compilé.

Cette version sous Lazarus ne sera pas pour autant un « jouet » car elle sera fonctionnelle. Cependant, elle permettra à chacun de s’initier à la programmation. J’entends par là que chaque utilisateur pourra développer et mettre au point ses fonctions personnelles et les soumettre ensuite au Club pour intégration. Nous pourrons modifier le source du firmware pour faire évoluer les informations transitant par le port USB.

Il est pour l’instant envisagé d’écrire un logiciel sous Delphi pour ce pilote. Delphi étant de génération plus ancienne que Lazarus, les composants tiers sont plus nombreux sur la toile. La présentation fonctionnelle du logiciel devrait se rapprocher assez fidèlement de la version Lazarus. Par contre le design de l’application devrait s’en éloigner car il est tout à fait possible de customiser le graphisme de l’application par l’ajout de skins. A cette heure, je n’ai pas trouvé de composant identique pour Lazarus.

Il est assez périlleux de démystifier en quelques lignes la méthode pour programmer en Pascal Orienté Objet (P.O.O.). Je vous invite à vous munir d’ouvrages sur ce thème écrits pour la version 7 de Delphi. Delphi 7 fut, à l’époque, la version « référence » des versions antérieures et postérieures jusqu’à l’arrivée des séries XE… permettant de créer un exécutable en 32 et en 64 bits simultanément avec le même source. La presse technique a donc assez bien nourri et documenté le sujet. N’hésitez pas à aller vous promener sur les brocantes ou sites d’enchères en ligne pour dénicher ces joyaux.

Si vous souhaitez vous entrainer à ce langage P.O.O. à partir des exercices proposés dans les ouvrages de programmation, sachez que vous pouvez vous procurer gratuitement la version de Delphi 7 sur le site de www.developpez.com (https://delphi.developpez.com/telecharger-gratuit/delphi7-perso/#LIII-B). Delphi 7 a tellement été une référence que son éditeur (Borland à l’époque) a décidé de la diffuser en libre utilisation. A l’heure où ces lignes sont écrites (janvier 2020), la version de Delphi en vigueur est la XE10.3 Révision 3 connue aussi sous le nom de « Rio » et l’éditeur se nomme maintenant « Embarcadero ».

Chaque composant visuel dispose de propriétés et d’événements. Les propriétés sont les éléments qui caractérisent l’aspect visuel du composant. Sa couleur, sa fonte, sa taille de fonte, sa hauteur, largeur hauteur et encore bien d’autres sont donc modifiables à volonté.

Les événements sont issus des actions réalisées par l’utilisateur sur le composant. Lorsque l’utilisateur survole de sa souris le composant en question, vous pouvez lui attribuer une action spécifique. Dans notre cas, nous pourrions lui faire modifier la couleur de la fonte pour attirer le regard.

Je vous livre volontiers ces premières explications car cette base de la base m’avait été déjà présenté sous cette forme pour m’aider à prendre en main le logiciel et m’aider à démarrer mon premier programme.

A charge ensuite à chacun d’aller plonger ou replonger les yeux dans d’autres ouvrages relatifs à la programmation pure traitant des variables, tableaux, fonctions arithmétiques, conditions, boucles, …. que l’on retrouve dans tous types de langage de programmation.

Et pour conclure et fournir un ensemble cohérant installable, il vous faut créer un fichier d’aide dont ses index sont à lier à chaque propriété « HelpIndex » de chaque fenêtre (Form) ou composant pour appeler la page concernée de l’aide en appuyant sur la touche de fonction F1 (commun à tous les logiciels normalement). Le développement sera abouti totalement, lorsqu’une installation type sera produite en y insérant l’exécutable, le fichier aide à minima.

 

PS : Je vous mets en téléchargement l'utilitaire gratruit de Microsoft pour la compilation des fichier d'aide (Microsoft HTML Help WorkShop) ainsi qu'une documentation pour sa prise en main car l'outil est en anglais documentation en français

 

Téléchargement :

 

Lazarus  Source du projet sous Lazarus (Historique du 01/02/2020)
html  Source du fichier d'aide
InoSetup  Source de l'installation
  Installation 32  Installation du logiciel compilé (Historique du 01/02/2020)
TXFM1 Setup d'installation du logiciel (Consultez le fichier d'historisation des corrections de bug et d'ajout de nouvelles fonctionalités)

PS : un live sur lazarus : https://www.lazarusext.fr/downloads/LAZARUS-libre.pdf