De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Bestanden Hoofdstuk 18 Hoofdstuk 18.

Verwante presentaties


Presentatie over: "Bestanden Hoofdstuk 18 Hoofdstuk 18."— Transcript van de presentatie:

1 Bestanden Hoofdstuk 18 Hoofdstuk 18

2 Visual Basic .NET voor studenten
Inleiding Opslaan van gegevens RAM Korte toegangstijd Duurder Tijdelijk Opslagmedia Langere toegangstijd, maar grotere capaciteit Goedkoper Relatief permanent Visual Basic .NET voor studenten Hoofdstuk 18

3 De basisbegrippen van streaming
Een bestand wordt beschouwd als een stroom gegevens die in één doorlopende (sequentiële) beweging wordt gemanipuleerd Een bestand is een “system resource”. Niet vergeten te sluiten! Hoe kan je dit garanderen? Open bestand Inlezen gegevens van “stream” of Wegschrijven gegevens naar “stream” Bestand sluiten Visual Basic .NET voor studenten

4 Visual Basic .NET voor studenten
Overzichtsdiagram Visual Basic .NET voor studenten

5 Visual Basic .NET voor studenten
Bestandsuitvoer Imports System.IO Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click ' write some lines of text to the file Dim outputStream As StreamWriter = _ File.CreateText("c:\myfile.txt") outputStream.WriteLine("This file will") outputStream.WriteLine("contain 3") outputStream.WriteLine("lines of text.") outputStream.Close() End Sub Visual Basic .NET voor studenten Hoofdstuk 18

6 Visual Basic .NET voor studenten
Bestandsuitvoer Imports System.IO File.CreateText(bestandsnaam) Maakt een StreamWriter object naar een tekstbestand Als dit bestand nog niet bestaat, wordt het aangemaakt. Anders wordt het bestaande bestand overschreven outputStream.WriteLine(string) Schrijft de string naar de stream (en dus in het bestand) en sluit af met een NewLine teken outputStream.Close() Sluit de stream af Dit statement zou beter in een Finally block staan Visual Basic .NET voor studenten

7 Visual Basic .NET voor studenten
Bestandsinvoer Imports System.IO Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click 'read the file line-by-line Dim inputStream As StreamReader = _ File.OpenText("c:\myfile.txt") Dim line As String line = inputStream.ReadLine() While line <> Nothing TextBox1.AppendText(line & NewLine) End While inputStream.Close() End Sub Visual Basic .NET voor studenten

8 Visual Basic .NET voor studenten
Bestandsinvoer Imports System.IO File.OpenText(bestandsnaam) Maakt een StreamReader object naar een (bestaand) tekstbestand Als dit bestand nog niet bestaat: FileNotFoundException inputStream.ReadLine() Leest een (volgende) regel uit het bestand tot Nothing wordt teruggegeven inputStream.Close() Sluit de stream af Dit statement zou beter in een Finally block staan Visual Basic .NET voor studenten

9 FileStreamDemo Openen en tonen Toevoegen aan bestand
Bestand overschrijven Visual Basic .NET voor studenten

10 Visual Basic .NET voor studenten
FileStream Meer algemene (.NET) manier om een stream naar een bestand te verkrijgen Verschillende wijzen van toegang FileAccess FileMode Eens je een FileStream object hebt, kan je ermee een StreamReader of StreamWriter mee aanmaken Visual Basic .NET voor studenten

11 Visual Basic .NET voor studenten
FileMode Append: open op het einde of nieuw Create: nieuw of overschrijf CreateNew: nieuw of IOException Open: open of FileNotFoundException OpenOrCreate: open of nieuw Truncate: openen en overschrijven Visual Basic .NET voor studenten

12 Visual Basic .NET voor studenten
FileAccess Read: enkel lezen Write: enkel schrijven ReadWrite: lezen en schrijven Visual Basic .NET voor studenten

13 Visual Basic .NET voor studenten
FileStream Demo Private Sub OpenButton_Click(...) Handles OpenButton.Click Dim reader As StreamReader = Nothing ... Try fileStream = New FileStream(FileNameTextBox.Text, _ FileMode.Open, _ FileAccess.Read) reader = New StreamReader(fileStream) ContentTextBox.Text = reader.ReadToEnd() Catch ex As FileNotFoundException MessageBox.Show(FileNameTextBox.Text & " niet gevonden!") Visual Basic .NET voor studenten

14 Visual Basic .NET voor studenten
FileStream Demo ... Finally If Not (reader Is Nothing) Then reader.Close() End If If Not (fileStream Is Nothing) Then fileStream.Close() End Try Bestudeer zelf de overige code van deze demo Visual Basic .NET voor studenten

15 Visual Basic .NET voor studenten
Bestanden doorzoeken Bestudeer de broncode Waarom de dubbele conditie in de While lus? Wat gebeurt er als de naam niet wordt gevonden? Visual Basic .NET voor studenten

16 Bestanden en exceptions
Vrijwel elke IO operatie kan mislopen FileNotFoundException IOException Kijk dus goed naar de online documentatie en vang indien nodig de exception op Zeker: streams afsluiten (Close) in een Finally block. Anders zou dit kunnen aanleiding geven tot memory leaks Visual Basic .NET voor studenten

17 Visual Basic .NET voor studenten
MessageBox Verschillende versies (overloading) MessageBox.Show(boodschap) MessageBox.Show(boodschap, titel) MessageBox.Show(boodschap, titel, knoppen) MessageBox.Show(boodschap, titel, knoppen, pictogram) Vaststellen welke knop geklikt werd DialogResult.Abort DialogResult.Cancel DialogResult.Ignore DialogResult.No DialogResult.None DialogResult.OK ... Visual Basic .NET voor studenten

18 Visual Basic .NET voor studenten
MessageBox MessageBox.Show("The age must be over 18", _ "Age is out of range!", _ MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) If MessageBox.Show("Do you want to buy this?", _ "CD Purchase", _ MessageBoxButtons.YesNo, _ MessageBoxIcon.Question) = DialogResult.Yes Then MessageBox.Show("user clicked yes") Else MessageBox.Show("user clicked no") End If Visual Basic .NET voor studenten

19 Visual Basic .NET voor studenten
Dialoogvensters Ofwel via ToolBox Ofwel zelf het object aanmaken Gebruik van Filters Eveneens: SaveFileDialog  werkt compleet analoog Dim dialog As New OpenFileDialog() dialog.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;" & _ "*.JPG;*.GIF|All files (*.*)|*.*" If dialog.ShowDialog() = DialogResult.OK Then MessageBox.Show("je selecteerde " & dialog.FileName) End If Visual Basic .NET voor studenten

20 Oefening: ColorDialog
Visual Basic .NET voor studenten

21 Visual Basic .NET voor studenten
Een menu creëren MenuStrip in Toolbox selecteren ‘Type Here’ invullen naargelang aantal menu’s en menu items Click event van een item afhandelen Gebruik van &, bv: E&xit sneltoets ALT-x Separators rechtsklik in design mode Visual Basic .NET voor studenten

22 Visual Basic .NET voor studenten
Menu event Private Sub ExitItem_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles ExitItem.Click Application.Exit() End Sub Gebruik Application.Exit() om een programma af te sluiten Eveneens ok, maar “oude” VB: End Visual Basic .NET voor studenten

23 Visual Basic .NET voor studenten
De klasse Directory Faciliteiten om bestanden en mappen te manipuleren. Visual Basic .NET voor studenten

24 Visual Basic .NET voor studenten
De klasse Directory GetFiles(path) Retourneert een array van Strings; de bestandsnamen van files in directory path GetDirectories(path) Retourneert een array van Strings; de namen van de directories in directory path Bestudeer zelf de andere methodes in de klasse Directory Visual Basic .NET voor studenten

25 Visual Basic .NET voor studenten
Meerdere formulieren Een nieuw formulier kan je toevoegen door rechtklik op het project  Add Windows Form Visual Basic .NET voor studenten

26 Visual Basic .NET voor studenten
Meerdere formulieren De form die opgestart wordt bij de programmastart, kan je instellen in de project properties (Startup form) Visual Basic .NET voor studenten

27 Visual Basic .NET voor studenten
Meerdere formulieren 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 (SetFormReferentie() in de demo) Een Form verbergen zonder de applicatie af te sluiten doe je met Hide() Visual Basic .NET voor studenten

28 Visual Basic .NET voor studenten
Meerdere formulieren Demo Visual Basic .NET voor studenten


Download ppt "Bestanden Hoofdstuk 18 Hoofdstuk 18."

Verwante presentaties


Ads door Google