Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Adaptabilité fenêtre console
Auteur Message
Répondre en citant
Message Adaptabilité fenêtre console 
Coucou les amis Mr. Green
Je bloque sur un petit bout de code. J'aimerai pouvoir adapter la taille de la console en fonction de l'entrée utilisateur:
Code:
@echo off

setlocal enabledelayedexpansion
set "nb=1"

:ask
set /p "input=>"
if "%input%"=="" goto end
if "%input%"=="done" goto list
if "%input%"=="export" goto export
set "task%nb%=%input%"
set /a nb+=1
goto ask

:list
set /a nb-=1

for /l %%A in (1,1,%nb%) do (
call :length
mode con cols=%length% lines=15
pause
cls
echo.
echo   Tache %%A:
echo   !task%%T!
pause>nul
)

:length
for /f "tokens=1* delims=[]" %%v in ('
  "%comspec% /u /c echo:!task%nb%!|more|find /n /v """
 ') do set /a "length=%%v"
goto:eof

:end
exit


A chaque fois il me retourne un length vide.
Quelqu'un peut m'aider ?

Des bisous




______________________________________________________
Raiseit


Des jeux gratuits (ou presque ) <> Serveurs minecraft gratuit <> Notre chaine youtube <> Mon projet

IL y a 10 types de personnes: ceux qui comprennent le binaire et les autres :-)
Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Adaptabilité fenêtre console 
salut,

ton "task%nb% n'est pas defini dans length.

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Adaptabilité fenêtre console 
c'est à dire ?




______________________________________________________
Raiseit


Des jeux gratuits (ou presque ) <> Serveurs minecraft gratuit <> Notre chaine youtube <> Mon projet

IL y a 10 types de personnes: ceux qui comprennent le binaire et les autres :-)
Visiter le site web du posteur Skype
Répondre en citant
Message Adaptabilité fenêtre console 
C'est à dire qu'à mon avis, quand l'utilisateur entre "done", ton programme va à :list avant d'avoir exécuté set "task%nb%=%input%" donc quand ton programme (dans :list) va faire le call de :length, la variable ne sera pas définie. Je pense que ton goto arrive trop tôt et que tu devrais mettre tes set avant les if :
Code:
:ask
set /p "input=>"
set "task%nb%=%input%"
set /a nb+=1
if "%input%"=="" goto end
if "%input%"=="done" goto list
if "%input%"=="export" goto export
goto ask

ça marche comme ça? :X




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message Adaptabilité fenêtre console 
Ca ne change rien.
J'ai revu mon code parceque j'ai vu des erreurs, mais je ne comprend toujours pas pourquoi ça ne marche pas:
Code:
@echo off

setlocal enabledelayedexpansion

if not exist DailyTasks (
md DailyTasks
attrib +h DailyTasks
echo "%cd%\ToDoList.bat">"%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Startup.bat"
)

:menu
mode con cols=80 lines=20
title ToDoList

cls
echo ToDoList.bat
echo (c)2017 Romain Dieu--Guillot
echo For more information, please go to raiseit.shost.ca
echo --------------------------------------------------------------------------------
echo What do you want to do today ^?
echo write done when finished or leave blank to leave

set "nb=0"

:ask
set "input="
set /p "input=>"
set /a nb+=1
set "task%nb%=%input%"
if "%input%"=="" goto end
if "%input%"=="done" goto list
if "%input%"=="export" goto export
goto ask

:list
set /a nb-=1

for /l %%A in (1,1,%nb%) do (
call :length  "!task%%A!"
mode con cols=%length% lines=15
cls
echo.
echo   Tache %%A: %length%
echo   !task%%A!
pause>nul
)

cls
echo Congratulation
echo You completed all today's task.
pause>nul
goto menu

:export
set /a nb-=1
for /l %%A in (1,1,%nb%) do (
(echo Tache %%A:
echo !task%%A!
echo.)>>ToDoList.txt
)

cls
echo Task list exported
pause>nul
goto menu

:length
for /f "tokens=1* delims=[]" %%l in ('
  "%comspec% /u /c echo:%~1|more|find /n /v """
 ') do set /a "length=%%l"
goto eof

:end
exit





______________________________________________________
Raiseit


Des jeux gratuits (ou presque ) <> Serveurs minecraft gratuit <> Notre chaine youtube <> Mon projet

IL y a 10 types de personnes: ceux qui comprennent le binaire et les autres :-)
Visiter le site web du posteur Skype
Message Adaptabilité fenêtre console 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch