Page 1 sur 1

Suggestion d'aide aux débutants

Publié : mar. 31/juil./2018 10:00
par FR4NK13
Bonjour tout le monde !

Voilà, je suis débutante en programmation et en ayant marre de ne pas comprendre la moitié des erreurs.....
Une idée lumineuse (ou pas) m'est venue :

Serait-il possible d'avoir une liste des erreurs les plus courantes lors de la compilation avec des explications ?

Quelques exemples :

ligne 113 : le gadget n'est pas initialisé (Alors qu'il est censé l'être...)
ligne 250 : procedure() n'est pas une fonction, une macro ou une liste (bah c'est une procédure appelée... où est le soucis ??)

Etc...

Peut-être y a-t-il déjà un topic recensant ce genre de soucis les plus courants avec des pistes afin de comprendre le soucis plus rapidement sans passer 3h dessus. Si c'est le cas, je ne l'ai pas trouvé et je m'en excuse :oops:

Et si ce n'est pas le cas, je pense qu'il peut-être interessant de recenser les plus courante et de donner quelques pistes.
Bon après il y a tellement de causes possibles que peut-être que l'on y passerait 3h et qu'un tel guide n'est pas faisable, mais je demande à tout hasard ?

Passez une bonne journée :)

Re: Suggestion d'aide aux débutants

Publié : mar. 31/juil./2018 10:42
par boby
ligne 113 : le gadget n'est pas initialisé (Alors qu'il est censé l'être...)
S'il dit qu'il ne l'est pas... c'est qu'il ne l'est pas, rajoute un debug devant ta création de gadget, si tu as 0, c'est qu'il y a un problème à sa création
ligne 250 : procedure() n'est pas une fonction, une macro ou une liste (bah c'est une procédure appelée... où est le soucis ??)
On ne peut pas donner le nom d'une fonction qui est déjà pris par PureBaisc, tu ne peux donc pas appeler ta procedure "procedure()".

Je ne pense pas qu'il y ai d'erreur "classique" en faire une liste ne me semble donc pas faisable.
En revanche, je te conseil de faire un essai avec le debuger "standalone" (Compiler > Compiler option > onglet "Compile/run" > use selected debugger > choisir "standalone GUI debugger") Je le trouve plus clair et plus facile de trouver ses erreurs.

Si tu as des question de code tu peux toujours venir les poser sur ce forum.

Re: Suggestion d'aide aux débutants

Publié : mar. 31/juil./2018 10:56
par FR4NK13
Merci pour ta réponse Boby :)
On ne peut pas donner le nom d'une fonction qui est déjà pris par PureBaisc, tu ne peux donc pas appeler ta procedure "procedure()".
C'était un exemple, en l'occurence la procédure de mon code en question se prénomme "Combat()"

Je vais regarder le debugger dont tu me parles, merci du conseil.
Concernant les questions sur mes codes, si je les mettrai toutes, on ne s'en sortirait pas... :oops:

Re: Suggestion d'aide aux débutants

Publié : mar. 31/juil./2018 11:37
par Ar-S
Et si ce n'est pas le cas, je pense qu'il peut-être interessant de recenser les plus courante et de donner quelques pistes.
ça ne veut rien dire "les plus courantes". Le débugger affiche des infos pour une très grande majorité des soucis. Si vraiment tu n'en comprends pas, tu postes un code en indiquant l'erreur que tu ne comprends pas ou qui n'est pas signalé. On tentera de l'expliquer.
Pour ta procédure combat(), je subodore que tu ne l'as pas déclarée et tu l'as mis après le code d'appel.

En gros si tu ne les déclares pas il y a un ordre à respecter :

Code : Tout sélectionner

Procedure truc()
endprocedure

; ton code qui appelle ta procédure.

; Si par ex tu as une proce OuvreFenetre() qui appel truc()
; Il faut que tu crées 

Procedure truc()
endprocedure

Procedure OuvreFenetre()
 ;Du code
 Truc()
endprocedure

; Puis ton code

OuvreFenetre()

En gros si tu crées Truc() après avoir appelé truc()... ça ne marche évidement pas.

Re: Suggestion d'aide aux débutants

Publié : mar. 31/juil./2018 12:17
par FR4NK13
Merci beaucoup Ar-S pour ton explication !

En effet j'ai appelé la procédure avant la procédure... :roll:

J'avais pourtant intégré cette logique, j'ai dû zapper...

Cette erreur là pourrait donc être référencé dans une liste d'erreurs facilement identifiable, mais qu'un débutant pourrait mettre un long moment à comprendre lol.

Re: Suggestion d'aide aux débutants

Publié : mar. 31/juil./2018 13:49
par Mindphazer
Pour éviter ce type d'erreur, il y a une bonne habitude qui consiste à systématiquement déclarer, au tout début de ton programme, tes procédures au fur et à mesure que tu les crées...

Code : Tout sélectionner

Declare combat()

Re: Suggestion d'aide aux débutants

Publié : mar. 31/juil./2018 14:48
par Micoute
Bonjour,

je pense que pour éviter les erreurs, la première instruction dans un programme devrait être : EnableExplicit

le mieux serait de faire un fichier de commentaires où seraient alignées toutes les étapes du programmes du genre :

;Fichiers à inclure
;Enumérations
;Structures
;Plugins
;Déclaration des variables globales
;Chargement des polices
;Déclaration des procédures
;appel du programme principal

la liste est exhaustive et on est sûr de de rien oublier, c'est ainsi que je pratique depuis 38 ans.


Passez une bonne journée.

Re: Suggestion d'aide aux débutants

Publié : mar. 31/juil./2018 15:34
par FR4NK13
Merci à tous pour vos conseils :)

Re: Suggestion d'aide aux débutants

Publié : mar. 31/juil./2018 16:11
par Ar-S
Disons que c'est une logique à assimiler. Mais comme le l'ai signalé et comme Mindphazer l'a souligné, si tu déclares tes proces, l'ordre ne compte plus.
Ensuite c'est comme tu préfères et comme tu "te sens bien" dans ton code. Certains préfèrent mettre les proces en fin de code, d'autre au début etc...
L'orde de Micoute peut être suivi. Pour ma part je place toujours les Enumeration en tête de liste, suivit des éventuels includes, declare, global...

Re: Suggestion d'aide aux débutants

Publié : mar. 31/juil./2018 16:14
par FR4NK13
Oui j'assimile la logique et l'organisation petit à petit :)