Programutveckling för Tekniska Tillämpningar Arbetsblad 4

Storlek: px
Starta visningen från sidan:

Download "Programutveckling för Tekniska Tillämpningar Arbetsblad 4"

Transkript

1 Programutveckling för Tekniska Tillämpningar Arbetsblad 4 I detta arbetsblad innehåller följande moment: 1. Skapa en wxpython applikation med huvudfönster och rapportfönster. 2. Integrering av beräkningskod i användargränssnitt. 3. Uppritning av geometri, elementnät och elementflöden. Skapa en wxpython applikation i wxglade Starta wxglade. Marker Application i trädvyn. I egenskapsfönstret sätts Name till applikationens namn. Namnge på samma sätt applikationens klass i rutan Class. För att programmet skall bli lättare att underhålla är det bra om varje klass i wxglade genereras som separata filer. Detta sätts i rutan Code Generation genom att välja Separate file for each class. Det sista vi gör för applikationsklassen är att ange var de genererade filerna skall placeras. Detta anges i rutan Output path. Vi har nu definierat applikationsklassen och de övergripande inställningarna i wxglade. I nästa steg skall vi definiera huvudfönstret för programmet. Huvudfönster Huvudfönstret är programmets centralpunkt. Det är från detta fönster som flödet i programmet styrs och underfönster öppnas. En klass för huvudfönstret skapas genom att välja en wx.frame i verktygslådan. Figur 1 Skapa en wx.frame för huvudfönster En dialogruta visas där wxglade frågar efter vilken typ av Frame klass som skall skapas. Ange wxframe och ge klassen namnet mainwindow. I nästa steg skall vi sätta en del standardvärden för fönstret i egenskapsmenyn. Under Common fliken sätt följande egenskaper: Egenskap Värde Name mainwindow Size 640, 480

2 Under fliken Widget anges applikationens titel i rutan Title. Denna titel kommer att visas längst upp i fönstret. Kryssa sedan för Has menubar. Nu skapas en MenuBar instans som i sin tur kopplas till huvudfönstret. I egenskapsfönstret sätts namnet på meny instansen till mainmenu. Klicka sedan på "Edit menus..." för att skapa meny strukturen. Ange följande struktur: När strukturen är klar väljs OK. Figur 2 Menystruktur I nästa steg skall vi skapa ett verktygsfält. Klicka på mainwindow i trädvyn. Under fliken Widget i egenskapsfönstret markeras alternativet Has ToolBar. Ange namnet på det skapade verktygsfältet till maintoolbar. Bilderna till verktygsfältet har storleken 22x22 varför egenskapen Bitmapsize sätts till 22, 22. Egenskaperna wxtb_flat, wxtb_text skall också markeras. Klicka därefter på Edit tools och skapa på samma sätt som för menyraden följande struktur:

3 Figur 3 Struktur för verktygsfält (maintoolbar) Generering av programkod Innan vi kan gå vidare och integrera beräkningskoden måste wxglade generera källkod för det skapade gränssnittet. Innan kodgenereringen kan påbörjas måste indata i wxglade sparas. Detta görs genom att välja File/Save i menyn i verktygsfältet för wxglade. I nästa steg markeras instansen Application i trädvyn. Under Application fliken i egenskapsfönstret sätts egenskapen Top window till det just skapade huvudfönstret. Om allt fungerat kan koden genereras genom att klicka på knappen Generate code. Nu skall det finnas två Python filer i målkatalogen, en för applikationsklassen och en för själva huvudfönstret. Integrering av beräkningskod i användargränssnittet Lägg till följande i början av MainWindow.py: # * coding: utf 8 * # generated by wxglade on Sun Apr 19 16:39: import wx from model import * # begin wxglade: dependencies För att hantera programmets initiering skapar vi en egen initieringsmetod _initapp(). Metoden placeras efter de av wxglade genererade metoderna set_properties och do_layout(). def _initapp(self): Initiera program variabler. # Skapa en instans av datamodellen

4 self._model = FlowModel() Metoden anropas sist i MainWindow klassens init () metod. def init (self, *args, **kwds): # begin wxglade: MainWindow. init kwds["style"] = wx.default_frame_style wx.frame. init (self, *args, **kwds) # < bortklippt kod > self.bind(wx.evt_tool, self.oncalcstart, id=5) # end wxglade self._initapp() Var noga med att inte ändra kod mellan de speciella taggar som wxglade skapar (# begin wxglade, # end wxglade) Modellhantering (Ny, Öppna och Spara) För att kunna hantera öppna och spara modeller i programmet uppdateras vår modellklass med en variabel, filename, som skall lagra modellens aktuella filnamn. Variabeln läggs till i klassens konstruktor. class FlowModel: def init (self): self.filename = "" self.createinput() Eftersom vi nu lagrar vilket filnamn som modellen användare modifierar vi också metoden read FromFile som skapades i förra arbetsbladet. Nu anges parametern till denna metod med standardvärdet, filename=, vilket medför att vi kan utelämna denna parameter vid anrop och istället använda den inbyggda variabeln, self.filename, för att ange från vilken fil indata skall läsas. def readfromfile(self, filename=""): if filename!= "": self.filename = filename inputfile = open(self.filename, 'r') Vi skall nu koppla kod till händelsemetoderna skapade tidigare. Metoden onnew() används för att skapa en ny modell. Detta görs enkelt genom att skapa en ny instans och tilldela denna till klassvariabeln self._model. def onnew(self, event): # wxglade: MainWindow.<event_handler> self._model = FlowModel() För att öppna en fil behöver vi visa en standard fildialogruta där användaren kan välja en fil som skall läsas in. wxpython innehåller en sådan klass wx.fileselector. Nedan visas hur metoden onopen() implementerats med hjälp av denna. def onopen(self, event): # wxglade: MainWindow.<event_handler>

5 Menyhändelse för att spara öppna en modell. self._model.filename = wx.fileselector( "Open file", default_extension="*.flw", wildcard="*.flw", flags=wx.fd_open) if self._model.filename!="": self._model.readfromfile() Om användare avbryter dialogrutan returnerar metoden en tom sträng. Parametern flags=wx.fd_open anger att dialogfönstret skall användas för att välja en existerande fil som skall öppnas. Motsvarande flagga för en dialogruta som uppmanar om filnamn för att spara är flags=wx.fd_save. Skapa på motsvarande sätt händelsemetoderna onsave() och onsaveas(). Skapa en tom metod, savetofile(), i modellklassen för att spara modellen till fil (Denna implementeras i nästa arbetsblad). Exekvering av beräkning Beräkningen skall utföras när menyn Beräkning/Starta eller knappen Beräkna väljs. Metoden som är kopplad till dessa metoder är definierad i oncalcstart(). I denna metod skall koden för exekvering av beräkningen flyttas, dvs den kod som i arbetsblad 3 låg i huvudprogrammet för model.py. En flagga läggas till i modellklassen, som sätts till True när en modell har lästs in från fil. Använd denna flagga i oncalcstart() för att se till att beräkningen inte exekveras utan inlästa data. Fönster för resultatrapport Klicka på Application Skapa en wxframe med klassnamnet ReportWindow Flik Common Ange namnet till reportwindow Sätt Size till 700,500 Flik Widget Sätt Title = Report Window Lägg till en TextCtrl Flik Common Sätt namn till reporttext Sätt Font till Courier New/Consolas 11 Flik Layout

6 Sätt proportion till 1 Sätt wxexpand Flik Widget Sätt wxte_multiline, wxte_rich2, wxte_readonly Trädvyn. Klicka på Application. Spara. Välj Generate code. För att kunna använda fönsterklassen, ReportWindow, måste modulen för denna importeras från MainWindow.py. # * coding: utf 8 * # generated by wxglade on Sun Apr 19 16:39: import wx from model import * from ReportWindow import * För att kunna använda den nya klassen måste denna instantieras. Detta görs lämpligtvis i onshow Report() metoden. Ett fönster i wxpython visas inte bara för att en instans av det skapats, utan metoden Show() måste anropas för att visa det på skärmen. Koden blir då: def onshowreport(self, event): # wxglade: MainWindow.<event_handler> self._reportwindow = ReportWindow(self, 1) self._reportwindow.show() För att kunna presentera en resultatrapport måste metoden createreport() i model.py modifieras så att all utdata skrivs till en fil istället för till skärmen. En klassvariabel läggs också till i modellklassen för att lagra filnamnet till den genererade rapporten. print kommandot är inte tillgängligt för att skriva till fil utan write() metoden för filklassen används istället. Följande exempel visar hur data kan skrivas till fil. def createreport(self): reportfile = open(self.reportfilename, "w") reportfile.write("element koordinater\n\n") reportfile.write( "%5s %10s %10s %10s %10s %10s %10s\n" % ("Elnr", "x1(m)", "x2(m)", "x3(m)", "y1(m)", "y2(m)", "y3(m)") ) i = 1 for elx, ely in zip(self._ex, self._ey): reportfile.write( "%05d %10.2f %10.2f %10.2f %10.2f %10.2f %10.2f\n" % (i, elx[0], elx[1], elx[2], ely[0], ely[1], ely[2]) ) i+=1 Lägg märke till att \n används för att göra radbrytningar i utskrifter när write() metoden används.

7 Uppritning av geometri När programmet läst in indata skall geometrin visas i huvudfönstret. För att kunna implementera uppritningen av detta måste en wxpanel kontroll läggas till huvudfönstret. Välj sizer1 i trädvyn och ändra namnet till mainsizer. En sizer är en kontroll som själv innehåller andra kontroller. Klicka på wxpanel kontrollen i verktygslådan. Figur 4 wxpanel kontroll Klicka sedan på det streckade området i huvudfönstret för att placera kontrollen. Ge kontrollen namnet mainpanel (i property fönstret). Sätt också bakgrundsfärgen till vit genom att ange egenskapen Background = #ffffff. Om allt fungerat skall fönstret se ut som i följande figur: Figur 5 Fönster med wxpanel För att kunna rita på mainpanel måste först två stycken händelsemetoder skapas och knytas till händelser. Uppritningen skall ske i metoden onpaint(). Metoden har som parameter variabeln event. wxpython fyller denna variabel med information om den aktuella händelsen. def onpaint(self, event): Uppritningshändelse för fönster. dc = wx.paintdc(self.mainpanel) gc = wx.graphicscontext.create(dc) # Rita linjer gc.setpen(wx.pen('blue',1))

8 gc.strokeline(20,20,150,150) # Rita punkter gc.setpen(wx.nullpen) gc.setbrush(wx.brush('red')) gc.setfont(self._font) gc.drawellipse(50, 50, 20, 20) gc.drawtext(u"det är kul att rita i wxpython", 50, 50) För att metoden skall utföra uppritning måste den kopplas till en händelse. Detta görs med metoden Bind() för kontrollen mainpanel i metoden _oninitapp(). På samma gång skapas också klassvariablen self._font som behövs för uppritningen in onpaint(). # Skapa en font för att rita med self._font = wx.font(10, wx.swiss, wx.normal, wx.bold, False, "Arial") # Koppla uppritning och omskalningshändelser till metoder. self.mainpanel.bind(wx.evt_paint, self.onpaint) För att kunna skala om uppritningen i fönstret då detta ändrar storlek måste ytterligare en händelsemetod skapas och kopplas, onsize(). Denna metod kommer att anropas varje gång fönstret ändrar storlek. Storleken på det uppdaterade fönstret kan hämtas med metoden GetSize() i event variabeln. def onsize(self, event): Storleksändringshändelse för fönster. self._width, self._height = event.getsize() På samma sätt som för onpaint() metoden kopplas händelsemetoden, onsize(), till händelsen med hjälp av Bind() metoden för mainpanel instansen. # Koppla uppritning och omskalningshändelser till metoder. self.mainpanel.bind(wx.evt_paint, self.onpaint) self.mainpanel.bind(wx.evt_size, self.onsize) Nu finns metoderna på plats för att implementera uppritningen av geometri och elementnät. För att rita upp elementnät kan det var bra att Koordinattransformation För att objektet skall ritas upp i lämplig storlek måste en skalning göras. Detta går till så att man bestämmer lägsta och högsta värdet på koordinaterna och till detta lägger en marginal på exempelvis 10% av objektets storlek. På detta sätt bestämmer man x min, y min, x max och y max. Utifrån dessa värden bestämmer man skalfaktor s och translation x 0 och y 0 enligt

9 k Width xmax xmin s = min k Height ymax ymin 1 k x0 = s xmin + Width 2 1 k y0 = Height s ymin Height 2 Koordinater för uppritning kan då bestämmas enligt x y s s = x 0 = y 0 + s x s y Följande figur visar hur koordinatsystemet är definierat i en wxpanel kontroll samt det nya koordinatsystemet för uppritning. y (0,0) (0,width) x s Canvas k * height height (x 0, y 0 ) x (0,height ) (height, widt h) k * width width y s Figur 6 Koordinatsystem i wxpanel kontroll För att hantera koodinattransformationen implementeras en metod, calcscaling(), i MainWindow för beräkning av skalfaktorerna. Variablerna self.width och self.height läggs till init metoden i MainWindow. Variablerna kommer att innehålla stoleken på fönstret. def _initapp(self): # < bortklippt kod > # Koppla uppritning och omskalningshändelser till metoder.

10 self._width, self._height = self.mainpanel.getsize() self.mainpanel.bind(wx.evt_paint, self.onpaint) self.mainpanel.bind(wx.evt_size, self.onsize) def calcscaling(self): Beräkna skalfaktorer för uppritning. limits = self._flowmodel.limits self._k = 0.8 # < bortklippt kod > self._x0 =... self._y0 =... För att förenkla hanteringen av koordinattransformationerna kan det vara lämpligt att implementera en metod som konverterar från verkliga koordinater till skärmkoordinater. Denna kan ha följande principiella utseende (Implementerad i MainWindow): def worldtoscreen(self, x, y): return ( {skärmkoordinat x}, {skärmkoordinat y}) Där {skärmkoodinat x} och {skärmkoodinat x} ersätts med beräkningar för skärmkoordinater. Skalfaktorerna beräknade tidigare är beroende av storleken på fönstret. Eftersom fönstrets storlek kan ändras av användaren måste detta också hanteras av programmet. Vi har tidigare implementerat metoden onsize() och nu utökas denna metod med ett anrop till calcscaling(). Uppritning def onsize(self, event): Storleksändringshändelse för fönster. self._width, self._height = event.getsize() self.calcscaling() Eftersom programmet skall kunna rita upp ett antal olika saker skapas en variabel self._drawmode, samt ett antal konstanter som anger olika typer av uppritning. Denna anger vilken typ av uppritning som skall göras. När programmet startas är self._drawmode satt till self.dm_none för att ingen uppritning skall göras. def _initapp(self): Initiera program variabler. # < borklippt kod > # Uppritningsvariabler self._width, self._height = self.mainpanel.getsize() self.dm_geometry = 0 self.dm_mesh = 1

11 self.dm_flow = 2 self.dm_scalar = 3 self.dm_none = 1 self._drawmode = self.dm_geometry # Koppla uppritning och omskalningshändelser till metoder. self.mainpanel.bind(wx.evt_paint, self.onpaint) self.mainpanel.bind(wx.evt_size, self.onsize) Uppritningen i formuläret implementeras lämpligen i metoden, onpaint(), i MainWindow. def onpaint(self, event): Uppritningshändelse för fönster. dc = wx.paintdc(self.mainpanel) gc = wx.graphicscontext.create(dc) self.calcscaling() if self._drawmode == self.dm_geometry: self.drawgeometry(gc) if self._drawmode == self.dm_mesh: self.drawmesh(gc) if self._drawmode == self.dm_flow: self.drawmesh(gc) self.drawflow(gc) För att inte överlasta onpaint() metoden med kod delas denna upp i fler metoder för uppritning. Lägg märke till att GraphicsContext variabeln, gc, skickas med anropen till de olika metoderna. Detta medför att metoderna för uppritning inte bara kan användas för uppritning till skärmen utan också kan användas för att göra uppritning till skrivare. Implementera metoder för uppritning av geometri, elementnät och elementflöde (huvudspänningar för plan spänning) Redovisning Redovisningen av uppgiften skall innehålla: Programlista Beskrivning av indataformat Skärmdumpar (Alt+Print Screen)

Programutveckling för Tekniska Tillämpningar Arbetsblad 5

Programutveckling för Tekniska Tillämpningar Arbetsblad 5 Programutveckling för Tekniska Tillämpningar Arbetsblad 5 I detta arbetsblad innehåller följande moment: 1. Skapa metod för att spara indata till fil. 2. Skapa användargränssnitt för noder, linjer, föreskrivna

Läs mer

Home Nerladdning typsnitt Ladda Ladda fonter Menyn Skrivare Menyn teckensnitt Menyn Verktygsfält Menyn Hjälp Snabbtangenter

Home Nerladdning typsnitt Ladda Ladda fonter Menyn Skrivare Menyn teckensnitt Menyn Verktygsfält Menyn Hjälp Snabbtangenter Nerladdning typsnitt Ladda 2 Ladda fonter 2 Menyn Skrivare 3 Avsluta programmet 3 Menyn teckensnitt 3 Välj Teckensnitt 4 Ladda ner ett teckensnitt 7 Ta bort teckensnitt 7 Teckensnitt Information 8 Menyn

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

Lab5 för prgmedcl04 Grafik

Lab5 för prgmedcl04 Grafik Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna

Läs mer

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass Övningstillfälle 4 Klasser och objekt (s. 221 ff.) Syfte 1: En naturlig fortsättning på koncepten abstraktion och inkapsling! Funktion (återanvändning av skyddad, säker och testad kod) Modul (återanvändning

Läs mer

Språket Python - Del 2 Grundkurs i programmering med Python

Språket Python - Del 2 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt

Läs mer

3.5 Visuell programmering

3.5 Visuell programmering 3.5 Visuell programmering Alla våra program hittills har varit C# Console Applications (sid 41) inkl. programmet MessageBox fast det genererade en grafisk meddelanderuta. Nu vill vi utnyttja grafikens

Läs mer

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02) UMEÅ UNIVERSITET Institutionen för datavetenskap Thomas Johansson Oktober 1998 Programutveckling med Java Development Kit (JDK 1.1.x) och Programmers File Editor (PFE 7.02) Umeå universitet 901 87 Umeå.

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8) Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8) I detta exempel kommer du att lära dig Att skapa en ny presentation från början Att skapa en enkel knapp Att använda händelseinställningar, events

Läs mer

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Kort om klasser och objekt En introduktion till GUI-programmering i Java Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på

Läs mer

1. Definiera klassvariabel. 2. Instansvariabel för klass. Selektera klass i Browsern och tryck på statics. Definiera protokollnamn, Protocol->Add...

1. Definiera klassvariabel. 2. Instansvariabel för klass. Selektera klass i Browsern och tryck på statics. Definiera protokollnamn, Protocol->Add... Kort beskrivning av klassvariabler, något om instansvariabler för klasser samt en introduktion till gränssnittsbyggande med hjälp av gränssnittsbyggare i VisualWorks 5i 1. Definiera klassvariabel Selektera

Läs mer

6. Nu skall vi ställa in vad som skall hända när man klickar på knappen samt att markören skall ändra sig till en hand när markören är på knappen.

6. Nu skall vi ställa in vad som skall hända när man klickar på knappen samt att markören skall ändra sig till en hand när markören är på knappen. Fiskar Arbetsbeskrivning knappmeny (Mediator 8) I detta exempel kommer du att lära dig Att göra en mastersida med knappar Att använda en mastersida på andra sidor Att använd funktionen Alignment Arbetsgång

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

Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D.

Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D. Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D. tobias@dsv.su.se Notera att exemplen är i Python 2.5 För att översätta till Python 3.0, gör följande ändringar print(x,y) istället för print x,y input("ett

Läs mer

Malmö högskola 2007/2008 Teknik och samhälle

Malmö högskola 2007/2008 Teknik och samhälle Laboration 12 Avsikten med denna laboration är att du ska göra några grafiska program. Börja med att skapa paketet laboration 12. Grundläggande uppgift Uppgift 12a Uppgiften går ut på att göra en enkel

Läs mer

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel.

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel. Föreläsning 4 meringsteknik DD1310 Definiering av egna funktioner Parametrar Lokala och globala variabler Retursats None try och except är reserverade ord som används för hantering av exekverings fel.

Läs mer

EVO DEV. EvodevExcel.GarpReportAddin

EVO DEV. EvodevExcel.GarpReportAddin EVO DEV EvodevExcel.GarpReportAddin Evodev AB web www.evodev.se epost info@evodev.se Telefon 033-4300300 Fax 033-126697 Innehåll Installera programmet 1 Installation 1 Registerinställningar 1 Start av

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016 Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik

Läs mer

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,

Läs mer

Föreläsning 5-6 Innehåll

Föreläsning 5-6 Innehåll Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]

Läs mer

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2 Paneler - VCPXX.2 Programmeringsmanual för VCP-paneler Revision 2 Innehållsförteckning Innehållsförteckning... 2 1 Symbolfiler för kommunikation via IndraLogic... 3 2 Uppsättning i IndraWorks... 6 3 Programmering

Läs mer

Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering

Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering Programmeringsteknik för I1 Övning 2 Administrativt Övningsgrupp 2 (Sal E32/D32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kontrollera att ni har fått Lab2 inrapporterad

Läs mer

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: Bilaga C Eclipse 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: www.eclipse.org help.eclipse.org www.eclipse.org/downloads/

Läs mer

OEvent Manual. Version 1.2. ÅID-orientering

OEvent Manual. Version 1.2. ÅID-orientering OEvent Manual Version 1.2 ÅID-orientering Innehåll 1. Import fil från ÅIDs kansli Emit.txt och Tider.txt 2. Logga in och starta OEvent och importera filen Emit.txt Välj databas och importera från Emit.txt

Läs mer

5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har

5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor i Java Först följer frågor av flervalstyp. Frågorna är inte ordnade efter svårighetsgrad. 1. Skillnaden mellan typerna int och

Läs mer

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09 Laboration 4, ISG A04 och DVG A08 HT-09 Laborationen går ut på att skapa en enkel bankbok. Ni skall i bankboken kunna registrera upp till 30 transaktioner som kan bestå av insättning, uttag eller checkuttag.

Läs mer

Laboration: Whitebox- och blackboxtesting

Laboration: Whitebox- och blackboxtesting Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska

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

Föreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul

Föreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul Föreläsning 8 Programmeringsteknik och Matlab DD1312 er, Self Metoderna:, av metoder, Det är en metod som tillhör klassen och inte objektet. class Skylt(object): antal=0 def init (,r):.reklam=r def antal():

Läs mer

Datorövning 1 Statistik med Excel (Office 2010, svenska)

Datorövning 1 Statistik med Excel (Office 2010, svenska) Datorövning 1 Statistik med Excel (Office 2010, svenska) I processövningen som ni ska genomföra ingår det att konstruera samt sammanställa en enkät. Denna sammanställning ska göras med hjälp av programmet

Läs mer

3.0. Tips och Trix Sida 1 av 18

3.0. Tips och Trix Sida 1 av 18 3.0 https://beta.scratch.mit.edu/ Tips och Trix 2018-08-31 Sida 1 av 18 Innehåll Starta nytt program 3 Scenens koordinatsystem 3 Centrumpunkt / rotationspunkt 4 Sprajtens inställningar 5 Placering i Z-led

Läs mer

Övning 6. Ali Tofigh 24 Oktober, 2006

Övning 6. Ali Tofigh 24 Oktober, 2006 Övning 6 Ali Tofigh 24 Oktober, 2006 1 Sortering Att sortera behöver man göra väldigt ofta i programmering. Python tillhandahåller bland annat en metod i listor för detta ändamål. Det enda metoden behöver

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

4.4 Swing ett interaktivt grafiskt gränssnitt

4.4 Swing ett interaktivt grafiskt gränssnitt 4.4 Swing ett interaktivt grafiskt gränssnitt Våra javaprogram har hittills bara haft utdata, inga indata. Det var utdata som skrevs ut från programmet till bildskärmen antingen med metoden showmessagedialog()

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

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

Föreläsning 3-4 Innehåll

Föreläsning 3-4 Innehåll Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå

Läs mer

Uppgift 18 Eget programval 2010 02 02

Uppgift 18 Eget programval 2010 02 02 Prezi lathund Vi skall skapa en presentation med hjälp av Prezi. För att använda Prezi behöver man logga in, dvs. skapa ett konto hos Prezi. När man sedan loggat in kan man skapa en ny Prezi. Det första

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

Klasser och objekt, referenser Grundkurs i programmering med Python

Klasser och objekt, referenser Grundkurs i programmering med Python Hösten 2009 Dagens lektion Klasser och objekt Referenser 2 Klasser och objekt 3 KLASSER OCH OBJEKT Relaterat data Information om en fyrkant Bredd Höjd Färg 4 KLASSER OCH OBJEKT Egna datatyper Skapa en

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

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

Läs mer

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man

Läs mer

Objektorienterad programmering Föreläsning 2

Objektorienterad programmering Föreläsning 2 Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade

Läs mer

Windows Forms Winstrand Development

Windows Forms Winstrand Development 2013-01-23 1 Winstrand Development Användargränssnitt Hittills har vi skapat program för kommandoraden. Den bakomliggande koden fungerar som den ska, men vi upptäcker snabbt att programmen är begränsade

Läs mer

Mirasys 5.10. Användarguide: Live Sök Export. November 2010. Bygger på delar ur dokumentet Mirasys NVR 5.10 Användarvägledning Mirasys, Ltd.

Mirasys 5.10. Användarguide: Live Sök Export. November 2010. Bygger på delar ur dokumentet Mirasys NVR 5.10 Användarvägledning Mirasys, Ltd. Mirasys 5.10 Användarguide: Live Sök Export November 2010 TTC_TI_Mirasys_Anvandarguide/EW Bygger på delar ur dokumentet Mirasys NVR 5.10 Användarvägledning Mirasys, Ltd. Sida 1 Innehållsförteckning Inloggning...

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

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i

Läs mer

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen. TT Kapitel 3. Husdjur & Fisk Javaklasser Translation by Leif Lourié Java program består av klasser som beskriver saker (objekt) som finns på riktigt. Även om det finns många olika sätt att skriva program

Läs mer

Komponenter med COM (och COM+/VC++ 7.0)

Komponenter med COM (och COM+/VC++ 7.0) MÄLARDALENS HÖGSKOLA Komponenter med COM (och COM+/VC++ 7.0) Med Visual C++ 7.0 COM-komponent EI0230 Komponentbaserad applikationsutveckling oktober 2003 Om denna sammanfattning Denna sammanfattning innehåller

Läs mer

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer

Läs mer

F6 Objektorienterad design. ID1004 Objektorienterad programmering Fredrik Kilander

F6 Objektorienterad design. ID1004 Objektorienterad programmering Fredrik Kilander F6 Objektorienterad design ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se långa ord AKTIVITETER I PROGRAMVARUUTVECKLING Iterativ utveckling Kravspecifikation Design Implementation Testning

Läs mer

Microsoft Excel. Avancerade funktioner

Microsoft Excel. Avancerade funktioner Microsoft Excel Avancerade funktioner Avancerade funktioner OM() Returnerar ett värde om ett angivet villkor beräknas till SANT och ett annat värde om det beräknas till FALSKT. =OM(A6>A5;C9;OM(A6>A4;C10;OM(A6>A3;C11;

Läs mer

Problemlösning och funktioner Grundkurs i programmering med Python

Problemlösning och funktioner Grundkurs i programmering med Python Hösten 2009 Dagens lektion Problemlösningsstrategier Repetition av funktioner Mer om funktioner 2 Problemlösningsstrategier 3 PROBLEMLÖSNINGSSTRATEGIER Strategier Det finns ett flertal olika ansatser till

Läs mer

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Microsoft Word. Lathund för. Innehåll. www.bit.mah.se/support. Autokorrigering. Autotext. Format

Microsoft Word. Lathund för. Innehåll. www.bit.mah.se/support. Autokorrigering. Autotext. Format Lathund för Microsoft Word Innehåll Autokorrigering 1 2 3 4 5 6 7 8 9 4 Format På denna rullgardinsmeny väljer du om du vill skriva brödtext, rubriker osv. Mycket bra verktyg om du arbetar med formatmallar.

Läs mer

Introduktion till Matlab

Introduktion till Matlab Introduktion till Matlab Inledande matematik, I1, ht10 1 Inledning Detta är en koncis beskrivning av de viktigaste delarna av Matlab. Till en början är det enkla beräkningar och grafik som intresserar

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015 Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation

Läs mer

Hos vad? och bör därför vara instanseller klassvariabel i vilken klass?

Hos vad? och bör därför vara instanseller klassvariabel i vilken klass? Övningstillfälle 5 Lite kort repetition om klasser och objekt class EnKlass(KlassAttÄrvaFrån): klassvariabel = 5 def init (self) KlassAttÄrvaFrån. init (self) self.instansvariabel = 10 s = 'klassvariabel=

Läs mer

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query). Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.

Läs mer

Datorövning 1. int sgd(int m, int n) { int rest; while ( n!= 0 ) { rest = m % n; m = n; n = rest; return m;

Datorövning 1. int sgd(int m, int n) { int rest; while ( n!= 0 ) { rest = m % n; m = n; n = rest; return m; Datorövning 1 A) Kör igång MicrosoftVisualC++-miljön. Välj File New Project från huvudmenyn och skapa ett nytt Win32 Console Project med namnet Mittnamn. Skapa en ny katalog, Oop, genom att vid Location

Läs mer

DAT043 - Föreläsning 7

DAT043 - Föreläsning 7 DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar

Läs mer

Migrera till Access 2010

Migrera till Access 2010 I den här guiden Microsoft Microsoft Access 2010 skiljer sig rent utseendemässigt mycket, så vi har skapat den här guiden för att hjälpa dig att snabbare lära dig programmet. Här kan du läsa om de viktigaste

Läs mer

FactoryCast HMI. Premium & Quantum PLC. Applets 2004-10-28

FactoryCast HMI. Premium & Quantum PLC. Applets 2004-10-28 FactoryCast HMI Premium & Quantum PLC Applets 2004-10-28 INNEHÅLLSFÖRTECKNING 1 OM DETTA DOKUMENT...3 2 FÖRUTSÄTTNINGAR...3 3 PROJEKT I J++...4 3.1 LÄSA PLC-VARIABLER...4 3.1.1 Gränssnittet...4 3.1.2 Upprätta

Läs mer

Laboration 3 GUI-programmering

Laboration 3 GUI-programmering Laboration 3 GUI-programmering Syfte Erbjuder studenterna en möjlighet att lära sig grunderna i gränssnittsprogrammering i Java. Genomförande Genomförs individuellt eller i grupp om 2 personer. Uppskattad

Läs mer

In- och utenheter. Händelsebaserad programmering i GLUT. Interrupt-baserad interaktion. Sampling / polling. Händelsebaserad interaktion (forts.

In- och utenheter. Händelsebaserad programmering i GLUT. Interrupt-baserad interaktion. Sampling / polling. Händelsebaserad interaktion (forts. Den första datormusen Douglas Englebart, 1968. programmering i GLUT Gustav Taxén CID gustavt@nada.kth.se In- och utenheter Alla datorsystem har in- och utenheter som behandlar information. Data skickas

Läs mer

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Datateknik A, Syfte: Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Att läsa: Lektion 2 Uppgifter:

Läs mer

Laboration: Grunderna i MATLAB

Laboration: Grunderna i MATLAB Laboration: Grunderna i MATLAB 25 augusti 2005 Grunderna i MATLAB Vad är MATLAB? MATLAB är ett interaktivt program för vetenskapliga beräkningar. Som användare ger du enkla kommandon och MATLAB levererar

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Bilaga 2. Layoutstöd för examensarbeten och uppsatser

Bilaga 2. Layoutstöd för examensarbeten och uppsatser Bilaga 2 Layoutstöd för examensarbeten och uppsatser Lärstöd Karlstads universitetsbibliotek ht 2007 Layoutstöd examensarbeten och uppsatser ht -07 Innehåll 1. Inledning...1 1.1 Dispositon...2 2. Om omslag...3

Läs mer

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15 Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15 Grafiska gränssnitt - GUI Tkinter Tillstånd Komponenter Layout Händelser LÄNKAR & EXEMPEL...finns på kurswebsidan under "GUI

Läs mer

Handbok KXSLDbg. Keith Isdale Översättare: Stefan Asserhäll

Handbok KXSLDbg. Keith Isdale Översättare: Stefan Asserhäll Keith Isdale Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Funktioner.......................................... 5 2 Använda KXSLDbg 6 2.1 Anpassa en KXSLDbg-session...............................

Läs mer

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga. Tentamen Programmeringsteknik I 2011-03-17 Skrivtid: 1400-1700 Hjälpmedel: Java-bok Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift

Läs mer

Handbok Kig. Dominique Devriese Översättare: Stefan Asserhäll

Handbok Kig. Dominique Devriese Översättare: Stefan Asserhäll Dominique Devriese Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Grundläggande användning 6 2.1 Konstruera objekt...................................... 6 2.1.1 Konstruera punkter................................

Läs mer

Introduktion till Matlab

Introduktion till Matlab Introduktion till Matlab Analys och Linjär Algebra, del A, K1/Kf1/Bt1, ht10 1 Inledning Ni kommer använda Matlab i nästan alla kurser i utbildningen. I matematikkurserna kommer vi ha studio-övningar nästan

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

Frekvenstabell över tärningskast med C#

Frekvenstabell över tärningskast med C# Instruktion Frekvenstabell över tärningskast med C# Introduktionsuppgift Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Innehåll Du ska följa steg för steg -instruktionen i

Läs mer

ID1004 Laboration 3, 5-6 November 2012

ID1004 Laboration 3, 5-6 November 2012 18-okt-2012/FK ID1004 Laboration 3, 5-6 November 2012 Labben bör göras individuellt. Beräknad tid ca 2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön

Läs mer

ALEPH ver. 16 Introduktion

ALEPH ver. 16 Introduktion Fujitsu, Westmansgatan 47, 582 16 Linköping INNEHÅLLSFÖRTECKNING 1. SKRIVBORDET... 1 2. FLYTTA RUNT M.M.... 2 3. LOGGA IN... 3 4. VAL AV DATABAS... 4 5. STORLEK PÅ RUTORNA... 5 6. NAVIGATIONSRUTA NAVIGATIONSTRÄD...

Läs mer

2 Eclipse en handledning

2 Eclipse en handledning 2 Eclipse en handledning Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: http://www.eclipse.org http://help.eclipse.org http://www.eclipse.org/downloads/

Läs mer

Pampas Arbetsbeskrivning gif-animering (Mediator 8)

Pampas Arbetsbeskrivning gif-animering (Mediator 8) Pampas Arbetsbeskrivning gif-animering (Mediator 8) I detta exempel kommer du att lära dig Att använda det inbyggda multimediabiblioteket Att lägga in rörliga bilder, gif-animeringar Att skapa animeringsbanor

Läs mer

Överlagring, static, testning, formella metoder och undantag! Förelasning 13!! TDA540 Objektorienterad Programmering!

Överlagring, static, testning, formella metoder och undantag! Förelasning 13!! TDA540 Objektorienterad Programmering! Överlagring, static, testning, formella metoder och undantag! Förelasning 13!! TDA540 Objektorienterad Programmering! Gränssnitt igen För att kunna ändra på olika delar av programmet utan att andra delar

Läs mer

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll En allmän inledning Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Komponenter i Calligra.................................. 5 1.2 Översikt över funktioner i

Läs mer

JAVA Mer om klasser och objektorientering

JAVA Mer om klasser och objektorientering JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det

Läs mer

Exemple på Tentauppgifter Webbprogrammering

Exemple på Tentauppgifter Webbprogrammering LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Exemple på Tentauppgifter Webbprogrammering 2019 02 28 version 2019-03-20 15:36:14+01:00 Tillåtna hjälpmedel: inga. Detta är ett exempel på

Läs mer

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... } En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class

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

Datorövning 1 Statistik med Excel (Office 2007, svenska)

Datorövning 1 Statistik med Excel (Office 2007, svenska) Datorövning 1 Statistik med Excel (Office 2007, svenska) I processövningen som ni ska genomföra ingår det att konstruera samt sammanställa en enkät. Denna sammanställning ska göras med hjälp av programmet

Läs mer

Enkla variabler kontra referensvariabel

Enkla variabler kontra referensvariabel Enkla variabler kontra referensvariabel En variabel är ett namngivet minnesutrymme i datorns primärminne. En variabel som används för att representera en primitiv datatyp kallas för enkel variabel. Deklarationssatsen

Läs mer

Hjälp för Timmerweb Mobil 3

Hjälp för Timmerweb Mobil 3 1 (8) 2012-11-20 Hjälp för Timmerweb Mobil 3 (ArcPad 10.0) INNEHÅLL Starta och Avsluta... 2 Välj aktivt objekt... 2 Zooma till aktivt objekt... 3 Redigera attribut... 3 Typ av Bakgrundskarta... 3 Redigera

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

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15.

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15. Skolan för Datavetenskap och kommunikation Idag: DD1311 Programmeringsteknik med PBL Granskning Felhantering GUI Föreläsning 15 På torsdag: Mer om GUI På grupptimmen: genomgång av granskningsprotokollet

Läs mer

4 Kolumn Kalkylbladet är uppdelat i rader (horisontellt) och kolumner (vertikalt). Där dessa möts finns alltid en cell.

4 Kolumn Kalkylbladet är uppdelat i rader (horisontellt) och kolumner (vertikalt). Där dessa möts finns alltid en cell. Lathund för Microsoft Excel 1 2 9 4 Kolumn Kalkylbladet är uppdelat i rader (horisontellt) och kolumner (vertikalt). Där dessa möts finns alltid en cell. Innehåll Autofyll Celler Diagram Ändra diagramtyp

Läs mer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

Läs mer

SMART Ink 3.0 ANVÄNDARHANDBOK FÖR MAC OS X-OPERATIVSYSTEM

SMART Ink 3.0 ANVÄNDARHANDBOK FÖR MAC OS X-OPERATIVSYSTEM SMART Ink 3.0 ANVÄNDARHANDBOK FÖR MAC OS X-OPERATIVSYSTEM Varumärkesinformation SMART Ink, SMART Meeting Pro, smarttech, SMART-logotypen och alla SMART-slogans är varumärken eller registrerade varumärken

Läs mer

Så här skriver du ditt första program i C++

Så här skriver du ditt första program i C++ Så här skriver du ditt första program i C++ Introduktion till att skapa Solution, Project och källkodsfil i Visual Studio 2013 Författare Anne Norling Kurs: Strukturerad programmering med C++ Kurskod:1DV433

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har

Läs mer

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentamen i TDP004 Objektorienterad Programmering Praktisk del Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-04-28 Tid: 08-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär

Läs mer