Verwijderd
Je moet eerst ffe Qbasic van je Win98-CD halen (TOOLS\OLDMSDOS\QBASIC*.*), en de code ffe copy-pasten naar een .BAS file.
'Strobo.bas - Simpele stroboscoop
'
'Deze toetsen kun je gebruiken:
'
' Pijltjes = Langzamer of Sneller knipperen
' Enter = Default snelheid gebruiken
' Spatie = Wachten tot je weer kunt zien
' Escape = Ontsnappen
'
'(PS, de pijltjes slaan op de 2 & 8 pijltjes)
SCREEN 13
DefaultSnelheid% = 150
Snelheid% = DefaultSnelheid%
DO
LINE (0, 0)-(319, 199), 0, BF
FOR i% = 1 TO Snelheid%
WAIT 986, 8
NEXT i%
LINE (0, 0)-(319, 199), 15, BF
a$ = INKEY$
IF a$ <> "" THEN
SELECT CASE ASC(a$)
CASE 13: Snelheid% = DefaultSnelheid%
CASE 27: EXIT DO
CASE 32: a$ = INPUT$(1)
CASE 50: Snelheid% = Snelheid% + 1
CASE 56: Snelheid% = Snelheid% - 1
END SELECT
END IF
LOOP
SCREEN 0
WIDTH 80
PRINT "Je bent gestopt met Snelheid% ="; Snelheid%
maar bedankt voor de moeite!!
Verwijderd
Met half scherm bedoel ik dat alleen de bovenste helft van mijn scherm knippert niet de onderste..
Verwijderd
Psycho heb je t geprobeerd??????
Oorzaak: hij is nog bezig met het tekenen van dat witte vlak als de opdracht om het weer zwart te maken al komt. Dit komt door de - nogal trage - grafische functies van QB.
Oplossing: gebruik een mooie quicklibrary met assembly functies die *wel* snel zijn, en dan bij voorkeur eentje die backbuffering (oftewel pageflipping) aankan. Dan zie je de schermen niet meer 'getekend' worden maar staat het er in één klap.
Toen ik nog QB gebruikte (de good old days
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Verwijderd
En QBasic is met dit niet langzamer dan ASM omdat ik line(x,x)-(x,x),Kleur,BF gebruik, de enigste manier omdit sneller te maken is
wat je al zei page-flipping te gebruiken.
MP3-Junky, als je dat bedoelt met 1/2 scherm,
dan moet je ook even een WAIT 986,8 voor de eerste line-functie zetten, dan moet het goed zijn.
Als ik de snelheid op langzaam zet, is het beeld bijna helemaal wit...Moet dit niet zwart zijn?(en af en toe wit?)
GrtNX
Verwijderd
Snelheid = 1000 = langzaam
Snelheid = 1 = Ontiegelijk snel (Dus wit)
He Ron laat de jouwe eens zien????
Verwijderd
strobo.zip -> http://www.euro2000online.com/strobo.zip
Reacties zijn natuurlijk altijd welkom...
Gr. Ron
Alleen hij bouwt het scherm niet mooi op..
net of je pc het niet bij kan benen...
(ik heb het op 3 pc's geprobeerd, allemaal verschillende voedingen en andere monitoren)
ze hebben allemaal dit probleem...
Suggestie: Full screen option
Bedankt voor alle moeite alvast!!!
Verwijderd
Misschien dat gebruik van DirectX de boel is soepeler kan laten lopen...
Als ik tijd / zin heb wil ik hier weleens mee experimenteren...
Gr. Ron
Verwijderd
Ik heb ook even STROBO.BAS geupdate, nu gebruikt ie page-flipping (Sneller & smoother). MP3-Junky deze doet wel een heel scherm!!!!!
komt ie:
Zie je nu wel, geen link-libraries nodig met Basic'Strobo.bas - Simpele stroboscoop
'(Dit keer met page-flipping)
'
'Deze toetsen kun je gebruiken:
'
' Pijltjes = Langzamer of Sneller knipperen
' Enter = Default snelheid gebruiken
' Spatie = Wachten tot je weer kunt zien
' Escape = Ontsnappen
'
'(PS, de pijltjes slaan op de 2 & 8 pijltjes)
DefaultSnelheid% = 150
Snelheid% = DefaultSnelheid%
SCREEN 7, 0, 1, 0
LINE (0, 0)-(319, 199), 15, BF
DO
WAIT 986, 8
SCREEN 7, 0, 0, 0
FOR i% = 1 TO Snelheid%
WAIT 986, 8
NEXT i%
SCREEN 7, 0, 0, 1
a$ = INKEY$
IF a$ <> "" THEN
SELECT CASE ASC(a$)
CASE 13: Snelheid% = DefaultSnelheid%
CASE 27: EXIT DO
CASE 32: a$ = INPUT$(1)
CASE 50: Snelheid% = Snelheid% + 1
CASE 56: Snelheid% = Snelheid% - 1
END SELECT
END IF
LOOP
SCREEN 0
WIDTH 80
PRINT "Je bent gestopt met Snelheid% ="; Snelheid%
Is het ook mogelijk om hier een (windows) .exe van te maken??
ThnX!
Win-exe zal niet gaan. Je kunt de code wel importeren in bijv. Visual Basic 5, maar runnen of compileren zal dan niet gaan. Het screen-statement bv. kent VB niet.
Je kunt proberen zo'n proggie onder Windows wel opnieuw te schrijven, maar echt snel zal het niet gaan. De grafische functies van Windows (GDI) zijn namelijk vooral bedoeld voor kantoorapplicaties (de 'gewone' windowtjes dus) en niet voor snelle grafische apps. Dan zal je toch C++ moeten gaan leren en een DirectX applicatie maken.
Just FYI...
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1
Verwijderd
Een Win-EXE kan niet, dit programma spreekt 'direct' met de Hardware.
Je kunt ook een shortcut maken met: 'Qbasic /run strobo.bas'.
Verwijderd
OK, het .EXE-bestand van deze versie is nu ook beschikbaar:
strobo.zip -> http://www.euro2000online.com/strobo.zip
Gr. Ron
------------------
'Strobo.bas - Simpele stroboscoop
'(Dit keer met page-flipping)
'
'Deze toetsen kun je gebruiken:
'
' Pijltjes = Langzamer of Sneller knipperen
' Enter = Default snelheid gebruiken
' Spatie = Wachten tot je weer kunt zien
' Escape = Ontsnappen
'
'(PS, de pijltjes slaan op de 2 & 8 pijltjes)
DefaultSnelheid% = 500
Snelheid% = DefaultSnelheid%
SCREEN 7, 0, 1, 0
LINE (0, 0)-(319, 199), 15, BF
DO
WAIT 986, 8
SCREEN 7, 0, 0, 0
FOR i% = 1 TO Snelheid%
WAIT 986, 8
NEXT i%
SCREEN 7, 0, 0, 1
a$ = INKEY$
IF a$ <> "" THEN
SELECT CASE ASC(a$)
CASE 13: Snelheid% = DefaultSnelheid%
CASE 27: EXIT DO
CASE 32: a$ = INPUT$(1)
CASE 50: Snelheid% = Snelheid% + 25
CASE 56: Snelheid% = Snelheid% - 25
END SELECT
END IF
LOOP
SCREEN 0
WIDTH 80
PRINT "Je bent gestopt met Snelheid% ="; Snelheid%
-----------------------
Verwijderd
Gr. Ron