lessen (Discussies in het Nederlands MSX Forum)MSX Resource Center               
              
English Nederlands Espa�ol Portugu�s Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 52 guests and 3 MSX friends online

You are an anonymous user.
 

MSX Forum


MSX Forum

Discussies in het Nederlands - lessen

Author

lessen

blackbram
msx friend
Posts: 2
Posted: June 08 2006, 16:06   
hoi allemaal,

ik ben op zoek naar msx lessen waarmee ik programmas en spellen kan maken want ik heb nu een emulator maar ik kan nog niet echt programeren.
als je weet waar ik dit kan vinden zeg dat dan.

groetjes blackbram
wolf_

msx legend
Posts: 4781
Posted: June 08 2006, 18:14   
Bezoek een msx-beurs, of een lokale msx-meeting. Daar zijn meestal wel boekjes te koop uit de jaren 80, dat was een beetje die tijd zegmaar.

Eerstvolgende grote beurs is in't najaar in Bussum, lokale msx-meeting is afhankelijk van waar je woont.

Uiteraard is MRC (of een van de andere msx-sites waar een forum is) ook een grote bron van antwoorden!

(kortom: stel je vragen!)
blackbram
msx friend
Posts: 2
Posted: June 08 2006, 19:24   
ok hier is een vraag:

hoe maak je een inputbox waarbij je iets kan intypen en de msx als je bijv. pietje hebt ingetypet zegt hoi pietje
[D-Tail]

msx guru
Posts: 3020
Posted: June 08 2006, 19:30   
Nou, om maar met het makkelijkste te beginnen: er bestaat niet zoiets als een 'input box'. Iets in de trant van je omschrijving zou dit kunnen zijn:
10 CLS: LINE INPUT "Voer je naam in:",A$
20 PRINT "Hoi ";A$
Het eerste commando (CLS) maakt je scherm mooi leeg, behalve misschien de onderste regel. Die kun je wegkrijgen met een KEY OFF commando. Voorts wacht het LINE INPUT statement op een textuele invoer, beëindigd met een RETURN. Het zojuist getypte komt in A$ te staan die later met een PRINT op het scherm komt. Veel plezier met aanklooien!
wolf_

msx legend
Posts: 4781
Posted: June 08 2006, 19:30   
Je wilt een nette oplossing die dombo-proof is? Of wil je gewoon het commando 'LINE INPUT' ?

Met dombo-proof bedoel ik dus iets als een textfield in Windows, een vakje waarin je gewoon kan tiepen, niks fout kan doen, etc. etc.
webmouse
msx lover
Posts: 121
Posted: June 08 2006, 21:24   
Zoals in windows kan maar dan moet je dat grafisch oplossen in bijvoorbeeld screen 2.
Met: open "grp:" for output #1
kun je tekst naar grafische schermen afdrukken. Toetsen afvangen kun je met inkey$, ook de back space (char code 8).
Kijk eens of je 2e hands MSX Basic boek kunt vinden.
wolf_

msx legend
Posts: 4781
Posted: June 08 2006, 21:47   
Kan ook in screen 0, met de grafische karakters (bijv. die hoekjes met graph-F etc.) voor het kadertje. En wellicht wil je geen kadertje, maar gewoon 4 liggende streepjes voor 4 in te vullen karakters. Ik bedoelde dus niet zozeer hoe het in Windows eruit ziet, maar meer hoe het werkt. Idem voor numerieke input, je wilt dus niet -in je runnende programma- die REDO FROM START onzin als de user iets verkeerd doet.
webmouse
msx lover
Posts: 121
Posted: June 10 2006, 12:19   
Best wel leuk weer eens wat in MSX basic te doen.
Ik zit nu meer in Pascal. Ik kon het niet laten:

10 SCREEN 5
20 COLOR 1
30 OPEN "grp:" FOR OUTPUT AS#1
40 PSET(19,9):PRINT#1,"Enter your name:"
50 REM *** This is the input box ***
60 LINE (19,19)-(181,29),14,BF
70 LINE (18,18)-(182,18),1
80 LINE -(182,30),15
90 LINE -(18,30),15
100 LINE -(18,18),1
110 COLOR ,14
120 REM *** This is the actual input routine ***
130 REM *** only a-z and A-Z are allowed     ***
140 P% = 12
150 K$ = INKEY$: IF K$="" THEN GOTO 150
160 IF ASC(K$) >=65 AND ASC(K$) <=122 AND P% <170 THEN P%=P%+8: PSET(P%, 20),14:PRINT#1, K$: W$=W$+K$
170 REM *** BACK SPACE ***
180 IF ASC(K$) = 8 AND P%>12 THEN LINE (P%,20)-(P%+8,28),14,BF: W$=LEFT$(W$, LEN(W$)-1): P%=P%-8
190 REM *** ENTER PRESSED ***
200 IF ASC(K$) = 13 THEN GOTO 220
210 GOTO 150
220 COLOR ,4
230 PSET (19,40): PRINT#1, "You entered: "+W$
240 CLOSE#1
250 IF INKEY$="" THEN GOTO 250
260 COLOR 15,4,4

AuroraMSX

msx master
Posts: 1264
Posted: June 10 2006, 13:39   
Quote:

Nou, om maar met het makkelijkste te beginnen: er bestaat niet zoiets als een 'input box'. Iets in de trant van je omschrijving zou dit kunnen zijn:
10 CLS: LINE INPUT "Voer je naam in:",A$
20 PRINT "Hoi ";A$
Het eerste commando (CLS) maakt je scherm mooi leeg, behalve misschien de onderste regel. Die kun je wegkrijgen met een KEY OFF commando. Voorts wacht het LINE INPUT statement op een textuele invoer, beëindigd met een RETURN. Het zojuist getypte komt in A$ te staan die later met een PRINT op het scherm komt. Veel plezier met aanklooien!


En waarom gebruik je hier LINE INPUT en niet gewoon INPUT?

AuroraMSX

msx master
Posts: 1264
Posted: June 10 2006, 13:43   
Quote:

Best wel leuk weer eens wat in MSX basic te doen.
Ik zit nu meer in Pascal. Ik kon het niet laten:

10 SCREEN 5
20 COLOR 1
30 OPEN "grp:" FOR OUTPUT AS#1
40 PSET(19,9):PRINT#1,"Enter your name:"
50 REM *** This is the input box ***
60 LINE (19,19)-(181,29),14,BF
70 LINE (18,18)-(182,18),1
80 LINE -(182,30),15
90 LINE -(18,30),15
100 LINE -(18,18),1
110 COLOR ,14
120 REM *** This is the actual input routine ***
130 REM *** only a-z and A-Z are allowed     ***
140 P% = 12
150 K$ = INKEY$: IF K$="" THEN GOTO 150
160 IF ASC(K$) >=65 AND ASC(K$) <=122 AND P% <170 THEN P%=P%+8: PSET(P%, 20),14:PRINT#1, K$: W$=W$+K$
170 REM *** BACK SPACE ***
180 IF ASC(K$) = 8 AND P%>12 THEN LINE (P%,20)-(P%+8,28),14,BF: W$=LEFT$(W$, LEN(W$)-1): P%=P%-8
190 REM *** ENTER PRESSED ***
200 IF ASC(K$) = 13 THEN GOTO 220
210 GOTO 150
220 COLOR ,4
230 PSET (19,40): PRINT#1, "You entered: "+W$
240 CLOSE#1
250 IF INKEY$="" THEN GOTO 250
260 COLOR 15,4,4


Nu nog de cursor-toetsen en een 'cancel' (ESC) optie erbij en de inputbox is klaar
Verder zou ik de volgende regels als volgt schrijven:
150 K$=INPUT$(1)
200 IF ASC(K$)<>13 THEN 150
210 '
250 K$=INPUT$(1)

wolf_

msx legend
Posts: 4781
Posted: June 10 2006, 13:58   
Quote:


En waarom gebruik je hier LINE INPUT en niet gewoon INPUT?



INPUT is voor nummers, LINE INPUT voor strings ..
webmouse
msx lover
Posts: 121
Posted: June 10 2006, 14:09   
Is dat omdat INPUT$(1) sneller is?
AuroraMSX

msx master
Posts: 1264
Posted: June 10 2006, 18:27   
Quote:

INPUT is voor nummers, LINE INPUT voor strings ..

<flabbergasted>...right...</flabbergasted>

Quote:

Is dat omdat INPUT$(1) sneller is?

Neuh, 't is omdat 't makkelijk programmeren is
 
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.