2. Lage ASP.NET sider

Størrelse: px
Begynne med side:

Download "2. Lage ASP.NET sider"

Transkript

1 Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Lage ASP.NET sider Grethe Sandstrak Lærestoffet er utviklet for faget LV199D Web-programmering med ASP.NET 2. Lage ASP.NET sider Resymé: I denne leksjonen skal vi lage enkle ASP.NET sider. Innhold 2.1. INNLEDNING LAGE ASP.NET SIDER Web-skjema ASP.NET kode Visning av gjestebok i nettleser Viewstate VISUAL BASIC.NET OG C#.NET C#.NET Visual Basic.NET En minikalkulator i ASP.NET Innledning I denne leksjonen skal vi se nærmere på oppbyggingen av en ASP.NET side. Vi ser på de enkelte delene en slik side består av og hvordan vi skiller mellom HTML-kode og ASP.NET kode. Videre ser vi på hva de enkelte kodebitene betyr og hva som foregår i kulissene. Til sist i leksjonen skal vi se litt på programmeringsspråkene C#.NET og Visual Basic.NET som er de vi forholder oss til i dette kurset Lage ASP.NET sider I første leksjon presenterte vi et par enkle eksempler på ASP.NET kode. Vi skal nå gå inn å se litt nærmere på en ASP.NET side og hvilke deler denne består av. Under følger et eksempel på en ASP.NET side for en temporær gjestebok gjestebok.aspx. Siden fungerer slik at en bruker kan legge inn flere innlegg som adskilles med en horisontallinje (<hr>). Gjesteboken er ikke så veldig nyttig iom at den er temporær: dvs at den

2 Lage ASP.NET sider side 2 av 14 virker kun i en og samme nettleser (har ingen evne til å kommunisere med andre brukere/nettlesere) og innholdet forsvinner idet du stenger nettleseren. Slik ser fila gjestebok.aspx ut: VB-kode: C#-kode:

3 Lage ASP.NET sider side 3 av 14 Vi ser at det er mange likheter med en vanlig HTML-side som inneholder et skjema. La oss først se på den aller første linjen i koden: <%@ Page Language = "VB" %> Dette er et Sidedirektiv som lar deg inkludere spesielle instruksjoner til ASP.NET om hvordan denne siden skal behandles. I dette tilfellet spesifiserer vi hvilket programmeringsspråk som vil bli benyttet som standard på denne siden. Vi kan her velge bla mellom C# og VB.NET Web-skjema Vi kjenner igjen elementene fra HTML-skjema, <form>-tag og opprettelse av kontroller en tekstboks, en knapp og et ledetekstfelt. Legg merke til at vi i form-taggen ikke har spesifisert noen metode eller handling slik vi gjør i for eksempel ASP-sider, for å fortelle skjemaet hvor den skal sende/behandle inndataene. <form runat = "server"> Når dette ikke er spesifisert kalles samme side på nytt skjemaet sender info til seg selv (postback). Dermed kan vi legge inn ASP.NET kode som behandle inndataene. Et nytt element i form-taggen er runat = server, denne setningen forteller ASP.NET at du vil tjeneren skal holde oversikten over skjemaet, vi kaller dette for et Web-skjema. Om setningen utelates vil skjemaet oppføre seg som et vanlig HTML-skjema. Merk at du ikke kan skrive runat = client da vil du få en feilmelding Parser error message: the runat attribute can only have the value server. Vil du lage vanlig HTMLskjema utelater du altså bare runat-setningen.vi skal komme tilbake til mer om web-skjema i leksjon 4. I Web-skjemaet (mellom <form> og </form>-taggene blir det opprettet fire web-kontroller: En vanlig tekstboks, en tekstboks over flere linjer(multiline) tilsvarer textarea i HTML, en ledetekst og en trykknapp. Alle kontrollene er merket med attributtet runat = server. En vanlig nybegynnerfeil er å glemme denne runat-setningen, da vil disse bli sendt direkte tilbake til klienten i stedet for å bli behandlet korrekt av tjeneren. I og med at nettlesere ignorerer alle tagger de ikke kjenner, så vil de ikke bli vist til brukeren. <asp:textbox id = "tbnavn" runat = "server"/> <asp:textbox id = "tbkommentarer" TextMode = "multiline" rows=5 runat="server"/> <asp:button id="btknapp" Text="Legg til kommentar" OnClick="knappe_klikk" runat ="server" /> <asp:label id = "lblinnlegg" runat = "server"/> Vi ser likhetene til tilsvarende HTML-kontroller (<input name= tbnavn type = text id = tbnavn >). Hver enkelt web-kontroll har sin egen unike id, slik at vi kan referere til den andre steder i ASP.NET siden. Legg merke til hvordan vi gir disse navn: Alle textbokser har navn som starter med tb etterfulgt av et beskrivende navn for hva den inneholder, for eksempel tbnavn. Knapper har navn som starter bt og ledetekster har navn som starter med lbl. Merk at vi følger lærebokas notasjon, kanskje har du lært noe annet tidligere?

4 Lage ASP.NET sider side 4 av 14 Når det gjelder knappen som er opprettet så har den et ekstra attributt: OnClick = "knappe_klikk". Dette ligner en del på klientside script for de som har kjennskap til det. Knappen har en hendelse (event) ved navn OnClick som inntrer når knappen klikkes på. Ved klikk på knappen vil ASP.NET kjøre prosedyren knappe_klikk. I motsetning til klientside script så er det tjeneren som behandler disse hendelsene og avgjør hva som skal gjøres. En hendelse kan også være et tastetrykk eller et menyvalg. Merk at ASP.NET er nøye på at tagger avsluttes: som for eksempel <form> </form>. Det samme gjelder når du oppretter kontroller: <asp:textbox id = "tbnavn" runat = "server"/> (lovlig kortform for : <asp:textbox id = "tbnavn" runat = "server"> </asp:textbox> ASP.NET kode Det er to måter å lage ASP.NET kode, enten i en kode-deklarasjons blokk eller i en kodeoversettelsesblokk (eng: code render block). På denne måten er det enkelt å se hva som er ASP.NET kode og hva som HTML. Kode-deklarasjons blokk En deklarsjonsblokk er i motsetning til ren HTML-kode, ikke avgrenset til den aktuelle siden, den inneholder også programkode som skal kjøres på tjeneren. Deklarasjonsblokka er kompilert til maskinkode, kompilert kode blir utført raskere og mer stabilt enn om du skulle bruke kode som tolkes under kjøring, som for eksempel kode-oversettelses- blokker (code render, forklart lenger ned i teksten). La oss se på en slik deklarasjonsblokk: Du har vært vant til å bruke script-taggen til klientside scripting. Ved å legge til setningen runat = server inni script-taggen sier vi at det er tjeneren som skal kjøre scriptet. <script runat = "server"> </script> Dette er en deklarasjons blokk. Programkoden inni scriptet prosesseres dynamisk koden kompileres og kjøres av tjeneren. Inni script-taggen finner vi metoden knappe_klikk. Hver gang denne metoden kalles vil innholdet i ledetekstfeltet lblinnlegg oppdateres. Feltet oppdateres slik at først skrives det en horisontal linje(<hr>), deretter kommer innholdet i tekstboksene tbnavn og tbkommentar med en blank linje (<p>) mellom seg, til sist kommer eventuelle tidligere innlegg (innholdet av lblinnlegg). VB sub knappe_klikk(obj as object, e as eventargs) lblinnlegg.text = "<hr> +tbnavn.text+"<p>"+tbkommentarer.text+lblinnlegg.text end sub C# protected void knappe_klikk(object sender, EventArgs e) { lblinnlegg.text = "<hr>"+ tbnavn.text+"<p>"+ tbkommentar.text+lblinnlegg.text; }

5 Lage ASP.NET sider side 5 av 14 Kode- oversettelsesblokk En oversettelsesblokk er som nevnt over, avgrenset til å gjelde bare på denne siden. Den omsluttes av taggene: <% %>. I gjestebok-eksemplet er følgende linje med: VB <% Response.Write("Grethe's Temporære gjestebok! ") %> Denne setningen sier at vi har et objekt kalt Response, og vi bruker dette objektet sin metode Write for å skrive ut tekst i nettleseren. Det er fullt mulig å legge inn HTML-tagger i teksten vi ønsker å skrive ut, for eksempel slik: C# <% Response.Write("<b>Grethe's Temporære gjestebok! </b> "); %> Slike oversettelsesblokker kan plasseres innimellom vanlig HTML-kode hvor det er hensiktsmessig. Response og andre objekter blir mer inngående forklart i leksjon 3. Hva er best? Vi har altså to ulike metoder å skrive ASP.NET kode på i en ASP.NET side i en deklarasjonsblokk eller i en oversettelsesblokk. Den første metoden er klart å foretrekke, fordi den er raskere (kompilert kode) og eliminerer såkalt spagetti-programmering, som kan oppstå om vi dytter inn oversettelsesblokker overalt i ASP.NET siden. Det vi må tenke på ved utvikling av en ASP.NET side, er at det skal være lett å skille mellom HTML-kode og ASP.NET kode. Det skal være enkelt å rette opp eventuelle feil og legge til nye elementer. Dette kan oppnås ved å bruke deklarasjonsblokker i størst mulig grad. Hva skjer i kulissene? I forrige leksjon ble det vist en figur over hva som skjer på tjenersiden når den mottar en forespørsel fra en klient. Vi gjør denne litt mer detaljert for å vise hva ASP.NET gjør med forespørselen, se Figur 2-1.

6 Lage ASP.NET sider side 6 av 14 Figur 2-1 Hva gjør ASP.NET med forespørsler Første gang en klient sender forespørsel til tjeneren om å vise en side, vil ASP.NET kompilere nødvendig kode (alle deklarasjonsblokker), når det er gjort går ASP.NET videre og behandler eventuelle hendelser og kjører programkoden. Til sist oversettes resultatet av kjøringa til HTML-kode (for eksempel <asp:textbox> gjøres om til en HTML- inputboks), som da returneres til klienten via web-tjeneren (IIS). Du har sikkert merket at når du laster en side første gang, så oppstår det en liten forsinkelse, men når du kommer tilbake for andre gang går det en del raskere. Dette er nettopp fordi at koden kompileres kun ved første visning. Selv om det oppstår en liten forsinkelse første gang siden vises, vil man få økt ytelse ved senere forespørsler, så lenge koden for siden ikke er endret da må den kompileres på nytt, selv om endringene som er gjort er minimale Visning av gjestebok i nettleser Figur 2-2 viser hvordan fila gjestebok.aspx presenteres i en nettleser første gang og etter å ha lagt til to nye innlegg.

7 Lage ASP.NET sider side 7 av 14 Figur 2-2 Eksempel på kjøring av gjestebok.aspx Viewstate I utgangspunktet er http en tilstandsløs protokoll, det betyr at hver forespørsel til tjeneren er uavhengig av alle andre. Dette innebærer et problem for programmereren, for med en gang klienten sender en ny forespørsel sendes informasjon til tjeneren for deretter å glemmes. Ofte er det beholv for å huske denne informasjonen og dette kan gjøres på flere måter: Cookies Sesjoner Skjulte felt (hidden) I ASP.NET finnes det et innebygd skjult felt som heter Viewstate. Dette feltet beskriver hvordan et objekt ser ut i et bestemt øyeblikk. Hvis vi ser på gjestebok eksemplet og bildet til høyre i Figur 2-2, så vil viewstate inneholde all informasjon som klienten har skrevet inn i de ulike kontrollene: tekstboksen tbnavn inneholder teksten Svend, knappen btknapp indikerer om den er trykket på eller ikke, osv. Hvis du fyller ut et HTML-skjema og kommer tilbake til det senere, så er sjansen stor for at de feltene du fylte ut er tomme, dette fordi at disse ikke har tillatelse til å overvåke viewstate eller lignende informasjon. ASP.NET holder automatisk oversikten over viewstate til alle elementer som inneholder attributtet runat = server. Det lages da et skjult felt (hidden) som inneholder de aktuelle verdiene. Vi ser litt næremere på gjestebokfila vi har laget i denne leksjonen. Vi har åpnet den

8 Lage ASP.NET sider side 8 av 14 i en nettleser og skrevet inn verdiene som vist til høyre i Figur 2-2. Deretter velger vi Vis kilde (view source) i Internet Explorer for å se på koden slik den fremstår for klienten: HTML <html><title>grethes temporære gjestebok</title> <body> Grethe's Temporære gjestebok! <form name="_ctl0" method="post" action="gjestebok.aspx" id="_ctl0"> <input type="hidden" name=" VIEWSTATE" value="ddwxote0ndy4ode2o3q8o2w8atwwpjs+o2w8ddw7bdxppdc+oz47bdx0pha8cdxspfrlehq7pjts PFw8aHJcPlN2ZW5kXDxwXD5KYSwgaWtrZSBzYW50Pw0KXDxoclw+R3JldGhlXDxwXD5EZXR0ZSB2YXIgamF tbwvuigfduhkhdqo7pj47pjs7pjs+pjs+pjs+hx8avt7pdrbkggy1f7hzudm+aiy=" /> <B>Brukernavn:</B> <input name="tbnavn" type="text" value="svend" id="tbnavn" /> <p> <b>kommentarer:</b> <br> <textarea name="tbkommentarer" rows="5" id="tbkommentarer">ja, ikke sant? </textarea> <br> <input type="submit" name="btknapp" value="legg til kommentar" id="btknapp" /> <span id="lblinnlegg"><hr>svend<p>ja, ikke sant? <hr>grethe<p>dette var jammen gã y! </span> </form> </body></html> Vi ser at dette ikke den samme koden som vi opprinnelig skrev inn. For det første er deklarasjonsblokka er borte (<script>) dette var som vi husker kode som kompileres og kjøres på tjeneren. Videre legger vi merke til at <form> - blokka har endret seg en del. Der vi skrev: <Form runat = server > står det nå: <form name="_ctl0" method="post" action="gjestebok.aspx" id="_ctl0"> Merk: dersom du setter id-attributtet til formen slik vi har vist i C#-koden, <Form id= form1 runat = server >, så vil vi name og id vises som form1. En annen forandring er at ASP.NET kontrollene er gjort om til HTML-kontroller, for eksempel linjen: <asp:textbox id = "tbkommentarer" TextMode = "multiline" rows=5 runat = "server" /> Er nå blitt til: <textarea name="tbkommentarer" rows="5" id="tbkommentarer">ja,ikke sant? </textarea> Det som var en multiline tekstboks i ASP.NET koden, er nå et tekstområde + at innholdet i tekstfeltet er blitt en del av siden (teksten: Ja, ikke sant? ). Hvordan er dette mulig? Som nevnt over, inneholder det noe kryptiske, skjulte feltet viewstate alle aktuelle verdier for en side. Dette feltet er en del av klientens forespørsel til tjeneren og blir oppdateret med eventuelle nye verdier av tjeneren før det returneres som en del av responsen til klienten.

9 Lage ASP.NET sider side 9 av 14 <input type="hidden" name=" VIEWSTATE" value="ddwxote0ndy4ode2o3q8o2w8atwwpjs+o2w8ddw7bdxppdc+oz47bdx0pha8cdxspfrlehq7pjts PFw8aHJcPlN2ZW5kXDxwXD5KYSwgaWtrZSBzYW50Pw0KXDxoclw+R3JldGhlXDxwXD5EZXR0ZSB2YXIgamF tbwvuigfduhkhdqo7pj47pjs7pjs+pjs+pjs+hx8avt7pdrbkggy1f7hzudm+aiy=" /> Viewstate vil inneholde alle de inndata som er skrevet inn i de ulike feltene ved postback forespørsel (altså ikke første gang siden lastes, og bare hvis siden kaller seg selv). Hvis du forlater gjesteboken og besøker en annen side for eksempel for så å gå tilbake til gjesteboken, ved å trykke på Tilbake (Back)-knappen og deretter oppdater/refresh i nettleseren, så vil de siste inndata du skrev huskes. Merk at hvis du derimot skriver inn adressen til siden (url) på nytt, så blir det oppfattet som en ny sesjon og du får opp bare blanke felter. Denne funksjonaliteten ved ASP.NET er spesielt gunstig på web-sider hvor en bruker skal fylle ut et registrerings skjema med flere obligatoriske felter. Hvis en bruker forsøker å sende et skjema uten å ha fylt ut alle nødvendige felt, ønsker vi å skrive en feilmelding til vedkommende for så å presentere skjema på nytt med de data brukeren allerede har skrevet inn. Å la brukeren være nødt til å skrive inn alle data på nytt når feil oppstår, kan være en stor kilde til frustrasjon for brukeren og det ønsker vi å unngå Visual Basic.NET og C#.NET I dette kurset er det mulig å bruke enten C# eller VB som programmeringsspråk. Under lesing i læreboka vær obs på at programeksemplene er laget i både i VB.NET og C# C#.NET C# (uttales C- sharp) er et programmeringsspråk i C-familien. C# har sin bakgrunn i C og C++ og prøver å kombinere det beste fra C, C++, Java og også MS Visual Basic. Programmeringsspråket er designet spesielt for.net plattformen av Microsoft. Dette for å gjøre det enklere for programmerere å ta i bruk denne plattformen. For de som har programmert i C++ eller Java før, vil man se likhetene mellom de ulike programmeringsspråkene og kunne dra veksler på tidligere erfaringer når man setter seg inn C#. C# er et hendelsesstyrt, objektorientert og visuelt programmeringsspråk Visual Basic.NET VB.NET er et programmeringsspråk som har vært i bruk i mange år. Første versjon av Visual Basic kom 1991 og er etterfølgeren til Basic. Basic står for Beginners All-purpose Symbolic Instruction Code. Bakgrunnen for å lage språket var å gjøre det lettere for nybegynnere å programmere. VB.NET er siste utvidelse av språket og støttes fult ut av.net rammeverk og CLR. Forholdsvis mange ASP.NET utviklere benytter seg av dette språket og det er enkelt å lære. Frisk gjerne opp kunnskapen om VB.NET (variabler, datatyper, tabeller, operatorer, kontrollstrukturer, funksjoner, klasser, arv) og ta deretter en titt på de to neste eksemplene i leksjonen et lite og enkelt eksempel og et litt større for å dekke litt flere temaer En minikalkulator i ASP.NET La oss se på et lite programeksempel fila Minikalkis.aspx. Vi ser at denne siden består kun av en deklarasjonsblokk (script) med VB.NET kode. Hver gang siden lastes kjøres

10 Lage ASP.NET sider side 10 av 14 programkoden. Det opprettes tre globale variabler, en tekststreng og to tall og inni metoden page_load skrives regnestykke med svar ut i nettleseren: VB <%@ Page Language = "VB" %> <script runat = "server"> Dim Tekst as String = "<b>velkommen til Grethes minikalkis :)</b><br /><br />" Dim A as integer = 2 Dim B as integer = 3 sub page_load(obj as object, e as eventargs) Response.Write(Tekst) Response.Write("Et lite regnestykke: ") Response.Write(A & " * " & B & " = " & A*B) end sub </script> <html><head><title>minikalkis</title></head> <body></body></html> C# <%@ Page Language = "C#" %> <script runat = "server"> String tekst = "<b>velkommen til Grethes minikalkis :)</b><br /><br />"; int a = 2; int b = 3; Protected Page_Load(object sender, EventArgs e) { Response.Write(Tekst); Response.Write("Et lite regnestykke: "); Response.Write(a + " * " + b + " = " + a*b); } </script> <html><head><title>minikalkis</title></head> <body></body></html> En klient som sender en forespørsel etter denne siden, vil motta følgende HTML-kode. Merk spesielt hvor Response.Write setningene havner hen i HTML-fila.: <b>velkommen til Grethes minikalkis :)</b><br /><br />Et lite regnestykke: 2 * 3 = 6 <html><head><title>minikalkis</title></head> <body></body></html> Dette resulterer i følgende visning i nettleser:

11 Lage ASP.NET sider side 11 av 14 Figur 2-3 Minikalkis enkel utgave Når det gjelder navnekonvensjon for variabler, så er en ofte brukt notasjon i VB.NET å bruke et prefiks som indikerer datatypen til den bestemte variabelen (læreboka følger denne standarden): For eksempel i eksemplet over så ville det stå: Dim strtekst as String = <b>hei</b> Dim inta as Integer = 2 Det er også viktig å gi variablene beskrivende navn slik at det er lett å huske hva de skal brukes til. Et siste punkt vi skal minne om er at det er ikke uten videre lov å blande tall og tekst i for eksempel et regnestykke. VB hjelper oss litt på vei her, men i C# må vi parse om teksten til tall. Vi utvider minikalkisen til å la klienten lese inn to tall fra tastaturet: Figur 2-4 Minikalkis med innlesing fra klient Ny utgave av fila minikalkis.aspx følger under. Legg merke følgende endringer: Metoden i Script-blokka har endret navn til Beregn_Knapp (kjøres dermed ikke hvergang siden lastes. Kun når knappen er trykket på.) Det er lagt til HTML-kode. VB <%@ Page Language = "VB" %> <script runat = "server">

12 Lage ASP.NET sider side 12 av 14 Dim A as integer Dim B as integer sub Beregn_Knapp(obj as object, e as eventargs) A = tbtall1.text her foregår automatisk parsing av tekst til tall B = tbtall2.text Response.Write("<p>Et lite regnestykke: ") Response.Write(A & " * " & B & " = " & A*B) end sub </script> <html><title>minikalkis</title> <body> <p><b>velkommen til Grethes minikalkis :)</b><br /> <form runat = "server"> Skriv inn tall 1: <asp:textbox id="tbtall1" runat = "server"/> <br /> Skriv inn tall 2: <asp:textbox id="tbtall2" runat = "server"/> <asp:button id="btberegn" Text = "Utfør beregning" OnClick= "Beregn_Knapp" runat = "server" /> </form> </body></html> C# <%@ Page Language = "C#" %> <script runat="server"> private int a; private int b; protected void Beregn_Knapp(object sender, EventArgs e) { a = int.parse(tbtall1.text); b = int.parse(tbtall2.text); Response.Write("<p>Et lite regnestykke: "); Response.Write(a + " * " + b + " = " + a * b + "<br />"); } </script> <html> <head><title>minikalkis</title></head> <body> <b>velkommen til Grethes minikalkis :)</b> <form id="form1" runat = "server"> Skriv inn tall 1: <asp:textbox id="tbtall1" runat = "server"/> <br /><br /> Skriv inn tall 2: <asp:textbox id="tbtall2" runat = "server"/><br /><br /> <asp:button id="btberegn" Text = "Utfør beregning" OnClick= "Beregn_Knapp" runat = "server" /> </form></body></html> La oss til sist lage et litt større eksempel med en mer intelligent kalkulator som kan regne med flere regnearter. Bruker får skrive inn to tall og regneart (+,-,* eller /). Ved å trykke på en

13 Lage ASP.NET sider side 13 av 14 knapp beregnes ønsket regnestykke. I Script-blokka foregår all beregning i en prosedyre. For å utføre selve beregningen er det laget en funksjon/metode Beregn som tar seg av dette. Merk at det ikke er tatt særlige hensyn i forhold til at bruker taster inn feil inndata. Det kastes et unntak ved inntasting av feil regneart dette unntaket fanges imidlertid ikke opp. Inntasting av ugyldige tall behandles ikke. Mer om unntakshåndtering senere i kurset. VB <%@ Page Language = "VB" %> <script runat = "server"> Dim A as integer Dim B as integer Dim Regneart as String Dim Sum as Double sub Beregn_Knapp(obj as object, e as eventargs) A = tbtall1.text B = tbtall2.text Regneart = tbregneart.text Sum = Beregn(A,B,Regneart) Response.Write("<p>Et lite regnestykke: ") Response.Write(A & " " & Regneart & " " & B & " = " & Sum) end sub function Beregn(A as integer, B as integer, Regneart as String) as Double Select Case Regneart Case "+" Return A+B Case "-" Return A-B Case "*" Return A*B Case "/" Return A/B Case Else Throw New ArithmeticException("Ugyldig regneart") End Select end function </script> C# <%@ Page Language="C#" %> <script runat="server"> private int a; private int b; private char regneart; private double sum; protected void Beregn_Knapp(object sender, EventArgs e) { a = int.parse(tbtall1.text); b = int.parse(tbtall2.text); regneart = char.parse(tbregneart.text); Response.Write("<p>Et lite regnestykke: "); sum = beregn(a, b, regneart);

14 Lage ASP.NET sider side 14 av 14 Response.Write(a + " " + regneart + " " + b + " = " + sum + "<br />"); } protected double beregn(int a, int b, char regneart) { switch(regneart) { case '+': return a+b; case '-': return a-b; case '*' : return a*b; case '/' : return a/b; default : throw new ArgumentException("Ugyldig regneart"); } } </script> HTML <html> <head><title>minikalkis</title></head> <body> <b>velkommen til Grethes minikalkis :)</b> <form id="form1" runat = "server"> Skriv inn tall 1: <asp:textbox id="tbtall1" runat = "server"/> <br /><br /> Skriv inn tall 2: <asp:textbox id="tbtall2" runat = "server"/><br /> Skriv inn regneart (+, -, * eller /): <asp:textbox id="tbregneart" runat = "server"/><br /> <asp:button id="btberegn" Text = "Utfør beregning" OnClick= "Beregn_Knapp" runat = "server" /> </form></body></html> To eksempler på visning av siden i en nettleser:

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

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

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

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

1. Installering av webtjener. Litt teori

1. Installering av webtjener. Litt teori Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Installering av webtjener. Litt teori Grethe Sandstrak 01.09.2015 Lærestoffet er utviklet for faget LV199D Web-programmering med ASP.NET

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

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

while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke [Kurssidene] [ ABI - fagsider bibin ] Utvikling av dynamiske nettsteder med PHP og databaser, våren 2014 while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Michael Preminger

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

User Input / Output Handling. Innocent Code kap 3-4 INF-329 Øystein Lervik Larsen oysteinl@ii.uib.no 7/11-05

User Input / Output Handling. Innocent Code kap 3-4 INF-329 Øystein Lervik Larsen oysteinl@ii.uib.no 7/11-05 User Input / Output Handling Innocent Code kap 3-4 INF-329 Øystein Lervik Larsen oysteinl@ii.uib.no 7/11-05 Oversikt Bruker-input (kap. 3) Hva er input? Validering av input Behandle ugyldig input Farer

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

HTML og relasjonsdatabaser med PHP

HTML og relasjonsdatabaser med PHP HTML og relasjonsdatabaser med PHP Oppgaveveiledning Kent Dahl Informasjonsbehandling Brukersystemer Orkdal videregående skole (7. mars 2004) Innholdsfortegnelse 1. Introduksjon...2 1.1.

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

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 10 Frist: 2014-04-11 Mål for denne øvinga:

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

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

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

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

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:

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

Labquality/NKK ELEKTRONISK RESULTATSKJEMA VIA INTERNET. Åpning av skjemaet. Logg inn på Participant services. Velg resultatskjemaet

Labquality/NKK ELEKTRONISK RESULTATSKJEMA VIA INTERNET. Åpning av skjemaet. Logg inn på Participant services. Velg resultatskjemaet ELEKTRONISK RESULTATSKJEMA VIA INTERNET Åpning av skjemaet Logg inn på Participant services 1. Åpne internett leseren din (IE7 eller senere er den mest egnede nettleseren) 2. Skriv i adressefeltet: http://www.labquality.fi

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

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004

INF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere

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

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 1 Frist: DD.MM.YYYY Mål for denne øvinga:

Detaljer

Leksjon 3. Kontrollstrukturer

Leksjon 3. Kontrollstrukturer 6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 2 Løkker Roy M. Istad 2015 Utførelse av et program Programflyt så langt start setning setning setning setning Sekvensielt Alle setninger utføres,

Detaljer

Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket

Programmeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket Programmeringsspråk for nybegynnere Krav til språket Hva om vi laget vårt eget språk til INF1000? Programmeringsspråket må være så enkelt som mulig. (Programmering er vanskelig nok som det er.) Hvilke

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

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

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

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. 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 JS Bin

Detaljer

Klasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56

Klasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56 [Kurssidene] [ ABI - fagsider bibin ] Objekter Webprogrammering høsten 2015 Et objekt er en "ting" som representeres i et program. Representasjonen tar for seg attributter og oppførsel Attributter (egenskaper)

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 Kandidat nr: Eksamensdato: 13. mai 2005 Varighet: 3 timer (9:00 12:00) Fagnummer: LO515D Fagnavn: Klasser: NETT2005V Studiepoeng: 6 Faglærer:

Detaljer

En bedre verden med AJAX

En bedre verden med AJAX En bedre verden med AJAX Frode Eika Sandnes Hva er AJAX Har ikke noe med rengjøringsmidler å gjøre AJAX er et (morsomt) akronym Asynchronous Javascript And XML Henskikt: lage interaktive webapplikasjoner

Detaljer

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering Kapittel 1 Datamaskiner og programmeringsspråk Dette kapitlet er en kort introduksjon til programmering. Vi vil se på hvordan man skriver, bygger og kjører programmer, samt illustrere noen sentrale programmeringsbegrep

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn? Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004

INF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 INF1010 Arv Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 Motivasjon Arv bruker vi så vi skal slippe å skrive oss i hjel. Når vi programmerer, prøver vi gjerne å modellere en del av verden ved hjelp

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 Kandidat nr: Eksamensdato: 11. mai 2006 Varighet: 3 timer (9:00 12:00) Fagnummer: LO515D Fagnavn: Klasser: NETT2005H Studiepoeng: 6 Faglærer:

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

Oppsummering - Kurset (10/11-2015)

Oppsummering - Kurset (10/11-2015) Oppsummering - Kurset (10/11-2015) Grunnleggende HTML... 1 Basic JavaScript... 2 Variabler:... 3 Operatorer:... 4 Klikkhendelser... 5 Kontrollstrukturer... 5 Valgsetninger... 5 Betingelser/påstander...

Detaljer

Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå

Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå Vedlegg A.1 Filbehandling på bit-nivå Side 1 av 9 Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå A.1 Filbehandling på bit-nivå A.1.1 Sammendrag Klassen BitInputStream gjør det mulig å lese

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

Enarmet banditt Nybegynner Scratch Lærerveiledning

Enarmet banditt Nybegynner Scratch Lærerveiledning Enarmet banditt Nybegynner Scratch Lærerveiledning Introduksjon Dette er et spill med tre figurer som endrer utseende. Din oppgave er å stoppe figurene én etter én, slik at alle tre blir like. Steg 1:

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

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 1 Frist: 2014-01-24 Mål for denne øvinga:

Detaljer

Guide for tilkobling til HIKT s Citrix løsning

Guide for tilkobling til HIKT s Citrix løsning Guide for tilkobling til HIKT s Citrix løsning Innhold Guide for tilkobling til HIKT s Citrix løsning... 1 Sjekk om Citrix er installert... 1 Tilgang til applikasjon fra kontoret... 2 Tilgang til applikasjon

Detaljer

Visual Basic. Repetisjon fra mandag

Visual Basic. Repetisjon fra mandag Visual Basic Kontrollstrukturer del 2 Løkker - 1 1 Repetisjon fra mandag Tre kontrollstrukturer: Sekvens Gjør punkt 1 Gjør punkt 2 Valg Hvis betingelse er sann Gjør punkt 1 Ellers Gjør punkt 2 Løkke initier

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

16 Programmere TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

16 Programmere TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5 16 Programmere Skrive et program på TI-86... 248 Kjøre et program... 256 Arbeide med programmer... 258 Laste ned og kjøre et assemblerspråkprogram... 261 Skrive inn og lagre en streng... 263 TI -86 M1

Detaljer

file:///c:/users/michaelp/sites/dkdm/dw6/dreamweaver6.html

file:///c:/users/michaelp/sites/dkdm/dw6/dreamweaver6.html 1 of 9 15.04.2015 14:15 Spry og behaviours Både Spry and Behaviours er basert på programmeringsspråket Javascript. Javascript kjører i nettleseren og ikke på webserver som PHP og Perl. På en lignende måte

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

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid: 09.00-13.00

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid: 09.00-13.00 EKSAMEN Emnekode: ITM20606 ITF10208 Dato: Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid: 09.00-13.00 01/06-2010 Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater

Detaljer

Innlesning fra tastatur med easyio. INF1000 høst 2010. Vi må først skrive i toppen av programmet: import easyio.*;

Innlesning fra tastatur med easyio. INF1000 høst 2010. Vi må først skrive i toppen av programmet: import easyio.*; Innlesning fra tastatur med easyio INF1000 høst 2010 Forelesning 2: Innlesning fra terminal Boolean-variable if-setninger Løkker Litt mer om heltall: divisjon og modulo Vi må først skrive i toppen av programmet:

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve Repetisjon fra forrige uke: while Syntaks: while (condition) do1; do2;... Eksempel:

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

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 4 Frist: 2016-02-12 Mål for denne øvingen:

Detaljer

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger I dag INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Litt repetisjon Mer om uttrykk Lesing og skriving til terminal Forgreninger

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

1. SQL datadefinisjon og manipulering

1. SQL datadefinisjon og manipulering Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL datadefinisjon og manipulering Tore Mallaug 7.10.2008 Lærestoffet er utviklet for faget Databaser 1. SQL datadefinisjon og manipulering

Detaljer

Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering

Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering Dagens tema Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Statiske metoder og variabler Hvordan oppdage feil? Kildekode Hva er kompilering? Anta at

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

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

Eksamen i Internetteknologi Fagkode: ITE1526

Eksamen i Internetteknologi Fagkode: ITE1526 Datateknikk Side 1 av 8 Eksamen i Internetteknologi Fagkode: ITE1526 Tid: Mandag, 23.05.05, 9:00-12:00 Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler tillatt. Eksamen består av 3 oppgaver og

Detaljer

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas

Testrapport Prosjekt nr. 2011-22 Det Norske Veritas Prosjekt nr. 2011 22 Testrapport Hovedprosjektets tittel Implementering av plugin og utvikling av wizard for Det Norske Veritas Prosjektdeltakere Magnus Strand Nekstad s156159 Jørgen Rønbeck s135779 Dato

Detaljer

INF130 Datahåndtering og analyse

INF130 Datahåndtering og analyse INF130 Datahåndtering og analyse Visualisering av data på web Applikasjonsutvikling Applikasjonsutvikling mot web Databaseapplikasjoner Informasjonssystemer Arkitektur PHP = PHP Hypertext Processor PHP

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

Læring. Brukerguide + = Hva er KS Læring? Logg deg på Fra forsiden velg Logg inn i øvre høyre hjørne av skjermen. Utstyr for lyd og bilde

Læring. Brukerguide + = Hva er KS Læring? Logg deg på Fra forsiden velg Logg inn i øvre høyre hjørne av skjermen. Utstyr for lyd og bilde Hva er KS Læring? KS Læring er en felles læringsplattform for kommuner og fylkeskommuner i Norge. På KS Læring finner du nettkurs og ressurser til fritt bruk. Du finner alt fra et lokalt nyansattkurs for

Detaljer

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

Detaljer

Generelt om oblig 3. Oppgaveteksten kort sammendrag. Deloppgaver/menyvalg 15/03/2010. INF1000 Forelesning 9

Generelt om oblig 3. Oppgaveteksten kort sammendrag. Deloppgaver/menyvalg 15/03/2010. INF1000 Forelesning 9 Generelt om oblig 3 INF1000 Forelesning 9 15. mars 2010 Tips til oblig 3, separatorer i easyio, Eliza (bruk av HashMap), mer om metoder og klasser Christian M. Hansen Institutt for informatikk, UiO Les

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

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

EKSAMEN (Konvertert fra en gammel PHP-eksamen) EKSAMEN (Konvertert fra en gammel PHP-eksamen) Emnekode: Emne: ITF10208 Webprogrammering 1 Dato: Eksamenstid: 06/12-2011 09.00-13.00 Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne)

Detaljer

Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner

Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner Oversikt INF1000 Uke 3 Innlesing fra terminal, formatert utskrift og forgreininger Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner Innlesing Formatert utskrift Repetisjon

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

Løsningsforslag Øving 7

Løsningsforslag Øving 7 Løsningsforslag Øving 7 Oppgave 1: Function BeregnKvadrat(ByVal tall As Double) As Double tall = tall * tall Function BeregnKvadratrot(ByVal tall As Double) As Double tall = Math.Sqrt(tall) Private Sub

Detaljer

1. Mer om oppbyning av XML-dokument

1. Mer om oppbyning av XML-dokument Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Mer om oppbyning av XML-dokument Lene Hoff 2.9.2013 Lærestoffet er utviklet for faget XML Teknologi 1. Mer om oppbyning av XML-dokument Resymé:

Detaljer

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere. Soloball Introduksjon Scratch Introduksjon Vi skal nå lære hvordan vi kan lage et enkelt ballspill med Scratch. I soloball skal du styre katten som kontrollerer ballen, slik at ballen ikke går i nettet.

Detaljer

Leksjon 3. Kontrollstrukturer

Leksjon 3. Kontrollstrukturer 6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 1: Valg Roy M. Istad 2015 Utfør av et program Programflyt så langt: start setning setning setning setning slutt Sekvensielt: Alle setninger utføres,

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 1 LF LØSNINGSFORSLAG Mål for denne øvinga:

Detaljer

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon Klask-en-Muldvarp Introduksjon App Inventor Introduksjon I denne oppgaven skal vi lage et veldig enkelt spill med litt animasjon. Det som skal skje er at en muldvarp hopper rundt på spillbrettet mens du

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

Oblig 4. Alternativ A: Alternativ B: Denne obligen har 3 ulike alternativ: Alternativ A: For de som har lyst til å gjøre et eget prosjekt

Oblig 4. Alternativ A: Alternativ B: Denne obligen har 3 ulike alternativ: Alternativ A: For de som har lyst til å gjøre et eget prosjekt Oblig 4 Denne obligen har 3 ulike alternativ: Alternativ A: For de som har lyst til å gjøre et eget prosjekt Alternativ B: For de som vil ha en gitt prosjektoppgave Alternativ C: For de som ønsker "drille"

Detaljer

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

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

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

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

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

TDT4102 - Prosedyre- og objektorientert programmering

TDT4102 - Prosedyre- og objektorientert programmering Eksamensoppgave i TDT4102 - Prosedyre- og objektorientert programmering Lørdag 6. juni 2009 Kontaktperson under eksamen: Trond Aalberg (97631088) Eksamensoppgaven er utarbeidet av Trond Aalberg og kvalitetssikret

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

datatyper Hva er programmering? Variabler og Informasjonsteknologi 2 Kompetansesemål

datatyper Hva er programmering? Variabler og Informasjonsteknologi 2 Kompetansesemål Variabler og datatyper Gløer Olav Langslet Sandvika VGS Høst 2012 Informasjonsteknologi 2 Hva er programmering? Når du skal bake en kake følger du gjerne en oppskrift. Først er det beskrevet hva kaken

Detaljer

Inspeksjon Brukermanual

Inspeksjon Brukermanual 2014 INNHOLD Inspeksjon Brukermanual Denne applikasjonen lar deg enkelt inspisere utstyr som er plassert i Utstyrsportalen. Onix AS Versjon 1.0.5.0 16.12.2014 0 Side INNHOLD INNHOLDSFORTEGNELSE Side #

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

1. Lage og vise et enkelt XML-dokument

1. Lage og vise et enkelt XML-dokument Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Lage og vise et enkelt XML-dokument Lene Hoff (revidert av Tore Mallaug) 1.9.2013 Lærestoffet er utviklet for faget XML Teknologi 1. Lage

Detaljer

Gruppearbeid. Digitalt verktøy på utdanning.no samarbeidsavtaler

Gruppearbeid. Digitalt verktøy på utdanning.no samarbeidsavtaler Gruppearbeid Digitalt verktøy på utdanning.no samarbeidsavtaler I dette gruppearbeidet skal vi jobbe med den lukkede delen av det digitale verktøyet: registrering av samarbeidsavtaler innen prosjekt til

Detaljer

Brukerdokumentasjon. Webservices og webklient for kodeverk/ kodeverdi verifisering

Brukerdokumentasjon. Webservices og webklient for kodeverk/ kodeverdi verifisering Brukerdokumentasjon Webservices og webklient for kodeverk/ kodeverdi verifisering Innholdsfortegnelse... 3... 3... 3... 3... 4... 4... 4... 4... 8... 9... 10!... 10 "... 11 # $... 11 1. Om systemet 1.1.

Detaljer

SMART hus via nettleseren

SMART hus via nettleseren itoginnovasjon.no.217.171.192.197.xip.io http://www.itoginnovasjon.no.217.171.192.197.xip.io/wikis/smart-hus-via-nettleseren/ SMART hus via nettleseren SMART hus via nettleseren: Det vi har gjort nå er

Detaljer

Asteroids. Oversikt over prosjektet. Steg 1: Enda et flyvende romskip. Plan. Sjekkliste. Introduksjon

Asteroids. Oversikt over prosjektet. Steg 1: Enda et flyvende romskip. Plan. Sjekkliste. Introduksjon Asteroids Ekspert Scratch Introduksjon På slutten av 1970-tallet ga Atari ut to spill hvor man skulle kontrollere et romskip. Det første var Lunar Lander, men dette ble utkonkurrert av Asteroids som Atari

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

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

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

Vurdering for Søke stilling - Trondheim kommune. Poengsum: 70 poeng av moglege 105 poeng - 67 %

Vurdering for Søke stilling - Trondheim kommune. Poengsum: 70 poeng av moglege 105 poeng - 67 % Vurdering for Søke stilling - Trondheim kommune Poengsum: 70 poeng av moglege 05 poeng - 67 % Tjenesten er enkel å finne (Søke stilling - Trondheim kommune) Tjenesten er enkel å finne gjennom søk og navigasjon

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