Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
922 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Augmentation d'une variable par 1

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Augmentation d'une variable par 1

n°1744496
manasvin
Posté le 11-06-2008 à 02:25:53  profilanswer
 

Bonjour,
 
 
Je débute dans la création de batch et je suis confronter à un petit soucis.
 
Je n'arrive pas à augmenter la valeur de "miscx" proportionnellement.
 
C'est dans l'optique de l'augmenter tant que la valeur de %miscx% ne soit pas égale à celle de %timerx%.
 
Une fois égale je voudrais que le dernier ai la valeur 0, ce qui me donnerai une suite du genre : 1 > 2 > 3 > 4 > 0.
 
Le reste fonctionne très bien.
 
 

Code :
  1. set /p map=Map :
  2. echo.
  3. set /p timerx=Combien de timer diffŠrent ? (2-5)
  4. echo.
  5. set /p ichi=Nom de votre 1er timer :
  6. echo.
  7. set /p ni=Nom de votre 2Šme timer :
  8. echo.
  9. if %timerx% GEQ 3 set /p san=Nom de votre 3Šme timer :
  10. echo.
  11. if %timerx% GEQ 4 set /p yon=Nom de votre 4Šme timer :
  12. echo.
  13. if %timerx% GEQ 5 set /p go=Nom de votre 5Šme timer :
  14. echo.
  15. echo.
  16. set /p Tred1=Timer axe de %ichi% :
  17. echo.
  18. set /p Tred1=Timer allies de %ichi% :
  19. echo.
  20. echo.
  21. set /p Tred2=Timer axe de %ni% :
  22. echo.
  23. set /p Tred2=Timer allies de %ni% :
  24. echo.
  25. echo.
  26. if DEFINED san set /p Tred3=Timer axe de %san% :
  27. echo.
  28. if DEFINED san set /p Tblue3=Timer allies de %san% :
  29. echo.
  30. echo.
  31. if DEFINED yon set /p Tred4=Timer axe de %yon% :
  32. echo.
  33. if DEFINED yon set /p Tblue4=Timer allies de %yon% :
  34. echo.
  35. echo.
  36. if DEFINED go set /p Tred5=Timer axe de %go% :
  37. echo.
  38. if DEFINED go set /p Tblue5=Timer allies de %go% :
  39. set /A miscx=0
  40. :toggle
  41. if %miscx% LSS %timerx% set /A miscx+=1
  42. if %miscx% lSS %timerx% goto toggle
  43. REM --------------------------------
  44. REM if %miscx% EQU %timerx% goto %miscx%
  45. REM --------------------------------
  46. echo Set t_misc_0 "set t_allies exec Timer\Team\Temps\txx\t%Tblue1% ; set t_axis exec Timer\Team\Temps\txx\t%Tred1% ; set t_misc vstr t_misc_%miscx% ; echo ^8Timer auto ^6: ^4%ichi%" >> autoexec_%Map%.cfg
  47. echo. >> autoexec_%Map%.cfg
  48. echo Set t_misc_1 "set t_allies exec Timer\Team\Temps\txx\t%Tblue2% ; set t_axis exec Timer\Team\Temps\txx\t%Tred2% ; set t_misc vstr t_misc_%miscx% ; echo ^8Timer auto ^6: ^4%ni%" >> autoexec_%Map%.cfg
  49. if not DEFINED san goto end
  50. echo. >> autoexec_%Map%.cfg
  51. echo Set t_misc_2 "set t_allies exec Timer\Team\Temps\txx\t%Tblue3% ; set t_axis exec Timer\Team\Temps\txx\t%Tred3% ; set t_misc vstr t_misc_%miscx% ; echo ^8Timer auto ^6: ^4%san%" >> autoexec_%Map%.cfg
  52. if not DEFINED yon goto end
  53. echo. >> autoexec_%Map%.cfg
  54. echo Set t_misc_3 "set t_allies exec Timer\Team\Temps\txx\t%Tblue4% ; set t_axis exec Timer\Team\Temps\txx\t%Tred4% ; set t_misc vstr t_misc_%miscx% ; echo ^8Timer auto ^6: ^4%yon%" >> autoexec_%Map%.cfg
  55. if not DEFINED go  goto end
  56. echo. >> autoexec_%Map%.cfg
  57. echo Set t_misc_4 "set t_allies exec Timer\Team\Temps\txx\t%Tblue5% ; set t_axis exec Timer\Team\Temps\txx\t%Tred5% ; set t_misc vstr t_misc_%miscx% ; echo ^8Timer auto ^6: ^4%go%" >> autoexec_%Map%.cfg
  58. :end
  59. echo. >> autoexec_%Map%.cfg
  60. echo. >> autoexec_%Map%.cfg
  61. echo vstr "t_misc_0" >> autoexec_%Map%.cfg


 
 
Y aurais-t'il aussi moyen de n'accepter que les nombre de 0-9 en entrer clavier pour certaine affectation de variable ?
 
 
 
Pourriez-vous m'aidé ?
 
 
 
Merci
 
 
 

mood
Publicité
Posté le 11-06-2008 à 02:25:53  profilanswer
 

n°1744723
blastkille​r
Posté le 11-06-2008 à 13:15:35  profilanswer
 

Citation :

C'est dans l'optique de l'augmenter tant que la valeur de %miscx% ne soit pas égale à celle de %timerx%.
 
Une fois égale je voudrais que le dernier ai la valeur 0, ce qui me donnerai une suite du genre : 1 > 2 > 3 > 4 > 0.


 
D'après ce que tu expliques là, ceci devrait etre bon :

Code :
  1. :boucle
  2. if %miscx% EQu %timerx% goto suite
  3. set /a miscx+=1
  4. goto  boucle
  5. :suite


 
Mais le code que tu as écris ici devrait être bon aussi non ?

Code :
  1. :toggle
  2. if %miscx% LSS %timerx% set /A miscx+=1
  3. if %miscx% lSS %timerx% goto toggle


 
 

Citation :

Une fois égale je voudrais que le dernier ai la valeur 0, ce qui me donnerai une suite du genre : 1 > 2 > 3 > 4 > 0.


Quelle variable ?
Tu as juste a mettre un : "set variable=0" à la suite
 
J'ai peut etre pas tout compris ?

n°1745025
manasvin
Posté le 11-06-2008 à 18:37:48  profilanswer
 

J'ai résolu l'affaire qui n'était pas compliquer tout compte fait.
 
Oui mon code était bon, j'aurais peutêtre dû copier juste l'essentiel de la question, mais je me suis dit qu'il y avais peutêtre mieux à faire je vais toujours le laissser.
 
 
Si je remettait la variable à 0 j'aurais eu 0 > 0 > 0 > 0 > 0.
 
 
J'ai donc fait :

Code :
  1. if not DEFINED san (set /A misc2=0) ELSE (set /A misc2=2)
  2. if not DEFINED yon (set /A misc3=0) ELSE (set /A misc3=3)
  3. if not DEFINED go (set /A misc4=0) ELSE (set /A misc4=4)
  4. echo Set t_misc_0 "set t_allies exec Timer\Team\Temps\txx\t%Tblue1% ; set t_axis exec Timer\Team\Temps\txx\t%Tred1% ; set t_misc vstr t_misc_1 ; echo ^8Timer auto ^6: ^4%ichi%" >> autoexec_%Map%.cfg
  5. echo. >> autoexec_%Map%.cfg
  6. echo Set t_misc_1 "set t_allies exec Timer\Team\Temps\txx\t%Tblue2% ; set t_axis exec Timer\Team\Temps\txx\t%Tred2% ; set t_misc vstr t_misc_%misc2% ; echo ^8Timer auto ^6: ^4%ni%" >> autoexec_%Map%.cfg
  7. if not DEFINED san goto end
  8. echo. >> autoexec_%Map%.cfg
  9. echo Set t_misc_2 "set t_allies exec Timer\Team\Temps\txx\t%Tblue3% ; set t_axis exec Timer\Team\Temps\txx\t%Tred3% ; set t_misc vstr t_misc_%misc3% ; echo ^8Timer auto ^6: ^4%san%" >> autoexec_%Map%.cfg
  10. if not DEFINED yon goto end
  11. echo. >> autoexec_%Map%.cfg
  12. echo Set t_misc_3 "set t_allies exec Timer\Team\Temps\txx\t%Tblue4% ; set t_axis exec Timer\Team\Temps\txx\t%Tred4% ; set t_misc vstr t_misc_%misc4% ; echo ^8Timer auto ^6: ^4%yon%" >> autoexec_%Map%.cfg
  13. if not DEFINED go  goto end
  14. echo. >> autoexec_%Map%.cfg
  15. echo Set t_misc_4 "set t_allies exec Timer\Team\Temps\txx\t%Tblue5% ; set t_axis exec Timer\Team\Temps\txx\t%Tred5% ; set t_misc vstr t_misc_0 ; echo ^8Timer auto ^6: ^4%go%" >> autoexec_%Map%.cfg
  16. :end
  17. echo. >> autoexec_%Map%.cfg
  18. echo. >> autoexec_%Map%.cfg
  19. echo vstr "t_misc_0" >> autoexec_%Map%.cfg


 
 
Me reste plus qu'a savoir si nous pouvons limiter les réponse par des chiffre.
 
 
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Augmentation d'une variable par 1

 

Sujets relatifs
Obtenir une variable UNIQUE a chaque clientajouter variable "toutes" à la listbox
Variable $_SERVERForm en variable JS
Recupération de resultat dans une variable[JavaBeans] Créer un javabean avec nombre variable de propriétés
Script TCL Eggdrop ... Variable dans un fichier txtincrementer une variable
Pb variable dynamiqueAssigner à une variable JS le contenu d'un champ
Plus de sujets relatifs à : Augmentation d'une variable par 1


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR