
16ee29c27d3cc833c2483c2dcfbca3a1.ppt
- Количество слайдов: 28
Bestanden Hoofdstuk 18
Inleiding n Opslaan van gegevens ¨ RAM Korte toegangstijd n Duurder n Tijdelijk n ¨ Opslagmedia Langere toegangstijd, maar grotere capaciteit n Goedkoper n Relatief permanent n Hoofdstuk 18 Visual Basic. NET voor studenten 2
De basisbegrippen van streaming n Een bestand wordt beschouwd als een stroom gegevens die in één doorlopende (sequentiële) beweging wordt gemanipuleerd 1. Open bestand 2. Inlezen gegevens van “stream” of Wegschrijven gegevens naar “stream” 3. Bestand sluiten n Een bestand is een “system resource”. Niet vergeten te sluiten! Hoe kan je dit garanderen? Hoofdstuk 18 Visual Basic. NET voor studenten 3
Overzichtsdiagram Hoofdstuk 18 Visual Basic. NET voor studenten 4
Bestandsuitvoer Imports System. IO … Private Sub Button 1_Click( _ By. Val sender As System. Object, _ By. Val e As System. Event. Args) _ Handles Button 1. Click ' write some lines of text to the file Dim output. Stream As Stream. Writer = _ File. Create. Text("c: myfile. txt") output. Stream. Write. Line("This file will") output. Stream. Write. Line("contain 3") output. Stream. Write. Line("lines of text. ") output. Stream. Close() End Sub Hoofdstuk 18 Visual Basic. NET voor studenten 5
Bestandsuitvoer n n Imports System. IO File. Create. Text(bestandsnaam) Maakt een Stream. Writer object naar een tekstbestand ¨ Als dit bestand nog niet bestaat, wordt het aangemaakt. Anders wordt het bestaande bestand overschreven ¨ n output. Stream. Write. Line(string) ¨ n Schrijft de string naar de stream (en dus in het bestand) en sluit af met een New. Line teken output. Stream. Close() Sluit de stream af ¨ Dit statement zou beter in een Finally block staan ¨ Hoofdstuk 18 Visual Basic. NET voor studenten 6
Bestandsinvoer Imports System. IO … Private Sub Button 1_Click( _ By. Val sender As System. Object, _ By. Val e As System. Event. Args) _ Handles Button 1. Click 'read the file line-by-line Dim input. Stream As Stream. Reader = _ File. Open. Text("c: myfile. txt") Dim line As String line = input. Stream. Read. Line() While line <> Nothing Text. Box 1. Append. Text(line & New. Line) line = input. Stream. Read. Line() End While input. Stream. Close() End Sub Hoofdstuk 18 Visual Basic. NET voor studenten 7
Bestandsinvoer n n Imports System. IO File. Open. Text(bestandsnaam) Maakt een Stream. Reader object naar een (bestaand) tekstbestand ¨ Als dit bestand nog niet bestaat: File. Not. Found. Exception ¨ n input. Stream. Read. Line() ¨ n Leest een (volgende) regel uit het bestand tot Nothing wordt teruggegeven input. Stream. Close() Sluit de stream af ¨ Dit statement zou beter in een Finally block staan ¨ Hoofdstuk 18 Visual Basic. NET voor studenten 8
File. Stream. Demo Openen en tonen Toevoegen aan bestand Bestand overschrijven Hoofdstuk 18 Visual Basic. NET voor studenten 9
File. Stream Meer algemene (. NET) manier om een stream naar een bestand te verkrijgen n Verschillende wijzen van toegang n ¨ File. Access ¨ File. Mode n Eens je een File. Stream object hebt, kan je ermee een Stream. Reader of Stream. Writer mee aanmaken Hoofdstuk 18 Visual Basic. NET voor studenten 10
File. Mode n n n Append: open op het einde of nieuw Create: nieuw of overschrijf Create. New: nieuw of IOException Open: open of File. Not. Found. Exception Open. Or. Create: open of nieuw Truncate: openen en overschrijven Hoofdstuk 18 Visual Basic. NET voor studenten 11
File. Access Read: enkel lezen n Write: enkel schrijven n Read. Write: lezen en schrijven n Hoofdstuk 18 Visual Basic. NET voor studenten 12
File. Stream Demo Private Sub Open. Button_Click(. . . ) Handles Open. Button. Click Dim reader As Stream. Reader = Nothing. . . Try file. Stream = New File. Stream(File. Name. Text. Box. Text, _ File. Mode. Open, _ File. Access. Read) reader = New Stream. Reader(file. Stream) Content. Text. Box. Text = reader. Read. To. End() Catch ex As File. Not. Found. Exception Message. Box. Show(File. Name. Text. Box. Text & " niet gevonden!"). . . Hoofdstuk 18 Visual Basic. NET voor studenten 13
File. Stream Demo. . . Finally If Not (reader Is Nothing) Then reader. Close() End If If Not (file. Stream Is Nothing) Then file. Stream. Close() End If End Try Bestudeer zelf de overige code van deze demo Hoofdstuk 18 Visual Basic. NET voor studenten 14
Bestanden doorzoeken n Bestudeer de broncode Waarom de dubbele conditie in de While lus? Wat gebeurt er als de naam niet wordt gevonden? Hoofdstuk 18 Visual Basic. NET voor studenten 15
Bestanden en exceptions n Vrijwel elke IO operatie kan mislopen ¨ File. Not. Found. Exception ¨ IOException Kijk dus goed naar de online documentatie en vang indien nodig de exception op n Zeker: streams afsluiten (Close) in een Finally block. Anders zou dit kunnen aanleiding geven tot memory leaks n Hoofdstuk 18 Visual Basic. NET voor studenten 16
Message. Box n Verschillende versies (overloading) Message. Box. Show(boodschap) ¨ Message. Box. Show(boodschap, titel, knoppen) ¨ Message. Box. Show(boodschap, titel, knoppen, pictogram) ¨ n Vaststellen welke knop geklikt werd ¨ ¨ ¨ ¨ Hoofdstuk 18 Dialog. Result. Abort Dialog. Result. Cancel Dialog. Result. Ignore Dialog. Result. None Dialog. Result. OK. . . Visual Basic. NET voor studenten 17
Message. Box. Show("The age must be over 18", _ "Age is out of range!", _ Message. Box. Buttons. OK, _ Message. Box. Icon. Exclamation) If Message. Box. Show("Do you want to buy this? ", _ "CD Purchase", _ Message. Box. Buttons. Yes. No, _ Message. Box. Icon. Question) = Dialog. Result. Yes Then Message. Box. Show("user clicked yes") Else Message. Box. Show("user clicked no") End If Hoofdstuk 18 Visual Basic. NET voor studenten 18
Dialoogvensters n n Ofwel via Tool. Box Ofwel zelf het object aanmaken Gebruik van Filters Eveneens: Save. File. Dialog werkt compleet analoog Dim dialog As New Open. File. Dialog() dialog. Filter = "Image Files(*. BMP; *. JPG; *. GIF)|*. BMP; " & _ "*. JPG; *. GIF|All files (*. *)|*. *" If dialog. Show. Dialog() = Dialog. Result. OK Then Message. Box. Show("je selecteerde " & dialog. File. Name) End If Hoofdstuk 18 Visual Basic. NET voor studenten 19
Oefening: Color. Dialog Hoofdstuk 18 Visual Basic. NET voor studenten 20
Een menu creëren n n Menu. Strip in Toolbox selecteren ‘Type Here’ invullen naargelang aantal menu’s en menu items Click event van een item afhandelen Gebruik van &, bv: E&xit ¨ n sneltoets ALT-x Separators ¨ Hoofdstuk 18 rechtsklik in design mode Visual Basic. NET voor studenten 21
Menu event Private Sub Exit. Item_Click(By. Val sender As System. Object, _ By. Val e As System. Event. Args) _ Handles Exit. Item. Click Application. Exit() End Sub Gebruik Application. Exit() om een programma af te sluiten n Eveneens ok, maar “oude” VB: End n Hoofdstuk 18 Visual Basic. NET voor studenten 22
De klasse Directory n Faciliteiten om bestanden en mappen te manipuleren. Hoofdstuk 18 Visual Basic. NET voor studenten 23
De klasse Directory n Get. Files(path) ¨ Retourneert een array van Strings; de bestandsnamen van files in directory path n Get. Directories(path) ¨ Retourneert een array van Strings; de namen van de directories in directory path n Bestudeer zelf de andere methodes in de klasse Directory Hoofdstuk 18 Visual Basic. NET voor studenten 24
Meerdere formulieren Een nieuw formulier kan je toevoegen door rechtklik op het project Add Windows Form Hoofdstuk 18 Visual Basic. NET voor studenten 25
Meerdere formulieren De form die opgestart wordt bij de programmastart, kan je instellen in de project properties (Startup form) Hoofdstuk 18 Visual Basic. NET voor studenten 26
Meerdere formulieren n Een Form is een klasse, dwz dat je een instantie moet maken om een form te openen. Vervolgens roep je op dit object de methode Show() op. Als je vanuit één Form een andere form wil manipuleren, dien je referenties naar deze objecten door te geven (Set. Form. Referentie() in de demo) Een Form verbergen zonder de applicatie af te sluiten doe je met Hide() Hoofdstuk 18 Visual Basic. NET voor studenten 27
Meerdere formulieren n Demo Hoofdstuk 18 Visual Basic. NET voor studenten 28
16ee29c27d3cc833c2483c2dcfbca3a1.ppt