Att stjäla kod på ett intelligent sätt

Storlek: px
Starta visningen från sidan:

Download "Att stjäla kod på ett intelligent sätt"

Transkript

1 Att stjäla kod på ett intelligent sätt En handledning för Webbprogrammering gk Anders Märak Leffler 17 april 2011 Sammanfattning Detta är en kombinerad ledning till laboration 2 i Webbprogrammerings gk, och en introduktion till hur man kan använda andras resultat i sin kod. Den kommer inte att vara särskilt formell, utan använder det faktum att kommandon i JavaScript och egenskaper i DOM är enkelt och intuitivt namngivna. Detta gör att man - även om man inte kan skriva koden direkt - kan få en känsla för strukturen i ett program, och återanvända kod. En första del går igenom en allmän lösningsgång. En andra går igenom kodexemplet från föreläsningen. Denna kan du hoppa över om du känner dig bekväm med JavaScript, eller hur man läser igenom koden. I den tredje delen ges ett par råd om hur man kan bryta isär problemet, och i den avslutande delen ges sammanfattande råd inför vidare programmering. Detta är en introduktion för den som inte har programmerat tidigare, eller gjort det i den stil som brukar läras ut på gymnasiet. Om du vet vad högre ordningens funktion står för, är detta inte guiden för dig. 1 Vad vill du göra? Det första att identifiera är vad din kod ska göra. Det kan tyckas enkelt, men handlar ofta om att gå från en generell beskrivning till något hanterbart delproblem. Instruktionen från labbuppgiften är att Felaktigt ifyllda fält ska uppärksammans på ett användarvänligt sätt. Om alla fält är korrekt ifyllda ska man kunna skicka vidare formuläret till en sida som bekräftar anmälan. Ingen vidare behandling av inmatad data kommer att ske i denna laboration - det kommer vi arbeta med senare under kursen. 1 Amanuens, Institutionen för Datavetenskap, Linköpings universitet. anders.marak.leffler@liu.se G54/laborationer/2.sv.shtml 1

2 Det kan vi lösa på olika sätt. Användarvänligt skulle vissa kunna tolka som att användaren får en popupruta för varje fel den gjort. Andra skulle (helt rimligt) säga att det betyder att man har någon form av text eller bock som dyker upp direkt när man gjort rätt. Här väljer vi den senare tolkningen (som ligger i linje med det som presenterats på föreläsningen). Så hur gör man det? 1.1 Vad har problemet för delar? Nästa steg är att identifiera de olika delarna av problemet. Instruktionen från labbuppgiften kan vi till exempel bryta ned i att vi vill Kunna mata in information i flera olika fält. Kunna kontrollera om informationen stämmer (på flera olika sätt - namn ska ha viss form, årtal en annan). Kunna presentera information om att inmatad information är korrekt eller inkorrekt. Kunna hindra användaren att skicka iväg felaktigt ifyllda formulär. Om detta verkar vara en rimlig förstaindelning, gäller det att försöka skriva eller hitta kod som passar, för varje del. 2 Vad har du för kod? När vi delat in problemet, kan vi börja koda. Som vanligt på det här området finns det gott om kod som folk skrivit, och som man kan och får använda. Är man bara intresserad av att enkelt och snabbt lösa ett givet problem (och labbreglerna tillåter det - nota bene) kan det vara en bra strategi att kolla på hur andra har löst problemet. Inmatning i fält i XHTML kan man lätt göra genom att lägga in kommandon i stil med 1 <form name= inmatning a c t i o n= t a c k s i d a. html method= post > Förnamn : <input type= t e x t name= f i r s t n a m e i d= name /> 3 <div i d= namefeedback >Se t i l l a t t s k r i v a r ä t t nu!</ div> <input type= submit i d= submit value= Skicka /> 5 </form> Om detta kan man läsa exempelvis i Niederst-Robbins bok, eller på diverse ställen på nätet. Detta kan man lätt utöka till att innehålla alla fält som behövs enligt labbinstruktionen. Att hantera inmatningen blir en senare fråga. Som tur är har vi ett bra exempel från föreläsningarna. 2

3 2.1 Föreläsningsexempel I många fall skulle ett bra första steg - efter att man försökt lösa problemet själv - vara att leta på nätet efter problem med liknande struktur. Som tur är har denna kurs exempelkod som hör till föreläsningarna, som är en bra utgångspunkt. 1 // a l e r t ( Det funkade! ) ; Listing 1: formvalidation.js 3 submitbutton = document. getelementbyid ( submit ) ; namefield = document. getelementbyid ( name ) ; 5 namefeedback = document. getelementbyid ( namefeedback ) ; submitbutton. d i s a b l e d = t r u e ; 7 namefield. addeventlistener ( keyup, f u n c t i o n ( e ){ 9 // v = namefield. value ; // a l e r t ( v ) ; 11 l = namefield. value. l e n g t h ; // a l e r t ( l ) ; 13 i f ( l >= 5) { namefeedback. innerhtml = OK ; 15 namefeedback. s t y l e. c o l o r = #0F0 ; submitbutton. d i s a b l e d = f a l s e ; 17 } 19 i f ( l < 5) { namefeedback. innerhtml = FÃ r k o r t. ; 21 namefeedback. s t y l e. c o l o r = #000 ; submitbutton. d i s a b l e d = t r u e ; 23 } 25 }, f a l s e ) ; Vad gör koden? När vi har letat fram kod, är det lämpligt att undersöka vad den faktiskt gör. En kort genomgång av koden ger att vi har Rad 3-5 Skapar variablerna submitbutton, namefield och namefeedback och binder dem till något. Detta något ser ut på formen document.getelementid(...), vilket antyder att man hämtar element med id som submit och name från sidan 2. För att just denna kodsnutt ska fungera, gäller det alltså att man i XHTMLkoden markerat sina fält med rätt id:n. Rad 6 När vi har identiferat skicka -knappen med submitbutton, försöker vi kalla på en egenskap vid namn disabled. Denna egenskap sätter vi till true. Det betyder precis vad man kan tro. Man har en Skicka -knapp, men från början är den avslagen, så att man inte kan skicka formuläret. 2 Läs Niederst-Robbins om DOM 3

4 Rad 8 Namnet addeventlistener antyder att vi börjar lyssna efter händelser. Googla på egenskapen, och se att man kan använda syntax i stil med 3 1 t a r g e t. addeventlistener ( type, l i s t e n e r, usecapture ) ; Målet för eventlistenern är alltså namefield, vilket svarar mot fältet namn ovan. Ser vi på exemplet ovan, märker vi att typen av händelse (event) vi lyssnar efter är keyup (vilket både låter som- och är att släppa en tangent efter att ha tryckt ned den). Det som står inom måsvingarna { och } 4 är det som händer när någon släpper en tangent efter att ha fyllt i en bokstav i fältet. (Om vi ersatte allt inom måsvingarna med kommandot alert( Test! ), skulle det alltså dyka upp en popupruta med texten Test! efter varje bokstav man skrivit in i fältet.) Rad 9-10 Först kommer ett par bortkommenterade rader. Det kan vara värt att kolla på vad som står i denna kod. Den första av raderna ser på namefield och tar fram en egenskap. Att det är en egenskap snarare än en funktion, märker man på att det inte står några parenteser efter value. Den egenskap för fältet som vi tar fram är dess value, vilket är precis vad man kan tänka sig - värdet på ett inmatningsfält i ett formulär är precis vad som matats in i det. Variabeln v tilldelas detta värde. Den andra bortkommenterade raden skulle ge en popupruta med innehållet i fältet. Rad 11 Variabeln l tilldelas längden på denna sträng (namefield.value.length). Detta använder vi sedermera. Rad Den första if-satsen säger att om (l>=5), så gör något, där detta något står inom måsvingarna. Vad är detta något som står inom måsvingarna? 1 namefeedback. innerhtml = OK ; namefeedback. s t y l e. c o l o r = #0F0 ; 3 submitbutton. d i s a b l e d = f a l s e ; Första raden sätter (tilldelar) namefeedbacks innerhtml-egenskap något värde. Kom ihåg att namefeedback var ett vanligt stycke text på sidan. innerhtml kan man läsa om i Niederst-Robbins, eller så kan man slå på nätet efter det. Vad detta innebär är helt enkelt att man ändrar textblocket som har id namefeedback till OK. Vi kunde ha inkluderat en massa XHTML-kod inuti citattecknen om vi ville; då hade den infogats på hemsidan Ja, de kallas ofta så. Den engelska termen - på samma nivå av formalitet - är curly braces. 4

5 Andra raden ändrar färg på texten. Den tredje raden slår upp submitbutton - vår Skicka -knapp - och ser till att man kan klicka på den. Om den inte varit avslagen förut ändras inget, men om någon gjort så att man inte kan skicka formuläret, ändras det så att det inte är några problem. Den andra if-satsen gör något motsvarande, och beskrivs därför inte här. 5

6 3 Vill du göra något många gånger? Vi har nu kod som gör vad vi vill för ett fält. Men vi har en mängd olika fält. Det verkar opraktiskt (och är dålig kodstil) att kopiera koden för varje fält. Istället kan vi göra ett paket av det, en funktion, och kalla på denna funktion för varje fält. 3.1 Att paketera saker i funktioner Istället för att skriva hela koden ovan, skulle vi då kunna gömma undan stora delar i denna funktion - säg addvalidation, och bara skriva namefield=document.getelementbyid( name ); namefeedback=document.getelementbyid( namefeedback ); addvalidation(namefield, namefeedback); Det addvalidation ska göra är då att ta in ett visst fält, och ett visst feedbackfält (vi kan ju inte fortsätta arbeta med just namefield och namefeedback - funktionen ska ju kunna användas för alla möjliga fält). Funktioner börjar med function namn ( argument1, argument2,...) { och slutar med }. Således kan vi bygga om funktionen till 1 f u n c t i o n a d d v a l i d a t i o n ( Field, Feedback ) { 3 F i e l d. addeventlistener ( keyup, f u n c t i o n ( e ){ l = F i e l d. value. l e n g t h ; 5 i f ( l >= 5) { Feedback. innerhtml = OK ; 7 Feedback. s t y l e. c o l o r = #0F0 ; submitbutton. d i s a b l e d = f a l s e ; 9 } 11 i f ( l < 5) { Feedback. innerhtml = För k o r t. ; 13 Feedback. s t y l e. c o l o r = #000 ; submitbutton. d i s a b l e d = t r u e ; 15 } }, f a l s e ) ; 17 } Vi kan lika gärna, kortare, kunnat skriva 1 f u n c t i o n a d d l i s t e n e r ( Field, Feedback ) { 3 F i e l d. addeventlistener ( keyup, f u n c t i o n ( e ){ l = F i e l d. value. l e n g t h ; 5 i f ( l >= 5) { Feedback. innerhtml = OK ; 7 Feedback. s t y l e. c o l o r = #0F0 ; submitbutton. d i s a b l e d = f a l s e ; 6

7 9 } e l s e { Feedback. innerhtml = För k o r t. ; 11 Feedback. s t y l e. c o l o r = #000 ; submitbutton. d i s a b l e d = t r u e ; 13 } }, f a l s e ) ; 15 } Notera ändringen på rad 9. Varje gång vi kallar på addvalidation med ett fält och ett feedbackfält, kommer det läggas till en listener till det fält man matar in (inte bara namefield). 3.2 Att göra många liknande saker Så långt fungerar det väl. Men vi måste göra liknande jämförelser för vissa fält, medan andra ska göras på annat vis (t ex kontroll om en adress är korrekt). Detta kan man såklart lösa genom att kopiera addvalidation ovan, och göra små ändringar. Kollar vi på addvalidation, ser vi att det är en enda detalj som behöver ändras - att man kollar på längden av textsträngen. Men det vore - återigen - en ful lösning. Vad vi kan se kunde man lika gärna se det som att koden löd 1 f u n c t i o n a d d l i s t e n e r ( Field, Feedback ) { 3 F i e l d. addeventlistener ( keyup, f u n c t i o n ( e ){ i f ( F i e l d. value. l e n g t h >= 5) { 5... } e l s e { 7... } 9 }, f a l s e ) ; } eller, om vi bara hade en funktion som kollade om en sträng hade rätt längd f u n c t i o n a d d l i s t e n e r ( Field, Feedback ) 2 { F i e l d. addeventlistener ( keyup, f u n c t i o n ( e ){ 4 i f ( c o r r e c t L e n g t h ( F i e l d. value ) ) {... 6 } e l s e {... 8 } }, f a l s e ) ; 10 } På samma sätt som vi lyfte ut funktionaliteten lägg till en lyssnare, kan vi lyfta ut villkoret. En funktion correctlength måste säga att strängen är av rätt längd om den är det (ge tillbaka true ), och ange att den inte är det annars (false). Då kommer if-satsen gå in i rätt spår. 7

8 3.3 Att skriva ett villkor/predikat I kodexemplet från föreläsningen så ser vi hur ett villkor kan bygggas upp. När vi lyft ut det till en egen funktion, behöver den bara ge tillbaka true om villkoret uppfylls, och false annars. Vad som ska hända när villkoret uppfylls bestäms någon annanstans. Alltså: f u n c t i o n c o r r e c t L e n g t h ( o u r s t r i n g ) 2 { i f ( o u r s t r i n g. l e n g t h >= 5) { 4 r e t u r n t r u e ; } e l s e { 6 r e t u r n f a l s e ; } 8 } Eftersom det man gör ovan är att ge tillbaka true om villkoret (our string.length >= 5) uppfylls (är true), och false om villkoret är false, kan vi lika gärna skriva f u n c t i o n c o r r e c t L e n g t h ( o u r s t r i n g ) 2 { r e t u r n ( o u r s t r i n g. l e n g t h >= 5 ) ; 4 } Att testa era predikat/villkor När ni har skrivit ett predikat, kan det vara bra att testa det. Om ni utanför funktionsdefinitioner skriver något i stil med alert( Ruta! ); så kommer en liten popupruta att dyka upp. Ni kan använda det för att skapa enkla tester. Pröva att skriva alert( correctlength("abc") ); Denna ruta bör innehålla ordet false. correctlength anropas med ordet abc, som har längden 3. correctlength ger då tillbaka false eftersom det är en för kort sträng. alert anropas, och får budskapet att skriva false i rutan. På detta sätt kan ni enkelt se vad era funktioner ger tillbaka för svar. Har ni en funktion som heter valid , ska ni kunna skriva alert( valid ("anders.marak.leffler@liu.se") ); och få upp true (det borde ni, för adressen är korrekt). Om ni inte får upp de väntade resultaten, kanske ni bör ändra i funktionerna. 8

9 3.4 Att använda predikat/villkor Nu har vi lyft ut villkoret texten i ett fält har rätt längd. Det gör koden snyggare, men inte mer flexibel. Vi vill kunna lägga till olika slags villkor för olika slags fält. Alltså ha anrop i stil med namefield=document.getelementbyid( name ); namefeedback=document.getelementbyid( namefeedback ); addvalidation(namefield, namefeedback, correctlength); Där det sista anger att den funktion för kontroll av fältet som vi vill använda, är den som kontrollerar om innehållet har rätt längd. Kanske vill vi till och med ha ett eget felmeddelande som dyker upp när något går fel (om en mailadress är felaktig, ska det inte stå För kort - skriv minst 5 tecken ). Alltså: namefield=document.getelementbyid( name ); namefeedback=document.getelementbyid( namefeedback ); addvalidation(namefield, namefeedback, correctlength, "För kort!"); För att få detta att fungera måste vi ändra i addvalidation, så att man anropar den på sättet ovan. Något i stil med f u n c t i o n a d d v a l i d a t i o n ( Field, Feedback, V i l l k o r, Felmeddelande ) 2 { F i e l d. addeventlistener ( keyup, f u n c t i o n ( e ){ 4 i f ( V i l l k o r ( F i e l d. value ) ) {... 6 } e l s e {... 8 } }, f a l s e ) ; 10 } Notera att vi på rad 4 nu har Villkor istället för correctlength. När vi anropar funktionen med correctlength som Villkor -argument (som tredje argument i anropet), kommer det vara detta villkor som används. Hur man lägger in i koden att man ska visa rätt felmeddelande lämnas åt läsaren. 3.5 Att fortsätta härifrån Vi kommer att behöva kontrollera många fält. Vi kommer också att behöva kontrollera flera olika slags fält; skriva olika villkorsfunktioner att koppla till det. En valid , en validbirthyear och så vidare. Här kan ni ha hjälp av sidor på internet där man gjort just detta. De flesta kommer inte att vara byggda så att de passar ihop exakt med den kod ni har hittills (t ex finns det många som bara utför kontrollen och ger en popupruta om inmatad information 9

10 är felaktig). Hittar ni kod som t ex kontrollerar om en mailadress är korrekt (det finns i skrivande stund länkat från kurshemsidan), kan ni fundera på vilken del av koden som innehåller själva kontrollen och lyfta ut den. Har ni väl koden som gör den kontrollen, gör en funktion som ger tillbaka true om villkoret uppfylls och false om det inte uppfylls. Svårare än så behöver det inte vara. 3.6 Saker som inte berörs här Labben innehåller också fler inslag, som det inte ges någon ledning till här. Man ska till exempel inte kunna skicka formuläret utan att alla villkor är uppfyllda. Det är ytterligare en problematik. Det kan kräva att man gör ändringar i addvalidation-koden ovan. Här ovan har vi också låtsats som om det finns en enda submitbutton. Funktionen får inte in någon speciell submitbutton som ska slås av, utan räknar med att det något som heter submitbutton definierat någonannanstans, som man kan nå. Indirekt bygger vi alltså kod som nog inte fungerar om man har flera formulär på sidan. Det är inget problem i denna labb, men det kan vara värt att fundera på hur man skulle lösa det (det är mycket små ändringar i koden som krävs!). 10

11 4 Sammanfattning och allmänna tips Om ni stöter på många exakt likadana problem, kan det vara värt att lyfta ut lösningen i en funktion och anropa den en gång per problem. Om ni stöter på många nästan likadana problem, fundera på om den del som skiljer sig kan lyftas ut. Isåfall kan man nog skriva en högre ordningens funktion som löser problemet. 5 I allmänhet: bryt alltid ned stora problem i många småproblem. Skriv inte ett stort kodsjok som försöker lösa allt. Det går inte i längden, och blir oläsbart och svårändrat. Dessutom kan det vara så att någon har löst något av era delproblem - isåfall gör denna modell att det blir lätt att återanvända deras resultat 6. Bygg era lösningar på småproblemen så att de kan testas lätt (som alerttesterna ovan.) Om ni gör en funktion med ett argument (säg Field ), kommer den bindningen gälla hela tiden inuti funktionen. Om ni försöker använda något som inte står med bland argumenten (t ex står inte submitbutton med bland argumenten för addvalidation-funktionen ovan), så måste det finnas definierat någon annanstans. Detta kan vara i funktionen som anropade den 7, eller att man har en s k global variabel - som kan nås överalltifrån 8. Att man inte alltid kan nå allt kan tyckas opraktiskt, men garanterar att man inte ställs inför potentiellt väldigt komplicerade frågor som vi använder Field på flera ställen i koden - vilken av dem ska vi använda egentligen? 5 En funktioner som tar in andra funktioner som argument. Här ovan skrev vi addvalidation, som tog in correctlength som argument. Om ni läser någon vettigare grundläggande kurs i programmering - snarare än en introduktionskurs som täcker många språk och områden - bör ni stöta på det begreppet. 6 Eller, för den delen, att arbeta i projekt 7 Så om Field betyder fältet i en funktion som anropar valid -funktionen, kommer Field betyda fältet även när valid -funktionen försöker slå upp det. Detta kallas dynamisk bindning, och är något man brukar lära sig om i fortsättningskurser i programmering, eller om man läser kurser i programmeringsteori. 8 Som submitbutton 11

JavaScript del 3 If, Operatorer och Confirm

JavaScript del 3 If, Operatorer och Confirm JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att

Läs mer

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er Labora&on 2 Funk&oner, if och loop övningar/uppgi:er 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns

Läs mer

Laboration 6 Formulär och stränghantering övningar/uppgifter

Laboration 6 Formulär och stränghantering övningar/uppgifter Laboration 6 Formulär och stränghantering övningar/uppgifter 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna laboration

Läs mer

Laboration 4. Laboration 4, Formulärvalidering. Inledning. Observera. Mål. Genomförande

Laboration 4. Laboration 4, Formulärvalidering. Inledning. Observera. Mål. Genomförande Laboration 4 Laboration 4, Formulärvalidering Observera För att bli godkänd på laborationen ska din källkod följa den standard vad det gäller kommentering, val av variabelnamn m.m. som gåtts igenom på

Läs mer

JavaScript del 2 DocumentWrite, Prompt och ParseInt

JavaScript del 2 DocumentWrite, Prompt och ParseInt JavaScript del 2 DocumentWrite, Prompt och ParseInt Senast kollade vi lite på vad JavaScript är för något, hur man skapar variabler samt hur vi kan skicka ut ett meddelande till användaren genom alert.

Läs mer

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 1 Introduktion till Visual Basic 6.0 Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.

Läs mer

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Avancerade Webbteknologier

Avancerade Webbteknologier Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte

Läs mer

JAVASCRIPT. Beteende

JAVASCRIPT. Beteende JAVASCRIPT Beteende OVERVIEW HTML Formulär JavaScript Syntax Events DOM Validering av fomulär WEBBPROGRAMMERING PÅ KLIENTSIDAN Skriptspråk som körs på klientsidan (klientskript) Koden exekveras i webbläsaren

Läs mer

Programmeringteknik. Planering 2014-05-12 MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

Programmeringteknik. Planering 2014-05-12 MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen MÅL Programmeringteknik Webbdelen Efter webbmomentet ska du: kunna använda ett tiotal kommandon i: HTML (göra webbsidor) CSS (webbsidans utseende) Javascript (programmering - klienten) PHP (programmering

Läs mer

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript? Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia

Läs mer

WebViewer Manual för administratör. 2013 Nova Software AB

WebViewer Manual för administratör. 2013 Nova Software AB WebViewer Manual för administratör 2 Manual WebViewer Innehållsförteckning Innehållsförteckning... 2 1 Introduktion... 3 2 Inställningar... 4 2.1 Uppdatera licensinformation... 4 2.2 Inmatning av användaruppgifter...

Läs mer

Lektion 5 HTML, CSS, PHP och MySQL

Lektion 5 HTML, CSS, PHP och MySQL Lektion 5 HTML, CSS, PHP och MySQL I den här lektionen behandlas i huvudsak PHP för att läsa information från en databas, MySQL. Det förutsätts att tidigare lektioner är gjorda, eller att du har tillräckliga

Läs mer

Lägga till bild i e- handeln

Lägga till bild i e- handeln Lägga till bild i e- handeln INNEHÅLL 1 LÄGGA TILL BILD I E-HANDELN... 3 2 LÄGGA TILL BILD PÅ PRODUKT... 3 3 LÄGGA TILL BILD PÅ KURS... 4 4 LÄGGA TILL BILD I TIDMALLEN... 6 5 SKAPA URL TILL BILD... 7 5.1

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

TUTORIAL: KLASSER & OBJEKT

TUTORIAL: KLASSER & OBJEKT TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

Ansökan om föreningsbidrag och kulturstöd via webben. Kundens ex. Gäller från

Ansökan om föreningsbidrag och kulturstöd via webben. Kundens ex. Gäller från Ansökan om föreningsbidrag och kulturstöd via webben Kundens ex Gäller från 2017-01-01 Innehåll Inledning... 2 Ansökan på webben... 2 Förutsättningar... 2 Logga in... 2 Ansökan... 3 Felmeddelanden... 4

Läs mer

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis

Läs mer

Webbprogrammering - 725G54 PHP. Foreläsning II

Webbprogrammering - 725G54 PHP. Foreläsning II Webbprogrammering - 725G54 PHP Foreläsning II Agenda Serverskript PHP Validering av data med serverskript Säkerhet Lab 2. Live coding Serverskript Kör ett program på servern och resultatet skickas till

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt

Läs mer

Evaluation Summary - CT3380 Grundäggande webbdesign HT06 Dan Levin

Evaluation Summary - CT3380 Grundäggande webbdesign HT06 Dan Levin Evaluation Summary - CT8 Grundäggande webbdesign HT6 Dan Levin Antal kursutvärderingar: Q. Anser du dig ha tillräckligt med förkunskaper för att klara kursen? (=JA =NEJ) Q. a Kurslitteratur? 6 Medel:,6

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

Skapa konto och logga in på Vuxenutbildningens Lärplattform

Skapa konto och logga in på Vuxenutbildningens Lärplattform Skapa konto och logga in på Vuxenutbildningens Lärplattform O.B.S! För att du ska kunna skapa ett konto på Vuxenutbildningens Lärplattform, så måste du ha ett fungerande e-postkonto, t.ex. hotmail eller

Läs mer

Uppgifter teknik HT17 (uppdaterad v. 40)

Uppgifter teknik HT17 (uppdaterad v. 40) Uppgifter teknik HT17 (uppdaterad v. 40) Uppgifterna bedöms inte, de är bara till för att öva. Samarbeta gärna med andra! Du behöver inte skriva ner svaren, men se till att du förstår lösningarna! 1. Det

Läs mer

Introduktion till MySQL

Introduktion till MySQL Introduktion till MySQL Vad är MySQL? MySQL är ett programmerings- och frågespråk för databaser. Med programmeringsspråk menas att du kan skapa och administrera databaser med hjälp av MySQL, och med frågespråk

Läs mer

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet.

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet. Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet. Då du klickar på Användare öppnas denna bläddringslista.

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

Övningar i JavaScript del 3

Övningar i JavaScript del 3 Övningar i JavaScript del 3 I dessa övningar tar vi upp datumbjektet Date, arrayer ch lpar. Du utgår från ett prgram där man kan klicka på små bilder ch mtsvarande stra bild visas. Detta är i princip samma

Läs mer

Tentamen Grundläggande programmering

Tentamen Grundläggande programmering Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:

Läs mer

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14 Labb LABB 1 Databassagan och en rundtur i databasers märkliga värld Plushögskolan Frågeutveckling inom MSSQL - SU14 I Microsoft SQL-Server Management Studio kan man arbeta på olika sätt. Antingen via användargränssnittet

Läs mer

E07 "Greased Lightning"

E07 Greased Lightning E07 "Greased Lightning" Föreläsning 7, HT2014 CSS och Event Kurs: 1dv403 Webbteknik I Johan Leitet E07 Greased Lightning Dagens agenda CSS-egenskaper Händelsestyrd programmering Händelsehanterare Typer

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra

Läs mer

Introduk+on +ll programmering i JavaScript

Introduk+on +ll programmering i JavaScript Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,

Läs mer

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad 1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen

Läs mer

729G04 Programmering och diskret matematik. Föreläsning 7

729G04 Programmering och diskret matematik. Föreläsning 7 729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt

Läs mer

Formulär i Sitecore. Innehåll. Inlogg sitecore:

Formulär i Sitecore. Innehåll. Inlogg sitecore: Formulär i Sitecore Inlogg sitecore: http://cms2.in.stofair.se/sitecore/login Innehåll Formulär i Sitecore... 1 Skapa formulär... 2 Lägga till fält... 3 List Type:... 5 Bekräftelsemail... 8 Peka ut formuläret...

Läs mer

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor http://w3.msi.vxu.se/multimedia Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor Rune Körnefors Innehåll Variabler i JavaScript

Läs mer

Grupper. SA10 Grupphantering

Grupper. SA10 Grupphantering Grupper Ibland kan det finnas en praktisk betydelse att spara en ett visst antal studenter för att senare kunna ta fram dem för att göra t.ex klass - indelningar, laborationsgrupper, uppföljningar på kurser

Läs mer

Labora&on 1 Variabler och beräkningar övningar/uppgi9er

Labora&on 1 Variabler och beräkningar övningar/uppgi9er Labora&on 1 Variabler och beräkningar övningar/uppgi9er 1M322 Webbteknik 2, 7,5hp Medieteknik 2015 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns

Läs mer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

SORSELE KOMMUN. Handbok OEW. 28 sept 2012 Mari-Anne Englund Barbro Olofsson. Sorsele kommun Version 2012-09-28, rev 131101 1 (19)

SORSELE KOMMUN. Handbok OEW. 28 sept 2012 Mari-Anne Englund Barbro Olofsson. Sorsele kommun Version 2012-09-28, rev 131101 1 (19) Handbok i OEW 28 sept 2012 Mari-Anne Englund Barbro Olofsson Sorsele kommun Version 2012-09-28, rev 131101 1 (19) Använd det användarnamn och lösenord som du fått. Fungerar det inte hör av dig till Mari-Anne

Läs mer

Hur man programmerar. Exempel på problemlösning i Python

Hur man programmerar. Exempel på problemlösning i Python Hur man programmerar Exempel på problemlösning i Python Problemet Som vokaler i engelska språket räknar vi i denna uppgift bokstäverna aeuio, och som konsonanter alla andra bokstäver utom y (y fungerar

Läs mer

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22 Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering

Läs mer

Elektronisk publicering TNMK30

Elektronisk publicering TNMK30 Elektronisk publicering TNMK30 Förra gången Färger CSS - layout och styling Lite repetition (X)HTML och SEO Att separera innehåll från presentation. CSS, layoutproblem med float och boxar CSS, layoutproblem

Läs mer

SPF/MiRiaM Manual avancerad sökning

SPF/MiRiaM Manual avancerad sökning SPF/MiRiaM Manual avancerad sökning 2016-09-15 Skapat av: Fältström Ingrid 1 (31) Innehållsförteckning 1. Inledning... 3 1.1 Begreppsförklaringar... 3 1.1.1 Kolumn... 3 1.1.2 Lista... 3 1.1.3 Posttyp...

Läs mer

Programmering II (ID1019) :00-11:00

Programmering II (ID1019) :00-11:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-06-11 08:00-11:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren

Läs mer

[[Det här är en länk]] Skapar en länk till en passage som heter Det här är en länk.

[[Det här är en länk]] Skapar en länk till en passage som heter Det här är en länk. [[Det här är en länk]] Skapar en länk till en passage som heter Det här är en länk. [[Det här är en dold länk nästa passage]] Skapar en dold länk till en passage som heter nästa passage. Med dold länk

Läs mer

Lathund CallCenter 2010

Lathund CallCenter 2010 Lathund CallCenter 2010 Innehållsförteckning Reservation Bokningstotalen Försäljning med kortbetalning Lägg till platser Lägg till platser Ändra pristyp Ta bort platser Ta bort hel bokning Ändra dag i

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

Tentamen i Introduktion till programmering

Tentamen i Introduktion till programmering Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:

Läs mer

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1 Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Diagnostiskt prov Python-intro: print variabler reserverade ord input kommentarer beräkningar

Läs mer

Vid fel och frågor Ta kontakt med förbundet. Logga in. Menyn

Vid fel och frågor Ta kontakt med förbundet. Logga in. Menyn Manual Spelarregistrering Manualen beskriver hur man lägger in spelare i sin spelartrupp och tilldelar fasta spelarnummer. Läs igenom manualen och följ den när du lägger in spelarna i ditt lag och föreningens

Läs mer

ParaGå-guide -kommunala utförare

ParaGå-guide -kommunala utförare ParaGå-guide -kommunala utförare Viktig information Sid. 2 Aktivera låskod på enheten Sid. 4 Skapa Google-konto Sid. 8 Installera Mobileiron och ParaGå appen Sid. 10 Genväg ParaGå Sid. 18 Support Sid.

Läs mer

MMA132: Laboration 2 Matriser i MATLAB

MMA132: Laboration 2 Matriser i MATLAB MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen

Läs mer

Övningar i JavaScript del 4

Övningar i JavaScript del 4 Övningar i JavaScript del 4 I dessa övningar ska du dels hantera ett frmulär ch dels arbeta med några textsträngar. 1. Dkument i övningsmappen Övningsmappen sm du laddar ner från labratinens webbsida innehåller

Läs mer

Inledande programmering med C# (1DV402) Summera med while"-satsen

Inledande programmering med C# (1DV402) Summera med while-satsen Summera med while"-satsen Upphovsrätt för detta verk Inledande programmering med C# (1DV402) Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får

Läs mer

Föreläsning 5: Introduktion av pekare

Föreläsning 5: Introduktion av pekare Föreläsning 5: Introduktion av pekare Det bör påpekas att det som tas upp i introduktionen inte är reella exempel på kod. Man anväder inte pekare till att peka på enstaka heltal som i exemplen nedan, men

Läs mer

Välkommen till. Datastrukturer, algoritmer och programkonstruktion. eller DOA

Välkommen till. Datastrukturer, algoritmer och programkonstruktion. eller DOA Välkommen till Datastrukturer, algoritmer och programkonstruktion eller DOA Jag: Christer Labbassar: Caroline: Johan: Agenda, före lunch Inledning om DOA-kursen Backspegel Mål Syfte Examination Om lärande

Läs mer

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning 1 Dagens föreläsning Programmering i Lisp - Block, räckvidd - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch

Läs mer

TDDC74 Lab 04 Muterbara strukturer, omgivningar

TDDC74 Lab 04 Muterbara strukturer, omgivningar TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden

Läs mer

Instruktion för att slutföra registreringen

Instruktion för att slutföra registreringen Instruktion för att slutföra registreringen Introduktion Vi antar i den här instruktionen att du redan har registrerat sig. Du kan också ha klickat på aktiveringslänken i mailet. Vi använder ett fiktivt

Läs mer

JavaScript Block Editor:

JavaScript Block Editor: Micro:bit Tärningen Att räkna med slumpen genom t.ex. tärningsslag och föra statistik över antal slag kan vara tidskrävande. Speciellt om man ska gör 100 st eller 1000 st kast. Genom att använda programmering

Läs mer

Uppgift 1a (Aktiekurser utan poster)

Uppgift 1a (Aktiekurser utan poster) Uppgift 1a (Aktiekurser utan poster) Vi har lite olika upplägg i de kurser vi håller och i vissa kurser finns det med något som vi kallar "poster" (eng. "record"). I andra har vi inte med detta. Vi har

Läs mer

Metoder. Inledande programmering med C# (1DV402)

Metoder. Inledande programmering med C# (1DV402) Metoder Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i detta verk av

Läs mer

Manual Invånare. Stöd och Behandling version 1.4. Stockholm, 2015-11-23

Manual Invånare. Stöd och Behandling version 1.4. Stockholm, 2015-11-23 Manual Invånare Stöd och Behandling version 1.4 Stockholm, 2015-11-23 Innehåll 1. Inledning... 4 1.1. Stöd och behandling... 4 1.2. Roller och Behörigheter... 4 1.3. Förutsättning för att kunna vara aktiv

Läs mer

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

Numeriska Metoder och Grundläggande Programmering för P1, VT2014 Numeriska Metoder och Grundläggande Programmering för P1, VT2014 Föreläsning 2: Styrstrukturer & Programmeringsstrategi (Kap. 3 4 i MATLAB Programming for Engineers, S. Chapman) January 21, 2014 Innehåll:

Läs mer

Manual för din hemsida

Manual för din hemsida Manual för din hemsida Dynamiska hemsidor är en lösning för att man på ett enkelt sätt skall kunna lägga till, ändra och ta bort sidor på sin hemsida. För att detta skall vara möjligt bygger lösningen

Läs mer

Manual med övningar för EPiServer

Manual med övningar för EPiServer Manual med övningar för EPiServer Alla punkter nedan markerade med en bokstav är en övningsuppgift att genomföra under dagens utbildningspass. Alla punkter nedan markerade med en siffra är en hänvisning

Läs mer

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio Ditt första C#-program med Visual Studio Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Telenor Serviceweb Lathund för Borås Stad 2015-04-10

Telenor Serviceweb Lathund för Borås Stad 2015-04-10 Telenor Serviceweb Lathund för Borås Stad 2015-04-10 Inloggningslänk för Borås Stad http://net2.emrox.net/stable/net2/order_registration?command=init&ss2_xid=f568bf09 534552170AA101121779A10F Länken tar

Läs mer

Erfarenheter från labben

Erfarenheter från labben Erfarenheter från labben Uppgifterna tidigare Bättre instruktioner än förra veckan Väntetid Smidigare hjälp Olika krav från olika examinatorer Kan alltid kolla med Joachim God programmeringssed De allra

Läs mer

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text. Presentation av uppgiften Vi har fått i att skapa en webbapplikation med ett spelbart spel inbyt i sig. Eller som läraren formulerar sig: uppgiften är att skapa en webbapplikation där en eller flera spelare

Läs mer

Ansökan till Yrkes-sfi i Skåne EN INTRODUKTION TILL PANELEN

Ansökan till Yrkes-sfi i Skåne EN INTRODUKTION TILL PANELEN 2017 Ansökan till Yrkes-sfi i Skåne EN INTRODUKTION TILL PANELEN Innehållsförteckning ANSÖKAN... 2 BEKRÄFTELSE... 3 PANELEN... 4 INLOGGNING... 4 STARTSIDAN... 5 BYTA BEHÖRIGHET ( ROLL )... 5 MIN PROFIL...

Läs mer

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 1 2 - Block, räckvidd Dagens föreläsning Programmering i Lisp - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch

Läs mer

Återrapportering Ledsagarservice och avlösning i hemmet

Återrapportering Ledsagarservice och avlösning i hemmet Återrapportering Ledsagarservice och avlösning i hemmet Viktigt att veta innan du börjar: Grovplanera alla insatserna! Endast grovplanerade insatser dyker upp i återrapporteringen. Det innebär att du bör

Läs mer

Skriv http:// före adressen och lämna bort www enligt modellen: http://foreningensnamn.hemochskola.fi/admin

Skriv http:// före adressen och lämna bort www enligt modellen: http://foreningensnamn.hemochskola.fi/admin INTRODUKTION Välkommen att ta i bruk uppdateringsverktyget DigiStoff. För att använda verktyget behöver du en Internetuppkoppling och en webbläsare. Det rekommenderas att du använder webbläsaren Firefox.

Läs mer

Roboten. Sida 1 av 11

Roboten. Sida 1 av 11 EV3 ipad Roboten Fyra output portar A,B,C och D(motorer) Fyra input portar 1,2,3 och 4 (sensorer) USB, Bluetooth, eller Wi-Fi koppling 16 MB flash minne 64 MB RAM SD Card Port: 32 GB Flera inbyggda verktyg

Läs mer

När ni beställer inloggning till Aladdin måste ni också meddela att ni vill använda onlineanmälan.

När ni beställer inloggning till Aladdin måste ni också meddela att ni vill använda onlineanmälan. Mina Katter Hantering för klubb som arrangerar utställning Innehåll: Beställning av inloggning till Aladdin och minakatter... 1 Så här ser första sidan ut i minakatter för klubb där man gör sina inställningar

Läs mer

Motivation. Programmeringsuppgift: En första ansats: Lagra info om anställda Håll reda på varje anställds närmaste chef. som också är en anställd!

Motivation. Programmeringsuppgift: En första ansats: Lagra info om anställda Håll reda på varje anställds närmaste chef. som också är en anställd! Pekare (till objekt) Objektvariabler är pekare vad är det? (Viktiga begrepp inte bara inom objektorientering!) Hur används pekare för att sätta samman objekt (composition)? TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se

Läs mer

Omsorgen Användarhandledning

Omsorgen Användarhandledning Omsorgen Användarhandledning 2012-12-13 Steg 1: Logga in Om ditt boende/kommun är ansluten till Omsorgen har du troligtvis fått inloggningsuppgifter. Om inte, skicka ett mail till info@omsorgen.se så kontaktar

Läs mer

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1 Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Python-intro: print variabler reserverade ord input kommentarer beräkningar datatyper if-satser

Läs mer

Textsträngar och formulär i JavaScript

Textsträngar och formulär i JavaScript Föreläsning i webbdesign Textsträngar och formulär i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Antag a4 variabeln s innehåller följande text s = "pics/small/bridge.jpg"

Läs mer

Formulär, textsträngar och en del annat

Formulär, textsträngar och en del annat 1ME322 Webbteknik 2 Lektion 6 Formulär, textsträngar och en del annat Rune Körnefors Medieteknik http://medieteknik.lnu.se/1me322 1 2018 Rune Körnefors rune.kornefors@lnu.se Agenda JavaScript Interaktion

Läs mer

16/04/2014. Säljfolder Dokumentation för användare. Olivier Franchaud/Anna Wallsby

16/04/2014. Säljfolder Dokumentation för användare. Olivier Franchaud/Anna Wallsby 16/04/2014 Säljfolder Dokumentation för användare Säljfolder Dokumentation för användare Det här dokumentet är till för användare av den nya säljfoldern i Avista. 1 Innehållsförteckning Att komma direkt

Läs mer

729G74 - IT och programmering, grundkurs. Dugga.

729G74 - IT och programmering, grundkurs. Dugga. 729G74 - IT och programmering, grundkurs. Dugga. 2016-12-08. Kl. 14.00 till 16.00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier Uppgifter: Duggan består

Läs mer

Skapa spellista i play.lnu.se Gör en samling med filmer som hör ihop

Skapa spellista i play.lnu.se Gör en samling med filmer som hör ihop Skapa spellista i play.lnu.se Gör en samling med filmer som hör ihop Vad är en spellista? En spellista är ett sätt att visa en lista över filmer (eller ljudklipp) som hör ihop med varandra. En spelare

Läs mer

Hur matar man in en fråga?

Hur matar man in en fråga? Hur matar man in en fråga? Att starta Vi har utarbetat denna handledning för att hjälpa dig att förstå hur du ska använda det här systemet för förfrågningar. Det är jättelätt! Lär dig att surfa dig igenom

Läs mer

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter Inledande matematik för I1 MVE011 läsperiod 1 010 Matlab vecka övningsuppgifter Linjära ekvationssystem Matlab har många kraftfulla redskap för att hantera matriser och därmed också linjära ekvationssystem.

Läs mer

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder Introduktion TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder OO är den mest använda programmeringsparadigmen idag, viktigt steg att lära sig och använda OO. Klasser är byggstenen i

Läs mer

Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016

Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016 Emacs Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016 Historia 2/21 Utvecklas konstant, från 70-talet Är en generellt texteditor (INTE ordbehandlare) som fokuserar på texten, inte utseendet

Läs mer

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x Mathematica Första kapitlet kommer att handla om Mathematica det matematiska verktyg, som vi ska lära oss hantera under denna kurs. Indata När du arbetar med Mathematica ger du indata i form av kommandon

Läs mer

Registrera i SveDem SÄBO- manual

Registrera i SveDem SÄBO- manual Registrera i SveDem SÄBO- manual INTRODUKTION TILL REGISTRERING I SÄBO-FORMULÄRET I SveDem registreras personen vid diagnos av diagnossättande enhet, oftast en vårdcentral eller minnesmottagning på specialistklinik.

Läs mer

Gör så här för att rapportera:

Gör så här för att rapportera: Cykla och gå till jobbet 2012 Gör så här för att rapportera: OBS! Se till att du har anmält dig innan du gör detta. Om du inte vet hur man gör, klicka här. Steg 1: Skriv ut redovisningspapperet Gå till

Läs mer