Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4.

Liknende presentasjoner


Presentasjon om: "Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4."— Utskrift av presentasjonen:

1 Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4

2 Jæger: Robuste og sikre systemer Fil – kodeeksempel Dim sr As IO.StreamReader Dim tekstlinje As String sr = IO.File.OpenText("minFil.txt") tekstlinje = sr.ReadLine sr.Close() lstBox.Items.Add(tekstlinje) Leser FRA fil (forrige gang): Dim sw As IO.StreamWriter Dim tekstlinje As String="Ut tekst" sw = IO.File.CreateText("nyFil.txt") sw.WriteLine(tekstlinje) sw.Close() lstBox.Items.Add(tekstlinje & " ferdig") Skriver TIL fil:

3 Jæger: Robuste og sikre systemer Spørsmål Forklar hva som skjer på hver linje i programmet for å SKRIVE: Svar med stikkord. 1.Dim sw As IO.StreamWriter 2.Dim tekstlinje As String="Ut tekst" 3.sw = IO.File.CreateText("nyFil.txt") 4.sw.WriteLine(tekstlinje) 5.sw.Close() 6.lstBox.Items.Add(tekstlinje & " ferdig")

4 Jæger: Robuste og sikre systemer... forts om å lage en fil side Dim sw As IO.StreamWriter = IO.File.CreateText("nyFil.txt") sw.WriteLine("En linje tekst som skrives ut") sw.Close() Kan skrives mer komprimert på færre linjer: Kjør programmet flere ganger og bytt ut teksten som skrives ut, sjekk filen nyFil.txt for hver gang. Hva skjer?

5 Jæger: Robuste og sikre systemer Vi husker at INF150 hadde 2 mål: Du skal lære: 1.Programmering av datamaskiner 2.Å løse problemer ved hjelp av programmering

6 Jæger: Robuste og sikre systemer Løse problemer Vi har lært teknikker som: –Variabler og hvordan vi kan gi disse verdier ved hjelp av tilordninger –Matematiske uttrykk og logiske uttrykk –Betingelsessetninger (IF... THEN...ENDIF) Nå skal vi lære en teknikk som hjelper oss å løse større problemer: Vi lager små del-programmer –MERK: Det er ikke er nødvendig å bruke disse for å få et program til å virke. Vi bruker del-program for å hjelpe oss å løse problemer (skrive kode)

7 Jæger: Robuste og sikre systemer Hvis det ikke er nødvendig så...? Ofte lager vi lengre kode enn strengt nødvendig. Dette er for lettere å holde oversikten og finne eventuelle feil. F.eks. vi så samme program med 5 linjer eller 3 (neste side)

8 Jæger: Robuste og sikre systemer... forts. Dim sw As IO.StreamWriter Dim tekstlinje As String="Ut tekst" sw = IO.File.CreateText("nyFil.txt") sw.WriteLine(tekstlinje) sw.Close() Dim sw As IO.StreamWriter = IO.File.CreateText("nyFil.txt") sw.WriteLine("En linje tekst som skrives ut") sw.Close()

9 Jæger: Robuste og sikre systemer... forts. Tilsvarende er det med del- programmer, de er ikke nødvendige men de hjelper oss med problemsøsningen spesielt når problemene blir store

10 Jæger: Robuste og sikre systemer Små del-programmer Private Sub Button1_Click(...) Handles Button1.Click ' kode som vi vil skal utføres når knapp trykkes End Sub Har sett mange eksempler på små-delprogrammer. Et eksempel er hendelsesprosedyren Button1_Click:

11 Jæger: Robuste og sikre systemer VB bruker hendelses-prosedyrer for å holde rede på de ulike hendelsene Dette gjør det lettere og mer oversiktlig for Microsoft å lage Visual Basic programmet Vi skriver vårt program som innhold i hendelsesprosedyrer –Hittil har det vært noen få linjer, men i virkelige system er det ofte mye som skal gjøres

12 Jæger: Robuste og sikre systemer VB bruker hendelses-prosedyrer for å holde rede på de ulike hendelsene F.eks.: –Vi skriver et resultatservice-program for et idrettsstevne med en knapp "Resultatlister". –Et trykk skal medføre en oppdeling av deltakere i aldersbestemte klasser, med resultater for hver klasse, og at resultatene både skal lagres på fil og sendes ut på e-post. For å holde oversikt bør vi lage små del- programmer på tilsvarende måte som VB.

13 Jæger: Robuste og sikre systemer Det finnes to typer del-programmer Sub-prosedyrer –Løser en del av oppgave til programmet –F.eks, kan oppgaven på forrige side deles i fire del-programmer: Del_Opp_Deltakere_I_Aldersbestemte_Klasser() Lag_Resultatlister_For_Hver_Klasse() Lagre_Paa_Fil() Send_Paa_Epost() Sub-funksjoner –Tilsvarende som prosedyrer, men sub-funksjoner gir alltid en verdi tilbake. –F.eks: sub-funksjon kan være nyttig ved komplekse beregninger: Vi kan ha en funksjon beregnSkattetrekk som når den får oppgitt lønn beregner skattetrekk og gir verdien tilbake: Dim trekk As Double trekk = bergenSkattetrekk(lonn) For at dette skal virke må vi først ha laget sub-funksjonen beregnSkattetrekk() Dette kan vi gjøre selv, eller be andre (skatteeksperter) om å gjøre

14 Jæger: Robuste og sikre systemer Sub Procedure Syntaks – skrivemåte: Sub ProcedureName() statements End Sub Eksempel 1 – 3 side

15 Jæger: Robuste og sikre systemer Eksempel 1 s. 133 Sub ExplainPurpose() lstResult.Items.Add("...") End Sub

16 Jæger: Robuste og sikre systemer Sub-funksjoner "Function Procedures" s. 169 Syntaks: Function FunctionName(ByVal var 1 As Type1, ByVal var2 As Type2,...) As DataType statements Return expression End Function Eksempel: –Skriver oppgave 47 side 104 med bruk av 3 funksjoner hvor hver returnerer en tekststreng

17 Jæger: Robuste og sikre systemer Øvelse 4 er lagt ut Øvelse 3: ingen levert? Krav til godkjenning: –Option Strict On –Forståelige variabelnavn og korrekte prefiks –Det brukes en sub-prosedyre og en funksjons- prosedyre. –De beregnede beløpene er korrekte –Lesing av data fra fil beherskes


Laste ned ppt "Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4."

Liknende presentasjoner


Annonser fra Google