Avatar billede burningice Nybegynder
01. maj 2003 - 13:00 Der er 10 kommentarer og
1 løsning

Dos (batch)

Jeg skal have lavet et lille script der kan skrive error ud på skærmen, mens det står og blinker. Det er dog efterhånden flere år siden jeg rodede med sådan noget, så jeg er lidt lost :(
Jeg har fået skrevet det her indtil videre, men det virker ikke helt efter hensigten. Er der nogen der har lyst til at være min debugger ;) hehe. Håber at i kan se meningen med koden, ellers må i bare sige til :)

@echo off

echo Loggin in...
pause
set i = 1
goto loop

:loop
echo %i%
if %i% == 1000 goto printwhite
if %i% == 2000 goto printblack
set i = %i% + 1
goto loop

:printwhite
color f0
echo error
goto loop

:printblack
color 0f
echo error
set i = 1
goto loop
Avatar billede bertelbrander Novice
02. maj 2003 - 21:18 #1
Jeg har aldrig lavet batch scripts i Win9x/Me eller XP, så jeg vil ikke afvise at
det kan lade sig gøre der (du vil nok få brug for ansi.sys), men for NT/2000 er jeg meget overbevist om at det ikke er muligt :-(
Hvis du har adgang til en c/c++ compiler er det ret let at lave, og der er sikkert lavet mange programmer der kan bruges til at lave det (prøv det google).
Avatar billede burningice Nybegynder
02. maj 2003 - 21:46 #2
bertelbrander>> jeg får fejl allerede i min første if-sætning, så der er noget helt galt, for det kan man da i hvert fald godt bruge batch-scripts til, altså at lave if sætninger. Du har ret i, at hvis jeg skal lave noget mere avanceret, så kommer jeg ikke langt med almindelig batch, dog skal jeg kun have skærmen til at blinke, som jeg her gør ved at skifte mellem color 0f, og color f0 :)
Avatar billede bertelbrander Novice
02. maj 2003 - 23:56 #3
Ja, man kan godt få skærmen til at blinke:
@echo off
set Counter=0

:loop
set /A xxx=%Counter% "%% 2000"

if [%xxx%]==[0] color f0
if [%xxx%]==[1000] color 0f
set /A Counter=%Counter% + 1
goto :loop

Det man ikke kan er at få en del af skærmen til at blinke.
Avatar billede burningice Nybegynder
03. maj 2003 - 15:23 #4
whee :) så jeg manglede altså bare at sætte [] omkring mine variabler?
Avatar billede burningice Nybegynder
03. maj 2003 - 15:47 #5
hov... det var jo ikke mig der skulle lægge svar... hehe. Læg du lige et svar istedet :)
Avatar billede bertelbrander Novice
03. maj 2003 - 20:12 #6
1: For at kunne regne skal man bruge set /A
2: I set kommandoen må der ikke være mellemrum før eller efter =
3: Du behøver ikke [] i if (omkring variabler), medmindre variablen kan være tom.
4: Når i bliver 1000 går du til printwhite, herefter går du tilbage til toppen af loopen, i er stadig 1000, så du går igen til printwhite, osv.
Avatar billede burningice Nybegynder
03. maj 2003 - 20:18 #7
jeg har fået skrevet denne kode som virker helt fint:

@echo off

echo Loggin in...
pause
set /A i = 1
goto loop

:loop
if [%i%] == [100] goto printwhite
if [%i%] == [200] goto printblack
set /A i = %i% + 1
goto loop

:printwhite
color f0
echo error
set /A i = %i% + 1
goto loop

:printblack
color 0f
echo error
set i = 1
set /A i = 1
goto loop
Avatar billede bertelbrander Novice
03. maj 2003 - 20:48 #8
Man kan bruge ping.exe til a lave delays der er veldifinerede lange, følgende vil lave et delay på 15 sekunder

ping -w 15000 -n 1 xxx.yyy.000.223 >null

xxx.yyy.000.223 er den IP addresse man ping'er, xxx.yyy får du ved at køre ipconfig og så vælge xxx og yyy de samme som din maskine (der må ikke være en maskine på dit netværk med den IP-addresse).
Avatar billede burningice Nybegynder
03. maj 2003 - 23:03 #9
bertelbrander>> jaja... ;) lav nu bare det svar så vi kan komme videre ;)
Avatar billede bertelbrander Novice
03. maj 2003 - 23:59 #10
Jeg giver ikke svar, kun kommentarer.
Avatar billede burningice Nybegynder
04. maj 2003 - 00:07 #11
bertelbrander>> pis osse... så er vi jo røget i et endless loop, for jeg giver også kun kommentarer ;) men hvad... kom ved en fejl til at lave et svar, så mon ikke det kan godtages ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester