1 ASP og VBScript. 1.1 Om denne leksjonen

Størrelse: px
Begynne med side:

Download "1 ASP og VBScript. 1.1 Om denne leksjonen"

Transkript

1 Stiftelsen TISIP i samarbeid med Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Tomas Holt Opphavsrett: Tomas Holt og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 1 Resymé: Leksjonen omhandler bruk av script-språket VBScript. Bruk av funksjoner og klasser er tema som blir tatt opp. Tilslutt ser vi på Response-objektet som er et av de sentrale objektene i ASP. Innhold 1.1 OM DENNE LEKSJONEN LITT MER OM ASP-SCRIPT Option Explicit VBScript-kode og HTML-kode Funksjoner Innebygde funksjoner i VBScript OBJEKTER Koden for å lage klasser og objekter Metoder i en klasse Innebygde objekter i ASP RESPONSE-OBJEKTET Response.Write Problemer med Response.Write Bruk av Server.HTMLEncode Response.Buffer Response.Clear Response.Flush Response.End Response.Redirect Caching, Response.Expires og Response.ExpiresAbsolute Om denne leksjonen I denne leksjonen går vi først raskt igjennom bruk av scriptspråket VBScript. Vi bruker VBScript når vi skal lage ASP er i dette kurset. Etter dette skal vi litt på klasser og objekter. Tilslutt skal vi bruke denne kunnskapen til å se på et meget nyttig objekt som er innbygget i ASP, nemlig Response-objektet. Denne leksjonen går igjennom det meste i kapittel 5,6 og 7 i boka.

2 Det bør også nevnes at HTML-koden i eksemplene ofte ikke er fullverdig HTML-kode. Grunnen til dette er at eksemplene skal være mest mulig oversiktlig. For å kjøre koden i leksjonene i dette faget må du kopiere koden fra leksjonen inn i en teksteditor. Du må så lagre koden og så kjøre koden gjennom din egen tjener. Acrobat Reader som du bruker til å lese leksjone har et valg for å klippe ut tekst. Dette gjør du ved å trykke på knappen med en T på. Du kan da markere teksten du er interessert i og kopiere denne. 1.2 Litt mer om ASP-script I forrige leksjon ble de grunnleggende elementene i et ASP-script gjennomgått. Vi skal i dette kapittelet se litt mer på hvordan et ASP-script bygges opp Option Explicit <%@ Language=VBScript %> <% Option Explicit Dim strvariabel %> strvariabel = test <BODY> <%= strvariabel %> </BODY> Linje to i koden over trenger ikke være med. Denne linjen sørger imidlertid for å gi deg feilmelding hvis du har skrivefeil i variabelnavn. La oss si at du lager en variabel mintext, men at du lenger ned i koden tror at variabelen heter mintxt. Hvis du da ikke har med Option Explicit i koden din vil du ikke få noen feilmelding. Variablen mintxt blir oppfattet som en ny variabel. Når du bruker Option Explicit vil du i dette tilfellet få en feilmelding om at variabelen ikke finnes. Grunnen er at du må deklarere en variabel før du bruker den. Dette gjøres med bruk av ordet Dim før variabelnavnet (se fet skrift i koden). Sørg for å bruke den ekstra kontrollen som ligger i Option Explicit VBScript-kode og HTML-kode <%@ Language=VBScript %> <% Option Explicit %> <BODY> <% VBScript-kode.. %> </BODY> side 2 av 17

3 VBScript-kode i kodesnutten over, er en eller flere linjer med VBScript-kode. Denne koden kan være både deklarering av variabler, bruk av kontrollstrukturer (if-setninger, løkker osv..) eller det kan være subrutiner eller funksjoner. Vi bruker VBScript-kode til å kontrollere hva som skjer i ASP en vår. Vi har sett at vi kan lage HTML-kode inne i script-koden med Response.Write. F.eks. har vi sett at koden <% Response.Write( <BODY> hei </BODY> ) %> gir samme resultat som <BODY> hei </BODY> Vi kan benytte oss av denne nære kontakten mellom script og HTMTL-kode ved å bruke script-koden til å styre HTML-koden. F.eks. <BODY> <% For i=1 to 2 %> <H1> If I were a </H1> <% Next %> RICH MAN </BODY> Resultatet av koden over blir slik: Figur 1: Script styrer HTML-kode side 3 av 17

4 Hva er det som skjer. Hvis du ser på koden så vil du se at for-løkka starter før <H1> If I were a </H1> og slutter med Next. Dette gjør at all HTML-kode i mellom vil utføres så mange ganger som løkka utføres. Her blir det to ganger. RICH MAN skrives ut kun en gang da det ikke er noen løkke som omslutter denne HTML-elementet. Se også figuren under. Tjener Klient forespørsel svar utfør ASP-fil <BODY> <% For i=1 to 2 %> <H1> If I were </H1> <% Next %> RICH MAN </BODY> Resulterende HTML-kode <BODY> <H1> If I were </H1> <H1> If I were </H1> RICH MAN Funksjoner Bruk av variabler regner jeg med at dere kjenner til fra før. Temaet er tatt opp i kapittel 3 i boka. For de som føler seg usikker på temaet kan det være en fordel å skumme gjennom dette kapittelet. Kapittel 4 i boka går igjennom bruken av de forskjellige kontrollstrukturene som brukes i VBScript, samt subrutiner og funksjoner. Dette er også tema som bør være kjent fra før, men hvis du føler at du kan ha godt av en liten oppfriskning se igjennom dette kapittelet. Både kapittel 3 og 4 inneholder en del eksempler. Når man lager større programmer kan man fort miste oversikten. Bruk av subrutiner eller funksjoner gir oss muligheten til å samle sammenhørende kode på en logisk måte, slik at vi lettere kan holde oversikten. Funksjoner gir større muligheter enn det subrutiner gjør, da disse kan returnere verdier, og funksjoner omtales derfor i dette kapittelet. Eksempel Vi ønsker å ha et program som kan ta kvadratet av et tall. Koden kan være som følger: <%@ Language=VBScript%> <%Option Explicit %> side 4 av 17

5 <HEAD> <TITLE> Kvadratet av et tall </TITLE></HEAD> <BODY> Kvadratet av tallet 10 blir <%=Kvadrat(10) %> </BODY> <!-- her kommer funksjoner -- > <% Function Kvadrat(tall) Kvadrat= tall*tall End Function %> Legg merke til den fete skriften i koden over. Sist i koden lager vi en funksjon som heter kvadrat (merk at det ikke spiller noen rolle hvor i koden vi lager funksjonen, men det gir god oversikt å samle funksjoner i begynnelsen eller på slutten av filen). Funksjonen tar et tall som innargument og sørger for å ta kvadratet av dette tallet (kvadratet er tallet ganget med seg selv). Vi benytter oss av denne funksjonen med koden <%= kvadrat(10) %>. Dette sørger for å skrive ut resultatet som returneres av funksjonen. Resultatet blir som følger: Figur 2: Funksjonen kvadrat Innebygde funksjoner i VBScript Som vi allerede har vært inne på finnes det ferdige funksjoner i VBScript. Vi har sett at funksjonen Sqr(tall) returnerer kvadratrota av tallet tall. Dette er en matematisk funksjon som er beskrevet i tabell 5.1 i boka. I denne tabellen finnes det også mange andre matematiske funksjoner som er klare til bruk. Vi har også sett på funksjonen Hour(Time) som returner hvilken time det er nå. Denne funksjonen er funnet på s. 139 i boka. side 5 av 17

6 Kapittel 5 i boka inneholder mange slike funksjoner. Funksjoner av interesse kan være er: Typecasting Funksjoner for å typecaste en variabel. F.eks. vil funksjonen Cint(streng) returnere tallverdien som denne strengen inneholder. Dim strstreng, itall strstreng = 22 itall = Cint(streng) I koden over vil itall få verdien 22. For mer informasjon om slike funksjoner se s Formateringsfunksjoner På s finnes informasjon om formateringsfunksjoner. Dette kan være funksjoner som sørger for å formattere datoen på ønsket form, tiden på ønsket form, formattere et tall (kanskje du vil ha kun et siffer etter komma) eller formatering av valuta Matematiske funksjoner Disse er beskrevet på side Datofunksjoner Å bruke datoer i programmer kan ofte være vanskelig. I VBScript finnes det mange funksjoner for å gjøre dette lettere. Det finnes her funksjoner som kan hjelpe deg med å holde styr på hvor mange dager det er i måneden, om det er skuddår, hvor lang tid det er i mellom to datoer osv Strengfunksjoner S inneholder informasjon om strengfunksjoner. Dette kan være funksjoner som gjør om en streng til store bokstaver, sjekker om strengen inneholder et spesielt ord, sjekker om to strenger er like osv. Dette er funksjoner som i mange sammenhenger vil være veldig nyttige Oppsummering av viktige funksjoner På s.150 inneholder boka en oversikt over de funksjonene som anses som mest verdifulle. På slutten av kapittel 5 er det spørsmål til kapittelet som det finnes svar på bakerst i boka. Det kan være lurt å gå igjennom disse oppgavene. side 6 av 17

7 1.3 Objekter Vi skal nå se nærmere på begrepet objekter. Dette omhandles i kapittel 6 i boka (se bort fra collections s og events s ). Dette kapitlet prøver å summere opp det som står om objekter i boka. Etter å ha lest disse sidene bør du ha skjønt at et objekt er noe mer enn en vanlig variabel. En variabel vil ha kun en verdi mens et objekt kan bestå av mange variabler. La oss si at vi ønsker å lagre data om en eller flere studenter. En student vil f.eks. ha et navn, et telefonnummer og en adresse. Hvis vi skal lage et program som tar vare på disse opplysningene kan vi lage en variabel for navn, en for telefonnummer og en for adresse. Dette kan fort bli litt tungvint når det er snakk om mange studenter, fordi det blir veldig mange variable. I slike tilfeller vil det ofte være greit å putte studentene inn i en tabell. Men i dette tilfellet er heller ikke dette like greit da vi ønsker å ta vare på tre verdier for hver student. Det blir fort rotete. Løsningen er å bruke klasser og objekter. Vi ønsker å ta vare på tre verdier. Vi lager oss derfor en klasse som gjør nettopp dette. La oss kalle denne klassen Student. Klassen ser slik ut: Figur 3: Klassen Student Nå har vi lyst til å fylle denne klassen med verdiene fra en aktuell student. En klasse fylt med verdier kalles ikke lenger en klasse, men et objekt. Altså en klasse er en tom mal for hva et objekt skal inneholde. Under vises et objekt laget av klassen Student. Dette objektet er kalt studentobjekt, og variablene har fått verdier. side 7 av 17

8 Figur 4: studentobjekt Koden for å lage klasser og objekter Klassen Student kan lages med følgende kode: <% Class Student public Navn public Telefonnummer public Adresse End Class %> For at vi skal ha noen nytte av klassen over må den brukes. Dvs. vi må lage objekter som inneholder verdier. Dette kan gjøres på følgende måte (forutsetter at vi først har laget klassen Student som vist over): <% Dim studentobjekt Set studentobjekt = new Student studentobjekt.navn= Kåre Klo studentobjekt.telefonnummer= studentobjekt.adresse= Klobakken 23 %> Andre linje i koden over sørger for å lage et objekt basert på klassen Student. Objektet vi lager velger vi her å kalle studentobjekt. Vi kan imidlertid velge hvilket navn vi vil, og vi kan gjerne lage flere objekter basert på klassen Student. Vi må da gi dem ulikt navn (eller evt. putte dem i en tabell). Akkurat på samme måte som vi må gi to ulike variabler ulikt navn. Vi gir variablene i objektet vårt verdier med objektnavn.variabelnavn Koden side 8 av 17

9 studentobjekt.navn= Kåre Klo fører altså til at variabelen Navn, i objektet studentobjekt, får verdien Kåre Klo. Hvis vi skal bruke riktig terminologi heter nå variabelen Navn nå egenskapen Navn. Altså variabler i et objekt heter egenskaper i stedet for variabler. Å hente ut en verdi fra et objekt er også enkelt. Når vi har laget studentobjekt kan vi hente verdiene lagret i dette objektet med koden: <% Dim strnavn strnavn = studentobjekt.navn Response.Write(strNavn) Response.Write(studentObjekt.Adresse) %> Koden over skriver ut egenskapene Navn og Adresse for studentobjekt Metoder i en klasse En trenger ikke bare å ha variabler i en klasse, men en kan også ha funksjoner og sub-rutiner. Disse vil da kalles en metode. Vi kan f.eks. utvide klassen Student til også å inneholde metoder. La oss si at vi vil ha en metode for å skrive ut både navnet, telefonnummeret og adressen til studentene. I tillegg vil vi ha en metode for endre telefonnummeret til en student og en metode for å hente navnet til studenten. <% Class Student private Navn public Telefonnummer public Adresse public Sub SkrivUt() Response.Write(Navn) Response.Write(Telefonnummer) Response.Write(Adresse) End Sub public Funtction HentNavn() HentNavn = Navn End Function public Function EndreNavn(nyttNavn)I Navn= nyttnavn End Function End Class %> Metodene beskrevet over brukes på akkurat samme måte som variablene. Vi bruker objektnavn.metode(), side 9 av 17

10 f.eks. studentobjekt.skrivut(). <% Dim studentobjekt Set studentobjekt = new Student studentobjekt.endrenavn( Kåre Klo ) studentobjekt.telefonnummer= studentobjekt.adresse= Klobakken 23 %> studentobjekt.skrivut() Koden studentobjekt.skrivut() vil sørge for å skrive ut alle verdiene i dette objektet. Legg merke til at vi også benytter metoden studentobjekt.endrenavn( Kåre Klo ) for å sette navnet til dette objektet i stedet for studentobjekt.navn = Kåre Klo som vi brukte i forrige delkapittel. Vi kan altså forandre en egenskap (variabel) gjennom bruk av en metode på objektet. Hva er så poenget? Hvis du ser på klassen Student vil du se at variabelen navn har fått private foran seg. Dette vil si at variabelen kun kan brukes internt i klassen (i metoder) men man kan ikke bruke objektet til å kalle variabelen. Det er derfor nå ikke lovlig å gjøre studentobjekt.navn = Kåre Klo lenger. Men vi kan i stedet bruke den nye metoden vi lagde (endrenavn). Poenget med dette er at vi kan styre hva som kan gjøres med objektet vårt. F.eks. kan jeg lage en metode som kun henter navnet i en variabel, men jeg gir ingen mulighet til å forandre innholdet i variabelen. Jeg har dermed kontroll over hvordan objektene kan brukes. side 10 av 17

11 Forskjellen er dermed at variabler og metoder som det står public foran (i klassen) kan brukes med objektnavn.egenskap eller objektnavn.metode, mens hvis variabelen eller metoden har private foran kan ikke disse brukes utenfor klassen. Hvis du har problemer med å forstå denne forskjellen tenk slik: Det som er private kan kun brukes inne i klassen, dvs. i vårt eksempel så blir det mellom public Class Student og End Class. Alle andre steder er det forbudt å bruke variabler eller metoder som er private, kun de som er public Innebygde objekter i ASP Du har allerede brukt objekter. Tenk bare på bruken av Response.Write. Som vi ser er det et punktum mellom Response og Write. Dette antyder at Response faktisk er et objekt og at Write er en metode som kan brukes på dette objektet. Response er faktisk et ferdiglaget objekt som du kan bruke (boka bruker stor forbokstav på de ferdiglagde objektene så vi gjør også det i leksjonene). Som navnet tilsier så er dette et objekt som sørger for respons til klienten. Metoden Write sørger for å skrive til klienten. Hvorfor ikke bare ha en funksjon som heter write i stedet? Grunnen til dette er at Response-objektet faktisk inneholder flere muligheter enn kun å skrive til klienten. Vi kommer tilbake til dette. Sidene omtaler de innebygde ASP-objektene. Disse objektene skal vi komme tilbake til i senere leksjoner. 1.4 Response-objektet Kapittel 7 i boka beskriver bruken av Response-objektet. Det er viktig at du leser kapitlet. Det kan også være fornuftig å gjøre quiz-oppgavene til slutt i dette kapitlet (svar finnes bakerst i boka). De neste delkapitlene inneholder essensen fra kapitel 7 i boka Response.Write Vi har tidligere sett at når vi bruker Response.Write(tekst) så sendes innholdet i variabelen tekst til klienten. Dette vil typisk være vanlig tekst sammen med HTML-tagg er som beskriver hvordan teksten skal presenteres i nettleseren. Eksempel side 11 av 17

12 <% Response.Write( <H1> dette blir overskrift </H1> ) %> Koden over vil sørge for at nettleseren presenterer teksten som overskrift type Problemer med Response.Write Vi kan få problemer i visse tilfeller med bruk av Response.Write. Tenk bare hvis vi vil lage en hyperlenke til en annen web-side. HTML-koden for dette blir: <A HREF= nesteside.html > Gå til neste side </A> Vi prøver å putte HTML-koden direkte inn i Response.Write slik: <% Response.Write( <A HREF= nesteside.html > Gå til neste side </A> %> Koden over vil føre til en feilmeldingen vist i figuren under. Figur 5: Feil bruk av hermetegn Grunnen til feilmeldingen over er at vi ikke kan bruke hermetegn inne i hermetegn. Dvs. at Response.Write( test ) er lovlig, mens Response.Write( test ) gir problemer da dette blir det samme som vi hadde skrevet Response.Write(test). (Test er her ikke ment å være en variabel men en streng). I HTML-kode er det det samme om vi bruker apostrof ( ) eller hermetegn. Dette betyr det samme så vi kan forandre koden som vist nedenfor, og det vil fungere. side 12 av 17

13 <% Response.Write( <A HREF= nesteside.html > Gå til neste side </A> %> En annen mulighet kan være å bruke to hermetegn etter hverandre. Koden over kunne derfor også ha vært skrevet slik: <% Response.Write( <A HREF= nesteside.html > Gå til neste side </A> %> Bruk av Server.HTMLEncode Du vil også merke at du får problemer med å vise HTML-tagg er i nettleseren. F.eks. tenk at du vil skrive ut: Figur 6:Bruk av Server.HTMLEncode Hvordan er det mulig å få til å vise <H1> inne i nettleseren? Nettleseren tar jo vekk slike tagg er og formaterer etterfølgende tekst i forhold til tagg en. En skulle derfor forvente at også første linje ble presentert som en overskrift. Grunnen til at det ikke skjer er at det finnes et ferdiglaget objekt Server som har en metode som heter HTMLEncode. Denne sørger for at HTML-kode (tagg er) vil presenteres i nettleseren. Koden for figuren over er som følger: <BODY> <% Response.Write(Server.HTMLEncode("<H1> ")) Response.Write("er en tag som gir overskrift, denne ser slik ut") Response.Write("<H1> overskrift </H1>") %> </BODY> Response.Buffer Når vi bruker Response.Write er det to muligheter for hva som skjer: 1. Web-tjeneren sender teksten til klienten med en gang 2. Web-tjeneren samler opp mye tekst før det sendes til klienten side 13 av 17

14 Tilfelle 1 har fordelen av at teksten dukker opp i klienten så og si med en gang. Imidlertid så er det en stor ulempe med denne metoden, og det er at det blir veldig mange forsendelser til klienten. Hver slik forsendelse må inneholde mye mer enn kun teksten for at klienten skal kunne behandle teksten. Dette kalles overhead, og denne er like stor uansett om vi sender et ord eller mye tekst. Vi utsetter derfor nettverket for unødig mye overhead ved å sende hver Response.Write for seg. I tilfelle 2 venter vi til vi har nok tekst før alt sendes samtidig til klienten. Vi sier at vi bufrer dataene. Dette gjør at det blir mindre last på nettverket. Vi er imidlertid avhengig av at tjeneren kan mellomlagre denne informasjonen før den sendes. Dette vil altså kreve lagringsplass på tjeneren. I utgangspunktet er det web-tjeneren som bestemmer om tilfelle 1 eller 2 blir brukt. Vi kan imidlertid spesifisere hvilken metode vi vil bruke, slik at web-tjeneren blir tvunget til å gjøre som vi vil. Dette gjøres gjennom <% Response.Buffer = true %> når vi vil ha samle opp før vi sender (i et buffer). Når vi vil at dataene skal sendes med en gang brukes false. NB! Husk at når du vil spesifisere hvilken metode som skal brukes så må Response.Buffer settes (til true eller false) før noe data sendes til klienten (med f.eks. Response.Write). Listing 7.2 i boka og figur 7.3 viser hvordan bufring oppfører seg Response.Clear Denne metoden sørger for å slette alt som ligger i bufferet. Dvs. at når vi bruker denne metoden så vil alle data som ennå ikke er sendt til klienten bli slettet. Listing 7.3 og figur 7.4 i boka viser et eksempel på dette Response.Flush Denne metoden sørger for at alt som ligger i bufferet blir sendt til klienten med en gang. Dette kan være nyttig i tilfeller der deler av koden tar lang tid å utføre, vi kan da sørge for at klienten får de data som er tilgjengelig. Brukeren kan f.eks. få en beskjed om at beregning foregår, dette kan ta litt tid og så kommer beregningen når den er ferdig. Listing 7.4 og 7.5 i boka viser eksempler på bruken. side 14 av 17

15 1.4.7 Response.End Denne metoden sørger for å stoppe utførelsen av scriptet. Klienten vil i dette tilfellet motta de dataene som ligger bufret, men scriptet vil ikke fortsette å utføres. Listing 7.6 og 7.7 viser bruk av denne metoden Response.Redirect Denne metoden sørger for å sende klienten til en annen web-side. Nærmere bestemt gjøres dette ved at klienten får beskjed om å koble seg opp mot en annen web-side. NB! For at dette skal fungere er det viktig at klienten ikke har mottatt data før vi sender Response.Redirect. Hvis så er tilfelle får klienten en feilmelding! Vi må altså sørge for at vi gjør Response.Redirect før vi bruker Response.Write. Response.Redirect kan enten ta en absolutt URL som argument eller en relativ URL som argument. I det første tilfellet vil dette være en fullstendig URL f.eks. kan koden være slik: <% Response.Redirect( ) %> Vi ser at URL en over innholder både hvilken protokoll som brukes (http), hvilken tjenere det er snakk om ( og hvilken ressurs det er snakk om (index.html). Bruker vi derimot relativ URL så vil vi angi den ressursen vi er ute etter med utgangspunkt der vi er nå. La oss si at vi besøker web-siden For å sende brukeren til kan vi gjøre følgende: <% Response.Redirect( fag/asp/index.html ) %> Dette fungerer like godt som om vi hadde gjort <% Response.Redirect( ) %> Merk at relativ URL fungerer kun når du skal redirigeres til en ressurs på samme web-tjener. Skal du redirigere noen til en annen web-tjener så må absolutt URL brukes. Fordelen med å bruke relative URL er i forhold til absolutte URL er er særlig stor når vi har web-sider som henger sammen. Tenk bare på et web-sted der du først må bruke en innloggingsside for så å komme inn på siden du er ute etter. Disse to sidene vil begge være nødvendige og de er derfor knyttet sammen. I dette tilfellet vil det være en fordel å bruke relativ URL fra innloggingssiden til den neste.vi tenker oss at vi har innlogging.asp og side.asp. Begge disse filene ligger på Innlogging.asp inneholder blant annet koden side 15 av 17

16 <% Response.Redirect( side.asp ) %>. Hvis jeg velger å flytte disse to filene til en annen tjener så vil fortsatt redirigeringen fungere. Det eneste kravet er at filene ligger på samme katalog. Hvis jeg derimot bruker <% Response.Redirect( ) %> så vil jeg ikke kunne flytte disse filene verken til en annen tjener eller til en annen katalog på tjeneren de ligger på ( uten å forandre på denne URL en. Relative URL er bør derfor brukes når vi har web-sider som tilsammen danner et websted. Eksempler på bruk av Response.Redirect finnes i s.191 og 192 i boka Caching, Response.Expires og Response.ExpiresAbsolute En cache er et mellomlager. Cache brukes av nettlesere for å mellomlagre web-sider. Du slipper da å laste en ned en web-side på nytt hvis du allerede har vært på denne web-siden før. Dette gjør at du ofte kan oppleve at en web-side lastes tregt første gang du går inn på den, for så i etterfølgende besøk å lastes så å si umiddelbart. Caching er som du skjønner en fin ting, men kan skape problemer når vi har dynamiske websider. La oss si at du har vært innom Norsk Tipping sine lottosider. En time senere har en ny lottotrekning funnet sted og du går inn på siden for å få de nye tallene. Det viser seg imidlertid at du får de samme tallene som du fikk en time tidligere. Du er likevel sikker på at nye lottotall er lagt ut da du har blitt fortalt dette. Det er nettleseren som sørger for dette problemet ved å cache web-siden første gang du er inne på web-siden, neste gang du går inn vil du få det som ligger i cache, i stedet for den oppdaterte web-siden. Som ASP-programmerer kan du gjøre noe med dette problemet. Vi kan bruke Response.Expires. Denne gjør det mulig å sette hvor mange minutter en web-side skal ligge i nettleserens cache før den slettes. <% Response.Expires = 5 %> Koden sørger for at web-siden skal slettes etter 5 minutter. Vær imidlertid klar over at dette blir beregnet fra web-tjenerens klokke. Dersom klokka på web-tjeneren er 12 så skal websiden slettes Dette kan gi problemer om klokka på klienten er ulik den på tjeneren. La oss si at klokka på klientmaskinen er bare 1100 når klokka på tjenermaskinen er 12. I dette tilfellet vil det ta 1 time og 5 minutter før web-siden slettes fra cache i stedet for 5 minutter! side 16 av 17

17 Grunnen er at nettleseren venter til klokka er 1205 før sletting skjer, fordi nettleseren forholder seg til klokka på klientmaskinen. For å være sikker på at web-siden ikke legges i cache kan du bruke (se boka for forklaring) Response.Expires = Hvis du vil oppgi at web-siden skal kunne ligge i cache i flere dager før den slettes kan du bruke Response.ExpiresAbsolute = Date Time. Date angir hvilken dato det er snakk om mens Time angir tidspunktet på dagen. side 17 av 17

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider: Fra sist JSP - 2 Installasjon av Web-tjener Et enkelt JSP-script HTML statisk Forms Tags Ønsker dynamiske nettsider: Klientside-script/programmering Javascript, vbscript, applets Tjenerside-script/programmering

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 17.desember 2001 Varighet: 0900-1300 Fagnummer: LV192D Fagnavn: Web-programmering med ASP Klasser: 1hsf Vekttall:

Detaljer

9. ASP med databasekopling, del II

9. ASP med databasekopling, del II Else Lervik 23.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 9. Resymé: I forrige leksjon så vi hvordan ASP kunne brukes til å vise

Detaljer

1. Tilstandsinformasjon på klientsiden

1. Tilstandsinformasjon på klientsiden Stiftelsen TISIP i samarbeid med Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Tomas Holt 24.02.2004 Opphavsrett: Tomas Holt og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 15. mai 2003 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU Studiepoeng:

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 12. desember 2002 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU

Detaljer

JavaServer Pages (JSP)

JavaServer Pages (JSP) JavaServer Pages (JSP) Forelesning 1 Klient/tjener-systemer, installasjon av tjener, og intro til JSP. Statisk Web = HTML Overskrift

Detaljer

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS MVVC JavaScriptbibliotek Gløer Olav Langslet Sandvika VGS Knockout.js Informasjonsteknologi 2 Introduksjon I dag skal vi se nærmere på et JavaScriptbibliotek som heter Knockout. Knockout og andre biblioteker,

Detaljer

lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen mellom globale og lokale variabler

lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen mellom globale og lokale variabler 42 Funksjoner Kapittel 4 Funksjoner Etter dette kapitlet skal du kunne lage og bruke enkle funksjoner lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen

Detaljer

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP.

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP. 1 Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP. (Læreboka kapittel 2-5) Legg merke til den første blokken,

Detaljer

Shellscripting I. Innhold

Shellscripting I. Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Shellscripting I Tor Halsan 19.08.2010 Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Leksjonen er første innføring

Detaljer

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro Verden - Del 2 Nybegynner Processing Intro Denne oppgaven bygger på oppgaven med samme navn som ligger på introduksjonsnivå her i Processingoppgavene. Klikk her for å gå til introduksjonsoppgaven av verden.

Detaljer

Verdier, variabler og forms

Verdier, variabler og forms [Kurssidene] [ ABI - fagsider bibin ] Verdier, variabler og forms Michael Preminger (michaelp@hio.no) 16/01-14 Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 Litt om forrige times øvelsesoppgaver

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 16.desember 2005 Varighet: Fagnummer: Fagnavn: 3 timer LO116D Programmering i Visual Basic Klasse(r): FU

Detaljer

1. Installasjon av web-tjener og teori

1. Installasjon av web-tjener og teori Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Installasjon av web-tjener og teori Tomas Holt 30.1.2006 Lærestoffet er utviklet for faget LV193D Web-programmering med JSP 1. Installasjon

Detaljer

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering Innhold: Variabler Boolske verdier Kontrollstrukturer Datastrukturer Løkker Funksjoner Events DOM behandling av Christine Skjønhaug Færø

Detaljer

Verden. Steg 1: Vinduet. Introduksjon

Verden. Steg 1: Vinduet. Introduksjon Verden Introduksjon Processing Introduksjon Velkommen til verdensspillet! Her skal vi lage begynnelsen av et spill hvor man skal gjette hvilke verdensdeler som er hvor. Så kan du utvide oppgava til å heller

Detaljer

1. Systemsikkerhet. 1.1. Innledning. Innhold

1. Systemsikkerhet. 1.1. Innledning. Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Systemsikkerhet Stein Meisingseth 29.08.2005 Lærestoffet er utviklet for faget LO474D Systemsikkerhet 1. Systemsikkerhet Resymé: Denne leksjonen

Detaljer

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS Skjemaer med HTML5 Gløer Olav Langslet Sandvika VGS Leksjon 10 Informasjonsteknologi 1 og 2 Skjemaer på nettsider I denne leksjonen skal vi se litt nærmere på bruk av skjemaer på nettsider. Du har sett

Detaljer

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv Bygg et Hus Introduksjon I denne leksjonen vil vi se litt på hvordan vi kan få en robot til å bygge et hus for oss. Underveis vil vi lære hvordan vi kan bruke løkker og funksjoner for å gjenta ting som

Detaljer

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS Løkker og if-tester Gløer Olav Langslet Sandvika VGS 29.08.2011 Informasjonsteknologi 2 Funksjoner, løkker og iftester Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 11. mai 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LV197D Webprogrammering med PHP FU Studiepoeng:

Detaljer

7. Datafiler på tjenersiden

7. Datafiler på tjenersiden Else Lervik 09.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 7. Resymé: I denne leksjonen er kommunikasjon med datafiler sentralt.

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Eksamensdato: 15.des 2011 Studiepoeng: 6 Varighet: 4 timer. Start kl 09:00 og skal leveres inn senest kl 13:00 Emnekode: Emnenavn:

Detaljer

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse

Detaljer

Innføring i bruk av CGI4VB

Innføring i bruk av CGI4VB Innføring i bruk av CGI4VB Her kommer en enkel innføring i bruk av modulen CGI4VB som kan benyttes for å lage CGI programmer i Visual Basic. CGI er en forkortelse for Common Gateway Interface den kommunikasjonsprotokollen

Detaljer

Et forsøk på definisjon

Et forsøk på definisjon Et forsøk på definisjon [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 18/08-17 Engelsklignende språk, med rigid syntaks, som kan brukes til å skrive instruksjoner (eksempel

Detaljer

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. JS: Hei JavaScript! Skrevet av: Arve Seljebu Kurs: Web Tema: Tekstbasert, Nettside Fag: Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon I denne oppgaven blir du introdusert for

Detaljer

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Verden Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Velkommen

Detaljer

1. NetBeans IDE: Lage en enkel mobilapplikasjon

1. NetBeans IDE: Lage en enkel mobilapplikasjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag NetBeans IDE: Lage en enkel mobilapplikasjon Mildrid Ljosland/Lene Hoff 09.09.2008 Lærestoffet er utviklet for faget SO350D J2ME for programmering

Detaljer

the web Introduksjon Lesson

the web Introduksjon Lesson Lesson 1 the web All Code Clubs must be registered. Registered clubs appear on the map at codeclub.org.uk - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do. Introduksjon

Detaljer

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 6 Bokmål Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert

Detaljer

Forklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java

Forklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 Forklaring til programmet AbstraktKontoTest.java med tilhørende

Detaljer

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Microbit PXT: Terning Skrevet av: Geir Arne Hjelle Kurs: Microbit Språk: Norsk bokmål Introduksjon Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Steg 1: Vi rister løs Vi

Detaljer

Et forsøk på definisjon. Eksempel 1

Et forsøk på definisjon. Eksempel 1 Et forsøk på definisjon [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michael.preminger@hioa.no) 19/08-15 Engelsklignende språk, med rigid syntaks, som kan brukes til å skrive instruksjoner

Detaljer

1 Introduksjon til web-programmering med JSP

1 Introduksjon til web-programmering med JSP side 1 av 20 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag 1.Introduksjon til web-programmering med JSP Tomas Holt, Else Lervik Lærestoffet er utviklet av Tomas Holt for faget LV193D

Detaljer

1. Profiler og variabler

1. Profiler og variabler Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Profiler og variabler Stein Meisingseth 26.05.2014 Lærestoffet er utviklet for faget IDRI3005 PowerShell 1. Profiler og variabler Resymé:

Detaljer

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. JS: Hei JavaScript! Introduksjon Web Introduksjon I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Steg 1: Bruke

Detaljer

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim Bygge en kube Skrevet av: Pål G. Solheim Kurs: Learntomod Tema: Blokkbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal bygge en

Detaljer

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være

Detaljer

notater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS

notater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS Mine notater Gløer Olav Langslet Sandvika VGS Et praktisk eksempel med objekter Vi kjenner alle til korktavlen med gule lapper. Vi henger opp en lapp for at vi selv eller andre skal huske eller bli minnet

Detaljer

Et forsøk på definisjon

Et forsøk på definisjon Et forsøk på definisjon [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 21/08-16 Engelsklignende språk, med rigid syntaks, som kan brukes til å skrive instruksjoner (eksempel

Detaljer

INF Puslegruppa - Kom i gang med PusleChat

INF Puslegruppa - Kom i gang med PusleChat INF1010 - Puslegruppa - Kom i gang med PusleChat Sigmund Hansen sigmunha@student.uio.no 31. mars 2011 Last ned dokumentasjonen til kildekoden. 1 1 Klassestruktur 1.1 inf1010.pusle.chat.client.chatclient

Detaljer

1 Installasjon av web-tjener

1 Installasjon av web-tjener Stiftelsen TISIP i samarbeid med Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Tomas Holt 26.1.2004 Opphavsrett: Tomas Holt og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 m-ler I denne øvinga skal vi lære oss å lage m-ler små tekstler som vi bruker i MATLAB-sammenheng. Der nst to typer m-ler: Funksjonsler og skript. Funksjonsler

Detaljer

Utførelse av programmer, metoder og synlighet av variabler i JSP

Utførelse av programmer, metoder og synlighet av variabler i JSP Utførelse av programmer, metoder og synlighet av variabler i JSP Av Alf Inge Wang 1. Utførelse av programmer Et dataprogram består oftest av en rekke programlinjer som gir instruksjoner til datamaskinen

Detaljer

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Av Jo Skjermo (basert på Alf Inge Wang sin versjon om JSP). 1. Utførelse av kode i kommando/kalkulatormodus Et dataprogram består oftest

Detaljer

6105 Windows Server og datanett

6105 Windows Server og datanett 6105 Windows Server og datanett Denne øvingen forutsetter at du har gjort disse øvingene tidligere: Labøving 7b Skriveradministrasjon Laboving 9a Installere og konfigurere webtjeneren IIS I denne øvingen

Detaljer

10. ASP og SQL Innledning Recordset-objektet. Innhold. Referanse til læreboka Kapittel Se detaljer nedenfor.

10. ASP og SQL Innledning Recordset-objektet. Innhold. Referanse til læreboka Kapittel Se detaljer nedenfor. Else Lervik 29.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 10. Resymé: Vi begynner med å inspisere Recordset-objektet. Deretter

Detaljer

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje. Trading-algoritme I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje. Vi skal gjøre dette ved å lage et Python-program (med noen for-løkker)

Detaljer

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen. Tetris Introduksjon Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle Bygg et Hus Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon I denne leksjonen

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke

Detaljer

praktiske eksempler DOM Document Object Model DOM og Høst 2013 Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

praktiske eksempler DOM Document Object Model DOM og Høst 2013 Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS DOM og praktiske eksempler Gløer Olav Langslet Sandvika VGS Høst 2013 Informasjonsteknologi 2 DOM Document Object Model Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 16.desember 2005 Varighet: Fagnummer: Fagnavn: 3 timer LO116D Programmering i Visual Basic Klasse(r): FU

Detaljer

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill! Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett

Detaljer

Bygge en kube. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon

Bygge en kube. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon Bygge en kube Introduksjon Learn To Mod Introduksjon Vi skal bygge en kube i minecraft og lære endel viktige klosser i Learn To Mod. Oppgaven er forklart i detalj og egner seg som den første oppgaven du

Detaljer

IN1000 Obligatorisk innlevering 7

IN1000 Obligatorisk innlevering 7 IN1000 Obligatorisk innlevering 7 Frist for innlevering: 23.10. kl 12:00 Introduksjon I denne innleveringen skal du lage et program som simulerer cellers liv og død. Dette skal du gjøre ved hjelp av en

Detaljer

Enkle generiske klasser i Java

Enkle generiske klasser i Java Enkle generiske klasser i Java Oslo, 7/1-13 Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Del 1: Enkle pekere Før vi tar fatt på det som er nytt i dette notatet, skal vi repetere litt

Detaljer

INTRODUKSJON HVEM ER DETTE FAGET FOR?...

INTRODUKSJON HVEM ER DETTE FAGET FOR?... Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Kom i gang med PHP Svend Andreas Horgen Lærestoffet er utviklet for faget IINI3003 Webprogrammering med PHP Resymé: Denne leksjonen skal

Detaljer

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier 11. okt. 2011 Siri Moe Jensen Inst. for informatikk, UiO 1 Innhold Eksamen INF1000 Høst 2011: Oppgave 4-7 Tekstmanipulering Metoder med og uten

Detaljer

INF109 - Uke 1b 20.01.2016

INF109 - Uke 1b 20.01.2016 INF109 - Uke 1b 20.01.2016 1 Variabler Et program er ikke til stor hjelp hvis det er statisk. Statisk betyr at programmet bare bearbeider faste data som er lagt inn i programkoden. For å gjøre programmer

Detaljer

Programmering Høst 2017

Programmering Høst 2017 Programmering Høst 2017 Tommy Abelsen Ingeniørfag - Data Innledning Dette er et dokument med litt informasjon og eksempler om kontrollstrukturer, samt oppgaver til forskjellige kontrollstrukturer. Spør

Detaljer

Web-programmering med JSP Løsningsforslag leksjon 4

Web-programmering med JSP Løsningsforslag leksjon 4 Web-programmering med JSP Løsningsforslag leksjon 4 Oppgave 1 String adr = request.getremoteaddr() ; out.println(adr); Oppgave 2 Først her kommer HTML-filen med JavaScript et vi lagde i forrige leksjon.

Detaljer

12. Et større ASP-eksempel. 12.1. Innledning. 12.2. Beskrivelse av nett-butikken. Innhold

12. Et større ASP-eksempel. 12.1. Innledning. 12.2. Beskrivelse av nett-butikken. Innhold Else Lervik 20.04.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 12. Resymé: Vi skali denne leksjonen se litt på hva vi må ta hensyn

Detaljer

$antall_maaneder =12; Variablene $pris og $antall_maaneder i eksemplet ovenfor har

$antall_maaneder =12; Variablene $pris og $antall_maaneder i eksemplet ovenfor har Et program som legger sammen to brukergitte tall må hente det ene hente det andre legge tallene sammen [Kurssidene] [ ABI - fagsider bibin ] presentere resultatet. Mellom operasjonene må data tas vare

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Når en bruker skriver sitt navn ("Ole") i et form-element med name="fornavn" som attributt. klikker på submit-knappen

Når en bruker skriver sitt navn (Ole) i et form-element med name=fornavn som attributt. klikker på submit-knappen Når en bruker skriver sitt navn ("Ole") i et form-element med name="fornavn" som attributt klikker på submit-knappen [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 09/09-16...

Detaljer

Et forsøk på definisjon. Eksempel 1

Et forsøk på definisjon. Eksempel 1 [Kurssidene] [ ABI - fagsider bibin ] Introduksjon Michael Preminger (michael.preminger@hioa.no) 13/12-13 I denne forelesningen: Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 Motivasjon:

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 20. mai 2005 Varighet: 3 timer (09:00 12:00) Fagnummer: Fagnavn: Klasse(r): LV197D Webprogrammering med

Detaljer

Innføring i bruk av CGI4VB

Innføring i bruk av CGI4VB Innføring i bruk av CGI4VB Her kommer en enkel innføring i bruk av modulen CGI4VB som kan benyttes for å lage CGI programmer i Visual Basic. CGI er en forkortelse for Common Gateway Interface den kommunikasjonsprotokollen

Detaljer

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK INF1000: Forelesning 6 Klasser og objekter del 1 OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK Motivasjon Anta at vi ønsker å lage et studentregister hvor vi for hver student lagrer, bruker og telefonnummer Med

Detaljer

Verden - Del 2. Intro. Skrevet av: Kine Gjerstad Eide

Verden - Del 2. Intro. Skrevet av: Kine Gjerstad Eide Verden - Del 2 Skrevet av: Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Intro Denne oppgaven bygger på

Detaljer

Objektorientering i VB en introduksjon

Objektorientering i VB en introduksjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Objektorientering i VB en introduksjon Oppdatert av Atle Nes Objektorientering i VB en introduksjon Resymé: Visual Basic.NET er et objektorientert

Detaljer

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1. Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal

Detaljer

Steg 1: Lag bildedeklarasjon

Steg 1: Lag bildedeklarasjon Bildepresentasjon Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole

Detaljer

1.2 Dynamiske, tjenerbaserte og interaktive nettsteder

1.2 Dynamiske, tjenerbaserte og interaktive nettsteder Kapittel 1 Innledning og motivasjon 1.1 Innledning Mye av dagens virksomhet på WWW, alt fra nettbanker til bibliotekkataloger, er dynamisk, interaktiv og databasestyrt. Alle som leser denne boken har brukt

Detaljer

[Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/09-15. Vi holder orden på verdier med hjelp av variabler

[Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/09-15. Vi holder orden på verdier med hjelp av variabler [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/09-15 Vi holder orden på verdier med hjelp av variabler Vi lagrer verdier i variabler. Variabelnavn uttrykker verdienes rolle

Detaljer

Introduksjon til beslutningsstrukturer

Introduksjon til beslutningsstrukturer [Kurssidene] [ ABI - fagsider bibin ] Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 Introduksjon til beslutningsstrukturer Michael Preminger (michaelp@hio.no) 24/01-14 Repitisjon fra

Detaljer

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012 INF1000 - Uke 10 Ukesoppgaver 10 24. oktober 2012 Vanlige ukesoppgaver De første 4 oppgavene (Oppgave 1-4) handler om HashMap og bør absolutt gjøres før du starter på Oblig 4. Deretter er det en del repetisjonsoppgaver

Detaljer

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Page 1 Page 2 [Kurssidene] [ JBI] [ ] Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Introduksjon til kontrollstrukturer Michael Preminger (michaelp@hio.no) 07/09-06 I denne forelesningen

Detaljer

INF1000: Forelesning 6. Klasser og objekter del 1

INF1000: Forelesning 6. Klasser og objekter del 1 INF1000: Forelesning 6 Klasser og objekter del 1 OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK 2 Motivasjon Anta at vi ønsker å lage et studentregister hvor vi for hver student lagrer navn, brukernavn og telefonnummer.

Detaljer

INF1000: noen avsluttende ord

INF1000: noen avsluttende ord Pensum INF1000: noen avsluttende ord Arne og Ole Christian Det som er gjennomgått på forelesningene Stoff som er behandlet i oppgaver/obliger Notat om Informasjonsteknologi, vitenskap og samfunnsmessige

Detaljer

Test 2 OOP. - Prøveeksamen

Test 2 OOP. - Prøveeksamen Test 2 OOP - Prøveeksamen 2007 - Viktig: Jobb med oppgavene som om det var eksamen Ikke snakk med sidemann, ta korte pauser, benytt kun skriftlige hjelpemidler du hadde tenkt til å hatt med på eksamen.

Detaljer

(X)HTML, CSS og JavaScript HTML. Det første dokumentet 26.11.2007. Grunnleggende programmering i Java Monica Strand 26.

(X)HTML, CSS og JavaScript HTML. Det første dokumentet 26.11.2007. Grunnleggende programmering i Java Monica Strand 26. (X)HTML, CSS og JavaScript Grunnleggende programmering i Java Monica Strand 26. november 2007 Gr. leggende Java 26. november 2007 1 HTML HTML = Hyper Text Markup Language Strukturerer tekstinnhold HTML

Detaljer

Sprettball Erfaren ComputerCraft PDF

Sprettball Erfaren ComputerCraft PDF Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.

Detaljer

JS: Grunnleggende JavaScript Nybegynner

JS: Grunnleggende JavaScript Nybegynner JS: Grunnleggende JavaScript Nybegynner Web Introduksjon I denne oppgaven skal du lære helt enkle og grunnleggende elementer av JavaScript. Du vil lære om variabler, if-setninger, funksjoner og løkker.

Detaljer

Transaksjonshåndtering. Skalerbarhet.

Transaksjonshåndtering. Skalerbarhet. Else Lervik 13.04.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 11. Resymé: Vi skali denne leksjonen se litt på hva vi må ta hensyn

Detaljer

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Page 1 Page 2 Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006 Introduksjon Michael Preminger (michaelp@hio.no) 23/08-06 I denne forelesningen: Motivasjon: Hvorfor vi lærer å programmere

Detaljer

2. Lage ASP.NET sider

2. Lage ASP.NET sider Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Lage ASP.NET sider Grethe Sandstrak 08.09.2015 Lærestoffet er utviklet for faget LV199D Web-programmering med ASP.NET 2. Lage ASP.NET sider

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 15.desember 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU

Detaljer

CASCADING STYLESHEETS (CSS)

CASCADING STYLESHEETS (CSS) CASCADING STYLESHEETS (CSS) HVA ER CSS Stylesheets er en metode for å flytte selve formatteringen av et HTML dokument ut av selve dokumentet og over i et eksternt regelsett. Dette skyldes HTMLs manglende

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 14.desember 2007 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasser: LO347D Web-applikasjoner med Java EE Nettstudenter

Detaljer

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang Kom forberedt til tirsdag INF1000 Tips til obligatorisk oppgave 4 Kikk på prøveeksamen fra 2004 http://www.uio.no/studier/emner/matnat/ifi/inf1000/h 07/undervisningsmateriale/proveeksamen-H2004.pdf Tittel:

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 15. desember 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LV197D Webprogrammering med PHP FU Studiepoeng:

Detaljer

Seminaroppgaver IN1010, uke 2

Seminaroppgaver IN1010, uke 2 Seminaroppgaver IN1010, uke 2 1.a: Skriv en klasse HeiVerden.java. Klassen skal inneholde en main- metode (se på notatet fra tidligere). Inne i main -metoden skal programmet først la brukeren oppgi en

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum

Detaljer

INF1000 HashMap. Marit Nybakken marnybak@ifi.uio.no 2. november 2003

INF1000 HashMap. Marit Nybakken marnybak@ifi.uio.no 2. november 2003 INF1000 HashMap Marit Nybakken marnybak@ifi.uio.no 2. november 2003 Dette dokumentet skal tas med en klype salt og forfatteren sier fra seg alt ansvar. Dere bør ikke bruke definisjonene i dette dokumentet

Detaljer