1. Inleiding van het .NET programmeerplatform In deze module ga je kennis maken met een programmeeromgeving dat voor de meesten van jullie nieuw is, namelijk: het .NET programmeer platform (.NET spreek je uit als “dot net”). Met dit platform kun je enorm veel verschillende programma’s ontwikkelen. Het gaat te ver in deze inleiding om alle mogelijkheden op een rijtje te zetten. Het meeste ervan zal je weinig tot niets zeggen. In het verloop van de opleiding Applicatieontwikkelaar zal je steeds wat meer leren over programmeren met .NET. Ga je verder op het HBO, dan leer je nog meer mogelijkheden. Om je een indruk te geven wat tot de mogelijkheden behoort met .NET, volgt hier toch een beknopte opsomming ervan. Met het .NET platform kun je Windows programma’s maken, die je kunt uitvoeren op je eigen computer. Je kunt deze programma’s programmeren in verschillende programmeertalen. Met het .NET platform kun je programma’s maken die je op een webserver kunt uitvoeren (dit zijn webapplicaties). Met .NET kun je programma’s ontwikkelen in een grafische ontwikkelomgeving. Met .NET kun je programma’s ontwikkelen voor PDA’s of smart phones. Met .NET kun je programma’s ontwikkelen die met een database werken. Nogmaals, er is nog veel meer, maar dat leer je in de loop van de opleiding. De .NET programmeeromgeving is een grafische programmeeromgeving, waarin je snel een grafische gebruikersinterface voor een programma kunt ontwikkelen. In figuur 1.1 zie je hoe deze programmeeromgeving eruitziet als je hem hebt gestart. Figuur 1.1 AO.NET.basis De programmeeromgeving van .NET 1-1 Deze grafische programmeeromgeving van .NET wordt Visual Studio .NET genoemd, en vereenvoudigt een aantal handelingen beduidend, zoals het maken van een tekstveld, een knop, een radiobutton, enz. Hoe je met deze programmeeromgeving moet omgaan, welke programmeertaal je gaat gebruiken en hoe die programmeertaal in elkaar zit, leer het beste door er daadwerkelijk mee te werken. Daarvoor moet je eerst de programmeeromgeving downloaden en installeren. We gebruiken de volgende versie: Visual Studio 2010 Ultimate Edition. Opdracht 1.1 Download Visual Studio 2010 Ultimate Edition via je Microsoft MSDN Account. Opdracht 1.2 Installeer Visual Studio 2010 Ultimate Edition. Tijdens de installatieprocedure kan worden gevraagd welke programmeertaal je standaard wilt gebruiken. In dat geval kies je voor C#.NET (spreek uit: sie sharp dot net). Volg de instructies die je tijdens de installatie krijgt. Tijdens de installatie moet je verbinding houden met internet. Deze installatieprocedure duurt geruime tijd, vooral als je de MSDN Library for Visual Studio 2010 erbij installeert, hierin staan helpbestanden met voorbeelden. Als je nu klaar bent met downloaden en installeren van Visual C#.NET, dan kun je de programmeeromgeving gaan gebruiken. We beginnen met een aantal eenvoudige programma’s. Misschien zijn een aantal programma’s eenvoudiger dan je gewend bent, maar het gaat erom dat je leert omgaan met een aantal nieuwe zaken. Deze nieuwe zaken zijn: De programmeeromgeving Visual Studio.NET Projecten Declareren van variabelen Typen variabelen Conversie van variabelen Intellisence Bij een scripttaal als PHP worden deze begrippen alleen gebruikt als je wat verder bent. Soms wordt conversie van variabelen in PHP gebruikt. AO.NET.basis 1-2 1.2 Aan de slag met Visual C#.NET In de volgende leeropdrachten ga je stap voor stap een eenvoudige versie van het programma bmi.exe maken. Dit programma vind je in de map Voorbeeldmateriaal van deze module. De werking van het programma wordt late uitgelegd. Leeropdracht 1.3: Een nieuw project maken Start eerst Visual C#.NET vanuit Start > Programma’s Als je Visual C#.NET voor de eerste keer start, dan krijg je het scherm van figuur 1.2 te zien. Figuur 1.2 Het startscherm van Visual Studio Aan de linkerkant van het scherm zie je een tabblad met de tekst Toolbox (zie figuur 1.3) Als je op dit tabblad klikt, dan wordt de toolbox zichtbaar. In dit geval bevat de toolbox nog niets. Het tabblad Toolbox Figuur 1.3 AO.NET.basis 1-3 Aan de rechterkant van het scherm zie je een venster met in de tittelbalk de tekst Solution Explorer. Ook dit is in de huidige situatie leeg. In de solution explorer kun je de documenten in een project beheren. In het midden zie je een pagina met het tabblad Start Page (zie figuur 1.3). Op deze pagina zie je wat algemene informatie over .NET en een aantal mogelijkheden om nieuwe projecten te maken en bestaande projecten op te vragen. We gaan nu een nieuw project maken. Een project is een verzameling documenten die nodig zijn om een applicatie in Visual C#.NET te maken. Dit doe je als volgt: Druk op de knop zichtbaar: links boven in het scherm. Het volgende dialoogvenster wordt Let op: Let bij dit scherm op dat de programmeertaal voor het project Visual C# is. Dit kun je zien aan de linkerkant van het dialoogvenster. Indien dit niet het geval is, dan moet je een aan de linkerkant van het dialoogvenster bij Other Languages alsnog Visual C# kiezen. AO.NET.basis 1-4 Figuur 1.7 AO.NET.basis Je hebt nu een nieuw project gemaakt 1-5 Save het hele project nu door op de knop wordt zichtbaar: Kies een locatie waarin je het project opslaat. Op die locatie wordt een folder gemaakt, waarin het gehele project wordt opgeslagen. Deze folder heeft de naam van het project (in dit geval bmi). te drukken. Het volgende dialoogvenster Je hebt nu een nieuw project met de naam bmi gemaakt op een door jou bepaalde locatie. Open de Windows Explorer en navigeer eens naar die locatie. Je zal zien dat er nu een folder staat met de naam bmi. Navigeer eens door die folder en subfolders. Verander niets aan de bestanden, kijk alleen maar even rond in de projectfolder. Einde Leeropdracht 1.3 Je hebt nu een nieuw project gemaakt, maar je kunt er eigenlijk nog niets mee. In leeropdracht 1.4 gaan we een gebruikersinterface voor het programma van project bmi maken. In figuur 1.8 zie je de gebruikersinterface van het project. Figuur 1.8 De gebruikersinterface van het programma bmi De gebruikersinterface van het programma bestaat uit de volgende componenten: Een formulier. Dit is het grijze vlak met een titelbalk. Twee labels. Dit zijn de teksten Lengte (m) en Massa (kg). Twee tekstboxen. Hierin kun je iets invullen Een knop. AO.NET.basis 1-6 Leeropdracht 1.4: Een gebruikersinterface voor een applicatie maken Als je een nieuw Windows Project hebt gemaakt, dan zie je dat er al een formulier is aangemaakt (zie figuur 1.7). We gaan nu de overige componenten op het formulier plaatsen. We beginnen met de twee labels. Labels plaatsen en eigenschappen instellen Roep project bmi op. Je moet het scherm van figuur 1.7 zien. Klik nu op het tabblad Toolbox. De toolbox klapt nu uit. Klik op All Windows Form, je ziet dat er nu componenten op de toolbox staan. Klik op de component Label Druk op Esc, de toolbox klapt weer terug Verplaats de cursor naar het formulier (linker muisknop los) Klik op het formulier op een plaats waar je het label wilt hebben. Het label is nu op het formulier geplaatst. Op het formulier staat nu de tekst Label1 . We gaan nu de eigenschappen van het label veranderen. Hiervoor heb je het venster Properties nodig. Dit scherm maak je zichtbaar met de volgende knop het scherm. . Deze knop vind je rechts bovenin Maak het venster Properties zichtbaar Selecteer nu het label (1 maal klikken!) In het venster Properties zijn nu de eigenschappen van het label zichtbaar (zie figuur 1.9). Figuur 1.9 AO.NET.basis Het venster Properties voor de component Label1 1-7 Boven in het venster Properties zie je van welke component de eigenschappen zijn. In dit geval van de component met de naam Label1. (zie figuur 1.9). Aan de linkerkant van het venster zie je de eigenschappen (of properties) van de component. In figuur 1.9 zie je dat de component Label1 onder andere de volgende eigenschappen heeft: Name, Enabled, Location. Aan de rechterkant van het venster zie je de waarden (of values) van de properies. In figuur 1.9 zie je dat de eigenschap Name de waarde Label1 heeft, de propertie Enabled de waarde True heeft en de propertie Location de waarde 31;40 . In het venster Properties kun je de eigenschappen zelf niet veranderen, de waarden van de eigenschappen kun je wel veranderen. Stel de eigenschappen van de component Label1 als volgt in: Eigenschap Name Location Text Waarde lblLengte 60;30 Lengte (m) Omdat de naam van het label veranderd is in lblLengte spreken we nu van de component lblLengte in plaats van de component Label1. Plaats een tweede label op het formulier en stel deze als volgt in: Eigenschap Name Location Text Plaats een tekstbox (TextBox) op het formulier en stel deze als volgt in: Eigenschap Name Location Waarde tbxLengte 130;22 Plaats een tweede tekstbox op het formulier en stel deze als volgt in: Eigenschap Name Location Waarde lblMassa 60;70 Massa (kg) Waarde tbxMassa 130;62 Plaats een knop op het formulier en stel deze als volgt in: Eigenschap Name BackColor Location Size Waarde btnMBI Red 70;160 75;50 Je hebt nu een gebruikersinterface voor je programma gemaakt die eruitziet als in figuur 1.8. Einde Leeropdracht 1.4 AO.NET.basis 1-8 In de volgende leeropdracht ga je de applicatie afmaken. Voordat je dit doet, moet je eerst weten wat je met de applicatie moet kunnen doen. Dat kun je in de volgende productomschrijving lezen. Productomschrijving We gaan nu een programma maken waarmee je je eigen Boddy Mass Index (BMI) kunt bepalen. De BMI wordt berekend uit je eigen lengte in meters en je massa is kilogrammen. De formule voor de BMI luidt: BMI massa lengte2 Als je in de tekstbox tbxLengte de lengte in meters, in de tekstbox tbxMassa de massa in kilogrammen invult en daarna op de knop btnMBI drukt, dan moet de MBI worden berekend en worden weergegeven. Voorbeeld Als je de BMI wilt berekenen van iemand van 78 kg en een lengte van 1,72 meter heeft volgens de formule een BMI van 26,4 (afgerond op 1 cijfer achter de komma). Leeropdracht 1.5: Programmacode aan de applicatie toevoegen In leeropdracht 1.4 heb je een gebruikersinterface voor de applicatie bmi gemaakt. Deze gebruikersinterface heb je gemaakt in de zogenaamde designmode. In de designmode kun je nog allerlei veranderingen aan je applicatie aanbrengen. Als wilt uitproberen of de applicatie werkt, dan moet je hem in de runmode zetten. Dit doe je als volgt: Druk op de knop Druk op F5 of … Om van runmode naar designmode terug te keren doe je het volgende: Druk op het knopje sluiten ( ) rechts bovenin het formulier in runmode Zet de applicatie in de runmode. Voer in de tekstboxen 1,72 voor de lengte en 78 voor de massa in Druk op de knop voor het berekenen van de BMI. Je zal merken dat er niets gebeurt. De verklaring hiervoor volgt later. Zet de applicatie weer in de designmode. Er gebeurt niets, omdat jij in de applicatie nog niet hebt aangegeven wat er nu precies moet gebeuren als je op de knop hebt gedrukt. Als er op de knop wordt gedrukt, dan moet de computer een aantal opdrachten uitvoeren, die uiteindelijk resulteren in het berekenen en weergeven van de BMI. In het voorbeeldprogramma bmi.exe werkt dit wel, bij jou dus nog niet. Hieraan gaan wij iets doen. AO.NET.basis 1-9 De computer moet het volgende doen om de BMI uit te rekenen en weer te geven: 1. 2. 3. 4. De getallen 1,72 en 78 moeten in het geheugen van de computer worden opgeslagen Met deze getallen en de formule moet de BMI worden berekend De BMI moet in het geheugen van de computer worden opgeslagen De BMI in het geheugen moet zichtbaar worden in een messagebox voor de gebruiker (zie figuur 1.10) Figuur 1.10 Om dit door de computer te laten uitvoeren, moet je een serie opdrachten voor de computer in je applicatie toevoegen. Deze opdrachten moeten worden geschreven in een speciale codetaal die C# wordt genoemd. Door veel te oefenen leer je steeds meer van die codetaal. Dit geldt overigens voor alle talen! De code die je in je applicatie moet toevoegen luidt als volgt: double lengte,bmi; int massa; lengte = Convert.ToDouble(tbxLengte.Text); massa = Convert.ToInt16(tbxMassa.Text); bmi = massa / (lengte * lengte); MessageBox.Show(bmi.ToString("Uw BMI is: 0.0")); Figuur 1.11 Deze code zal je waarschijnlijk weinig of niets zeggen. Straks volgt de uitleg. Eerst gaan we de code in je programma toepassen. De code moet worden uitgevoerd als je op de knop drukt. Het drukken op de knop wordt een gebeurtenis of event genoemd. Elke component, dus ook een knop, heeft een aantal events. Het event dat we in deze applicatie gaan gebruiken is het event Click. We gaan dus het event Click van de component btnBMI (de knop) in deze applicatie gebruiken en daaraan code toevoegen. Om code aan een event toe te voegen, moet je het volgende doen: Zet de applicatie in designmode Selecteer de knop (1 maal klikken) Druk op de knop events in het scherm Properties (zie figuur 1.12) AO.NET.basis 1-10 De knop Events Figuur 1.12 Als je op de knop events hebt gedrukt, dan zie je het scherm van figuur 1.13 Dubbelklik hier Figuur 1.13 Ga nu als volgt verder: Dubbelklik op het veld achter het event Click (zie figuur 1.13). Er wordt een zogenaamde eventhandler gegenereerd (zie figuur 1.14) AO.NET.basis 1-11 private void btnBMI_Click(object sender, EventArgs e) { } Figuur 1.14, de eventhandler btnBMI_Click Een eventhandler is een soort functie die wordt uigevoerd als het event plaatsvindt. Wat deze functie doet, staat tussen de accolades { en }. Omdat er nu niets tussen de accolades staat, gebeurte er ook niets als het evend optreedt. Kortom: Als je nu (in runmode) op de knop btnBMI drukt, dan gaat de eventhandler btnBMI_Click af, maar er gebeurt niets, want er staan geen opdrachten tussen de accolades. We gaan nu opdrachten in de vorm van programmacode aan de eventhandler toevoegen. We gebruiken hiervoor de code uit figuur 1.11. Voeg aan de eventhandler de code van figuur 1.11 toe. Dit kun je met kopiëren en plakken doen. De eventhandler ziet er dan uit als in figuur 1.15 private void btnBMI_Click(object sender, EventArgs e) { double lengte,bmi; int massa; lengte = Convert.ToDouble(tbxLengte.Text); massa = Convert.ToInt64(tbxMassa.Text); bmi = massa / (lengte * lengte); MessageBox.Show(bmi.ToString("Uw BMI is: 0.0")); } Figuur 1.15 Het programma is nu klaar. Volg nu de volgende instructies: Zet het programma in runmode Vul voor de lengte 1,72 en voor de massa 78 in, en druk op de knop. Het resultaat is: Je hebt nu een eenvoudig programma met de .NET programmeeromgeving gemaakt. Het zal ongetwijfeld zo zijn dat voor een aantal van jullie de code niet duidelijk is. Daarom volgt er na deze opdracht een uitleg van de code. Einde leeropdracht 1.5 AO.NET.basis 1-12 Uitleg van de code In figuur 1.16 zie je de code die gebruikt is voor de applicatie bij de berekening van de BMI. Deze code wordt nu stap voor stap uitgelegd. double lengte,bmi; int massa; lengte = Convert.ToDouble(tbxLengte.Text); massa = Convert.ToInt64(tbxMassa.Text); bmi = massa / (lengte * lengte); MessageBox.Show(bmi.ToString("Uw BMI is: 0.0")); Figuur 1.16 Declaratie van variabelen In .NET gebruik je net als bij PHP variabelen. In C#.NET moet je echter een variabele eerst declareren alvorens hem te gebruiken. Dit declareren betekent dat voor de variabele geheugenruimte wordt gereserveerd. De hoeveelheid geheugenruimte die wordt gereserveerd, is afhankelijk van het type variabele. Het type zegt iets over de waarde die deze variabele kan krijgen. Veel voorkomende types in C#.NET zijn: Type byte int double string bool Een variabele van dit type kan de volgende waarden krijgen: Een geheel getal groter of gelijk aan 0 en kleiner dan 256 Een 64-bits geheel getal met teken (+ of -) Een 64-bits getal met komma en teken (+ of -) Een reeks karakters De waarde true of de waarde false Voorbeelden van waarden 0 5 147 255 -3112 -21 0 231 9001 -23.55 -2.5666 2.0000 78 “rood” “Pieter Brouwer” “70” true false In de volgende regels worden variabelen van het type double en int gedeclareerd: double lengte,bmi; int massa; Variabelen een waarde geven De variabelen zijn nu gedeclareerd. De volgende stap is: de variabelen een waarde geven. Dit is op zich eenvoudig. Hieronder zie je een voorbeeld hoe de variabele lengte de waarde 1,72 krijgt: lengte=1,72 ; In ons voorbeeld is er echter een bijkomend probleem. Wij willen de waarde die in tekstbox tbxLengte is ingevuld aan de variabele lengte geven. De ingevoerde waarde van de tekstbox tbxLengte geef je in code weer met: tbxLengte.Text. tbxLengte.Text betekent eigenlijk: van de component tbxLengte de property Text Je zou dus zeggen dat in de volgende coderegel de variabele lengte de waarde van de property Text van de tekstbox aanneemt: lengte=tbxLengte.Text; Dit gaat echter niet goed, want aan beide kanten van het =-teken staan verschillende types: Links van het =-teken staat een variabele van het type double. Rechts van het =-teken staat de tekst van een teksbox, welke van het type string is. AO.NET.basis 1-13 Om deze fout tegen te gaan moeten we de waarde rechts van het =-teken omzetten naar het type double. Dit doen we met de methode Convert.ToDouble( ). Tussen de haakjes moet dan de waarde komen die moet worden omgezet naar het type double. De juiste coderegel wordt dus: lengte = Convert.ToDouble(tbxLengte.Text); Dit omzetten van het ene naar het andere type heet converteren. De volgende coderegel moet nu voor zich spreken: massa = Convert.ToInt64(tbxMassa.Text); Probeer te begrijpen wat hier gebeurt. De berekening uitvoeren De variabelen lengte en massa hebben nu een (numerieke) waarde. Met deze waarden kan de BMI worden berekend. In de volgende coderegel wordt deze berekening uitgevoerd: bmi = massa / (lengte * lengte); Niet alleen de berekening aan de rechterkant van het =-teken wordt uitgevoerd, maar ook de variabele bmi krijgt de waarde die gelijk is aan de uitkomst van die berekening. Omdat in deze berekeing een deling voorkomt en omdat de betrokken getallen van het type double zijn, moet ook de variabele bmi van het type double zijn. Omdat we hier bij de declaratie al mee rekening is gehouden, hoeven we aan de rechterkant van het =-teken geen conversie toe te passen. Het weergeven van de uitkomst De variabele bmi heeft nu een waarde. Dit betekent dat er ergens in het geheugen van je computer deze waarde staat opgeslagen, die je weer kunt oproepen met bmi. Deze waarde kun je zichtbaar maken met een messagebox. Hoervoor gebruiken we het object MessageBox. Met de methode Show() kun je de messagebox zichtbaar maken. Tussen de haakjes moet je dan de tekst intikken, die in de messagebox moet worden zichtbaar gemaakt. Omdat in een messagebox alleen maar tekst kan worden weergegeven, moet tussen de haakjes van de methode Show() altijd een tekenreeks of een variabele van het type string komen te staan. Omdat wij de waarde van de variabele bmi willen weergeven in de messagebox, moet deze variabele worden geconverteerd in een string. Dit kan met Convert.ToString(bmi) Maar ook op de volgende manier : bmi.ToString(); Het voordeel van de laatste manier is, dat je het weer te geven getal ket behulp van de zogenaamde formatstring kunt weergeven op een zelf gekozen aantal cijfers achter de komma. Zo wordt de waarde van de variabele bmi met de volgende coderegel in de messagebox getoond op 1 cijfer achter de komma: MessageBox.Show(bmi.ToString("0.0")); Hierin is "0.0" de formatstring, die aangeeft dat de methode ToString de waarde van de variabele bmi op 1 cijfer achter de komma moet weergeven. Je kunt aan de formatstring ook extra tekst toevoegen, om duidelijk te maken dat het hier om je BMI gaat. De laatste regel van de code wordt dan: MessageBox.Show(bmi.ToString("Uw BMI is: 0.0")); Einde uitleg code AO.NET.basis 1-14 Je eerste programma in C#.NET heb je nu gemaakt. Dit programma is vrij gedetailleerd besproken. Je leert echter pas programmaeren in een (nieuwe) taal door ermee te oefenen. In de ofenopdrachten bij deze instructieles, kom je telkens de volgende handelingen tegen: Een gebruikersinterface inrichten, met componenten als knoppen, tekstvakken, comboboxen, enz De eigenschappen van de componenten aanpassen in het venster Properties, waaronder de eigenschap Name Een eventhandler genereren Code onder een eventhandler schrijven. Hier kunnen vervolgens de volgende handelingen voorkomen: o Variabelen declareren o Variabelen een waarde geven o Eén of meer berekeningen uitvoeren en de uitkomst teruggeven aan een variabele o Uitkomsten weergeven (in bijvoorbeeld een messagebox of een tektbox) AO.NET.basis 1-15 1.3 Intelli sense Intelli sense is een krachtig hulpmiddel binnen de .NET programmeeromgeving waarmee het invoeren van de juiste code eenvoudiger wordt. Zoals je misschien wel is opgevallen is C#.NET case sensitive. Dit betekent dat de code hoofdlettergevoelig is. Een paar voorbeelden: tbxMassa.Text is iets anders dan tbxMassa.text Als je in het programma voor het berekenen van je BMI tbxMassa.text gebruikt, dan krijg je een foutmelding. Als je een variabele als volgt hebt gedeclareerd: int massa; Dan moet je voor deze variabele steeds massa gebruiken, niet Massa, of mAssA Omdat C#.NET hoofdlettergevoelig is, kunnen er typefouten optreden. Het zou prettig zijn dat er een “hulpje” zou zijn, dat jou zou helpen bij het intikken van de juiste code. Zo’n hulpje bestaat en wordt intelli sense genoemd. In de volgende leeropdracht gaan we aandacht besteden aan intelli sense om typefouten met hoofd- of kleine letters te voorkomen. Leeropdracht 1.6 a. Maak een nieuwe applicatie en geef deze de naam Bits2Bytes b. Richt je formulier in zoals in figuur 1.17 Figuur 1.17 De plaats van textboxen en de knop mag je zelf bepalen. De naam en overige installingen van de componenten vind je op de volgende pagina. AO.NET.basis 1-16 c. Stel de componenten op het formulier als volgt in: 1e tekstbox Eigenschap Name Enabled Waarde tbxBit True 2e textbox Eigenschap Name Enabled Waarde tbxByte False 3e tekstbox Eigenschap Name Enabled Waarde tbxKByte False 4e tekstbox Eigenschap Name Enabled Waarde tbxMByte False 5e tekstbox Eigenschap Name Enabled Waarde tbxGByte False Button Eigenschap Name Text d. Waarde btnBereken Bereken Genereer een eventhandler voor het event Click van de knop We gaan eerst een aantal variabelen binnen deze eventhandler declareren. AO.NET.basis 1-17 e. Doe nu precies wat in de deze opdracht wordt voorgeschreven. Zet de cursor binnen de eventhandler (zie figuur 1.18) Figuur 1.18 de cursor staat binnen de eventhandler Tik nu de volgende drie letters in: i n t . Al bij het intikken van de eerste letter zie je een pop up menu verschijnen, en na het intikken van de t zie je de situatie zoals in figuur 1.19. Dit pop up menu wordt intelli sense genoemd. Figuur 1.19 Intelli sense is geactiveerd Als intelli sens het juiste aangeeft, druk je op enter. Je kunt ook met de pijlentoetsen door intelli sens scrollen, totdat het juiste wordt aangegeven. Scroll met de pijlentoetsen naar Int64 (we willen een variabele van het type Int64 declareren). Declareer de variabelen in figuur 1.20. Let hierbij op de werking van intelli sense. Figuur 1.20 AO.NET.basis 1-18 We gaan nu de rest van de code in de eventhandler invoeren. Ook hierbij speelt intelli sense een rol. De eerste regel code luidt: bit=Convert.ToInt32(tbxBit.Text) . Voer deze code als volgt in: Tik onder de declaraties de letters b i (intelli sense heeft de variabele bit gevonden), geef daarna enter. Tik = Tik de letters c o n v (intelli sense heeft het object Convert gevonden), geef enter. Tik . t o i , intelli sense staat nu op ToInt16 . Scroll met de pijlentoets naar ToInt64 en geef enter. Tik ( t , intelli sense staat nu op tbxBit , geef enter. Tik . t e , intelli sense staat nu op Text , geef enter Maak de code af met ) ; Als de vorige instructies exact hebt opgevolgd, dan zie je dat intelli sense je heeft geholpen de juiste code in te voeren: Int64 ToInt32 Convert Text in plaats van int64 in plaats van toint32 in plaats van convert in plaats van text De rest van de code zie je in figuur 1.21 . Voer deze code in bij de eventhandler. Maak hier zoveel mogelijk gebruik van intelli sense om typefouten in je code te vermijden. Test het programma met waardes 8 , 8192 , 8388608 en 8589934592 voor het aantal bits. Figuur 1.21 Een goede raad: maak bij het schrijven van je code gebruik van intelli sense. Dit voorkomt veel typefouten met hoofd- en kleine letters. Einde Leeropdracht 1.6 AO.NET.basis 1-19 Lokale en globale variabelen In dit hoofdstuk hebben we steeds een variabele gedeclareerd binnen de evendhandler. In figuur 1.21 zie je hiervan een voorbeeld. De variabelen bit, bytes, kbyte, mbyte en gbyte zijn binnen de evendhandler btnBereken_Click gedeclareerd. Deze variabelen worden lokale variabelen genoemd. Deze variabelen kun je alleen toepassen binnen de eventhandler, waarbinnen zij zijn gedeclareerd. Binnen een andere eventhandler zijn zij niet toepasbaar. In figuur 1.22 zie je nog een voorbeeld van globaal gedeclareerde variabelen. Dit zijn de variabelen uit leeropdracht 1.5 voor het berekenen van de BMI. Figuur 1.22 Globale variabelen zijn variabelen die binnen alle eventhandlers toepasbaar zijn. Deze variabelen worden buiten een eventhandler gedeclareerd. In figuur 1.23 zie je hetzelfde sukje code, maar nu is variabele bmi globaal gedeclareerd. Figuur 1.23 De de waarde van de variabele bmi wordt berekend binnen het event btnBMI_Click. Deze variabele kan binnen een ander ervent echter ook weer worden gebruikt, bijvoorbeeld om te bepalen of de BMI te hoog, te laag of normaal is. AO.NET.basis 1-20 In de vorige opdrachten heb je kennis gemaakt met de basisbeginselen van het .NET programmeerplatform. Je mert dat dit nogal verschilt van wat je hebt geleerd bij de modules WO.PHP.basis of je eigen kennis van PHP. Als ontwikkelaar moet je op de hoogte zijn van verschillende programmeerplatforms. Momenteel worden ook veel .NET ontwikkelaars gevraagd. Verbreding van je opeliding (PHP en .NET) vergroot je kansen op de arbeidsmarkt. Deze verbreding ontwikkel je door veel te oefenen. In het begin met relatief eenvoudige voorbeelden waarmee je vooral je basiskennis van .NET vergroot. Later met meer geavanceerde technieken die een professioneel ontwikkelaar zich nu eenmaal moet eigen maken. In de map Opdrachten vind je de opdrachten voor dit hoofdstuk (opdrachten_hoofdstuk1.doc) Opdracht 1.7 Schildersbedrijf De Losse Polsgebruikt een ptogramma voor het berekenen van de prijs van een opdracht. Deze prijs is afhankelijkvan een aantal zaken, zoals het aantal werkuren, de materiaalkosten en het BTW percentage. De GUI van dit programma zie je in figuur 1.24. Figuur 1.24 In de grijze textboxen kun je niets invullen. a. Maak de GUI van het programma. Geef hier de componenten namen die iets zeggen over het doel, voorafgegaan door een prefix die iets zegt over het soort omponent (bijvoorbeeld tbxUurloon voor de textbox waarinhet uurloon te zien is). b. Maak een programma waarmee je de prijs van een schilderklus kunt berekenen. c. Plaats in de rechter bovenhoek van de GUI een picturebox met een klein icon (je mag zelf weten welk icon). d. Als je op de picturebox klikt, dan wordt het mogelijk om het uurloon en het BTW-percentage in te stellen. Klik je daarna nog een keer op het icon, dan zijn de textboxen weer grijs, maar hebben een nieuwe waarde van de propertie Text waarmee de prijs kan worden berekend. AO.NET.basis 1-21