Obligement - L'Amiga au maximum

Vendredi 06 juin 2025 - 12:42  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Comparatif : CanDo 2.51 contre Helm 1.37
(Article écrit par Randy Finch et extrait du Randy Finch's Web Site - mars 1994)


J'ai récemment entendu l'un de mes philosophes préférés dire que la partie la plus difficile de l'écriture de son dernier livre a été de décider de ce qu'il fallait laisser de côté, et non de ce qu'il fallait y mettre. C'est ce que je ressens lorsque j'écris un article comparatif tel que celui-ci. CanDo et Helm sont tous deux si riches en fonctionnalités qu'il est impossible de tout comparer dans l'espace limité d'un article de magazine. En gardant cela à l'esprit, permettez-moi d'aller de l'avant avec la comparaison. Je vais parler de CanDo 2.51 d'INOVAtronics et de Helm 1.37 d'Eagle Tree Software.

Installation

CanDo et Helm sont extrêmement faciles à installer. Les deux utilisent le programme Installer de Commodore. Comme je l'ai mentionné dans mon test de CanDo 2.51, ce logiciel ne laisse pas beaucoup de choix à l'utilisateur pendant l'installation. Helm, par contre, permet une variété de choix. Par exemple, l'utilisateur peut sélectionner les programmes d'exemple à installer et décider d'écraser ou non une bibliothèque partagée existante.

Paradigmes

CanDo utilise le paradigme du deck. Un deck est un programme CanDo qui consiste en une ou plusieurs cartes. Une carte est essentiellement une fenêtre contenant divers objets qui constituent l'interface utilisateur. Chaque carte et ses objets reconnaissent certains événements tels que les clics de bouton de souris. Lorsqu'un événement se produit, un script peut être exécuté. Cela donne au programme sa fonctionnalité.

Helm utilise le paradigme du livre. Un livre est un programme Helm qui se compose de formulaires et de pages. Comme les cartes dans CanDo, les formulaires et les pages sont des fenêtres contenant divers objets qui constituent l'interface utilisateur.

Les formulaires sont un élément puissant de Helm. Si vous avez besoin de plusieurs pages contenant des objets communs, mais aussi des objets différents, les formulaires sont la solution. On peut concevoir un formulaire qui contient les objets communs, puis créer plusieurs pages qui héritent chacune des objets du formulaire. Des objets supplémentaires peuvent être ajoutés aux pages individuelles pour compléter l'interface. Si ces pages ont toutes besoin d'un nouvel objet plus tard, il suffit de l'ajouter au formulaire pour qu'il apparaisse automatiquement sur toutes les pages filles. Il s'agit d'une approche orientée objet pour construire l'interface utilisateur. Pour simuler cela dans CanDo, on peut créer une carte contenant les objets communs. Cette carte peut être copiée plusieurs fois et des objets supplémentaires peuvent être ajoutés aux copies. Si un nouvel objet est nécessaire ultérieurement, il doit être ajouté à une carte, puis copié sur toutes les autres cartes.

Comme pour CanDo, les objets de Helm peuvent réagir à certains événements. Cependant, dans Helm, il y a deux façons de répondre à un événement. La première consiste à utiliser un script. Une autre consiste à créer une liste d'actions. Les actions sont essentiellement des scripts pré-écrits qui exécutent des tâches courantes et peuvent être séquencées de manière interactive à l'aide de la souris (nous y reviendrons plus tard).

Interfaces

CanDo démarre un nouveau deck avec une carte vierge. Les outils permettant d'ajouter des objets d'interface à la carte se trouvent sur le panneau de configuration principal, qui se trouve sur un écran séparé qui recouvre partiellement la carte, comme le montre la figure 1 :

CanDO contre Helm
Figure 1 - L'interface de CanDo 2.51

Helm adopte une approche totalement différente. Un nouveau livre commence par une page blanche, mais les outils permettant d'ajouter les objets d'interface sont disponibles via des menus déroulants attachés directement à la page. Tous les menus déroulants restent disponibles pour l'utilisateur d'un livre, sauf s'ils sont supprimés ou désactivés par le programmeur. Pour faciliter l'édition d'une page, divers outils sont disponibles via le menu "Outils". Lorsqu'un élément du menu "Outils" est sélectionné, une petite fenêtre apparaît en haut de la page en cours et contient des outils destinés à faciliter la création d'interfaces. La figure 2 montre plusieurs des fenêtres d'outils ouvertes sur une page.

CanDO contre Helm
Figure 2 - L'interface de Helm 1.37 avec les outils

Helm est livré avec un livre spécial appelé "Bookshelf" (étagères à livres). Si ce livre se trouve dans le même répertoire que Helm, il sera exécuté automatiquement à chaque fois que Helm sera lancé. Bookshelf est un simple programme de contrôle du trafic qui permet d'exécuter d'autres livres en cliquant sur un bouton (figure 3). De nouveaux livres peuvent être ajoutés à l'étagère à livres. CanDo n'est pas livré avec un programme équivalent, mais on peut en créer un assez facilement en créant un objet bouton, en le dupliquant plusieurs fois, et en ajoutant un court script à chacun des événements OnRelease des boutons qui utilisent les commandes LoadSubDeck et OpenWindow.

CanDO contre Helm
Figure 3 - L'étagère de Helm

Objets

CanDo et Helm ont tous deux de nombreux objets similaires qui peuvent être ajoutés à une carte ou à une page. Il s'agit notamment de boutons, de champs de saisie de texte, de minuteries, de menus, de listes, etc. Cependant, certains objets ne sont disponibles que dans l'un ou l'autre cas.

Helm dispose d'un objet graphique qui permet de visualiser les données sous plusieurs formats, tels que barre, dispersion, tarte, ligne et zone. Il dispose également de nombreux objets sélectionneurs différents. Certains d'entre eux sont le calendrier, la case à cocher, l'horloge, le cycle (un vrai bouton rotatif avec un menu contextuel via le bouton droit de la souris), le curseur d'élément, la matrice, le choix multiple, la palette, le menu contextuel et la boîte radio. D'autres sont disponibles dans CanDo, mais pas autant que dans Helm.

CanDo possède quelques objets que Helm ne possède pas. Il possède un objet "KeyInput" qui vous permet de piéger certaines combinaisons de touches et d'exécuter des scripts. CanDo possède également un objet "Animation" et un objet "Sound". Le premier permet d'exécuter des scripts à des moments définis par l'utilisateur pendant la lecture d'une brosse animée (BrushANIM). Le second permet d'exécuter des scripts lorsqu'un son 8SVX commence à être joué et un autre quand il se termine.

Helm répond à plusieurs des reproches que j'ai formulés à propos de CanDo. Tout d'abord, les objets peuvent être sélectionnés, dimensionnés et déplacés en cliquant simplement sur l'objet et en faisant glisser la souris. C'est un véritable gain de temps lors de la réorganisation d'une interface utilisateur. Deuxièmement, le texte des étiquettes peut faire partie d'un objet plutôt que d'avoir à écrire un script pour ajouter le texte. Cela signifie que lorsqu'un objet est déplacé sur la page, le texte de son étiquette le suit. Plus besoin de modifier un script pour le positionner correctement. Troisièmement, Helm a des objets de forme. Des lignes, des courbes, des ovales, des triangles, des rectangles, des polygones et des flèches peuvent être ajoutés à l'écran en les dessinant. Comme dans un programme de dessin structuré, ces objets peuvent être déplacés et dimensionnés facilement à l'aide de la souris. Vous pouvez dessiner diverses formes à l'écran avec CanDo, mais celui-ci crée un script plutôt qu'un objet modifiable. Avec cette méthode, une forme ne peut être modifiée qu'en éditant le script ou en le supprimant et en recommençant. Quatrièmement, Helm permet de sélectionner et de regrouper plusieurs objets. Ils peuvent être dégroupés ultérieurement si nécessaire. De même, plusieurs objets peuvent être enregistrés sur le disque en tant qu'objets personnalisés, puis chargés dans un autre livre avec facilité.

Une chose que je n'aime pas dans Helm est que ses champs d'entrée de texte ne sont pas standard Amiga alors que ceux de CanDo le sont. Le texte dans le champ ne peut pas être effacé en utilisant la combinaison de touches "Amiga Droite+X". Il faut plutôt sélectionner le texte avec la souris et l'effacer, ou l'effacer avec la touche d'espacement arrière ou de suppression.

Traitement des événements

CanDo et Helm peuvent tous deux détecter et répondre à un certain nombre d'événements d'objets dans un programme. En général, Helm gère un peu plus d'événements que CanDo. Par exemple, Helm peut détecter un clic du bouton droit de la souris ("MenuDown" ou "MenuUp") pour certains objets. CanDo peut détecter un événement de clic du bouton droit par le biais de son objet "RightMouseButton", mais il est générique à l'ensemble de la carte plutôt que spécifique à un objet. Cependant, CanDo peut détecter un événement "Drag" ; Helm ne le peut pas.

Comme mentionné précédemment, Helm peut répondre à un événement d'objet de deux manières. Des actions peuvent être exécutées ou un script peut être exécuté. Les actions sont des routines intégrées qui peuvent être sélectionnées avec la souris, comme le montre la figure 4 :

CanDO contre Helm
Figure 4 - Requête action catalogue dans Helm

Plusieurs actions peuvent être séquencées ensemble pour le traitement des événements. C'est bien pour le traitement d'événements simples, mais pour des tâches plus complexes, des scripts sont nécessaires. Dans CanDo, un script doit être écrit pour gérer un événement.

CanDo et Helm ont chacun un très grand nombre de commandes et de fonctions qui peuvent être utilisées dans des scripts. Elles gèrent des éléments tels que la manipulation de nombres et de chaînes de caractères, les entrées/sorties, les graphismes, le son, la musique, etc. CanDo adopte une approche standard de la programmation d'un script. Helm, cependant, permet à la fois une approche standard et non standard de la programmation d'un script. Par exemple, si vous vouliez assigner une valeur de 12 à la variable "MyVar" dans CanDo, vous entreriez :

	Let MyVar=12

Dans Helm, vous pourriez entrer l'une des valeurs suivantes :

	MaVar=12
	put 12 into MaVar

Helm introduit également le concept de conteneur. Un conteneur est comme une variable, sauf qu'il peut contenir bien plus que les chiffres et le texte standard. Les conteneurs peuvent contenir tout type d'objet géré par Helm, comme des boutons, des champs d'image, des champs de texte, des menus déroulants, etc. Les propriétés de l'objet d'un conteneur peuvent être modifiées avec la commande "Set" et obtenues avec la commande "Get". Il s'agit d'un moyen très puissant et cohérent de manipuler les données d'un objet.

Les éditeurs de scripts de CanDo et de Helm sont très similaires en ce sens qu'ils gèrent le couper-coller, la recherche et le remplacement, ainsi que d'autres tâches courantes des éditeurs. CanDo utilise un script distinct pour chaque événement qu'un objet peut gérer. Ainsi, si un bouton reconnaît à la fois un événement "Click" et un événement "DoubleClick", le traitement de chaque événement se trouve dans un script distinct. Les objets Helm n'ont qu'un seul script contenant toutes les routines de traitement des événements.

CanDo dispose d'outils d'édition sur le côté droit de la fenêtre de l'éditeur (figure 5). Ces outils sont utiles pour insérer les noms des fichiers ou pour que CanDo écrive de petits scripts plutôt que de les taper. D'autres tâches peuvent également être traitées via les outils de l'éditeur. Helm ne dispose pas d'une fonctionnalité équivalente.

CanDO contre Helm
Figure 5 - Éditeur de script dans Cando avec les outils d'édition

Les commandes dans CanDo doivent résider sur une seule ligne, quelle que soit la longueur de celle-ci. Cela peut être un casse-tête lors de l'impression de scripts, car certaines lignes peuvent devenir assez longues. Helm gère un style libre qui permet aux commandes d'être enroulées sur une autre ligne ou combinées ensemble sur une ligne. Cela peut rendre le code illisible si le programmeur n'adopte pas une norme de formatage.

Graphismes

CanDo et Helm gèrent tous deux les nouveaux modes graphiques AGA. De plus, comme vous pouvez vous y attendre, CanDo et Helm gèrent les fichiers image IFF ILBM, les brosses, les animations ANIM-5 et les animations AnimBrush. Helm gère directement tous ces formats ; CanDo gère directement tous les formats sauf le format ANIM-5. Avec CanDo, les fichiers ANIM-5 doivent être lus à l'aide d'un utilitaire inclus nommé AnimPlayer. Comme mentionné précédemment, CanDo dispose d'un objet qui permet de synchroniser des scripts avec une brosse animée. AnimPlayer permet la synchronisation via le passage de messages ARexx.

Helm possède un programme de dessin intégré. Il n'est pas aussi puissant qu'un logiciel tel que Deluxe Paint 4, mais il possède tous les outils de base attendus dans un programme de dessin. Des outils de manipulation d'images sont également disponibles. Tous ces outils peuvent être utilisés dans une application. Helm permet de nombreux effets de transition différents entre les pages. Il s'agit notamment d'effets d'essuyage, de défilement, de glissement, de dissolution, de transition vénitienne, etc. La zone d'effet peut inclure la page entière ou une zone plus petite définie par l'utilisateur. Aucun de ces outils n'est disponible dans CanDo.

Son et musique

CanDo et Helm gèrent tous deux les fichiers son 8SVX. Comme mentionné précédemment, CanDo dispose d'un objet qui permet de synchroniser les scripts avec le début et la fin de la lecture d'un son.

CanDo gère les fichiers musicaux MED, OctaMED, Sound/Noise/ProTracker et Oktalizer mais pas les fichiers SMUS. Helm gère les fichiers SMUS et rien d'autre. Cependant, Helm possède son propre lecteur de notes interne. Dans un livre, une série de notes, désignées par des lettres de l'alphabet, peut être jouée. Des codes incorporés peuvent être utilisés pour régler le volume, le canal, le canal MIDI, la durée de la note, etc. Cela peut être très utile pour les partitions musicales courtes à piste unique.

Narration

Helm propose la gestion directe pour le narrateur. Cependant, comme vous le savez probablement, la bibliothèque partagée translator, qui traduisait le texte ASCII en phonèmes, et le périphérique logique narrator, qui transformait les phonèmes en parole, ne sont plus distribués avec AmigaOS. Ils ont été inclus pour la dernière fois dans AmigaOS 2.04. Si vous possédez les disquettes de cette ancienne version, vous pouvez les copier sur votre disquette système actuelle et les utiliser avec Helm. De nombreux paramètres du son de la parole peuvent être ajustés via une requête comme le montre la figure 6. De même, la narration peut être synchronisée avec la lecture d'une animation.

CanDO contre Helm
Figure 6 - La requête du narrateur dans Helm

CanDo n'a pas de la gestion directe pour la narration, mais il est possible de l'ajouter. Le fichier "MountList" d'AmigaDOS 2.04 dans le répertoire "Devs:" contient un périphérique nommé "SPEAK:" qui peut être monté. Ce périphérique, qui est implémenté comme un gestionnaire, permet de copier du texte ASCII. Il traduit ensuite le texte et le prononce. Dans CanDo, un nouveau fichier en écriture seule peut être ouvert sur ce périphérique, et du texte peut lui être envoyé via la commande "FileWriteChars" ou "FileWriteLine". Des options peuvent être ajoutées à la fin du nom du périphérique, comme "SPEAK:OPT/r/s100". Cet exemple définit la voix d'un robot avec une vitesse de parole rapide. Les options disponibles peuvent être trouvées dans n'importe quel manuel AmigaOS qui documente la commande Say.

Hypertexte

Helm gère l'hypertexte. Le texte d'un champ de texte peut être sélectionné et un attribut peut être défini comme hypertexte, de la même façon qu'il peut être défini en gras ou italique. Des actions ou un script peuvent alors être attachés à un événement "SelectUp" ou "SelectDown". L'utilisateur peut choisir l'apparence de l'hypertexte.

CanDo ne gère pas l'hypertexte. Je crois qu'il pourrait être simulé, mais je ne voudrais pas être celui qui le tente.

AmigaGuide

CanDo et Helm utilisent AmigaGuide à la fois pour leurs propres systèmes d'aide internes et pour les programmes des utilisateurs. Helm permet d'afficher les fichiers AmigaGuide à partir d'une action ou d'un script.

Gestion du système

CanDo dispose de plusieurs éléments de gestion d'AmigaDOS qui sont absent de Helm. Par exemple, CanDo gère les AppEvents. Cela permet de faire glisser des icônes vers une fenêtre d'application CanDo sur le Workbench. L'application reçoit une liste de noms d'icônes et peut répondre de manière appropriée. CanDo permet de charger, de manipuler et de sauvegarder des fichiers d'icônes (les fichiers se terminant par ".info"). Cela inclut la sauvegarde d'une liste de types d'outils. Des commandes sont disponibles pour permettre à une application d'obtenir la liste du périphérique actuel, la liste des répertoires, la liste des tampons et les messages de démarrage. Le pointeur peut être réglé sur une image différente et activé ou désactivé. De plus, CanDo utilise la requête de fichiers standard dans asl.library ; Helm ne le fait pas. Pour les programmeurs C, CanDo possède deux variables système qui contiennent l'adresse de l'écran courant et de la fenêtre courante.

Manipulation des données

CanDo gère les variables définies par l'utilisateur, les tableaux épars et les documents. Ceux-ci peuvent être combinés ensemble pour fournir un moyen pratique pour un utilisateur d'ajouter, de supprimer, de modifier, de charger et de sauvegarder des données. Helm adopte une approche totalement différente. Les données sont enregistrées automatiquement. Chaque fois qu'une page comportant des champs de saisie est remplie ou modifiée par l'utilisateur, les nouvelles données sont enregistrées dans le fichier du livre. Bien que cela soit extrêmement simple du point de vue du programmeur (il n'y a rien à faire), je ne suis pas encore sûr que cela me plaise. Par exemple, lorsque je teste un programme, j'aime entrer beaucoup de données erronées. Je ne sauvegarde presque jamais ces données, car ce ne sont pas des données réelles. Si je les enregistre, je crée un fichier corbeille qui peut être supprimé plus tard. Avec Helm, les données erronées vont directement dans le fichier livre. Pour revenir aux données réelles, il faut créer une copie du livre sans aucune donnée, ou supprimer les données erronées, page par page.

Impression

Helm possède des outils intégrés pour imprimer les données du livre sur une imprimante. Il permet de définir pratiquement toutes les préférences d'impression de l'utilisateur, tant pour le texte que pour les graphismes, à partir d'un livre (figure 7). Helm gère également la sortie Postscript. Des rapports personnalisés peuvent être conçus et imprimés.

CanDO contre Helm
Figure 7 - La requête impression/graphismes dans Helm

CanDo ne gère pas directement la configuration de l'imprimante et les rapports d'impression. Les programmes Printer, PrinterGfx et PrinterPS des préférences AmigaOS doivent être exécutés à partir d'un deck CanDo en utilisant la commande DOS pour obtenir une fonctionnalité équivalente de configuration de l'imprimante.

CanDo possède un utilitaire distinct appelé ThePrinter qui peut lire un deck CanDo et imprimer son contenu dans un fichier ou sur une imprimante (figure 8). L'impression contient des informations sur toutes les cartes et objets du deck, y compris les emplacements, le texte, les styles de texte, etc. ainsi qu'une liste de tous les scripts du deck.

CanDO contre Helm
Figure 8 - Utilitaire ThePrinter dans CanDo

Helm permet d'imprimer des scripts et des images de ses pages et formulaires, mais il n'y a aucun moyen d'imprimer des informations sur les formulaires, pages ou objets d'un livre. Ceci est très peu pratique si vous avez besoin de documenter entièrement le contenu d'un programme.

Distribution

Afin de distribuer un deck CanDo à une personne qui ne possède pas CanDo, une bibliothèque d'exécution est nécessaire. INOVAtronics en fournira une qui peut être distribuée gratuitement si le programme est domaine public ou partagiciel. Cependant, si le programme est un produit commercial, le développeur doit payer des frais de distribution.

Les livres Helm peuvent être distribués sans frais, qu'ils soient commerciaux ou non. Un programme appelé HelmBrowser, qui est inclus dans Helm, permet à quiconque d'utiliser un livre Helm sans posséder Helm. HelmBrowser est librement distribuable.

Puisque Helm permet à tous les outils du programme lui-même d'être disponibles pour l'utilisateur final (HelmBrowser n'inclut pas les outils de développement), il permet au programmeur de définir un niveau d'utilisateur. Chaque niveau restreint l'utilisateur de différentes manières. Cela permet au programmeur de donner à l'utilisateur juste assez de liberté pour utiliser le livre efficacement sans le dérégler.

Conclusion

Je pense que je vais m'arrêter là. J'espère que cela vous donne une idée des similitudes et des différences entre CanDo et Helm. Comme je l'ai dit au début de cet article, il n'a pas été possible de couvrir tous les aspects de ces programmes puisqu'ils ont tellement de fonctionnalités. Personnellement, j'aime les deux produits et j'ai l'intention de continuer à les utiliser, en choisissant celui qui est le plus approprié pour une application en fonction de leurs caractéristiques. Si vous êtes courageux, vous pouvez utiliser les deux produits dans une seule application, car ils gèrent tous deux ARexx. Si vous aimez développer des applications, vous devez avoir ces deux produits dans votre bibliothèque de logiciels. Helm peut être acheté pour moins de 100 $ et CanDo pour environ 130 $. Ce n'est pas trop cher payé pour ces puissants outils de création.


[Retour en haut] / [Retour aux articles]