7. Datafiler på tjenersiden

Størrelse: px
Begynne med side:

Download "7. Datafiler på tjenersiden"

Transkript

1 Else Lervik 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. Vi skal se hvordan en ASP skriver til og leser fra datafiler. Vi behandler filene sekvensielt, det vil si at vi ikke forflytter oss vekselvis framover og bakover. Som eksempel skal vi lagre resultater fra en evaluering av spisesteder. Leksjonen avsluttes med et forsøk på begrepsavklaring når det gjelder objekt, klasse, instans etc. Dette er sentrale begrep som det fort kan bli forvirring rundt. Innhold 7.1. KOMMUNIKASJON MED DATAFILER Åpning og lukking av datastrømmer Lesing fra og skriving til datafiler ET EKSEMPEL: LOGGING AV BRUKEREVALUERING PROBLEMET MED OPPDATERING HOS KLIENTEN ET FORSØK PÅ BEGREPSAVKLARING... 9 Referanse til læreboka Leksjonen dekker side i læreboka med hovedvekt på de siste 12 sidene. Mulige problemer Det har tidligere dukket opp en del problemer angående bruk av datafiler. Jeg velger å summere opp dette her, da det vel ikke er usannsynlig at tilsvarende problemer inntreffer nå også: 1. Det virker som kun IE kan brukes som nettleser dersom ASP en jobber mot datafiler. 2. Dersom en ASP skal kunne skrive til en fil, må mappen der filen ligger være skrivbar. Dette kan du sette ved å velge Start/ Kontrollpanel/Administrative verktøy/internett Services (eller bruk knappen Avansert der du stopper og starter IIS). Finn den aktuelle mappen, høyreklikk og spesifiser under egenskaper hvilke rettigheter du vil gi. 3. Bruker du Norton Antivirus? Av og til kan ASP-problemer skyldes scriptblokking. Prøv derfor med å slå av (disable) denne.

2 7.1. Kommunikasjon med datafiler Filbehandlingen som du kjenner fra Visual Basic er ikke en del av VBScript. VBScript er et scriptspråk som kan benyttes på klientsiden, på tilsvarende måte som JavaScript slik du så i leksjon 3. Imidlertid er det få (om noen i det hele tatt?) nettlesere andre enn Microsoft Internet Explorer som støtter dette scriptspråket. Vi husker fra leksjon 3 at kode skrevet inni HTML-elementet <SCRIPT> </SCRIPT> sendes til klienten, og nettleseren tolker og utfører koden. Av sikkerhetsgrunner bør denne koden ikke inneholde instruksjoner som håndterer filer på klientsiden. Det er lett å tenke seg at det ville være risikabelt. I verste fall kan viktige systemfiler ødelegges på denne måten. Filbehandling på tjenersiden er imidlertid ikke forbundet med denne risikoen. Våre ASP er kan både lese fra og skrive til filer hos tjeneren. Som øving denne gangen skal du som sagt lage en gjestebok der de som besøker nettstedet ditt kan legge inn kommentarer. Ved å lagre boka på en fil, sikrer vi at den lever videre selv om for eksempel web-tjeneren går ned. Objekter for filbehandling er ikke en del av VBScript. I stedet ligger ferdige objekter for filbehandling i The Scripting Runtime Library. Dette biblioteket finnes på filen scrrun.dll og består av seks objekter: Dictionary, Drive, Drives, File, Files og FileSystemObject. Alle unntatt det første tilbyr tjenester i forbindelse med filbehandling. Du bruker disse objektene på samme måte som andre objekter. Grunnlaget for all filbehandling er FileSystemObject. Det gir oss adgang til filsystemet, og vi kan undersøke katalogstrukturer og innholdet i filer. En oversikt over metodene finner du på side 735. Flere eksempler på bruk finner du på side Vi vil i denne leksjonen vektlegge kommunikasjon med sekvensielle filer. Som du kjenner fra Visual Basic, en fil må åpnes før et program kan kommunisere med den. Det vil si at det må knyttes en forbindelse mellom den fysiske filen og programmet. Egentlig snakker vi helst om strømmer og ikke filer. Programmet vårt forholder seg til en datastrøm. Forbindelsen til den fysiske filen ligger gjemt inni strøm-objektene. Dersom vi leser fra datafilen, strømmer dataene fra filen til programmet. Og omvendt, dersom vi skriver til datafilen, strømmer dataene fra programmet til filen. Vi vil alltid åpne for enten skriving eller lesing, aldri begge deler på en gang. Verken vann eller data kan strømme begge veier samtidig. Lesing skjer alltid fra begynnelsen av filen, mens skriving kan skje fra begynnelsen eller etter det som måtte stå på filen fra før. Etter at vi er ferdig med å lese eller skrive, lukker vi strømmen, vi stenger krana. Filsystemet sørger for at ikke flere kan skrive til en fil samtidig. Vi bør passe på at kommunikasjonen med filen skjer i små, kompakte programbiter. Og vi må alltid huske på å lukke strømmen, ellers holder vi forbindelsen unødig lenge. Det fins også en annen viktig grunn til å lukke en datastrøm: Ved skriving til filen mellomlagres data ofte i et buffer. Dersom vi glemmer å lukke strømmen, kan det hende at ikke alle dataene er overført fra bufferet til filen Åpning og lukking av datastrømmer For i det hele tatt å kunne kommunisere med en datafil må vi ha tilgang til en instans av FileSystemObject. Det lager vi på følgende måte: Set objfso = Server.CreateObject("Scripting.FileSystemObject") side 2 av 10

3 Hva er Server? Server er et ASP-objekt (se side 163) som blant annet gjør det mulig for oss å instansiere såkalte server-komponenter. Komponenter er pakker med objekter, ofte i form av en DLL. Objektet vi skal bruke ligger i en komponent med navn Scripting (jfr. navnet på biblioteket The Scripting Runtime Library) Et FileSystemObject gir oss muligheten til å åpne en datastrøm knyttet til filen minedata.txt : Set objfil = objfso.opentextfile(server.mappath( minedata.txt ), ForReading, True) Igjen bruker vi en metode i Server-objektet: MapPath() konverterer en virtuell sti til en fysisk. I vårt eksempel ligger filen minedata.txt på samme katalog som ASP en. ForReading er en navngitt konstant med verdi 1. Andre aktuelle måter å åpne filen på er ForWriting (verdi 2) og ForAppending (verdi 8). Konstantene har innarbeidete navn, men vi må definere dem, de er altså ikke ferdig-definerte. Alternativt kan vi bruke tallverdiene (1, 2 eller 8), men dette gjør programmet vanskeligere å lese. Siste argument sier hvorvidt filen skal genereres dersom den ikke eksisterer. OpenTextFile() kan også ta et fjerde argument, dette er lite aktuelt for oss å bruke. Se eventuelt læreboka side 422. På disse sidene (side ) finner du også flere eksempler og alternative måter å åpne datastrømmer på. Spesielt er OpenAsTextStream() aktuell å bruke dersom du skal åpne og lukke en strøm til samme datafil flere ganger: Set objfil = objfso.getfile(server.mappath(filnavn)) Set objfilopen = objfil.openastextstream(forreading) OpenTextFile() og OpenAsTextStream() returnerer begge et TextStream-objekt. Vi lukker strømmen med close(): objfilopen.close() samme variabelnavn som er brukt i open-setningen Lesing fra og skriving til datafiler Som forklart foran, metodene som åpner en strøm returnerer et TextStream-objekt. Vi kommuniserer altså med datafilen via dette objektet. Vi overfører data fra filen til programmet ved å bruke ulike varianter av Read()-metoden: Read(antallTegn) ReadLine() ReadAll() Eksempel: leser inn et antall tegn leser data fram til neste linjeskift-tegn leser inn resten av strømmen linje = objfil.readline() ettegn = objfil.read(1) leser ett tegn resten = objfil.readall() Vi overfører data motsatt vei med ulike varianter av Write()-metoden: Write(tekst) WriteLine(tekst) WriteBlankLines(antall) Eksempel: objfil.write( Hallo! ) objfil.writeline("********************") objfil.writeblanklines(5) skriver teksten til filen, linjeskift legges ikke inn skriver teksten til filen, etterfulgt av linjeskift skriver et visst antall blanke linjer til filen side 3 av 10

4 Når programmet vårt jobber med en strøm, vedlikeholdes en intern peker som holder orden på hvor langt vi til enhver tid er kommet. Viktige egenskaper ved TextStream-objektet følger denne lese/skrivepekeren: AtEndOfLine AtEndOfStream Column Line True dersom neste tegn er linjeskift-tegnet True dersom vi er ved slutten av filen Gir kolonnenummer Gir linjenummer 7.2. Et eksempel: Logging av brukerevaluering Vi skal se på et eksempel der restaurant-gjester presenteres for et skjema (figuren nedenfor). Gjestene fyller ut skjemaet og sender det av gårde. Dette medfører at evalueringen lagres på en fil på tjenermaskinen. Vi gjør det enkelt, og lagrer evalueringene fortløpende. Vi lar en ASP presentere evalueringene i nettleseren. På grunn av skjemaets størrelse får vi også repetert hvordan vi tolker de ulike inputelementene. En typisk evaluering kan se slik ut på datafilen: Restaurant: ABC Fornøyd med: mat Ikke fornøyd med: pris Gjesten spiste: Stekte sjøkrepshaler med appelsinsaus Kommentarer: Nyydelig Kjønn: kvinne Alder: under20 ************************************************************** side 4 av 10

5 Figur 1: Skjema for evaluering av spisesteder Datafilen inneholder etter hvert mange slike evalueringer etter hverandre. Vi begynner med ASP en som leser alle evalueringene og presenterer dem på skjermen: <% ' ' AlleEvalueringer.asp E.L ' ' Denne asp-filen leser alle restaurant-evalueringene fra datafilen, ' og viser dem fram i nettleseren. Option Explicit %> <HTML><HEAD><TITLE>Alle evalueringer hittil</title></head> <BODY BGCOLOR="wheat" TEXT="darkgreen" LINK="brown" VLINK="steelblue" ALINK="darkblue"> <P><STRONG>Alle evalueringer pr <%=Date%></STRONG> <P> <% Const filnavn = "evalrest.txt" side 5 av 10

6 Const ForReading = 1 Dim objfso, objfil, linje 'Åpner en strøm knyttet til filen Set objfso = Server.CreateObject("Scripting.FileSystemObject") Set objfil = objfso.opentextfile(server.mappath(filnavn), ForReading, True) 'Leser en og en linje og viser fram på skjermen Do While Not objfil.atendofstream linje = objfil.readline() Response.Write linje & "<BR>" Loop Lukker strømmen objfil.close() %> </BODY></HTML> Legg merke til hvordan vi bruker AtEndOfStream som stoppkriterium i løkka. Vi leser en og en linje så lenge det er noe å lese. Hver linje som leses inn skrives ut i nettleservinduet. Merk at vi må skrive ut HTML-tag en <BR> for å få linjeskift på skjermen. La oss så se på skjemaet og ASP ene som behandler dette. Kildekoden til skjemaet er ren HTML og ser slik ut: <!-- Restaurant.html E.L > <HTML><HEAD><TITLE>Evalueringsskjema for spisesteder</title></head> <BODY BGCOLOR="wheat" TEXT="darkgreen" LINK="brown" VLINK="steelblue" ALINK="darkblue"> <H1>Evaluering av spisesteder</h1> <FORM ACTION="Restaurant0.asp" METHOD="post"> <P><STRONG>Navn på spisested:</strong> <INPUT NAME="navn" TYPE="text" SIZE="20"> </P> <P><STRONG>Ting du er fornøyd med:</strong><br> Mat<INPUT NAME="fornoyd" TYPE="checkbox" VALUE="mat"> Beliggenhet<INPUT NAME="fornoyd" TYPE="checkbox" VALUE="beliggenhet"> Service<INPUT NAME="fornoyd" TYPE="checkbox" VALUE="service"> Pris<INPUT NAME="fornoyd" TYPE="checkbox" VALUE="pris"> <P><STRONG>Ting du ikke er fornøyd med:</strong><br> Mat<INPUT NAME="ikkeFornoyd" TYPE="checkbox" VALUE="mat"> Beliggenhet<INPUT NAME="ikkeFornoyd" TYPE="checkbox" VALUE="beliggenhet"> Service<INPUT NAME="ikkeFornoyd" TYPE="checkbox" VALUE="service"> Pris<INPUT NAME="ikkeFornoyd" TYPE="checkbox" VALUE="pris"> <P><STRONG>Hva spiste du?</strong><br> <SELECT NAME="mat" MULTIPLE> <OPTION>Kalvemince med ris <OPTION>Gresk lammegryte side 6 av 10

7 <OPTION>Paella <OPTION>Pølse- og ostefylte auberginer <OPTION>Lett, varm grønnsakssalat med pasta og bacon <OPTION>Sennepsstekt lammecarré <OPTION>Kyllingfrikassé med tomat og estragon <OPTION>Stekte sjøkrepshaler med appelsinsaus </SELECT> <P><STRONG>Andre kommentarer:</strong><br> <TEXTAREA NAME="kommentarer" TYPE="textarea" ROWS="4" COLS="40"></TEXTAREA> <P><STRONG>Kjønn:</STRONG><BR> Kvinne<INPUT NAME="kjonn" TYPE="radio" VALUE="kvinne" CHECKED> Mann<INPUT NAME="kjonn" TYPE="radio" VALUE="mann"> <P><STRONG>Alder:</STRONG><BR> Under 20 år<input NAME="alder" TYPE="radio" VALUE="under20" CHECKED> år<input NAME="alder" TYPE="radio" VALUE="tjue"> år<input NAME="alder" TYPE="radio" VALUE="tretti"> år<input NAME="alder" TYPE="radio" VALUE="førti"> år<input NAME="alder" TYPE="radio" VALUE="femti"> Over 60 år<input NAME="alder" TYPE="radio" VALUE="seksti"> <P> <INPUT TYPE="submit" NAME="bekreft" VALUE="Send data"> <INPUT TYPE="reset" NAME="avbryt" VALUE="Blank ut feltene"> </FORM> </BODY></HTML> Behandlingen av skjemaet ligger i filen Restaurant0.asp: <% ' ' Restaurant0.asp E.L ' ' Denne asp-filen aktiviseres av Restaurant.html. Den henter data som er lagt inn i ' feltene der, og skriver disse til en tekstfil. Nye evalueringer skrives ' etter de som ligger der fra før. Option Explicit %> <HTML><HEAD><TITLE>Evalueringsskjema for spisesteder</title></head> <BODY BGCOLOR="wheat" TEXT="darkgreen" LINK="brown" VLINK="steelblue" ALINK="darkblue"> <% Const strfilnavn = "evalrest.txt" Const ForAppending = 8 Dim objfso, objfil 'Åpner filen Set objfso = Server.CreateObject("Scripting.FileSystemObject") Set objfil = objfso.opentextfile(server.mappath(strfilnavn), ForAppending, True) 'Skriver evalueringen til objfil side 7 av 10

8 objfil.write("restaurant: " & Request.Form("navn") & chr(13) & chr(10) & _ "Fornøyd med: " & Request.Form("fornoyd") & chr(13) & chr(10) & _ "Ikke fornøyd med: " & Request.Form("ikkeFornoyd") & chr(13) & chr(10) & _ "Gjesten spiste: " & Request.Form("mat") & chr(13) & chr(10) & _ "Kommentarer: " & Request.Form("kommentarer") & chr(13) & chr(10) & _ "Kjønn: " & Request.Form("kjonn") & chr(13) & chr(10) & _ "Alder: " & Request.Form("alder") & chr(13) & chr(10) & _ "**************************************************************" _ & chr(13) & chr(10) & chr(13) & chr(10)) 'Lukker filen og skriver en melding til klienten objfil.close() Response.Write "Din evaluering er lagret" %> <P>Ønsker å se <A HREF = "AlleEvalueringer.asp">alle evalueringene</a> </BODY></HTML> Evalueringene skrives fortløpende til datafilen. Merk at vi skriver hele evalueringen i en Write()-setning. Årsaken til dette er at det er viktig at alt skrives ut på en gang. Ellers kan vi risikere at klienter som leser evalueringene får tak i deler av en evaluering fordi de leser fra filen innimellom to Write()-setninger. Selv om alt skrives ut med én Write()-setning er det likevel viktig å få linjeskift på passende steder i datafilen (se utskrift av datafilen foran). I Windows/MS-DOS består et linjeskift av to tegn: tegnene med ASCII-verdi 13 ( carriage return ) og 10 ( line feed ). Så hver gang vi vil ha linjeskift må vi legge inn disse to tegnene i strengen vår. chr(13) betyr at vi skal ha det ene tegnet som har nr 13 og ikke tallet 13. Du legger kanskje også merke til understrekingstegnet i slutten av hver linje unntatt den siste i Write()-setningen. Det betyr at setningen fortsetter på neste linje Problemet med oppdatering hos klienten Kjør eksemplet foran. Trykk på Oppdater-knappen når du har siden RestaurantEvaluering1.jsp framme i nettleseren. Sjekk innholdet av datafilen. Hva skjer? De samme dataene lagres gang på gang. Dette er selvfølgelig ikke ønskelig. Vi vil kun lagre én evaluering pr besøk. Dette løser vi ved å bruke en sesjonsvariabel (se forrige leksjon). Vi setter variabelen etter at dataene er lagret første gang. Ved inngang til siden sjekker vi om variabelen er satt, dersom den er det, lagrer vi ikke på nytt. Vi kaller den reviderte utgaven av filen for RestaurantEvaluering.jsp, og den har følgende kropp (fullstendig utgave lastes ned i tilknytning til leksjonen): <% If Request.Form("bekreft") <> "" And Session("lagret") = "" Then Const strfilnavn = "evalrest.txt" Const ForAppending = 8 Dim objfso, objfil 'Åpner filen Set objfso = Server.CreateObject("Scripting.FileSystemObject") Set objfil = objfso.opentextfile(server.mappath(strfilnavn), ForAppending, True) side 8 av 10

9 'Skriver evalueringen til objfil objfil.write(.) 'Lukker filen og skriver en melding til klienten objfil.close() Session("lagret") = "ok" Response.Write "Din evaluering er lagret" End If %> 7.4. Et forsøk på begrepsavklaring Et tillegg til leksjonen Hva er en klasse, hva er et objekt, og er det noe som heter instans? Og hva i all verden er en komponent? Er du begrepsforvirret? Det er i tilfelle en riktig reaksjon. For det viser seg at disse begrepene delvis brukes om hverandre. I denne leksjonen har vi brukt alle (eller nesten alle) disse begrepene, og vi skal derfor repetere hva som ligger i dem. Et objekt i et program er (som oftest) en modell av en ting i den virkelige verden. Vi kan modellere Karis bil, byen Trondheim eller fotball-laget. En klasse er en beskrivelse av en mengde objekter med samme egenskaper og oppførsel. Vi kan for eksempel lage en klasse som beskriver biler. Da vil Karis bil være et objekt som tilhører denne klassen. En klasse-erklæring begynner med det reserverte ordet Class. I leksjon 3, kapittel 3.2 finner du et eksempel på en klasse. Vi kan også si at Karis bil er en instans av den klassen som beskriver biler. Instans er en fornorskning av det engelske ordet instance som betyr bl.a. eksempel. Karis bil er med andre ord et eksempel på en bil. Du har ikke laget mange klasser i dette kurset. Du har derimot brukt en del ferdige klasser. Se på følgende setning: Response.Write( <H1>Dette blir en overskrift</h1> ) Response er et objekt. Det er en instans av en klasse som du ikke ser. Objektet inneholder informasjon som nettleseren tolker. Imidlertid snakker boka (og den er ikke alene!) om instances of objects, for eksempel side 161. Da er det meningen at du skal bli litt forvirret. For her burde det i stedet stått instances of classes eller objects of classes. Saken er den, og nå siterer jeg fra en meget ryddig bok på området 1 : One of the reason that the term class has been overrun by the term object is that a large precentage of the objects that people use were not written by themselves. Instead, they are binary objects distributed in the form of components. So they do not think of them as classes. Men her dukket ordet komponent opp. En komponent er en samling klasser, gjerne i form av en DLL-fil. Vi har i denne leksjonen brukt en komponent som heter Scripting. Og vi følger den allmenne ordbruken og sier at denne komponenten består av seks objekter (selv om vi egentlig burde sagt seks klasser ). Også den refererte ryddige boka gjør det samme. Vi må 1 Susanne Clark, et.al.: VBScript Programmer s Reference. Wrox Press Ltd. 1999, ISBN side 9 av 10

10 bare ha i bakhodet at det ikke blir objekter før vi tar dem i bruk i programmet vårt, for eksempel slik: Set filobjekt = filsystemobjekt.openastextstream(forreading) Metoden OpenAsTextStream() genererer et objekt av klassen TextStream. Det er dette objektet variabelnavnet filobjekt gir oss adgang til. side 10 av 10

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

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

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

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

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

8. ASP med databasekopling, del I

8. ASP med databasekopling, del I Else Lervik 16.03.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D Web-programmering med ASP 8. Resymé: Leksjonen begynner med en generell introduksjon til databaser

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

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 - AITeL Kandidatnr: Eksamensdato: 11. mai 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LV197D Webprogrammering med PHP FU Studiepoeng:

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

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler Plan for dagen Vprg 4 LC191D Videregående programmering Høgskolen i Sør-Trøndelag Avdeling for informatikk og e-læring Anette Wrålsen Del: Intro til tekstfiler Del II: Mer om tekstfiler, Scanner-klassen

Detaljer

Web-programmering med JSP Løsningsforslag leksjon 3

Web-programmering med JSP Løsningsforslag leksjon 3 Web-programmering med JSP Løsningsforslag leksjon 3 Oppgave 1 Denne siden viser inneholder en oversikt over biler:

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

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

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

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Oblig 5 Webutvikling. Av Thomas Gitlevaag Oblig 5 Webutvikling Av Thomas Gitlevaag For oppgave 1 og 2 skal dere levere en funksjonell webside på deres hjemmeområde. Dere skal også levere alle phps-filene slik at man for en hver side kan slenge

Detaljer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære bruk av inn- og ut-operasjoner

Detaljer

lagring med HTML5 Offline lagring Offline Informasjonsteknologi 2 Gløer Olav Langslet Sandvika VGS

lagring med HTML5 Offline lagring Offline Informasjonsteknologi 2 Gløer Olav Langslet Sandvika VGS Offline lagring med HTML5 Gløer Olav Langslet Sandvika VGS Leksjon 8 Informasjonsteknologi 2 Offline lagring I IT1 brukte vi databaser til å lagre data. Der kunne vi bygge tabeller og fylle dem med innhold

Detaljer

Repetisjon Novice Videregående Python PDF

Repetisjon Novice Videregående Python PDF Repetisjon Novice Videregående Python PDF Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks. Hele dette kurset er for de som har programmert Python før. Dersom ikke har mye erfaring med

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

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

1 ASP og VBScript. 1.1 Om denne leksjonen

1 ASP og VBScript. 1.1 Om denne leksjonen Stiftelsen TISIP i samarbeid med Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Tomas Holt 02.02.2004 Opphavsrett: Tomas Holt og Stiftelsen TISIP Lærestoffet er utviklet for faget LV192D

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

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

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

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen.

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen. Hver gang funksjonen printhallo kalles utføres instruksjonene spesifisert i den. [Kurssidene] [ ABI - fagsider bibin ] Webprogrammering høsten 2015 //funksjonskall printhallo(); //enda en gang printhallo();

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 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

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive, 1. Last ned og installer XAMPP. 2. Sjekk at alt fungerer. 3. MySQL. Vi begynner med databaseserveren, MySQL. Gå til DOS klarmelding eller ledetekst (finnes under tilbehør på startmenyen om du ikke som

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

en hjemmeside Lesson Introduksjon Du kjenner en del HTML tagger, så nå er det på tide å lage din første hjemmeside! La oss begynne med en gang.

en hjemmeside Lesson Introduksjon Du kjenner en del HTML tagger, så nå er det på tide å lage din første hjemmeside! La oss begynne med en gang. Lesson 2 en hjemmeside 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

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

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 - AITeL Kandidatnr: Eksamensdato: 15.desember 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU

Detaljer

En enkel while-løkke. 1 of 12 15.09.2015 15:28. 2 of 12 15.09.2015 15:28. while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt

En enkel while-løkke. 1 of 12 15.09.2015 15:28. 2 of 12 15.09.2015 15:28. while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 15/09-15 En liten repetisjon Løkker Arrayer (tabeller) Løkker

Detaljer

Betinget eksekvering og logiske tester i shell

Betinget eksekvering og logiske tester i shell Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget

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

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

EndNote referansehåndteringsprogram. HiVe biblioteket

EndNote referansehåndteringsprogram. HiVe biblioteket EndNote referansehåndteringsprogram HiVe biblioteket Mappestruktur Mine dokumenter EndNote Bibliotek.enl Bibliotek.Data Styles APA 6th HiVe.ens 2 Om EndNote EndNote brukes til å holde orden på litteraturreferanser.

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

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder: Lese fra fil Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo INF1000 : Forelesning 5 Vi må først importere pakken easyio Vi åpner

Detaljer

Hangman. Level. Introduksjon

Hangman. Level. Introduksjon Level 2 Hangman All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduksjon

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære bruk av inn- og utoperasjoner i Python

Detaljer

Læringsmål og pensum. Inn- og utoperasjoner 21/10/16

Læringsmål og pensum. Inn- og utoperasjoner 21/10/16 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære bruk av inn- og utoperasjoner i Python

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

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

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

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Inf109 Programmering for realister Uke 5 I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Før du starter må du kopiere filen graphics.py fra http://www.ii.uib.no/~matthew/inf1092014

Detaljer

1: Steng ned alle MAB på alle maskiner før dere starter oppdateringen. Dette gjelder også MAB Schedule som dere vil finne på serveren.

1: Steng ned alle MAB på alle maskiner før dere starter oppdateringen. Dette gjelder også MAB Schedule som dere vil finne på serveren. Oppdatering av MAB. Før dere begynner pass på følgende 1: Steng ned alle MAB på alle maskiner før dere starter oppdateringen. Dette gjelder også MAB Schedule som dere vil finne på serveren. 1 2. Viktig

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

Bruk av NetBeans i JSP-delen av Web-applikasjoner med JSP og JSF

Bruk av NetBeans i JSP-delen av Web-applikasjoner med JSP og JSF Bruk av NetBeans i JSP-delen av Web-applikasjoner med JSP og JSF Else Lervik, august 2010 (Av hensyn til JSF-delen av kurset anbefaler vi at du sørger for å ha NetBeans-versjon 6.9.) I den grad denne veiledningen

Detaljer

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

Tilgjegelighet av XHTML-forms

Tilgjegelighet av XHTML-forms [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 08/02-14 Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 Eksempel 1: For å lage en liten array (bare 5 innførsler)

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier, innlesing fra fil og strenger INF1000, uke5 Ragnhild Kobro Runde MER OM LØKKER Repetisjon fra forrige uke: while Syntaks: while (condition)

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

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

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

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett. Hvor i All Verden? Del 1 Introduksjon Hvor i All Verden? er et reise- og geografispill hvor man raskest mulig skal fly innom reisemål spredt rundt i Europa. I denne første leksjonen vil vi se på hvordan

Detaljer

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14 Kom i gang med 2 I dette heftet skal vi gjøre oss kjent med micro:bit og lære å programmere med blokk-kode. Heftet inneholder seks ulike prosjektoppgaver med differensiert innhold og tema. 1. Rullende

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

[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

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

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 3 Frist: 2014-02-07 Mål for denne øvinga:

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

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Introduksjon Vi begynner med å bygge en enkel datamaskin. Etter å ha brukt litt tid på å bli kjent med hvordan datamaskinen virker, bruker vi den

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 Verdier, variabler og forms Michael Preminger (michaelp@hio.no) 30/08-06 Et program kan ha mange variabler, og alle trenger

Detaljer

INF120: Oblig 3. Yngve Mardal Moe

INF120: Oblig 3. Yngve Mardal Moe Yngve Mardal Moe Mar 28, 2019 Contents 1 Hva trenger dere for denne oppgaven 3 2 Hvordan skal dere arbeide med denne oppgaven 5 3 En søkeindeks 7 4 Å slå opp i en søkeindeks 9 5 Å utvide en søkeindeks

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

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

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

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

Kanter, kanter, mange mangekanter

Kanter, kanter, mange mangekanter Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte

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

Debugging. Tore Berg Hansen, TISIP

Debugging. Tore Berg Hansen, TISIP Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...

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

Å lese tall fra en fil, klassen Scanner

Å lese tall fra en fil, klassen Scanner Å lese tall fra en fil, klassen Scanner 1. Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2. Kan skanne teksten etter data av ulike typer. 3. Kan kun skanne framover i teksten. Vis

Detaljer

En enkel innføring i ASP

En enkel innføring i ASP En enkel innføring i ASP Til å begynne med ble CGI "Common Gateway Interface" brukt til å kommunisere mellom et HTML skjema og webserveren. I FORM knaggen ble navnet på CGI applikasjonen angitt, i attributten

Detaljer

6105 Windows Server og datanett

6105 Windows Server og datanett 6105 Windows Server og datanett Labøving: Filsystemet NTFS og Oppgave a: på mapper I denne øvingen skal du lage en ny mappe på den lokale disken på tjenermaskinen, og gi til den. Du skal så teste ut om

Detaljer

Erlend Oftedal. Risiko og sikkerhet i IKT-systemer, Tekna

Erlend Oftedal. Risiko og sikkerhet i IKT-systemer, Tekna Sikkerhet i Web 2.0 Erlend Oftedal Risiko og sikkerhet i IKT-systemer, Tekna Hva er spesielt med Web 2.0? Innhold fra flere kilder Sosiale nettsteder med brukergenerert innhold Mashups gjerne med innhold

Detaljer

while-løkker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke

while-løkker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke while-løkker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hioa.no) 01/09-17 En liten repetisjon Løkker Arrayer

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, prosedyrer, funksjoner, tekst og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve 1 Tilbakeblikk Dere bør nå beherske det sentrale fra uke 1 og 2: Uttrykk, typer,

Detaljer

1. Å lage programmer i C++

1. Å lage programmer i C++ Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Å lage programmer i C++ Tore Berg Hansen og Else Lervik Rividert siste gang 24. august 2006 1. Å lage programmer i C++ Resymé: Dette notatet

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 Vi kommer for det meste til å bruke while-løkker, men for-løkker anses viktige å kjenne til Michael

Detaljer

1. Installasjon av supportpack

1. Installasjon av supportpack Installasjon av supportpack Stein Meisingseth 22.1.2004 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO465 Novell Netware for systemansvarlige 1. Installasjon av supportpack

Detaljer

}?> <!DOCTYPE... <html xmlns="http://www.w3.org/1999/xhtml"> <head>... </head> <body> <p>nå skal vi printe hallo:</p> <?php //funksjonskall

}?> <!DOCTYPE... <html xmlns=http://www.w3.org/1999/xhtml> <head>... </head> <body> <p>nå skal vi printe hallo:</p> <?php //funksjonskall Hver gang funksjonen printhallo kalles utføres instruksjonene spesifisert i den. [Kurssidene] [ ABI - fagsider bibin ] //funksjonskall printhallo(); //enda en gang printhallo(); Michael Preminger (michaelp@hio.no)

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

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale. Høgskolen i Telemark Fakultet for allmennvitenskapelige fag EKSAMEN I 6108/6108N PROGRAMMERING I JAVA 21. 12. 2015 Tid: 4 timer Sidetall: Hjelpemiddel: Merknader: Framside + 5 sider Alt trykt og skriftlig

Detaljer

MAT1030 Plenumsregning 1

MAT1030 Plenumsregning 1 MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte

Detaljer

Forsvunnet katt webside

Forsvunnet katt webside Lesson 3 Forsvunnet katt webside All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what

Detaljer

Mattespill Nybegynner Python PDF

Mattespill Nybegynner Python PDF Mattespill Nybegynner Python PDF Introduksjon I denne leksjonen vil vi se litt nærmere på hvordan Python jobber med tall, og vi vil lage et enkelt mattespill. Vi vil også se hvordan vi kan gjøre ting tilfeldige.

Detaljer

Hittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste

Hittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste Datafiler og serialisering Tekstfiler Scanner klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc191d.php

Detaljer

Legg bort skilpaddene dine, i dag skal vi lære hvordan vi kan sende hemmelige beskjeder!

Legg bort skilpaddene dine, i dag skal vi lære hvordan vi kan sende hemmelige beskjeder! Level 1 Hemmelige koder All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Legg

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

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

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

Python: Filer og unntak Gaddis: Kapittel 6

Python: Filer og unntak Gaddis: Kapittel 6 Python: Filer og unntak Gaddis: Kapittel 6 TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære hva filer er Lære hva unntaksbehandling er Kunne bruke inn- og utoperasjoner i Python

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

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

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