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
Waar voor je geld: 5 robotstofzuigers voor een extra schone vloer
© ID.nl
Huis

Waar voor je geld: 5 robotstofzuigers voor een extra schone vloer

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt of die zijn voorzien van bijzondere eigenschappen. Met een robotstofzuiger wordt de vloer schoongehouden, terwijl je er niet bij hoeft te zijn. En stofzuigen is dan wel het minste dat ze kunnen, want ook dweilen is voor veel modellen geen proleem. We vonden vijf geavanceerde exemplaren.

Philips HomeRun 7000 Series XU7100/01

De Philips HomeRun 7000 Series XU7100/01 is ontworpen om grote ruimtes aan te kunnen. Het apparaat heeft een stofzak van 3 liter en een werktijd tot 180 minuten in de laagste stand. In tegenstelling tot veel kleinere robots is deze HomeRun uitgerust met een stille motor; de opgave van 66 dB maakt hem relatief stil.

Er zit een dweilfunctie in zodat je de robot na het stofzuigen ook direct kunt laten dweilen. Via de app kies je voor een van de modi of plan je een schoonmaakprogramma in. De robot kan zichzelf navigeren, obstakels omzeilen en keert na gebruik terug naar het laadstation. Omdat de opvangbak groot is hoef je niet vaak te legen en dankzij de Li‑ion‑accu is hij geschikt voor grotere woningen. Het apparaat is van recente datum en daarom nog volop verkrijgbaar.

Dreame L10s Pro Ultra Heat

Deze robot combineert een groot stofreservoir van 3,2 liter met een lange werktijd van ongeveer 220 minuten. Dankzij de geïntegreerde dweilfunctie verwijdert hij niet alleen stof maar kan hij ook nat reinigen. De L10s Pro Ultra Heat gebruikt een zak in het basisstation, waardoor je het reservoir minder vaak hoeft te legen.

De Dreame is voorzien van een Li‑ion‑batterij aanwezig en de robot keert automatisch terug naar het station voor opladen en legen. De sensortechnologie helpt bij het vermijden van obstakels en het nauwkeurig schoonmaken van zowel harde vloeren als tapijt. Dankzij de meegeleverde app stuur je de schoonmaak aan, stel je no‑go‑zones in of plan je een dweilrondje.

Philips HomeRun 3000 Series Aqua XU3100/01

Deze Philips‑robot is bedoeld voor wie minder vaak handmatig wil schoonmaken. Hij beschikt over een gecombineerde stofzuig‑ en dweilfunctie en kan zichzelf legen via het automatische station. Met een gebruiksduur tot 200 minuten in de laagste stand en een geluidsniveau van 66 dB kan hij urenlang zijn werk doen zonder al te veel herrie. De stofcontainer van 35 cl is kleiner dan bij de HomeRun 7000, maar door het automatische leegmechanisme is dat geen probleem.

Je bedient het apparaat via de app en kunt daar zowel een schema programmeren als zones instellen. De Aqua XU3100/01 is een model uit de recente 3000‑serie en doordat hij een mop‑pad heeft kan hij zowel droog als nat reinigen, wat handig is voor harde vloeren zoals tegels en laminaat.

iRobot Roomba Combo j9+

De Roomba Combo j9+ is een model dat je vloeren zowel kan stofzuigen als dweilen. De Combo j9 beschikt over een opvangbak van 31 cl en hij kan zelf zijn inhoud legen in het automatische basisstation dat bij de set hoort. De Li‑ion‑accu zorgt voor een lange gebruiksduur en de robot maakt een routeplanning zodat elke ruimte efficiënt wordt schoongemaakt.

Via de app kun je zones instellen waar de robot niet mag komen en het dweilelement in‑ of uitschakelen. In de basis maakt de Combo j9+ zelfstandig een kaart van je woning en keert terug naar het station wanneer de accu moet opladen of de stofcontainer vol is. De robot is bedoeld voor huishoudens die gemak belangrijk vinden en biedt naast stofzuigen ook een dweilfunctie voor hardere vloeren.

MOVA Tech P50 Ultra

De MOVA Tech P50 Ultra is een forse robotstofzuiger met een basisstation. Het apparaat heeft een stofreservoir van 30 cl en wordt geleverd met een basisstation waarin je het stof eenvoudig kunt verwijderen. De robot produceert een geluidsniveau van 74 dB, iets hoger dan de Philips‑modellen, en weegt inclusief station ruim 13 kg.

Hij kan uiteraard ook automatisch terugkeren naar het station om op te laden of te legen. In de specificaties staat dat de MOVA is voorzien van een Li‑ion‑batterij en dat hij zowel kan stofzuigen als dweilen. De meegeleverde app maakt het mogelijk om routes in te stellen en zones te blokkeren. Met een vermogen van 700 W is hij krachtig genoeg voor tapijten en harde vloeren. Het is geschikt voor mensen die een uitgebreid station met automatische functies willen.

▼ Volgende artikel
Waarom je tv-beeld onnatuurlijk oogt (en hoe je dat oplost)
© DC Studio
Huis

Waarom je tv-beeld onnatuurlijk oogt (en hoe je dat oplost)

Je hebt net een klein fortuin uitgegeven aan een gloednieuwe 4K- of zelfs 8K-televisie. Je installeert hem, start je favoriete filmklassieker en zakt onderuit op de bank. Maar in plaats van een bioscoopervaring bekruipt je het gevoel dat je naar een goedkope soapserie of een homevideo zit te kijken. De acteurs bewegen vreemd soepel, de actiescènes lijken versneld en de magie is ver te zoeken. Geen zorgen, je televisie is niet stuk. Hij doet eigenlijk iets te goed zijn best.

Dit fenomeen is zo wijdverspreid dat er een officiële term voor is: het 'soap opera effect'. In technische kringen wordt dit ook wel bewegingsinterpolatie of 'motion smoothing' genoemd. Hoewel fabrikanten deze functie met de beste bedoelingen in hun televisies bouwen, is het voor filmfanaten vaak een doorn in het oog. Gelukkig is het eenvoudig op te lossen... als je tenminste weet waar je moet zoeken.

Nooit meer te veel betalen? Check
Kieskeurig.nl/prijsdalers!

Wat is het 'soap opera effect' precies?

Om te begrijpen wat er misgaat, moeten we kijken naar hoe films worden gemaakt. De meeste bioscoopfilms en veel dramaseries worden opgenomen met 24 beelden per seconde. Die snelheid geeft films hun karakteristieke, dromerige uitstraling. Een beetje bewegingsonscherpte hoort daarbij; dat is wat onze hersenen associëren met 'cinema'. Moderne televisies verversen hun beeld echter veel vaker: meestal 60 of zelfs 120 keer per seconde.

Om dat verschil te overbruggen, verzint je slimme televisie er zelf beelden bij. De software kijkt naar beeld A en beeld B, en berekent vervolgens hoe een tussenliggend beeld eruit zou moeten zien. Dit voegt de tv toe aan de stroom. Het resultaat is een supervloeiend beeld waarin elke hapering is gladgestreken.

Voor een voetbalwedstrijd of een live-uitzending is dat geweldig, omdat je de bal en spelers scherper kunt volgen. Maar bij een film zorgt die kunstmatige soepelheid ervoor dat het lijkt alsof je naar een achter de schermen-video zit te kijken, of dus naar een soapserie zoals Goede Tijden, Slechte Tijden, die traditioneel met een hogere beeldsnelheid werd opgenomen. De filmische illusie wordt hierdoor verbroken.

©ER | ID.nl

De winkelmodus is ook een boosdoener

Naast beweging is er nog een reden waarom het beeld er thuis soms onnatuurlijk uitziet: de beeldinstellingen staan nog op standje zonnebank. Veel televisies staan standaard in een modus die 'Levendig' of 'Dynamisch' heet. Deze stand is ontworpen om in een felverlichte winkel de aandacht te trekken met knallende, bijna neon-achtige kleuren en een extreem hoge helderheid. Bovendien is de kleurtemperatuur vaak nogal koel en blauw, omdat dat witter en frisser oogt onder tl-licht. In je sfeervol verlichte woonkamer zorgt dat echter voor een onrustig beeld waarbij huidtinten er onnatuurlijk uitzien en details in felle vlakken verloren gaan.

Hoe krijg je de magie terug?

Het goede nieuws is dat je deze 'verbeteringen' gewoon kunt uitzetten. De snelste manier om van het soap opera effect en de neonkleuren af te komen, is door in het menu van je televisie de beeldmodus te wijzigen. Zoek naar een instelling die Film, Movie, Cinema of Bioscoop heet. In deze modus worden de meeste kunstmatige bewerkingen, zoals bewegingsinterpolatie en overdreven kleurversterking, direct uitgeschakeld of geminimaliseerd. Het beeld wordt misschien iets donkerder en warmer van kleur, maar dat is veel dichter bij wat de regisseur voor ogen had.

Sinds kort hebben veel moderne televisies ook de zogeheten Filmmaker-modus. Dat is de heilige graal voor puristen. Als je deze modus activeert, zet de tv met één druk op de knop alle onnodige nabewerkingen uit en respecteert hij de originele beeldsnelheid, kleuren en beeldverhouding van de film.

Wil je de beeldmodus niet volledig veranderen, maar alleen dat vreemde, soepele effect kwijt? Dan moet je in de geavanceerde instellingen duiken. Elke fabrikant geeft het beestje een andere naam. Bij Samsung zoek je naar Auto Motion Plus of Picture Clarity, bij LG-televisies ga je naar TruMotion, bij Sony naar Motionflow en bij Philips naar Perfect Natural Motion. Door deze functies uit te schakelen of op de laagste stand te zetten, verdwijnt het goedkope video-effect en krijgt je film zijn bioscoopwaardige uitstraling weer terug.