ID.nl logo
Programmeren in Visual Basic Express: Maak uw eigen programma's (deel 1)
© Reshift Digital
Huis

Programmeren in Visual Basic Express: Maak uw eigen programma's (deel 1)

Zelf programma's maken is een prima manier om de computer nog beter te leren kennen. Microsoft heeft daarvoor tegenwoordig het gratis Visual Basic Express beschikbaar, een 'programma' waarmee u uw eigen Windows-applicaties kunt maken. Visual Basic Express (VBE) kunt u gratis downloaden vanaf msdn.microsoft.com/vstudio/express/downloads/default.aspx.

Zelf programma's maken is een prima manier om de computer nog beter te leren kennen. Microsoft heeft daarvoor tegenwoordig het gratis Visual Basic Express beschikbaar, een 'programma' waarmee u uw eigen Windows-applicaties kunt maken. Visual Basic Express (VBE) kunt u gratis downloaden vanaf msdn.microsoft.com/vstudio/express/downloads/default.aspx. Onder Step 2 ziet u in de linkerkolom als middelste download Visual Basic 2005 Express Edition. Kies voor de standaard, dus de Engelse editie (afbeelding1). Bij de installatie worden behalveVBE ook Microsoft MSDN 2005 Express Edition en SQL Server 2005 Express Edition geïnstalleerd. Die laatste twee hebt u voor deze workshop niet nodig, maar neem ze er maar bij, altijd handig voor de toekomst... Voor een vlekkeloze werking dient uVBE binnen dertig dagen te registreren, maar dat is toch gratis. Klaar? Eerst nog even dit.

'Event driven' programmeren

Alles wat u van vroeger weet over het programmeren van computers kunt u overboord gooien.Waar u voorheen - weet u nog? - een programmalus creeerde die continu'van-voor-naar-achter-en-weer-opnieuw' controleerde of er op een knop van het toetsenbord werd gedrukt, daar doet u tegenwoordig helemaal niets. Ja, u leest het goed. Netjes geprogrammeerde Windows applicaties kennen namelijk helemaal geen programmalus. In plaats daarvan blijven ze geduldig wachten tot er iets gebeurt en dáár reageren ze dan op. Hoewel? Ze reageren alleen als de opgetreden' gebeurtenis' door ú is ingeprogrammeerd ... Zo'n gebeurtenis kan van alles zijn; het van grootte laten veranderen van het werkvenster, het indrukken van een button, het selecteren van een menuoptie, enzovoort. U kunt uw applicatie bijvoorbeeld zo programmeren dat zodra er op een bepaalde knop wordt gedrukt, er een tekst in een tekstveld wordt neergezet. Voor alle duidelijkheid: een knop (of een tekstveld of een werkvenster enz.) heet inVBE een object. De naam (='Name') ervan speelt binnenVBE een allesoverheersende rol. Het is namelijk die objectnaam die bepaalt op welke plek de gewenste wijzigingen moeten worden uitgevoerd. Over enkele ogenblikken wordt u alles duidelijk. Een nieuw project Meteen nadatVisual Basic Express is gestart, beginnen we met het bouwen van een nieuw project. Zo'n project bestaat uit een gedeelte (= het formulier) voor de schermen en een gedeelte (= de handelingen ofwel subroutines) achter de schermen, opdat u daar alvast rekening mee kunt houden. Verder moet de ontwikkelomgeving nog een ietsje worden aangepast, zodat u prettig kunt werken.

Stap 1

[afbeelding0]We gaan aan de slag: U laat het introductiescherm voor wat het is en kiest File, New Project. In het venster New Project kiest u voor het sjabloonWindows Application. Daarmee laat uVBE weten dat u een écht programma gaat bouwen dat u straks kunt starten binnen het besturingssysteem zélf. Geef uw project de naam HalloWereld en klik op OK (afbeelding2).

Afbeelding 1.Op de download-pagina vindt u meerdere'Express Edition'-ontwikkelomgevingen. U moet deVisual Basic 2005-versie hebben in de Engelstalige vorm.

Stap 2

[afbeelding0]Het nieuwe projectvenster krijgt de naam Form1.vb (= een verwijzing naar een formulier dat zo dadelijk letterlijk moet worden ingevuld). Sluit nu het introductieschermdoor het bijbehorende tabblad aan te klikken met de rechtermuisknop en te kiezen voor Close. Hiermee krijgt u meer ruimte op hetVBE-werkblad en dat is nodig, want het wordt nog druk zat!

Afbeelding 2.Het type project wordt een WindowsApplication oftewel een programma dat direct binnen het besturingssysteem kan draaien. De naam van de applicatie? HalloWereld.

Stap 3

[afbeelding0]Even later hebt u met nog slechts één tabblad te maken, Form1.vb. U kunt het formulier dat - linksboven in beeld - nu nog de naam Form1 heeft, uitrekken door het rechtsonder 'vast te pakken' met de linkermuisknop. Op die manier kunt u het formulier groter en kleiner maken, al naargelang de werkruimte die het toekomstige programma nodig heeft (afbeelding3).

Afbeelding 3. Het basisformulier Form1.vb wordt getoond en met behulp van de linkermuisknop kunt u het werkblad uitrekken. Verder uw aandacht voor de knopToolbox die u via de menukeuzeView, Toolbox tevoorschijn laat komen.

Stap 4

[afbeelding0]Vervolgens concentreert u zich - linksboven in beeld - op de zogehetenToolbox (u kunt deze desgewenst altijd activeren viaView,Toolbox). Deze Toolbox is het meest essentiële onderdeel van deVBE, omdat het alle componenten bevat die u nodig hebt om te kunnen communiceren met (1) de gebruiker van het toekomstige programma, (2) de door u geschreven Visual Basic-routines, (3) de benodigde objecten én (4) het besturingssysteem. Open de Toolbox door op het pictogram te klikken. Meteen daarna klikt u de bovenkant van de Toolbox aan met de rechtermuisknop en zet u een vinkje voor de optie Auto Hide. Dit zorgt er voor dat deze gereedschapskist op precies de goede momenten zichtbaar en weer onzichtbaar wordt...

Afbeelding 4. Vanuit de Toolbox sleept u een buttonobject naar het formulier. Dat buttonobject wordt standaard voorzien van een aantal eigenschappen waaronder de naam (= Button1).

Stap 5

[afbeelding0]Nu de kist tóch is geopend, moet u eens klikken op het Plus-teken voor de optie AllWindows Forms. Er klapt een enorme keuzelijst tevoorschijn en u krijgt alvast te zien welke objectenVisual Basic Express voor u in de aanbieding heeft. Een aantal van de getoonde componenten (zoals Button, CheckBox, Label en Listbox) herkent u meteen, dus dat is een prettige binnenkomer! Wellicht gaat er al een lichtje bij u branden, want het is de bedoeling dat we zo dadelijk objecten uit de getoonde Toolbox oppakken en neerzetten op het formulier dat nu nog de naam Form1.vb draagt. Later moeten we dan de onderlinge verbanden tussen de losse objecten gaan leggen.

Afbeelding 5. We veranderen de naam van de VBE-applicatie in Hallowereld.vb. Dit is een eerste aanzet tot het wijzigen van de eigenschappen van de objecten.

Objecten manipuleren

U gaat het formulier - dat nú nog de naam Form1.vb draagt - voorzien van de benodigde objecten die tevens manipuleren:

Stap 1

[afbeelding0]In de keuzelijst van de Toolbox klikt u op het objecttype Button. De muisaanwijzer ondergaat nu een kleine gedaantewisseling. Klik met de linkermuisknop in het formulier Form1.vb en u ziet dat de eerste knop (= een button) wordt geplaatst. Deze knop krijgt automatisch de naam Button1 toegewezen (afbeelding4).

Stap 2

[afbeelding0]Ga weer naar deToolbox en klik het objecttype Label aan. Ook nu verandert de muisaanwijzer. Sleep het Label naar het formulier Form1.vb en zet het met een druk op de linkermuisknop op de gewenste plek neer. Dat label wordt, net als hierboven de knop, automatisch voorzien van een unieke naam en dat is Label1.

Stap 3

[afbeelding0]Nu kunt u de objecten - waarvan het formulier zélf er ook eentje is - manipuleren. U klikt het formulier aan en rechtsboven in beeld kijkt u naar de sectie Solution Explorer die een verwijzing toont naar het genoemde formulier. Wijzig Form1.vb in HalloWereld.vb, om alvast een idee te krijgen hoe de onderlinge verhoudingen worden geregeld binnenVisual Basic Express. U ziet dat de titel van het formulier nog steeds staat ingesteld op Form1 (afbeelding5).

Stap 4

[afbeelding0]Klik met linkermuisknop op de knop Button1. U kunt de knop van grootte veranderen én u kunt de onderliggende eigenschappen ervan wijzigen. Rechts in beeld ziet u de sectie Data Sources, waarin de knop letterlijk wordt beschreven. Het veld (Name) bevat de naam van het object, die we  veranderen in KNOP. Het veldText bevat de opdruk van de knop en daarvan maken we KLIK HIER! (afbeelding6). Als u even verder kijkt, dan ziet u dat de knop nog meer eigenschappen (= kleur, lettertype) heeft die u kunt veranderen, maar dat is voor nu niet interessant ...

Stap 5

[afbeelding0]Selecteer nu het label en wijzig ook van dit object de eigenschappen via de sectie Data Sources. DeText (= de inhoud) van het label wordt ingesteld op LEEG. De (Name) van het label verandert u inTEKST. Ook voor een label geldt dat er nog meer eigenschappen kunnen worden aangepast:wederom nu niet interessant.

Stap 6

[afbeelding0]Intussen klikt u - in het werkvenster - op het formulier, waarbij u zult merken dat de sectie Data Sources andermaal het een en ander heeft te melden. Zo blijkt het veldText de titel van het formulier te zijn. En ook het veld (Name) (= de naam van het  formulierobject) kan worden aangepast. U maakt van de gelegenheid gebruik om de titel (= het veldText dus) van het formulier te wijzigen in HalloWereld!... Het veld (Name) verandert u in Hallowereld.

Even resumeren ...

Op het formulier (=het object) Hallowereld staan nu (1) de button (= het object) KNOP en (2) het label (= het object)TEKST. Het veldText van het objectTEKST is nu voorzien van de waarde LEEG. Wat we zo dadelijk gaan regelen is dat een druk op het object KNOP de waarde van het veld Text van het objectTEKST gaat veranderen in HalloWereld!...

▼ Volgende artikel
Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2
Huis

Nieuwe FromSoftware-game The Duskbloods komt echt alleen naar Switch 2

The Duskbloods, de nieuwe game van Elden Ring- en Dark Souls-ontwikkelaar FromSoftware, zal echt alleen op Nintendo Switch 2 uitkomen.

Dat heeft de ontwikkelaar benadrukt bij het bekendmaken van zijn kwartaalcijfers (via VGC). Daarbij werd ook nog eens benadrukt dat The Duskbloods nog altijd gepland staat om ergens dit jaar uit te komen, net zoals de Switch 2-versie van Elden Ring.

Over de exclusieve Switch 2-release van The Duskbloods: "Het wordt verkocht via een samenwerking met Nintendo, met verkoopverantwoordelijkheden verdeeld per regio. De game komt alleen voor Nintendo Switch 2 beschikbaar." Daarmee is dus duidelijk gemaakt dat Nintendo een nauwe samenwerking met FromSoftware is aangegaan voor de game en dat het spel niet zomaar op andere platforms uit zal komen.

Over The Duskbloods

The Duskbloods werd begin vorig jaar aangekondigd in een speciale Nintendo Direct waarin de eerste Switch 2-games werden getoond, maar sindsdien zijn er geen nieuwe beelden van het spel uitgebracht. Zoals gezegd is de game ontwikkeld door FromSoftware, het Japanse bedrijf dat naam voor zichzelf heeft gemaakt met enorm uitdagende spellen, waaronder de Dark Souls-serie en Bloodborne. Met de openwereldgame Elden Ring scoorde de ontwikkelaar enkele jaren geleden nog een megahit.

Watch on YouTube

The Duskbloods wordt een PvPvE-game, waarbij spelers het dus tegen elkaar en tegen computergestuurde vijanden opnemen. Maximaal acht spelers doen aan potjes mee. Na het kiezen van een personage in een hub-gebied wordt men naar een gebied getransporteerd waar er met andere spelers en vijanden gevochten wordt, al kan men soms ook samenwerken om vijanden te verslaan.

Spelers besturen een 'Bloodsworn', wezens die dankzij een speciaal bloed dat in hun lichaam zit meer krachten tot hun beschikking hebben dan reguliere mensen. Ondertussen is het einde van de mensheid nabij, en bestaat de wereld uit verschillende tijdperken, wat voor een mengelmoes van stijlen zorgt.

▼ Volgende artikel
Beeldverversing versus pixels: waarom soepel gamen beter is dan scherp
© Gorodenkoff Productions OU
Huis

Beeldverversing versus pixels: waarom soepel gamen beter is dan scherp

Resolutie is marketing, refreshrate is beleving. Waar 4K zorgt voor een mooi plaatje, zorgt een hoge verversing (Hz) ervoor dat je daadwerkelijk wint. Hieronder lees je waarom snelheid in feite de échte koning is in gaming.

Veel gamers staren zich blind op 4K-resolutie. Ze kopen een duur scherm, zetten de settings op Ultra en vragen zich vervolgens af waarom hun spel stroperig aanvoelt. De misvatting is dat 'mooier' gelijkstaat aan 'beter'. In werkelijkheid is de vloeibaarheid van het beeld – de refreshrate, oftewel verversingssnelheid – veel bepalender voor hoe direct en responsief een game aanvoelt. Aan het eind van dit artikel weet je precies of jij moet kiezen voor pixels of snelheid.

Hoe je ogen bedrogen worden door Hertz

Stel je voor dat je snel met je muis over je bureaublad beweegt. Op een standaard 60Hz-scherm zie je de cursor in schokjes over het beeld springen; je hersenen vullen de gaten in. Op een 144Hz- of 240Hz-gaming-monitor verdwijnen die gaten.

Het technische verschil zit hem in de verversingssnelheid: het aantal keren per seconde dat het beeld wordt vernieuwd. Bij 60 Hz krijg je elke 16,6 milliseconden een nieuw beeld. Bij 144 Hz is dat elke 6,9 milliseconden. Dat klinkt als een klein verschil, maar je voelt het direct. Het gestotter dat je onbewust gewend bent verdwijnt. Bewegingen voelen boterzacht aan, alsof de cursor (of je crosshair) aan je hand vastgeplakt zit in plaats van er achteraan zwemt. Dit effect wordt motion clarity genoemd: objecten blijven scherp, zelfs als ze snel door het beeld bewegen.

©Framestock

De winst in shooters en snelle actie

Wanneer werkt dit in je voordeel? Vooral in competitieve shooters zoals Call of Duty, Counter-Strike of Valorant. In dit soort games telt elke milliseconde. Een hogere refreshrate vermindert de input lag, oftewel de tijd tussen jouw klik en de actie op het scherm.

Stel, je draait je personage snel om. Bij een lage refreshrate wordt de vijand een fractie later getoond en zie je veel bewegingsonscherpte (motion blur). Met een hoge refreshrate zie je de vijand eerder en scherper, waardoor je sneller kunt reageren. Je hebt letterlijk actuelere informatie dan je tegenstander. Om dat te bereiken heb je wel een krachtige videokaart nodig die genoeg beelden per seconde (FPS) kan genereren om je snelle scherm bij te houden.

Wanneer resolutie het toch wint van snelheid

Is snelheid altijd heilig? Nee. Als je vooral tragere, meer verhalende games speelt (zoals Cyberpunk 2077 in de 'sightseeing' modus), Microsoft Flight Simulator of grafische RPG's, dan voegt 240 Hz weinig toe. In deze titels kijk je vaak naar stilstaande of langzaam bewegende omgevingen.

In dat geval wil je juist de texturen van de bomen, de reflecties in het water en de details in gezichten zien. Een 4K-monitor op 60 of 120 Hz is dan een logischer keuze dan een onscherp 1080p-scherm op 360 Hz. De visuele pracht weegt hier zwaarder dan de milliseconden reactietijd. Ook voor console-gamers die op de bank zitten, is een goede televisie met 4K en HDR vaak indrukwekkender dan puur de hoogste framerates.

Situaties waarin een hoge refreshrate zinloos is

Er zijn momenten dat investeren in een snel scherm weggegooid geld is. Dat gebeurt bijvoorbeeld als je hardware de snelheid niet kan leveren; als je videokaart maar 50 frames per seconde kan leveren, heeft een 144Hz-scherm geen nut omdat het scherm wacht op de computer. Daarnaast beperken oude kabels je bandbreedte, waardoor je monitor soms terugvalt naar 60 Hz zonder dat je het doorhebt. Ook op oudere consoles zoals de Nintendo Switch of de standaard PS4 heb je niets aan snelle schermen, omdat deze hardware fysiek gelimiteerd is op 60 Hz of lager.

Bepaal wat jouw setup aankan

Kijk dus kritisch naar je huidige situatie voordat je naar de winkel rent. Heb je een high-end pc die makkelijk 120+ FPS haalt in jouw favoriete games? Dan is een upgrade naar een 144- of 165Hz-monitor de grootste sprong in spelplezier die je kunt maken. Speel je op een PlayStation 5 of Xbox Series X? Zoek dan specifiek naar een scherm met HDMI 2.1-ondersteuning om 120 Hz op 4K mogelijk te maken. Zit je ver van je scherm af en speel je relaxed? Investeer dan liever in resolutie en kleurdiepte.

©Proxima Studio

Kortom: snelheid is de sleutel tot succes!

Verversingssnelheid is belangrijker dan resolutie voor iedereen die actie- of competitieve games speelt. Het zorgt voor een vloeiender beeld, minder input lag en betere motion clarity, wat je direct een voordeel geeft in het spel. Resolutie is vooral luxe voor het oog, maar refreshrate is pure prestatie voor de speler.