De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Programmeercursus O.O.P. met VISUAL BASIC.NET Frans Vanrillaer & John Evans Les 2.

Verwante presentaties


Presentatie over: "Programmeercursus O.O.P. met VISUAL BASIC.NET Frans Vanrillaer & John Evans Les 2."— Transcript van de presentatie:

1 Programmeercursus O.O.P. met VISUAL BASIC.NET Frans Vanrillaer & John Evans Les 2

2 .NET Interne opbouw.NET Framework.Net Framework Windows 2000 / NT / XP VB.NET C# VC++.NET J#.NET JScript ……. Common Type System Client-Side Server-Side Mobile-Side Base Class Library Common Language Runtime Windows COM+ Services

3 .NET Framework Base Class Library System System.Collections System.Data System.Drawing System.IO System.Reflection System.Security System.Text System.Threading System.Timers System.Web System.Windows.Forms System.Xml Microsoft.CSharp Microsoft.VisualBasic Enkele belangrijke Namespace’s

4 Console Applicatie Automatische Code Module Module1 End Module Sub Main( ) End Sub Naam vd Module Wordt meestal geweizigd Noodzakelijk begin Keyword van een Module Begin Keyword van een Subroutine Sluit Subroutine af Sluit Module af Start naam Imports System We maken het ons gemakkelijk en importeren expliciet de namespace System Console.WriteLine (" " "Hello VB.NET " " " ) Class van System Functie van deze Class  Klik ‘F5’ of L-muis klik op:

5 Console Applicatie Met Command-Line Argumenten Pas de code als volgt aan : Module Module1 Sub Main ( ByVal args( ) As String ) Dim s As String For Each s In args Console.WriteLine ( s ) Next End Sub End Module Imports System Hoe laat men deze code RUNNEN

6 Les Overzicht  Datatypes  Controle Structuren  Proceduren  Option Strict  Type Conversie  ByVal/ByRef  Meerdere Modules

7 VB.NET DataTypes Char Boolean Andere Floating Point Floating Point Single Double Single Double String Date Object String Date Object Signed Short Integer Long Short Integer Long Unsigned Byte Decimal Geheel getal Geheel getal Komma getal Komma getal Value Type Reference Type

8 VB.NET DataTypes Detail Char Byte Short Integer Long Single Double Decimal Boolean Date Char Byte Short Integer Long Single Double Decimal Boolean Date False 1/1/ :00:00 AM False 1/1/ :00:00 AM Gereserveerde Datatype Initiële waarde Stack plaats Gereserveerde Datatype Initiële waarde Stack plaats

9 VB.NET DataTypes Detail Char Byte Short Integer Long Single Double Decimal Boolean Date Char Byte Short Integer Long Single Double Decimal Boolean Date ,41E E+308 +/ True 12/31/ :59:59 PM ,41E E+308 +/ True 12/31/ :59:59 PM C SD1#C SD1# C SD1#C SD1# Datatype Max waarde

10 VB.NET DataTypes Gebruik Dim i, j As Integer Dim name As String Dim val As Boolean Dim choice As Char Dim sal As Single Dim i, j As Integer Dim name As String Dim val As Boolean Dim choice As Char Dim sal As Single Definiëren Dim id As Integer = 10 Dim name As String = "KICIT" Dim val As Boolean = True Dim choice As Char = "y" Dim sal As Single = Dim id As Integer = 10 Dim name As String = "KICIT" Dim val As Boolean = True Dim choice As Char = "y" Dim sal As Single = Definiëren & Initializeren Const m As Integer = 10 Const pi As Single = 3.14 Const n As String = "Hi" Const ch As Char = "y" Const m As Integer = 10 Const pi As Single = 3.14 Const n As String = "Hi" Const ch As Char = "y" Constanten Dim i = 10, j = 10 As Integer Dim b As Boolean = True Dim m, k As Integer = 10 Const k As Integer Dim i = 10, j = 10 As Integer Dim b As Boolean = True Dim m, k As Integer = 10 Const k As Integer OK? Juis t Fou t

11 VB.NET DataType: Boolean Imports System Module Module1 Sub Main( ) Dim a As Boolean = True Dim b As Boolean = False Console.WriteLine ( "A = " & a ) Console.WriteLine ( "Result = " & ( 4 < 3 ) ) Console.ReadLine End Sub End Module Nota: Boolean is True of False. True in NIET 1 en False NIET 0 Nota: Boolean is True of False. True in NIET 1 en False NIET 0 A=True Result=False

12 VB.NET DataTypes: Operatoren  Reken operatoren : +, -, *, /, ^, \, Mod  Relatie operatoren : =, <>,, =  Logische operatoren  Bitwise And, Or, Xor, Not, AndAlso, OrAlso  Samenvoegen : =, +=, -=, /=, *=, \=

13 VB.NET Oefening: Console I/O Open een nieuwe console applicatie: console01 Dim n As String Dim a As Integer Dim s As Single Console.WriteLine ( “Geef naam, leeftijd en salaris " ) n = Console.ReadLine( ) a = CInt ( Console.ReadLine( ) ) s = CSng ( Console.ReadLine( ) ) Console.WriteLine ( _ "Naam: { 0 } Leeftijd: { 1 } Salaris: { 2 }", n, a, s ) Plaatshouder Converteren

14 VB.NET Converteren CChar CByte CShort CInt CLng CSng CDbl CDec CBool Cdate Cobj CStr CChar CByte CShort CInt CLng CSng CDbl CDec CBool Cdate Cobj CStr Char Byte Short Integer Long Single Double Decimal Boolean Date Object String Char Byte Short Integer Long Single Double Decimal Boolean Date Object String Eenvoudige placeholders: {n}, waar n 0,1,2, ….., Controle op Lengte: {n,w}, w is de breedte. {0,12} of {0,-8} Positief voor rechts uitlijnen, Negatief voor links uitlijnen. Soort value: {n,S}: S hoe de inhoud getoond moet worden. {0,8:f3} C,c Currency formaat (instelling) -afronding D,d Decimaal E,e Scientific (exponential) F,f Fixed point (vb. F2) -afronding G,g General (instelling) N,n Getal formaat (vb. N1) -afronding X,x Hexadecimaal Breedte en Format string: {n,w:S} Eenvoudige placeholders: {n}, waar n 0,1,2, ….., Controle op Lengte: {n,w}, w is de breedte. {0,12} of {0,-8} Positief voor rechts uitlijnen, Negatief voor links uitlijnen. Soort value: {n,S}: S hoe de inhoud getoond moet worden. {0,8:f3} C,c Currency formaat (instelling) -afronding D,d Decimaal E,e Scientific (exponential) F,f Fixed point (vb. F2) -afronding G,g General (instelling) N,n Getal formaat (vb. N1) -afronding X,x Hexadecimaal Breedte en Format string: {n,w:S} Placeholders

15 VB.NET DataTypes: Beveiliging Dim s As Short = 400 Dim s As Short = 32768S Dim s1 As Short = 40 Dim s2 As Short = 3276 Dim a As Integer a = s1 * s2

16 VB.NET Data Type: Char Het primitive data type Char vertegenwoordigt een individueel karakter. Dim ch1 As char = “a”C Dim n As Integer = AscW(ch1) n += 1 ch1 = ChrW(n) Speciale ascii codes: Constante die staan in Microsoft.VisualBasic namespace Naam Waarde VB naam Single quote&H27 Double quote&H22 Backslash&H5C Null &H0vbNullChar Alert &H7 Backspace &H8 vbBack Form feed &HCvbFormFeed Line feed &HA vbLf Naam Waarde VB naam Carriage return &HD vbCr New Line &HD + &HA VbLfCr of VbNewLine Horizontal tab &H9 vbTab Vertical tab &HB vbVerticalTab Naam Waarde VB naam Carriage return &HD vbCr New Line &HD + &HA VbLfCr of VbNewLine Horizontal tab &H9 vbTab Vertical tab &HB vbVerticalTab

17 VB.NET String class is een OBJECT dat eenmaal het gecreëerd is, NIET meer kan verandert worden. Elke verandering creëert een NIEUW string-object !!! String Methods en Properties String.Length String.ToUpper String.ToLower String.Substring() String.IndexOf() String.Chars() String.Length String.ToUpper String.ToLower String.Substring() String.IndexOf() String.Chars() Individuele karakters uit een string kunnen via Chars(index) benaderd worden. Dim str As String = "goodbye“ str = str.ToUpper() str = str.ToLower() Dim l As Integer = str.Length Dim substring As String = str.Substring(4, 3) Dim n1 As Integer = str.IndexOf("bye") Dim n2 As Integer = str.IndexOf("boo") Dim s As Integer = Asc(str.Chars(2)) Dim str As String = "goodbye“ str = str.ToUpper() str = str.ToLower() Dim l As Integer = str.Length Dim substring As String = str.Substring(4, 3) Dim n1 As Integer = str.IndexOf("bye") Dim n2 As Integer = str.IndexOf("boo") Dim s As Integer = Asc(str.Chars(2))

18 VB.NET StringBuilder class 'StringBuilder Dim myBuilder As Text.StringBuilder = New Text.StringBuilder(10000) Dim rng As Random = New Random Dim bgB As Double = Now.Ticks For i As Integer = 1 To Dim c As Char = Convert.ToChar(rng.Next(65, 90)) myBuilder.Append(c) Next Dim edB As Double = Now.Ticks Disp("Ticks bij stringBuider: " + Convert.ToString(edB - bgB)) 'StringBuilder Dim myBuilder As Text.StringBuilder = New Text.StringBuilder(10000) Dim rng As Random = New Random Dim bgB As Double = Now.Ticks For i As Integer = 1 To Dim c As Char = Convert.ToChar(rng.Next(65, 90)) myBuilder.Append(c) Next Dim edB As Double = Now.Ticks Disp("Ticks bij stringBuider: " + Convert.ToString(edB - bgB)) Imports System.Text.StringBuilder

19 VB.NET Stuctured Data Types Dim balance(4) As Decimal balance(0) = 100 balance(4) = 250 Dim balance() As Decimal = _ {100, 200, 300, 400, 250} Dim balance(,) As Decimal = _ {{100, 200, 300, 400, 250}, _ {100, 200, 300, 400, 250}, _ {100, 200, 300, 400, 250} } Dim balance(4) As Decimal balance(0) = 100 balance(4) = 250 Dim balance() As Decimal = _ {100, 200, 300, 400, 250} Dim balance(,) As Decimal = _ {{100, 200, 300, 400, 250}, _ {100, 200, 300, 400, 250}, _ {100, 200, 300, 400, 250} } Array Enum Kaarten Aas = 1 Twee = 2 ….. Boer = 11 Dame = 12 Heer = 13 End Enum Enum Kaarten Aas = 1 Twee = 2 ….. Boer = 11 Dame = 12 Heer = 13 End Enum Enumertion Structure Persoon Naam As String Vnaam As String Gdat As Date End Structure Structure Persoon Naam As String Vnaam As String Gdat As Date End Structure Structure

20 VB.NET Voorbeeld Module Module1 Enum PColor rood groen blauw End Enum Structure PiCoord Public x As Single Public y As Single Public flags() As Byte Public color As PColor End Structure Structure Rectangle Public tLeft As PCoord Public tRight As PCoord Public bLeft As PCoord Public bRight As PCoord Public fillColor As PColor End Structure Sub Main() Dim r As Rectangle r.tLeft.x = 100 r.tLeft.y = 100 r.tLeft.color = PColor.groen r.tRight.x = 300 r.tRight.y = 100 r.tRight.color = PColor.groen r.bLeft.x = 100 r.bLeft.y = 300 r.bLeft.color = PColor.groen r.bRight.x = 300 r.bRight.y = 300 r.bRight.color = PColor.groen WriteLine(“Waarde r.tLeft.x = {0} ", r.tLeft.x) WriteLine(“Waarde r.tLeft.y = {0} ", r.tLeft.y) WriteLine(“Duw =Stop") ReadLine() End Sub End Module

21 For i = 0 To 100 blablablabla Next VB.NET Controle Structuren Beslissing Struc. Herhalings Struc. IF Select For While Do Select Case a case 1 blablablabla case Else doedoedoe End Case If a>b Then blablablabla End If While a>b blablablabla End While Do Until a>b blablablabla Loop Do blablablabla Loop While a

22 IF VB.NET Beslissings Structuur If Conditie Then... End If If Conditie Then... Else … End If If Conditie1 Then... ElseIf Conditie2 … Else … End If IIF Dim i As Integer Dim res As String i = CInt ( Console.ReadLine( ) ) res = IIf ( i Mod 2 = 0, "Even", “Oneven" ) Console.WriteLine ( res ) If age > 18 AndAlso no < 11 Then … End If If age > 18 OrAlso no < 11 Then … End If Cond1 Cond2 True False Evaluated Not Eval. Cond1 Cond2 True False Not Eval. Evaluated

23 VB.NET Beslissings Structuur Select Case Select Case dagNr Case 0 dag = “Zondag" Case 1 dag = “Mon" Case 2 dag = “Tue" Case 3 dag = “Wed" End Select Select Case id Case 1, 5 To 9 grp = "Grp A" Case 10 To 15 grp = "Grp B" Case 16 grp = "Grp C" End Select Select Case stad Case “Leuven", “Tienen" state = “V-Br" Case “Namur" state = “NM" Case Else state = “Onbekend" End Select

24 VB.NET Herhalings Structuur For … Next For i = 0 To 10 Console.WriteLine ( i ) Next For i = 10 To 0 Step –1 Console.WriteLine( i ) Next For I As Integer = 10 To 0 Step –1 Console.WriteLine( i ) Next While i = 0 While i <= 10 Console.WriteLine ( i ) i = i + 1 End While Dim s As String = "y" While s = "y" … s = Console.ReadLine( ) End While

25 VB.NET Herhalings Structuur i = 0 Do While i <= 10 Console.WriteLine ( i ) i += 1 Loop i = 15 Do Until i = 10 Console.WriteLine ( i ) i = i + 1 Loop i = 10 Do Console.WriteLine ( i ) i -= 1 Loop While i <= 2 i = 15 Do Console.WriteLine ( i ) i = i + 1 Loop Until i = 10 Do … Loop

26 VB.NET Herhalings Structuren Vroegtijdig Verlaten i = 0 Do While i <= 10 C.W ( i ) If i = 5 then Exit Do End If i = i + 1 Loop For i = 0 To 10 C.W ( i ) If i = 5 then Exit For End If Next While i <= 10 C.W ( i ) If i = 5 then Exit While End If i = i + 1 End While DO For While

27 VB.NET Procedures Sub Display( ) C.W ( "1.Add" ) C.W ( "2.Del" ) C.W ( "3.Disp" ) C.W ( "4.Exit" ) End Sub Function fact ( val As Integer ) As Integer Dim f As Integer = 1 Dim i As Integer For i = 1 To val f = f * i Next Return f End Function Subroutine Function Geeft NIETS terug Geeft waarde terug

28 VB.NET Option Strict Option Strict Off Option strict On defaul t Beter Voorkomt RunTime fouten! Option Strict Off Dim i As Integer = 10 Dim f As Single Dim g As Single = 6.82 f = i Console.WriteLine ( f ) i = g Console.WriteLine ( i ) Wat indien Strict On ?

29 VB.NET Call ByVal ByRef defaul t Module Module1 Sub Main() Dim num As Integer = 1 funcv(num) controle.WriteLine(“num = {0}”, num) funcr(num) controle.WriteLine(“num = {0}”, num) End Sub Sub funcv(num As Integer) num += 10 Controle.WriteLine( _ “num = {0}”, num) End Sub Sub funcr(ByRef num As Integer) num += 10 Controle.WriteLine( _ “num = {0}”, num) End Sub

30 VB.NET Voorbeeld Module Module1 Structure Card Public naam As String Public pcid As Integer End Structure Sub Main() Dim i As Integer = 7, j As Integer = 3 WriteLine(“Waarde i is {0} en j is {1} ", i, j) i = j j = 2 WriteLine(“Nieuw i is {0} en j is {1} ", i, j) Dim c1 As Card, c2 As Card c1.name = "Video card“ c1.pcid = 0 c2.name = "Audio card“ c2.pcid = 6 WriteLine( _ “Waarde c1.naam is {0} en c1.pcid is {1} ", _ c1.naam, c1.pcid) WriteLine( _ “Nieuw c2.naam is {0} an c2.pcid is {1} ", _ c2.naam, c2.pcid) Module Module1 Structure Card Public naam As String Public pcid As Integer End Structure Sub Main() Dim i As Integer = 7, j As Integer = 3 WriteLine(“Waarde i is {0} en j is {1} ", i, j) i = j j = 2 WriteLine(“Nieuw i is {0} en j is {1} ", i, j) Dim c1 As Card, c2 As Card c1.name = "Video card“ c1.pcid = 0 c2.name = "Audio card“ c2.pcid = 6 WriteLine( _ “Waarde c1.naam is {0} en c1.pcid is {1} ", _ c1.naam, c1.pcid) WriteLine( _ “Nieuw c2.naam is {0} an c2.pcid is {1} ", _ c2.naam, c2.pcid) c1 = c2 c2.naam = "Joe“ c2.pcid = 123 WriteLine(“Waarde c1.naam is {0} en c1.pcid is {1} ", _ c1.naam, c1.pcid) WriteLine(“Nieuw c2.naam is {0} en c2.pcid is {1} ", _ c2.naam, c2.pcid) Dim a1() As Integer = {1, 2, 3, 4, 5} Dim a2() As Integer = {6, 7, 8, 9, 0} WriteLine(“Waarde a1(3) is {0} en a2(3) is {1} ", _ a1(3), a2(3)) a1 = a2 a1(3) = -1 WriteLine(“Nieuw a1(3) is {0} en a2(3) is {1} ", _ a1(3), a2(3)) WriteLine(“Duw = Stop") ReadLine() End Sub End Module c1 = c2 c2.naam = "Joe“ c2.pcid = 123 WriteLine(“Waarde c1.naam is {0} en c1.pcid is {1} ", _ c1.naam, c1.pcid) WriteLine(“Nieuw c2.naam is {0} en c2.pcid is {1} ", _ c2.naam, c2.pcid) Dim a1() As Integer = {1, 2, 3, 4, 5} Dim a2() As Integer = {6, 7, 8, 9, 0} WriteLine(“Waarde a1(3) is {0} en a2(3) is {1} ", _ a1(3), a2(3)) a1 = a2 a1(3) = -1 WriteLine(“Nieuw a1(3) is {0} en a2(3) is {1} ", _ a1(3), a2(3)) WriteLine(“Duw = Stop") ReadLine() End Sub End Module

31 VB.NET Multiple Modules Scope Module Module1 Dim i As Integer = 20 Sub Main( ) Dim i As Integer = 10 Console.WriteLine ( i ) Console.WriteLine ( Module1.i ) End Sub End Module

32 VB.NET Oefenen ! Maak een programma dat voor alle data types, hun min. en max. waarde op het scherm zet. Nota: gebruik de MinValue- en MaxValue propertie MinMax.vb Een getal wordt als command lijn argument mee gegeven. Schrijf een programma dat dit getal in woorden toont. Nota: 256 als twee, vijf, zes WoordGetal.vb Schrijf een programma dat vier cijfers accepteert en deze dan in oplopende volgorde toont. Oplopend.vb

33 VB.NET Oefenen ! Schrijf een console applicatie, die de som maakt van even getallen tussen 1 en 99. Gebruik een For/Next loop. Declareer de variabelen sum en count. SomEven Met welk statement kan men een While loop verlaten? Maak een console applicatie, die de tafel van 1 to 5 toont. De tafels staan naast elkaar, netjes geformateerd. Tafels Vraagje Maak een console applicatie, die de afmetingen(zijde1, zijde2, schuineZ) van alle driehoeken toont, die voldoen aan volgende formule: het kwadraat van de schuine zijde is gelijk aan de som van de kwadraten van de 2 andere zijden, bij komende voorwaarde de lengte van de schuine zijde mag niet groter zijn dan 30. Pythagoras Driehoeken

34 VB.NET Oefening Enigma Deze appl. versleutelt een gegeven woord of zin en ontsleutelt ze. In de gecodeerde string zit de sleutel vervat om hem te decoderen: MIDDENBLOK: het gegeven woord of zin VERHOGINGSFACTOR: de ascicode van elk karakter van het middenblok wordt verhoogd met een randgetal tussen 16 en 35 BLOK1: de gecodeerde string wordt vooraf gegaan door een blok van 10 random karakters indien 5de karakter BLOK1 = X dan zit de verhogingsfactor vervat in de eerste 2 karakters van BLOK1 indien 5de karakter BLOK1 = B dan zit de verhogingsfactor vervat in de eerste 2 karakters van BLOK2 BLOK2: de gecodeerde string wordt achteraf gegaan door een blok van 10 random karakters REVERSE: indien laatste karakter van BLOK2 = ascicode(X) + verhogingsfactor dan MIDDENBLOK is gereversed REVERSE: indien laatste karakter van BLOK2 = ascicode(B) + verhogingsfactor dan MIDDENBLOK is niet gereversed Deze appl. versleutelt een gegeven woord of zin en ontsleutelt ze. In de gecodeerde string zit de sleutel vervat om hem te decoderen: MIDDENBLOK: het gegeven woord of zin VERHOGINGSFACTOR: de ascicode van elk karakter van het middenblok wordt verhoogd met een randgetal tussen 16 en 35 BLOK1: de gecodeerde string wordt vooraf gegaan door een blok van 10 random karakters indien 5de karakter BLOK1 = X dan zit de verhogingsfactor vervat in de eerste 2 karakters van BLOK1 indien 5de karakter BLOK1 = B dan zit de verhogingsfactor vervat in de eerste 2 karakters van BLOK2 BLOK2: de gecodeerde string wordt achteraf gegaan door een blok van 10 random karakters REVERSE: indien laatste karakter van BLOK2 = ascicode(X) + verhogingsfactor dan MIDDENBLOK is gereversed REVERSE: indien laatste karakter van BLOK2 = ascicode(B) + verhogingsfactor dan MIDDENBLOK is niet gereversed

35 VB.NET Volgende Les


Download ppt "Programmeercursus O.O.P. met VISUAL BASIC.NET Frans Vanrillaer & John Evans Les 2."

Verwante presentaties


Ads door Google