Programmation d'un logiciel
Résolu
FiceA
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
FiceA Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
FiceA Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je souhaite créer un logiciel d'entrainement pour niveau primaire.
M'y connaissant en programmation, j'ai déjà commencé. Je compte ensuite corriger les codes,et autres bugs.
Pour que mon fichier BATCH ne puisse pas être modifié, je vais le convertir en fichier exécutable. Mais le problème n'est pas là, quand j'utilise la fonction "IF", que je met mes conditions, je rajoute un "ELSE" suivit de goto deb.
La cible étant un peu avant dans le code.
Seulement après plusieurs reprise de modifications, j'ai remarquer qu'il y avait écrit :"goto était inattendu". Et puis j'ai re-modifier et maintenant ca ferme carrément la fenêtre. Ce problème de boucle m'empêche de continuer a programmer mon logiciel et je compte sur vous pour m'aider.
Cordialement...
M'y connaissant en programmation, j'ai déjà commencé. Je compte ensuite corriger les codes,et autres bugs.
Pour que mon fichier BATCH ne puisse pas être modifié, je vais le convertir en fichier exécutable. Mais le problème n'est pas là, quand j'utilise la fonction "IF", que je met mes conditions, je rajoute un "ELSE" suivit de goto deb.
La cible étant un peu avant dans le code.
Seulement après plusieurs reprise de modifications, j'ai remarquer qu'il y avait écrit :"goto était inattendu". Et puis j'ai re-modifier et maintenant ca ferme carrément la fenêtre. Ce problème de boucle m'empêche de continuer a programmer mon logiciel et je compte sur vous pour m'aider.
Cordialement...
A voir également:
- Programmation d'un logiciel
- Money logiciel - Télécharger - Comptabilité & Facturation
- Logiciel - Guide
- Ce logiciel gratuit répare automatiquement votre PC quand Windows a des problèmes - Guide
- Logiciel de sauvegarde gratuit - Guide
- Logiciel montage vidéo gratuit windows 10 - Guide
4 réponses
OH merci, je suis vraiment très heureux que tu ai pu m'aider, et je te remercie du fond du coeur. Peut-être un jour pourrions nous travailler ensemble ? Et puis, pour la grande aide que tu m'as fournie, je te livre mon adresse e-mail : axel.arnold@hotmail.fr
C'est simple, tu a un problème, tu a besoin d'aide ?
Envoie moi un e-mail (je te le dois bien) et en plus pas besoin de ligne de code pour les e-mails juste de savoir écrire !!!
Cordialement.
C'est simple, tu a un problème, tu a besoin d'aide ?
Envoie moi un e-mail (je te le dois bien) et en plus pas besoin de ligne de code pour les e-mails juste de savoir écrire !!!
Cordialement.
luckydu43
Messages postés
4291
Date d'inscription
Statut
Membre
Dernière intervention
1 066
Je t'ai ajouté, tu as dû recevoir un mail ;-) Heureux de t'avoir aidé !
FiceA
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
4
>
luckydu43
Messages postés
4291
Date d'inscription
Statut
Membre
Dernière intervention
Oui merci.
Bonsoir !
Je complète vos connaissances... l'utilisation des labels type label/goto est à éviter... Cela peut causer des problèmes, comme le vôtre.
D'ailleurs, la commande goto semble être tout simplement non reconnue !
Vous pourriez utiliser un if, ou une boucle for... tout est faisable en dev ;-)
Je complète vos connaissances... l'utilisation des labels type label/goto est à éviter... Cela peut causer des problèmes, comme le vôtre.
D'ailleurs, la commande goto semble être tout simplement non reconnue !
Vous pourriez utiliser un if, ou une boucle for... tout est faisable en dev ;-)
Autant pour moi, toutes mes excuses.
J'ai lu trop vite le post.
La commande call n'a évidemment rien à voir avec les labels ! J'ai cru lire "goto était inattendu"...
Voici la correction ! Alleluia.......
L'erreur citée m'a été causée uniquement lorsque je lançais le programme sans rien saisir et que j'appuyais sur entrée lors de l'affichage "version".
Si on appuie sur un chiffre et qu'on valide, la prochaine fois que l'on appuiera sur entrée, ça prendra la valeur précédente.
Voici le code débugué :
Maintenant il gère les fausses saisies ;-) Pardonne le texte, j'ai saisi le code très vite !
Enfin :
Dev : Développement, programmation
If : Structure conditionnelle
If... Then..... Else.... IfEnd
For : Boucle Itérative
For.... To.... Step.... Next
Bonne soirée !
J'ai lu trop vite le post.
La commande call n'a évidemment rien à voir avec les labels ! J'ai cru lire "goto était inattendu"...
Voici la correction ! Alleluia.......
L'erreur citée m'a été causée uniquement lorsque je lançais le programme sans rien saisir et que j'appuyais sur entrée lors de l'affichage "version".
Si on appuie sur un chiffre et qu'on valide, la prochaine fois que l'on appuiera sur entrée, ça prendra la valeur précédente.
Voici le code débugué :
title CP_Additions
color a
echo off
cls
echo yolo !
pause
:deb
cls
echo 1~10
echo Version ?
set /a ver=0
set /p ver=">"
if %ver%==1 call CP-A1
if %ver%==2 call CP-A1
if %ver%==3 call CP-A1
if %ver%==4 call CP-A1
if %ver%==5 call CP-A1
if %ver%==6 call CP-A1
if %ver%==7 call CP-A1
if %ver%==8 call CP-A1
if %ver%==9 call CP-A1
if %ver%==10 call CP-A1
goto deb
Maintenant il gère les fausses saisies ;-) Pardonne le texte, j'ai saisi le code très vite !
Enfin :
Dev : Développement, programmation
If : Structure conditionnelle
If... Then..... Else.... IfEnd
For : Boucle Itérative
For.... To.... Step.... Next
Bonne soirée !
Je te remerci de tout coeur, pour ces informations et m'excuse, car il y avait bien écrit "goto était inattendu. C'etait bien une erreur de ma part.
Juste (vous devez ma trouver chiant) pourriez vous m'expliquer le code debugué car je ne connaît pas encore tout les secret de la programmation, et enrichir mes connaissance m'epanouirai encore plus.
Cordialement. (Encore merci)?
Juste (vous devez ma trouver chiant) pourriez vous m'expliquer le code debugué car je ne connaît pas encore tout les secret de la programmation, et enrichir mes connaissance m'epanouirai encore plus.
Cordialement. (Encore merci)?
Ahah ! J'avais raison !!
Blague à part, je suis heureux que tu sois autant passionné pour la programmation. Peut-être franchira-tu un jour la porte du monde de l'objet (Java, C++), du web (HTML, CSS, Ajax, PHP)...
Je vais commencer par le début.
Tu avais mis le label :deb après l'affichage des versions. Comment veux-tu que l'on s'y retrouve si l'on fait une fausse manip ?
Il faut voir grand, et imaginer son appli dans toutes ses coutures.
Ensuite, épurer le code.
Il faut séparer le code par des espaces pour délimiter les différentes parties, mettre des commentaires (j'en ai pas mis, faute de temps, il te suffit de marquer
Le bug venait de la variable ver. En effet, elle n'était pas initialisée (ne contenait aucune valeur). Or, si on fait un test sur sa valeur, et qu'il n'y en a pas, problème. D'où l'erreur "XXXX était inattendu".
J'ai alors mis 0 comme valeur par défaut.
De plus, il faut que chaque ligne de code ne laisse aucun doute sur sa syntaxe.
Entre
et
Enfin, la répétition (inutile en plus) du
m'a piqué les yeux. Il suffisait de faire les tests. Si on atteint la fin des tests, c'est qu'aucun n'a fonctionné, donc la valeur est fausse. C'est là qu'il faut renvoyer au début !
Je vais essayer d'optimiser un peu le code... je ne garantit rien ;-)
Blague à part, je suis heureux que tu sois autant passionné pour la programmation. Peut-être franchira-tu un jour la porte du monde de l'objet (Java, C++), du web (HTML, CSS, Ajax, PHP)...
Je vais commencer par le début.
Tu avais mis le label :deb après l'affichage des versions. Comment veux-tu que l'on s'y retrouve si l'on fait une fausse manip ?
Il faut voir grand, et imaginer son appli dans toutes ses coutures.
Ensuite, épurer le code.
Il faut séparer le code par des espaces pour délimiter les différentes parties, mettre des commentaires (j'en ai pas mis, faute de temps, il te suffit de marquer
rem ceci est un commentairepour préciser des informations sur ton programme.
Le bug venait de la variable ver. En effet, elle n'était pas initialisée (ne contenait aucune valeur). Or, si on fait un test sur sa valeur, et qu'il n'y en a pas, problème. D'où l'erreur "XXXX était inattendu".
J'ai alors mis 0 comme valeur par défaut.
De plus, il faut que chaque ligne de code ne laisse aucun doute sur sa syntaxe.
Entre
set/p"ver=>"
et
set /p ver=">"... il y a une différence flagrante ! L'une est plus compréhensible que l'autre, donc plus facile à débuguer !
Enfin, la répétition (inutile en plus) du
else goto deb
m'a piqué les yeux. Il suffisait de faire les tests. Si on atteint la fin des tests, c'est qu'aucun n'a fonctionné, donc la valeur est fausse. C'est là qu'il faut renvoyer au début !
Je vais essayer d'optimiser un peu le code... je ne garantit rien ;-)
J'ai optimisé ;-) Cela va te plaire !
J'ai créé une variable qui prend pour valeur la concaténation du texte "CP-A" et de la variable %ver%
Si le call n'appelle rien, le programme va continuer sa route... courte, puisqu'il va directement tomber sur le goto deb, et ainsi de suite...
Ainsi, tu auras juste à changer le texte "echo 1~10" ;-)
title CP_Additions
color a
echo off
cls
echo yolo !
pause
rem label où retourne le programme en cas d'erreur
:deb
cls
echo 1~10
echo Version ?
set /a ver=0
set /p ver=">"
set chaine=CP-A%ver%
call %chaine%
goto deb
J'ai créé une variable qui prend pour valeur la concaténation du texte "CP-A" et de la variable %ver%
Si le call n'appelle rien, le programme va continuer sa route... courte, puisqu'il va directement tomber sur le goto deb, et ainsi de suite...
Ainsi, tu auras juste à changer le texte "echo 1~10" ;-)