home *** CD-ROM | disk | FTP | other *** search
/ Pokey's Magazine 11 & 12 / Pokeys_Magazine_11__12_1991_08___nl_Side_B.atr / les.txt < prev    next >
Text File  |  2023-02-26  |  4KB  |  1 lines

  1. Hallo cursisten...¢¢¢Langzaam maar zeker naderen we het punt dat we een groot deel van de instructue's hebben besproken. Het echte programmeren moet dan nog beginnen.....¢¢Een programma in elkaar zetten kun je programmeren noemen, maar het echte werk houdt meer in.¢¢Deze maand een paar leuke wetenswaardigheden.¢¢We hebben al eens gekeken hoe we het toetsenbord uitlezen. Dit is o.a. mogelijk m.b.v. een input opdracht.¢Het is ook mogelijk om via de GET opdracht het toetsen bord uit te lezen.¢¢Je kunt 'getten' uit een file(zie de vorige aflevering), maar als we rechtstreeks een get doen, scannen we het toetsenbord.¢¢GET K laat de computer wachten tot er een toets wordt ingedrukt. Als er een toets wordt ingedrukt komt in de variabele K de waarde van de toets te staan. Het teken komt (nog) niet op het scherm te staan. Dit is eeb handige optie bij menu afhandelingen.¢¢Via het commando PUT kunnen we het teken op het scherm zetten. Echter, als <control>'3' wordt ingedrukt genereren we een ERROR. Dit is te voorkomen met de instruktie TRAP. We zetten de GET routine in een subroutine....¢¢100 REM VOORBEELD GET/PUT/TRAP¢110 REPEAT¢120  EXEC KEYPRESS¢130  PUT KEY¢140 UNTIL KEY=155¢150 REM RETURN WERD INGEDRUKT¢160 END¢170 --¢180 PROC KEYPRESS¢190  TRAP 190¢200  GET KEY¢210 ENDPROC¢¢De REPEAT-UNTIL loop haalt een toetsenbordcode op, zet het bijbehorende karakter op het scherm totdat de RETURN (Waarde 155) wordt ingedrukt.¢¢In de procedure KEYPRESS wordt een error 'getrapped'. Indien er zich ergend een fout voordoet, springt het programma automatisch naar regel 190. Deze initialiseert de TRAP weer en op regel 100 wordt het toetsenbord gescant.¢¢Probeer nu eens een toepassing te vinden waar deze routine in kan worden gebruikt. Je zou een met wat laad en save opties een zeer eenvoudige texteditor kunnen schrijven....¢¢Een andere, maar minstens even mooie instructie is het MOVE commando.¢¢Met MOVE kunnen we een blok geheugen in het geheugen verplaatsen.¢¢MOVE 1000,2000,10¢¢MOVE ORGINEEL,BESTEMMING,LENGTE¢¢Bovenstaande maakt vanaf adres 2000 een copie van wat er vanaf adres 1000 in het geheugen staat. Hij doet dit met een blok van 10 bytes.¢¢Een heel aardige toepassing is een picture even in een string bewaren. Als er tijdens het tekenen iets mis gaat, kun je de oude picture gewoon weer naar het scherm 'moven'. Ook simpele animaties zijn met het MOVE commando te maken. De vorige keer stond er op de achterzijde een heel aardig programma van Sangit Parvat. M.b.v. het move commando creeerde hij een schuin blok dat over het scherm heen schoof. Heel erg fraai gedaan.¢¢10 DIM A$(7680)¢20 GRAPHICS 24¢30 COLOR 1¢40 FOR P=0 TO 90 STEP 3¢50  CIRCLE 160,95,P¢60 NEXT P¢70 REM NU KOMT HIJ...¢80 MOVE DPEEK(88),ADR(A$),7680¢90 GR.24¢100 REM HET SCERM IS NU LEEG...¢120 REPEAT¢130  GET K¢140 UNTIL K=155¢150 MOVE ADR(A$),DPEEK(88),7680¢160 DO:LOOP¢¢In regel 80 bewaren we de picture in een string die we daarvoor geresveerd hebben. In regel 90 maken we het scherm schoon.....Dan gaan we wachten tot een toets wordt ingedrukt en deze ook nog eens de waarde 155 bezit (RETURN).¢Wordt in regel 150 de picture weer met een noodgang op het scherm gegooit.¢¢We kunnen natuurlijk ook achteruit moven, maar dan moet je voor het MOVE commando een min zetten. Als je ORGINEEL en bestemming door elkaar lopen (Van het zelfde geheugengebied gebruik maken) krijg je anders een gebied dat zich met een steeds herhalend byte vult. Op zich heel aardig, want op die manier kunnen we razend snel een geheugen gebied vullen met een bepaalde waarde.¢¢Achteruit moven doen we zo:¢¢-MOVE ORGINEEL,BESTEMMING,LENGTE¢¢Zie ook het voorbeeldprogramma dat ik ontving van de heer Riepe uit Den Helder. (bedankt)¢¢Ga aan het experimenteren met het movecommando, want je kunt er erg veel mee doen. bv. de inhoud of deel daarvan van de ene string naar de andere copieren. Zelfstudie is in dit geval een vereiste. Denk niet dat dit het enige is wat je met MOVE kunt doen. Ga lekker aan de slag...¢¢Ik hoop nog te horen welke toepassingen je gevonden hebt.¢¢¢Tot de volgende Turbo-cursus¢¢¢¢John MAris.¢¢¢¢