De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Bestanden Hoofdstuk 18. Visual Basic.NET voor studenten2 Inleiding Opslaan van gegevens  RAM Korte toegangstijd Duurder Tijdelijk  Opslagmedia Langere.

Verwante presentaties


Presentatie over: "Bestanden Hoofdstuk 18. Visual Basic.NET voor studenten2 Inleiding Opslaan van gegevens  RAM Korte toegangstijd Duurder Tijdelijk  Opslagmedia Langere."— Transcript van de presentatie:

1 Bestanden Hoofdstuk 18

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

3 Hoofdstuk 18 Visual Basic.NET voor studenten3 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? 1.Open bestand 2.Inlezen gegevens van “stream” of Wegschrijven gegevens naar “stream” 3.Bestand sluiten

4 Hoofdstuk 18 Visual Basic.NET voor studenten4 Overzichtsdiagram

5 Hoofdstuk 18 Visual Basic.NET voor studenten5 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

6 Hoofdstuk 18 Visual Basic.NET voor studenten6 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

7 Hoofdstuk 18 Visual Basic.NET voor studenten7 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) line = inputStream.ReadLine() End While inputStream.Close() End Sub

8 Hoofdstuk 18 Visual Basic.NET voor studenten8 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

9 Hoofdstuk 18 Visual Basic.NET voor studenten9 FileStreamDemo Openen en tonen Toevoegen aan bestand Bestand overschrijven

10 Hoofdstuk 18 Visual Basic.NET voor studenten10 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

11 Hoofdstuk 18 Visual Basic.NET voor studenten11 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

12 Hoofdstuk 18 Visual Basic.NET voor studenten12 FileAccess Read : enkel lezen Write : enkel schrijven ReadWrite : lezen en schrijven

13 Hoofdstuk 18 Visual Basic.NET voor studenten13 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!")...

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

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

16 Hoofdstuk 18 Visual Basic.NET voor studenten16 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

17 Hoofdstuk 18 Visual Basic.NET voor studenten17 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 ...

18 Hoofdstuk 18 Visual Basic.NET voor studenten18 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

19 Hoofdstuk 18 Visual Basic.NET voor studenten19 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

20 Hoofdstuk 18 Visual Basic.NET voor studenten20 Oefening: ColorDialog

21 Hoofdstuk 18 Visual Basic.NET voor studenten21 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

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

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

24 Hoofdstuk 18 Visual Basic.NET voor studenten24 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

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

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

27 Hoofdstuk 18 Visual Basic.NET voor studenten27 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()

28 Hoofdstuk 18 Visual Basic.NET voor studenten28 Meerdere formulieren Demo


Download ppt "Bestanden Hoofdstuk 18. Visual Basic.NET voor studenten2 Inleiding Opslaan van gegevens  RAM Korte toegangstijd Duurder Tijdelijk  Opslagmedia Langere."

Verwante presentaties


Ads door Google