Vous regardez le programme que vous avez entré encore et encore, mais pour la vie de vous, vous ne parvenez simplement pas à comprendre quel est le problème – le programme affiche toujours une erreur chaque fois que vous essayez de l'exécuter. Frustrant n'est même pas un mot assez fort – mais c'est une situation que chaque programmeur, débutant ou expérimenté, a rencontrée et continuera à rencontrer pendant toute sa vie de programmeur !
Sautez sur place et tirez les quelques cheveux qui vous restent, mais si le programme ne fonctionne pas comme prévu ou génère une erreur, il y a une erreur et vous devez la trouver. Bien sûr, à mesure que vous devenez un programmeur plus expérimenté, vous apprendrez à repérer les pièges et problèmes qui peuvent survenir et vous saurez quoi chercher. Cet appendice court pourrait vous aider en cours de route. Espérons-le !
OK, les mains en l'air. Les listings donnés dans ce livre (et dans les magazines, etc.) devraient fonctionner, en particulier ceux qui sont ici car ils ont été extraits des fichiers AMOS originaux et insérés directement dans le texte. C'est la théorie, mais la vie n'est pas toujours aussi idéale, et il peut arriver que quelques petits bugs s'y glissent.
Ainsi, la première chose à vérifier lorsque vous avez entré un listing qui ne fonctionne pas est ce que j'appellerais des erreurs évidentes – par exemple, est-ce que deux lignes sont devenues concaténées, c'est-à-dire jointes ensemble ? Par exemple, regardez le fragment de programme ci-dessous :
Rainbow Del : Auto View Off : Hide Restore TEKST : Read N
Il devrait être :
Rainbow Del : Auto View Off : Hide Restore TEKST : Read N
Les deux lignes sont devenues une seule et AMOS ne reconnaîtra pas :
Hide Restore TEKST
comme une commande légitime. L'inverse est aussi vrai, à savoir qu'une ligne pourrait avoir été scindée en deux à un endroit qui n'a pas de sens pour l'interpréteur AMOS lorsqu'il essaie de l'utiliser. Par exemple :
Rainbow Del : Auto : View Off : Hide Restore TEKST : Read N
Ces exemples sont un peu exagérés peut-être mais ils illustrent bien le point.
Un autre point à garder à l'esprit est que les lignes de listings sont souvent beaucoup plus longues que la largeur disponible de la page sur laquelle elles sont imprimées – par conséquent, un retour à la ligne aura lieu et cela pourrait vous induire en erreur en pensant qu'il y a deux lignes, alors qu'en réalité il n'y en a qu'une seule. Autrement dit, vous appuyez sur la touche Retour (Return) lorsqu'il n'y a pas de besoin.
Dans de tels cas, vous devez vous guider par le style employé dans le livre ou le listing. Dans Mastering Amiga AMOS, il y a toujours un espace bien clair entre chaque ligne de listing. Regardez ce segment de listing :
Screen Open 1,320,200,2,Lowres : Screen Hide 1 TWENTY: F$=Fsel$("","","Load IFF Picture To SPACK") : If F$="" Then Goto TWENTY If Exist(F$) Then Screen O : Centre "Loading IFF Picture" : Print : Load Iff F$,1 : Else Goto TWENTY Screen 0 : Centre "Spacking Current Picture..." : Print : Spack 1 To 6 : Screen Close 1
Bien que le listing prenne dix lignes dans le livre, il n'en fait en réalité que sept. Les trois premières lignes sont claires et évidentes, mais les trois lignes suivantes sont trop longues pour tenir sur une seule ligne dans la largeur de la page imprimée, et donc elles s'enroulent. Cependant, si vous examinez le listing, vous verrez qu'il y a presque un espace complet entre chaque ligne réelle de listing, et cela devrait être votre guide.
En dehors des erreurs évidentes comme l'orthographe incorrecte des commandes et ainsi de suite, les autres problèmes majeurs sous cette rubrique sont la mauvaise interprétation des zéros et des O, des uns et des l, ainsi que des deux-points et des points-virgules. Voici comment chaque caractère apparait dans nos listings imprimés :
Un autre caractère qui peut poser des problèmes est l'espace. Les espaces sont inévitablement importants - ou plus précisément, l'absence d'espace peut poser un problème.
Les listings dans ce livre sont tous produits dans ce qu'on appelle une police à espacement fixe, ce qui signifie qu'un espace occupe la même quantité de ligne qu'un i ou un e. Faites attention à eux et traitez-les avec respect.
Les parenthèses peuvent aussi créer des problèmes - assurez-vous d'avoir le bon nombre d'entre elles, c'est-à-dire qu'il doit y avoir une parenthèse gauche pour chaque parenthèse droite et ainsi de suite.