Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - il CHOICE ritorna sempre errorlevel 1...
Forum - Altri Linguaggi - il CHOICE ritorna sempre errorlevel 1...

Avatar
Teo_Rubber (Normal User)
Newbie


Messaggi: 3
Iscritto: 28/05/2009

Segnala al moderatore
Postato alle 15:28
Giovedì, 28/05/2009
premetto che è la prima volta che scrivo in questo forum e in genere in qualsiasi forum.

mi stavo facendo una mini cultura sul Batch seguendo la guida relativa su questo sito e sono arrivato al capitolo 23 senza grosse difficoltà, non ci dovrebbero essere direte voi.. però per uno che è alle prime armi magari si.

veniamo al sodo:

scrivendo il batch descritto al capitolo 23 che riporto qui di seguito, mi da sempre a video il primo messaggio dell'iliade anche se inserisco B.
aggiungo che ho scaricato il choice nel link del capitolo 21.
_______________________________________
@echo off
choice effettua una scelta /c:ab
if ERRORLEVEL 1 goto err1
if ERRORLEVEL 2 goto err2

:err1
echo hai scelto il proemio dell'iliade
goto end

:err2
echo hai scelto il proemio dell'Odissea

:end
echo premere un tasto per uscire
pause>nul

_______________________________________

mi sapreste dire da cosa può dipendere?
ho saltato qualche passaggio?

allego anche l'immagine

P.S. se avete consigli da darmi in generale fate pure e anzi ne sarei contento:k:

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:32
Giovedì, 28/05/2009
Inverti la posizione delle if

if ERRORLEVEL 2 goto err2
if ERRORLEVEL 1 goto err1

PM Quote
Avatar
Teo_Rubber (Normal User)
Newbie


Messaggi: 3
Iscritto: 28/05/2009

Segnala al moderatore
Postato alle 15:50
Giovedì, 28/05/2009
non risolve la questione perchè adesso ritorna sempre odissea..

mille grazie intanto..


non so.. sembra che non dia mai errorlevel 2..

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:56
Giovedì, 28/05/2009
Guarda ... ho provato questo  codice

Codice sorgente - presumibilmente Delphi

  1. @echo off
  2. choice /C ab /M "effettua una scelta"
  3. if ERRORLEVEL 2 goto err2
  4. if ERRORLEVEL 1 goto err1
  5.  
  6. :err1
  7. echo hai scelto il proemio dell'iliade
  8. goto end
  9.  
  10. :err2
  11. echo hai scelto il proemio dell'Odissea
  12.  
  13. :end
  14. echo premere un tasto per uscire
  15. pause>nul



e funziona regolarmente

PM Quote
Avatar
Teo_Rubber (Normal User)
Newbie


Messaggi: 3
Iscritto: 28/05/2009

Segnala al moderatore
Postato alle 18:23
Giovedì, 28/05/2009
utilizzando il tuo codice mi da alcuni errori...

comunque ho provato solo a sostituire l'ordine degli IF e funziona!!

Problema risolto anche se il motivo resta oscuro..

:k:

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 19:14
Giovedì, 28/05/2009
Testo quotato

Postato originariamente da Teo_Rubber:

utilizzando il tuo codice mi da alcuni errori...



Molto probabilmente dipende dalla versione della Choice ... segui la sintassi di quella che hai tu ...

Testo quotato

comunque ho provato solo a sostituire l'ordine degli IF e funziona!!



Beh ... te l'avevo detto subito e avevi risposto che non funzionava lo stesso ... non avevi provato ?

Testo quotato

Problema risolto anche se il motivo resta oscuro..



Non e' affatto oscuro ... mi domando perche' la Microsoft scrive tutta la documentazione se nessuno la legge ...

http://support.microsoft.com/kb/39585/en-us

PM Quote