Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 6 van 6

Onderwerp: MS DOS batch menu automatische keuze

  • Vraag is opgelost
  1. #1
    Senior Member MAX232's avatar
    Geregistreerd
    29 december 2001
    Locatie
    Kartonnen doos 12b
    Hi allemaal,

    ik heb in een batch bestandje geschreven met een menuutje erin. Afhankelijk van de keuze wordt er een programma gestart. So far so good.

    Wat ik graag wil is als er geen keuze gemaakt wordt binnen 10 seconden er een automatische keuze gemaakt wordt. Weet iemand hoe dat moet?

    Dit is de code van het keuze menu:

    ---------------------------------------------------------

    set choice=
    set /p choice=Choose your procedure:
    if not '%choice%'=='' set choice=%choice:~0,1%
    if '%choice%'=='1' goto startff
    if '%choice%'=='2' goto startagl
    if '%choice%'=='3' goto startmso
    if '%choice%'=='4' goto startall
    if '%choice%'=='5' goto startexit
    ECHO "%choice%" is not valid please try again
    ECHO.
    Ik zeg: whatever...

    MAX

  2. #2
    In batch is dit niet mogelijk omdat het in feite een dos emulator is.
    In MS-DOS had je nog geen multi-tasking, dit houd in dat het niet 2 opdrachten/programma's tegelijk kan uitvoeren. Ofwel, hij kan niet wachten op een input, én aftellen tegelijk.
    In C++ is dit echter wel mogelijk, maar dan moet je vrij ingewikkelde API calls doen.

  3. #3
    Quote Origineel gepost door Plan-1130
    In batch is dit niet mogelijk omdat het in feite een dos emulator is.
    In MS-DOS had je nog geen multi-tasking, dit houd in dat het niet 2 opdrachten/programma's tegelijk kan uitvoeren. Ofwel, hij kan niet wachten op een input, én aftellen tegelijk.
    In C++ is dit echter wel mogelijk, maar dan moet je vrij ingewikkelde API calls doen.
    Het kan wel maar niet met de standaard tools dos commando's.
    Tijd geleden ook zoiets gemaakt onder Linux: Maak (in een willekeurige taal) een executable die 10 seconden wacht op input en hierna een keuze maakt. De truuk is dat je continue de input scant(?) op het eerste karakter. Als je de hoeveelheid seconden enzo als variabelen meeneemt krijg je een leuk tooltje!

    Weest gegroet,
    Guus
    Laatst aangepast door Guus2005 : 7 juli 2006 om 11:24

  4. #4
    In Batch is het niet mogelijk, in een andere taal waarschijnlijk wel.
    Daarbij komt ook dat Batch überhaupt niet kan aftellen.

    Je kunt het inderdaad zonder ingewikkelde API calls, en zoals jij het zegt is het mogelijk, maar niet superhandig, omdat je dan 2 bestandjes mee moet sturen...

  5. #5
    Quote Origineel gepost door Plan-1130 Bekijk Bericht
    In Batch is het niet mogelijk, in een andere taal waarschijnlijk wel.
    Daarbij komt ook dat Batch überhaupt niet kan aftellen.

    Je kunt het inderdaad zonder ingewikkelde API calls, en zoals jij het zegt is het mogelijk, maar niet superhandig, omdat je dan 2 bestandjes mee moet sturen...

    :wait
    echo Je heb nog %wait% seconds om te kiezen
    PING 1.1.1.1 -n 1 -w 1000 >NUL
    set /a wait=%wait% - 1
    if %wait%==0 (
    goto (AUTOMATISCHE KEUZE HIER INVULLEN)
    )
    goto wait

    zo telt hij toch af?

  6. #6
    Mega Honourable Senior Member Ellasar's avatar
    Geregistreerd
    10 oktober 2000
    Locatie
    Zwolle
    Afstand tot server
    ±32 km
    Dat is een van de weinige methodes om secondes te wachten in CMD, alleen dat stukje zal niet worden uitgevoerd zolang de gebruiker geen keuze heeft gemaakt in het set /p choice commando.

    Dat commando blijft gewoon eeuwig wachten op input van de gebruiker en dus niet met een timer te sturen

Berichtenregels

  • U mag geen nieuwe discussies starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • Umag niet uw berichten bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren
Linkpartners
Aanbiedingen