Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.

Liknende presentasjoner


Presentasjon om: "Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner."— Utskrift av presentasjonen:

1 Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner Kap 4

2 Jæger: Robuste og sikre systemer Default Values - Standardverdier Når et program starter er det ofte ønskelig å legge inn standardverdier i objektene. –For eksempel: I et program hvor første programmeringskurs skal skrives i en TextBox vil svaret for de fleste være INF150 men andre kan ha fått godkjent et kurs fra andre steder. –Ved oppstart legges INF150 inn i TextBox –Andre som ikke har dette kan endre teksten

3 Jæger: Robuste og sikre systemer Form Load Innlegging av standardverdier gjøres når vinduet (Form'en) startes opp ("Load'es) det vil si når Form Load skjer. Når vi starter et program vil VB kaller hendelsesprosedyren Form1_Load: Private Sub Form1_Load( ) Handles Me.Load ' Kode som utføres før vinduet vises legges her ' F.eks. Standardverdier til TextBox, ComboBox etc. End Sub

4 Jæger: Robuste og sikre systemer Form1_Load – eksempel Private Sub Form1_Load( ) Handles Me.Load 'F.eks. Standardverdier til en TextBox og en ComboBox: txtNavn.Text = "INF150" cboBolig.Items.Add("Hybel") cboBolig.Items.Add("Leilighet") cboBolig.Items.Add("Hus") End Sub

5 Jæger: Robuste og sikre systemer SELECT CASE (se side 218) For å velge hva som skal utføres benyttes ofte Select Case som alternativ til IF... ELSE... ENDIF –IF... velger hva som skal utføres basert på en logisk test –Select Case velger hva som skal utføres basert på en SELECTOR SELECTOR sammenlignes mot mulige verdier ved å skrive CASE for hver verdi

6 Jæger: Robuste og sikre systemer SELECT CASE (se side 218) Select Case gir ofte bedre oversikt på koden enn IF hvis det er mange alternativer å velge blandt Eksempel på Select Case sammen med ComboBox (neste slide)

7 Jæger: Robuste og sikre systemer Select Case – eksempel Hvilken type bolig er valgt Private Sub cboBolig_SelectedIndexChanged() Handles cboBolig.SelectedIndexChanged Select Case cboBolig.SelectedIndex Case 0 : MsgBox("Du valgte hybel") Case 1 : MsgBox("Du valgte leilighet") Case 2 : MsgBox("Du valgte: hus") End Select End Sub (Merk at ComboBox gjør det umulig for bruker å oppgi en verdi som får programmet til å krasje. Prøv å oppgi ingenting i Example 1 s. 219)

8 Jæger: Robuste og sikre systemer Samme eksempel med IF... Private Sub cboBolig_SelectedIndexChanged(...) Handles cboBolig.SelectedIndexChanged If cboBolig.SelectedIndex = 0 Then MsgBox("Du valgte hybel") ElseIf cboBolig.SelectedIndex = 1 Then MsgBox("Du valgte leilighet") ElseIf cboBolig.SelectedIndex = 2 Then MsgBox("Du valgte: hus") End If End Sub Både Select Case og IF kan brukes til å få gjort det samme Velg den du synes gjør koden mest lesbar i de enkelte tilfeller

9 Jæger: Robuste og sikre systemer... mer SELECT CASE (se side 220...) Select Case velger hva som skal utføres basert på en SELECTOR som sammenlignes med flere CASE. Generelt format: Select Case selector Case valuelist1 action1 Case valuelist2 action2 Case Else action of the last resort – handlinger som skal utføres som siste utvei End Select

10 Jæger: Robuste og sikre systemer Eksempler Gå gjennom Example 1 – Example 6 side 218-225 selv. Ser nå på Example 7 side 225: –Select Case sammen med Sub-funksjon

11 Jæger: Robuste og sikre systemer Example 7 side 225 i forelesning: Public Class Form1 Private Sub btnAntall_Click(...) Handles btnAntall.Click Dim sesong As String sesong = txtSesong.Text txtAntallDager.Text = sesong & " har "& AntDager(sesong) & " dager." End Sub Function AntDager(ByVal sesong As String) As Integer Select Case sesong.ToUpper Case "VINTER" : Return 87 Case "VÅR" : Return 92 Case "SOMMER", "HØST" : Return 93 End Select End Function End Class

12 Jæger: Robuste og sikre systemer Nytt: Sender verdi inn til Funksjon i parantesen Sesong sendes til AntDager() i parantesen: Deklarasjon av funksjonen: AntDager(ByVal sesong As String) Bruk av funksjonen: AntDager(sesong)

13 Jæger: Robuste og sikre systemer Merk... Deklarasjon gjøres bare en gang: AntDager(ByVal sesong As String) Bruk av funksjonen kan gjøres uendelig mange ganger: AntDager(sesong) AntDager(vår)

14 Jæger: Robuste og sikre systemer Merk... Brukte omforming av tekst inn for å slippe å sjekke på store og små bokstaver: Select Case sesong.ToUpper

15 Jæger: Robuste og sikre systemer Data inn/ut av del-programmer Husker at vi kan gjøre dette på flere måter: 1.Nå så vi: Sende data inn og ut til delprogrammer i parantesen bak navnet 2.Tidligere: Lagde variabler som alle kjenner –Globale variabler som deklareres rett etter "Public Class Form1" –Gjør om eksemplet foran slik at sesong er en global variabel

16 Jæger: Robuste og sikre systemer Input via ListBox Vi har brukt ListBox til å vise tekst –ListBox kan også brukes til å gi tekst inn –Se side 462... Passord i InputBox gis i klartekst Dim svar As String svar = InputBox("Passord:", "Oppgi passord") MsgBox("Passordet er: " & svar)

17 Jæger: Robuste og sikre systemer Husker Do Loops side 248 Syntaks: Do While condition Statements Loop Eksempel (i hendelsesprosedyre til knapp): Dim tall As Integer = 1 Do While tall <= 5 MsgBox("Tall: " & tall) tall = tall +1 'Hva skjer dersom denne ikke er med? Loop

18 Jæger: Robuste og sikre systemer Neste forelesning Torsdag 5. oktober 1015-1200 På rom B135


Laste ned ppt "Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner."

Liknende presentasjoner


Annonser fra Google