Plugin-arkitektur med.net

Størrelse: px
Starte visningen fra side:

Download "Plugin-arkitektur med.net"

Transkript

1 Denne guide er oprindeligt udgivet på Eksperten.dk Plugin-arkitektur med.net Denne artikel viser hvordan du kan lave en plugin-arkitektur i dit program. Gør det muligt for andre at skrive udvidelser til det. Smid dem i et dedikeret bibliotek, og lad dit program automatisk opdage og tage dem i brug. Skrevet den 09. Feb 2009 af nielle I kategorien Programmering / C# Indledning En del færdige programmer giver mulighed for at du som programmør kan lave dine egne udvidelser til programmet i form af plugins eller add-ons. I sin simpleste form er en plugin er en lille programstump, f.eks. i form af en DLL, som man kan installere, eller måske blot kopiere til en bestemt lokalisation på harddisken - så vil programmet selv opdage den og gøre den tilgængelig fra programmet i form af ekstra funktionalitet. Man kan lave en plugin helt uden at man har adgang til kildekoden fra det oprindelige program, eller at nogen behøver at rekompilere noget som helst (andet end selve plugin'en). Denne artikel giver et forslag til hvordan man kan lave et program i.net, som stiller en sådan udvidelsesmulighed til rådighed for andre; et program med en plugin-arkitektur. v. 1.0: 29/12/ Første version. Demo applikationen For at demonstrere princippet vil jeg skrive en lille demo applikation. Det er basalt set (starten til) en C# editor, hvor man arbejder med koden via en RichTextBox. Min plugin-arkitektur vil åbne op for at andre kan lave et plugin som formatere på teksten. I den demoplugin der kodes her, laves der f.eks. lidt syntax-highlighting på koden. Demo applikationen er skrevet i C# 2.0 og.net 2.0, men burde kunne overføres til såvel nyere som ældre versioner; hvis der er noget så er det nok bare Windows-kontrollerne som eventuelt er nogle lidt andre. Selve grundprincippet holder uden tvivl. Plugin interfacet Applikationen skal udstikke nogle retningslinjer for hvordan en plugin skal struktureres før at den kan genkende den og bruge den. Dette gøre den ved at definere et interface som plugin's skal implementere: public interface IPlugin #region Plugin beskrivelse string Name get;

2 string Description get; Version PluginVersion get; string Author get; #endregion #region GUI oplysninger string MenuText get; string MenuToolTipText get; #endregion public interface IFormatterPlugin : IPlugin void Format(RichTextBox rtf); I dette tilfælde har jeg valgt at definere to: Det første interface indeholder nogle helt basale oplysninger omkring plugins: Hvem har lavet det, hvad gør det, osv. Man kan sikkert selv komme på flere, som f.eks. copyright. Desuden indeholder det også nogle oplysninger om hvordan det skal plugges ind i demo applikationens GUI. Dem vil vi komme tilbage til senere. Det andet interface arver alle egenskaberne fra det første, og desuden definere det en funktion som laver selve formateringen - det var jo en plugin-arkitektur til formatering jeg ville lave. Hvis demo applikationen skal kunne understøtte flere typer af plugins, skal de hver især blot udvide IPlugin på samme måde som IFormatterPlugin gør det. Hvor skal interface koden placeres? Man kan vælge at placere interfacet sammen med resten af koden for demo applikationen, eller man kan vælge at placere den i en separat DLL. Jeg har her valgt den første mulighed fordi løsningen bliver lidt mere simpel at håndtere, men den ville kræve at folk har din applikation før at de kan bidrage med deres plugins. I det andet tilfælde behøver de kun DLL'en med interfacet for at være kørende. Plugin handleren Demo applikationen har behov for at kunne loade og administrere sine plugins. Det er bedst at samle dette i en klasse til formålet: class PluginList<TPluginInterface> : List<IPlugin> where TPluginInterface : IPlugin

3 public PluginList(string plugindirectory) : base() // Hvis biblioteket ikke eksistere, forbliver listen tom. if (Directory.Exists(pluginDirectory)) DetectPluginCandidates(pluginDirectory); #region Detecting plugins. private void DetectPluginCandidates(string plugindirectory) // Find alle DLL'er i biblioteket. Det er vores kandidater. foreach (string plugincandidatedll in Directory.GetFiles(pluginDirectory, "*.dll")) try // Indlæs dem... Assembly plugincandidate = Assembly.LoadFile(pluginCandidateDll); //... og tjek deres indhold for mulige plugins. ScanPluginCandidate(pluginCandidate); catch (System.Reflection.ReflectionTypeLoadException) private void ScanPluginCandidate(Assembly plugincandidate) // Dumt søge-filter, som kun er med fordi at det ikke kan undværes. TypeFilter dummytypefilter = new TypeFilter(DummyTypeFilter); osv. // Hent samtlige typer i filen: class-, interface-, enum-definitioner, Type[] typearr1 = plugincandidate.gettypes(); // Gennemløb samtlige typer. foreach (Type type1 in typearr1) // Vi er kun interesseret i klasser (ikke interfaces), som // ikke er abstrakte, og som er erklæret som public. if (type1.isclass &&!type1.isabstract && type1.ispublic) // Find samtlige interfaces som denne klasse implementere. Type[] typearr2 = type1.findinterfaces(dummytypefilter, null); // Gennemløb interface-typerne. foreach (Type type2 in typearr2) // Implementere vores klasse det rette interface? if (type2 == typeof(tplugininterface))

4 //... så er det en plugin. :^) listen. IPlugin; // Opret en instans af plugin klassen og gem den her i IPlugin plugin = Activator.CreateInstance(type1) as Add(plugin); // Afbryd; vi har fundet det vi ledte efter. break; private bool DummyTypeFilter(Type m, Object filtercriteria) return true; #endregion Klasse definitionen for PluginList PluginList er defineret som en generisk klasse (det er det <...> gør): class PluginList<TPluginInterface> : List<IPlugin> where TPluginInterface : IPlugin... Man opretter et objekt af klassen på denne måde: PluginList<IFormatterPlugin> pluginlist = = new PluginList<IFormatterPlugin>(@"C:\Plugins"); Her har jeg indsat IFormatterPlugin på pladsen <TPluginInterface>, men jeg kunne sagtens have indsat andre interfaces her; ved at gøre klassen generisk har jeg opnået at jeg kan bruge PluginList klassen på forskellige typer af plugins. Jeg skal ikke skrive en klasse for hver plugin-type jeg ønsker at kunne understøtte.

5 I koden for ScanPluginCandidate() har jeg denne: if (type2 == typeof(tplugininterface))... og den sikre at det kun er klasser som rent faktisk implementere interfacet, indsat på TPluginInterfacepladsen, som beholdes som plugins. Hvis man indsætter IFormatterPlugin, er det dette interface plugin klasserne skal implementere. Denne del af definitionen: where TPluginInterface : IPlugin sikre at den generiske klasse kun vil tage imod interfaces (på pladsen TPluginInterface) under forudsætning af at de implementere IPlugin interfacet. Dette er det absolutte minimum for plugins i vores demo applikation. Endeligt nedarver PluginList fra List<IPlugin> klassen, og den har derfor alle de egenskaber denne har. Reflektion Teknikken, som bruges til at inspektører DLL'en for at finde ud af om den indeholder en plugin, kaldes for Reflektion. Det vil komme alt for vidt at skulle forklare alle mulighederne i refleksion, men dette er i korte træk hvad der sker: DLL'en loades først i en Assembly. Programmet spørger derefter hvilke typer der er i denne. Enhver klasse/interface/enum/delegate/osv. har en Type som fortæller om hvordan den ser ud. I dette tilfælde er vi kun interesseret i de typer som repræsentere en ikke-abstrakt public klasse - dette er jo de eneste klasser der er tilgængelige udefra og som kan instantieres. Når programmet har fundet en sådan klasse, spørger det videre til hvilke interfaces denne klasse så implementerer. Vi går kun videre med den hvis den understøtter det interface som indsættes i stedet for TPluginInterface. Hvis klassen opfylder denne betingelse så er det en plugin af den rette type. Med kaldet af Activator.CreateInstance() oprettes der en instans af klassen. Denne lægges efterfølgende i listen med Add() - det er en af de metoder som er tilstede fordi PluginList nedarver fra List<IPlugin>. Hvordan installeres plugins?

6 I sin nuværende form oprettes objekter af PluginList med angivelse af et bibliotek i filsystemet. Det er i dette bibliotek at den leder efter mulige plugins. Faktisk er "installeres" en lige lovligt flot betegnelse; man skal simpelthen bare kopiere DLL'en med plugin'en til biblioteket, starte demo applikation og så er man kørende (dette kaldes for xcopy deployment). Der ledes kun efter plugins når objektet oprettes; hvis man efterfølgende lægger nye plugins i biblioteket efter at demo applikationen er startet opdages de ikke før denne genstartes. Der er m.a.o. ingen "hot plugin" funktionalitet. Dette kan man dog lave med en passende brug af FileSystemWatcher hvis man ønsker. I dette tilfælde har jeg valgt at hardcode biblioteksnavnet. I en rigtig applikation bør man selvfølgelig tilbyde muligheden for at konfigurere hvor at plugins skal ligge. Nu kan vi indlæse en plugin, hvordan bruger vi den så? Opret et Windows Application projekt med navnet "PluginDemoApp". Tilføj koden for IPlugin og IFormatterPlugin til projektet. Dette bør gøres ved at højre-klikke i Solution Exploren og vælge Add > New Item... og så vælge Interface. Dette gøres to gange, en for hver af de to interfaces. Jeg har som sagt valgt at gemme interfacene direkte i demo applikationen. Et alternativ kunne være at gemme dem i en separat DLL. Tilføj koden for PluginList klassen. Dette gøres ved at højreklikke i Solution Exploren og vælge Add Class.... Træk en MenuStrip, en OpenFileDialog og en RichTextBox ind på formen. MenuStrip'en: Opret to menupunkter i 1. niveau: "Filer" og "Formatering". Under Filer indsættes en undermenu: "Åben". Vi skal bruge dette menupunkt til at loade cs-filer med. Dobbelt-klik på Åben og indsæt så koden for dette: private void åbentoolstripmenuitem_click(object sender, EventArgs e) if (this.openfiledialog1.showdialog() == DialogResult.OK) using (StreamReader sr = new StreamReader(this.openFileDialog1.FileName)) this.richtextbox1.text = sr.readtoend(); OpenFileDialog'en: I dennes properties slettes indholdet af FileName og Filter sættes til: "C# kode (*.cs) *.cs Alle (*.*) *.*". RichTextBox'en: C# koden fra den loaded cs-fil indlæses i RichTextBox'en. Dennes Dock property bør nok

7 lige sættes til Fill hvis det skal se ordentligt ud. Vi skal derefter lave indlæst de plugins der måtte være. Dobbelt-klik på formen og indsæt koden: PluginList<IFormatterPlugin> pluginlist; private void Form1_Load(object sender, EventArgs e) pluginlist = new PluginList<IFormatterPlugin>(@"C:\Plugins"); AddPluginsToGUI(); Initialiseringen af pluginlist indlæser alle plugins fra det angivne bibliotek. Nu skal de så bare gøres tilgængelig fra brugergrænsefladen og det er det AddPluginsToGUI() gør. Tidligere oprettede vi menupunktet Formatering, og det er under dette at vi ønsker at indsætte dem: private void AddPluginsToGUI() // Løb igennem alle de loadede plugins. foreach (IPlugin plugin in pluginlist) // Opret et menupunkt til hvert plugin. ToolStripMenuItem plugintoolstripmenuitem = new ToolStripMenuItem(); // Menupunktet initialiseres med informationer hentet direkte fra plugin'et. plugintoolstripmenuitem.size = new System.Drawing.Size(152, 22); plugintoolstripmenuitem.text = plugin.menutext; plugintoolstripmenuitem.tooltiptext = plugin.menutooltiptext; // Sammenkæd menupunktet med plugin'en. plugintoolstripmenuitem.tag = plugin; // Definere en eventhandler til menupunktet. plugintoolstripmenuitem.click += new EventHandler(pluginToolStripMenuItem_Click); // Indsæt menupunktet under Formatering. this.formateringtoolstripmenuitem.dropdownitems.add(plugintoolstripmenuitem); Derefter mangler vi blot at definere event-handleren, og så er demo applikationen faktisk færdig: void plugintoolstripmenuitem_click(object sender, EventArgs e) // Find den menu som kaldte eventhandleren.

8 ToolStripMenuItem temp = sender as ToolStripMenuItem; // Find den plugin som høre sammen med det menupunkt. IFormatterPlugin plugin = temp.tag as IFormatterPlugin; // Kald plugin'ens Format() metode med formens RichTextBox som input. plugin.format(this.richtextbox1); Vi har hermed en kørende applikation som kan loade cs-filer og vise dem i formens RichTextBox. Desuden kan man kan smide plugins ned i plugin-biblioteket uden at det kræver at applikationen skal rekompileres før at den kan bruge dem. Andre kan derfor lave plugins til den uden at de skal have adgang til din kildekode, eller at du skal kompilere deres plugin for dem. Der er endnu ikke nogen menupunkter under Formatering - vi har jo endnu ikke lavet en eneste plugin. Det kommer, det kommer! Faktisk nu: Endelig, en plugin! Opret et Class Library projekt og kald det SyntaxHighlightingPlugin. Opret en reference til PluginDemoApp exe-filen. Dette gør du i Solution Explorer; højre-klik på References, vælg Add Reference og tryk derefter på Browse tabben i den resulterende menu. Find frem til exe-filen. Dette skal følges op af en using PluginDemoApp; i din kode. Den skal også have en tilsvarende reference til System.Windows.Forms.dll da det er der RichTextClass er defineret. Dette gøres på tilsvarende facon, men under.net tabben i stedet for Browse. Omdøb klassen fra det kedelige "Class1" til at hedde f.eks. "SyntaxHighlighter", og angiv at den arver fra IFormatterPlugin: public class SyntaxHighlighter : IFormatterPlugin... Udfyld nu de metoder som interfacet kræver. Resultatet kunne se nogenlunde sådan her ud:

9 public class SyntaxHighlighter : IFormatterPlugin #region IFormatterPlugin Members public void Format(RichTextBox rtf) MarkupText(rtf, new Regex(@"\b(class interface)\b"), Color.Blue); private void MarkupText(RichTextBox rtf, Regex re, Color color) Match rem = re.match(rtf.text); while (rem.success) rtf.selectionstart = rem.index; rtf.selectionlength = rem.length; rtf.selectioncolor = color; rtf.selectionlength = 0; rem = rem.nextmatch(); rtf.select(0, 0); #endregion #region IPlugin Members public string Author get return "Nielle"; public string Description get return "En demo plugin til PluginDemoApp applikationen"; public string MenuText get return "Syntax highlight"; public string MenuToolTipText get return "C# syntax color highlighting"; public string Name get return "C# syntax highlighting plugin";

10 public Version PluginVersion get return new Version(1, 0, 0, 0); #endregion De fleste properties returnerer blot en streng. Det saftige foregår i metoden Format(), men den sender i virkeligheden blot formaterings-jobbet videre til MarkupText() metoden. Pointen er at Format() eventuelt kan kalde MarkupText() flere gange med andre input. I dette tilfælde gør koden ikke så meget - den finder samtlige steder hvor at der står "class" eller "interface" i koden og markere dem med blåt. Dette gøres vha. regulære udtryk og med noget kreativt RichTextBox gymnastik. Kompilér projektet, og smid den resulterende DLL ind i biblioteket C:\Plugins. Start derefter PluginDemoApp (helst uden at re-kompilere). Se nu under Formatering - der skulle gerne være kommet et menupunkt som hedder "Syntax highlight" og hvis man holder musen over dette skulle teksten "C# syntax color highlighting". Dette er egenskaber som er hentet fra plugin'en selv. Load en cs-fil, og aktiver menupunktet. Så skulle alle forekomster af ordene "class" og "interface" gerne fremhæves med blåt. Afslutning Mere kode skal der i virkeligheden ikke til før at man har en fungerende plugin arkitektur. Den viste model er i relativt simplistisk og man kan sagtens spekulere i meget mere avancerede modeller som tilbyder yderligere faciliteter. Fælles for dem er at de bruger refleksion til at loade og inspektionere DLL'er på run-time tidspunktet, i stedet for at det skal gøres på compile-time. Loadningen kan enten ske ved at applikationen selv kigger i et bestemt bibliotek, eller ved at man specificere hvilke plugins der skal loades vha. en konfigurationsfil..ooo. Hvis man er interesseret i en langt mere avanceret model for hvordan man laver plugins, kan man f.eks. læse denne artikel som handler om hvordan plugin arkitekturen er lavet i SharpDevelop programmet: Her er desuden en artikel fra Microsoft om emnet: -Ins/default.aspx Kommentar af jps6kb d. 02. Jan Nice :)

11 Kommentar af webben d. 30. Dec Kommentar af coderdk d. 14. May :) Kommentar af cwboy d. 31. Dec Super! Kommentar af _basil d. 24. Jun Kommentar af fedora d. 30. Dec Jeg synes det er meget god artikel, desværre for mit vedkommende endnu lidt højere niveau end jeg er klar til, men har god forståelse for princippet. Kommentar af mr-kill d. 02. Jan God læsning Kommentar af dotdonk d. 07. Jan Awsome stuff

Dvs. at give dit program muligheden for at loade og bruge plugins som andre har lavet.

Dvs. at give dit program muligheden for at loade og bruge plugins som andre har lavet. Denne guide er oprindeligt udgivet på Eksperten.dk Refleksion med.net Refleksion bruges til at undersøge klasser på runtime tidspunktet. Se hvordan du f.eks. loader en klasse fra en DLL, gennemkigger dens

Læs mere

Delphi og Databaser for begyndere

Delphi og Databaser for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Delphi og Databaser for begyndere Denne artikel handler om hvordan man udnytter noget af det bedste i Delphi: Dets gode muligheder for integrering med

Læs mere

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &. MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig

Læs mere

Singleton pattern i C#

Singleton pattern i C# Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i C# Denne artikel beskriver Singleton pattern og implementation i C#. Den forudsætter kendskab til C# men ikke til Singleton. Der er

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste Denne guide er oprindeligt udgivet på Eksperten.dk Indkøbsvogn i PHP I denne artikel vil jeg prøve at lave en indkøbskurv som let kan udvides, og som ikke er svær at forstå. Det er bedst med viden om OOP(klasser),

Læs mere

Hvad er Objekter - Programmering

Hvad er Objekter - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

Arkitektur for begyndere

Arkitektur for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle

Læs mere

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

Læs mere

Anvendelse af metoder - Programmering

Anvendelse af metoder - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur

Læs mere

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation). Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer

Læs mere

Send fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende fra Java.

Send  fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende  fra Java. Denne guide er oprindeligt udgivet på Eksperten.dk Send email fra Java Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende email fra Java. Simple eksempler ikke noget vildt

Læs mere

Introduction til.net remoting i C#

Introduction til.net remoting i C# Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i C# Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i C#. Den forudsætter kendskab

Læs mere

Singleton pattern i Java

Singleton pattern i Java Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.

Læs mere

Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#.

Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#. Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i C# Denne artikel vil vise lidt om hvordan man kan bruge XML i C#. Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#.

Læs mere

Register-databasen med.net

Register-databasen med.net Denne guide er oprindeligt udgivet på Eksperten.dk Register-databasen med.net Mange programmer gemmer deres konfiguration-data i register-database. Denne artikel viser hvordan du - f.eks. vha. C# - henter

Læs mere

Undtagelseshåndtering i C#

Undtagelseshåndtering i C# Denne guide er oprindeligt udgivet på Eksperten.dk Undtagelseshåndtering i C# I modsætning til C++ kan man i C# ikke skrive et program uden undtagelseshåndtering, så derfor har jeg skrevet denne guide

Læs mere

Brugerdefineret menuer i Access

Brugerdefineret menuer i Access Denne guide er oprindeligt udgivet på Eksperten.dk Brugerdefineret menuer i Access Denne artikel henvender sig primært til let øvede brugere af Access, der ønsker at komme i gang med at tilpasse egne menuer

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

Læs mere

Mozilla Firefox (tidligere Firebird): Fremhæve ord

Mozilla Firefox (tidligere Firebird): Fremhæve ord Denne guide er oprindeligt udgivet på Eksperten.dk Mozilla Firefox (tidligere Firebird): Fremhæve ord Du kender sikkert Google Værktøjslinjen til Internet Explorer, ellers har du sikkert hørt om den. I

Læs mere

Gem dine dokumenter i BON s Content Management System (CMS)

Gem dine dokumenter i BON s Content Management System (CMS) 24. august 2007 Gem dine dokumenter i BON s Content Management System (CMS) INDHOLDSFORTEGNELSE 1. Indledning... 2 2. Se indholdet i dit Content Management System... 3 3. Tilgå dokumenterne i My Content

Læs mere

Kapitel 6 Events i C#

Kapitel 6 Events i C# Kapitel 6 i C# Når vi snakker programmering er en Event når der aktiveres specielt indbygget kode. Der sker en hændelse (event). Man siger at eventet bliver udført. De events vi skal gennemgå i dette kapitel

Læs mere

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1 Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

I denne manual kan du finde en hurtig introduktion til hvordan du:

I denne manual kan du finde en hurtig introduktion til hvordan du: VORES NORDSJÆLLAND HURTIGT I GANG MANUAL 01: Bruger HVAD INDEHOLDER DENNE MANUAL? I denne manual kan du finde en hurtig introduktion til hvordan du: 1. Finder Vores Nordsjælland hjemmesiden 2. Opretter

Læs mere

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007 JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal

Læs mere

Arrays i PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 04. Feb 2009 af taskmgr I kategorien Programmering / PHP

Arrays i PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 04. Feb 2009 af taskmgr I kategorien Programmering / PHP Denne guide er oprindeligt udgivet på Eksperten.dk Arrays i PHP De fleste som har skrevet omfattende scripts, er før eller siden stødt på problemet med at de bliver vanskelige at overskue hvis man bruger

Læs mere

Afsending af s vha. ASP

Afsending af  s vha. ASP Denne guide er oprindeligt udgivet på Eksperten.dk Afsending af emails vha. ASP Det kan ofte være praktisk at afsende emails fra sin hjemmeside. Denne artikel tager udgangspunkt i komponenten JMail fra

Læs mere

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Design af brugerflader 11.1 Samme sted Forskellige steder Sidste kursusgang Samtidigt

Læs mere

Testservice med anvendelse af Microsoft software.

Testservice med anvendelse af Microsoft software. Testservice med anvendelse af Microsoft software. Få offentlig nøgle fra installeret signeringscertifikat 1. Klik Start Kør på den pc eller server hvor signeringscertifikatet er installeret. 2. Skriv MMC

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11 DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void

Læs mere

Oprettelse af Titelblok i Capture og Capture CIS

Oprettelse af Titelblok i Capture og Capture CIS e-service Titelblok i OrCAD Capture og Capture CIS Side 1 af 11 Oprettelse af Titelblok i Capture og Capture CIS Note skrevet af : Nordcad Systems Technical Support Revision : April 2003, Release 14.2/9.2.3,

Læs mere

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter

Læs mere

få en ny og bedre hjemmeside på få minutter Quick guide Del denne quick guide med alle som har glæde af en ny og bedre hjemmeside

få en ny og bedre hjemmeside på få minutter Quick guide Del denne quick guide med alle som har glæde af en ny og bedre hjemmeside få en ny og bedre hjemmeside på få minutter Quick guide Del denne quick guide med alle som har glæde af en ny og bedre hjemmeside 1 Alle har ret og råd til en professionel hjemmeside på få minutter GoMinisite

Læs mere

Advanced Word Template Brugermanual

Advanced Word Template Brugermanual Advanced Word Template Brugermanual Forord: Advanced Word Template er et værktøj, der anvendes sammen med Microsoft Word til at opbygge ensartet beskrivelser på en mere intelligent måde end Copy and Paste

Læs mere

KOM GODT I GANG MED. Desktop Mendeley Menuen er simpel og intuitiv. I Menuen Tools finder du web importer og MS Word plugin

KOM GODT I GANG MED. Desktop Mendeley Menuen er simpel og intuitiv. I Menuen Tools finder du web importer og MS Word plugin Mendeley er et program til håndtering af PDF er og referencer, som frit kan downloades fra internettet. Der er fri lagringskapacitet for en enkeltbruger op til en vis mængde data. Du kan hente programmet

Læs mere

Redaktørvejledning for www.bredstrup-pjedsted.dk Skriv en artikel

Redaktørvejledning for www.bredstrup-pjedsted.dk Skriv en artikel Arbejdsgang - Skriv artiklens tekst - Gør billeder klar - Log-in på hjemmesiden - Opret ny artikel - Vælg kategori - Skriv overskrift - Indsæt tekst - Tilføj billeder - Gennemgå artiklens indstillinger

Læs mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script.

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script. Denne guide er oprindeligt udgivet på Eksperten.dk Register Globals Off Lad os slå en ting fast med det samme - register_globals = Off er en god ting, i hvert fald set ud fra et sikkerhedsmæssigt synspunkt.

Læs mere

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Denne guide er oprindeligt udgivet på Eksperten.dk Afrund til helt tal I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Skrevet den 03. Feb 2009 af tjomsen I kategorien

Læs mere

At klippe en streng over på det mest hensigtsmæssige sted

At klippe en streng over på det mest hensigtsmæssige sted Denne guide er oprindeligt udgivet på Eksperten.dk At klippe en streng over på det mest hensigtsmæssige sted Formålet med denne artikel er at kaste lidt lys over, hvordan man klipper en streng over på

Læs mere

Java Klasse nedarvninger

Java Klasse nedarvninger Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering

Læs mere

Det er primært relevant for dem hvor der arbejdes på en gammel bærbar computer, som ikke har en stærk processer og nok ram, at gøre godt med.

Det er primært relevant for dem hvor der arbejdes på en gammel bærbar computer, som ikke har en stærk processer og nok ram, at gøre godt med. Denne guide er oprindeligt udgivet på Eksperten.dk Optimer XP manuelt! Jeg beskriver 9 skridt man kan udføre hvis man er interesseret i, at gøre XP hurtigere ved start, nedlukning og generelt! Hvis du

Læs mere

Parameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET.

Parameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET. Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET. Der findes en tilsvarende artikel med

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Velkommen. sidste runde

Velkommen. sidste runde Velkommen sidste runde Spørgsmål om ekstraopgaven og et par oplysninger Mail v /Niels Adressebog Opret ny Tilføj til adressebog fra en modtaget mail Vedhæfte filer Signatur Lave egne mapper Indsætte billeder

Læs mere

ViKoSys. Virksomheds Kontakt System

ViKoSys. Virksomheds Kontakt System ViKoSys Virksomheds Kontakt System 1 Hvad er det? Virksomheds Kontakt System er udviklet som et hjælpeværkstøj til iværksættere og andre virksomheder som gerne vil have et værktøj hvor de kan finde og

Læs mere

Manual Version 2. til oprettelse af hjemmesider for landsbyer i Rebild kommune

Manual Version 2. til oprettelse af hjemmesider for landsbyer i Rebild kommune Manual Version 2 til oprettelse af hjemmesider for landsbyer i Rebild kommune Oversigt: Login Hjemmeside...... side 3 Login Administrationsmodul... side 5 Kategorier.. side 6 Opret/rediger første side...

Læs mere

1B fil database. //globale variabler DateTime tid; // erklærer en variabel af typen datetime DateTime dag; // erklærer en variabel af typen datetime

1B fil database. //globale variabler DateTime tid; // erklærer en variabel af typen datetime DateTime dag; // erklærer en variabel af typen datetime 1B fil database using System; //eksterne klasser using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks;

Læs mere

SWC Elementer i klassedefinition

SWC Elementer i klassedefinition SWC Elementer i klassedefinition Indhold Eksempel... 2 Karakteristika for en klasse... 3 Karakteristika for et instance field... 4 Karakteristika for en constructor... 5 Karakteristika for en property...

Læs mere

Om binære søgetræer i Java

Om binære søgetræer i Java Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret

Læs mere

I denne artikel vil vi bruge en User klasse som vi så vil gruppere på forskellige måder.

I denne artikel vil vi bruge en User klasse som vi så vil gruppere på forskellige måder. Denne guide er oprindeligt udgivet på Eksperten.dk Collections i.net Når du kigger i namespacet System.Collections finder du over 10 forskellige klasser. At vælge den rigtige til netop din applikations

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Programmering for begyndere Lektion 2. Opsamling mm

Programmering for begyndere Lektion 2. Opsamling mm Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger

Læs mere

Introduction til.net remoting i VB.NET

Introduction til.net remoting i VB.NET Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i VB.NET Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i VB.NET. Den forudsætter

Læs mere

Eksempel: et ordresystem note 5 Lagdeling s. 1

Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar

Læs mere

Ratingsystem i PHP og MySQL

Ratingsystem i PHP og MySQL Denne guide er oprindeligt udgivet på Eksperten.dk Ratingsystem i PHP og MySQL Lær at lave et system til at vise rating/bedømmelse på artikler og nyheder. Skrevet den 03. Feb 2009 af virtual1ty I kategorien

Læs mere

WINDOWS FORMS EVENTS INTERAGEREN MED FIL SYSTEMET. Grundlæggende programmering Lektion 9

WINDOWS FORMS EVENTS INTERAGEREN MED FIL SYSTEMET. Grundlæggende programmering Lektion 9 EVENTS INTERAGEREN MED FIL SYSTEMET WINDOWS FORMS Grundlæggende programmering Lektion 9 1 EVENTS Der sker ting når der sker ting 2 EVENTS Events er brugerhandlinger såsom tastetryk, klik, musebevægelser,

Læs mere

Aftenskole i programmering sæson Watch Me. Sæson 2 - Lektion 19

Aftenskole i programmering sæson Watch Me. Sæson 2 - Lektion 19 Watch Me Sæson 2 - Lektion 19 I sidste uge I sidste uge tog vi en lille maraton, for at få lavet version 0.5 af ugesedel appen, og lektionen blev 2.5 timer lang. Undskyld! Vi brugte tiden på: At lave en

Læs mere

Kontrol-strukturer i PHP

Kontrol-strukturer i PHP Denne guide er oprindeligt udgivet på Eksperten.dk Kontrol-strukturer i PHP Denne artikel gennemgår kontrolstrukturer i PHP. 'if', 'switch', 'while' og 'for' bliver gennemgået. Den forudsætter lidt grundlæggende

Læs mere

Umbraco installationsvejledning

Umbraco installationsvejledning på et ScanNet ASP Webhotel Indledning Beskrivelse Denne vejledning vil indeholde installation af CMS systemet Umbraco på et ASP Webhotel. Det dansk grundlagt Content Management System (CMS) Umbraco er

Læs mere

INSTALLATIONSGUIDE. Installationsguide. for Dynamics AX 4.0. til. dansk udgave. Frederiksberg, maj Docversion: 1.01.

INSTALLATIONSGUIDE. Installationsguide. for Dynamics AX 4.0. til. dansk udgave. Frederiksberg, maj Docversion: 1.01. INSTALLATIONSGUIDE Frederiksberg, maj 2007 Installationsguide til for Dynamics AX 4.0 dansk udgave h Indhold 1 Indledning...3 1.1 Systemkrav...3 1.2 Kritik modtages gerne...3 1.3 Yderligere oplysninger...3

Læs mere

IsenTekst Indhold til Internettet. Manual til Wordpress.

IsenTekst Indhold til Internettet. Manual til Wordpress. Manual til Wordpress Sådan opdaterer du din hjemmeside i Wordpress. Dette er en manual til de mest grundlæggende ting, så du selv kan redigere indholdet eller tilføje nyt på din hjemmeside. Guiden er skrevet

Læs mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal

Læs mere

Manual til Wordpress. 1. Log ind på din Wordpress-side. Indhold:

Manual til Wordpress. 1. Log ind på din Wordpress-side. Indhold: Manual til Wordpress Sådan opdaterer du din hjemmeside i Wordpress: Dette er en manual til de mest grundlæggende ting, så du selv kan redigere indholdet eller tilføje nyt på din hjemmeside. Guiden er skrevet

Læs mere

Hjemmeside på SkoleKom

Hjemmeside på SkoleKom Hjemmeside på SkoleKom 1 Om vejledningen Har din lærer givet tilladelse, kan du nu lave din helt egen personlige hjemmeside på SkoleKom. En hjemmeside på SkoleKom er let at gå til, og har du arbejdet lidt

Læs mere

INSTALLATIONSGUIDE. Installationsguide. for Dynamics AX 4.0. til. dansk udgave. Frederiksberg, januar Docversion: 1.02.

INSTALLATIONSGUIDE. Installationsguide. for Dynamics AX 4.0. til. dansk udgave. Frederiksberg, januar Docversion: 1.02. INSTALLATIONSGUIDE, version 4.81 Frederiksberg, januar 2008 Installationsguide til for Dynamics AX 4.0 dansk udgave h Indhold 1 Indledning... 3 1.1 Systemkrav... 3 1.2 Kritik modtages gerne... 3 1.3 Yderligere

Læs mere

GIS indlæsning af kreditorer og betalingsform. Brugervejledning 1.0

GIS indlæsning af kreditorer og betalingsform. Brugervejledning 1.0 GIS indlæsning af kreditorer og betalingsform Brugervejledning 1.0 Indhold 1 Indledning... 5 2 Opsætning af GIS grænseflade til kreditor indlæsning... 5 2.1 Oprettelse af en datastrøm... 7 2.2 Filsystem...

Læs mere

Elevvejledning til SkoleKomNet - Min egen hjemmeside

Elevvejledning til SkoleKomNet - Min egen hjemmeside Indledning...1 Sådan får du adgang...2 Dit KlasseWeb skrivebord Overblik...2 Dit arbejdsområde...3 Din hjemmeside på nettet...3 Sådan laver du en hjemmeside i 4 trin...3 Trin 1 Dit personlige billede på

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Opret en Powerpoint præsentation automatisk med VBA

Opret en Powerpoint præsentation automatisk med VBA Opret en Powerpoint præsentation automatisk med VBA I denne vejledning bliver det gennemgået, hvordan man via VBA kan oprette en powerpoint med diagrammer og kommentarer fra Excel automatisk. Gør som følgende:

Læs mere

Test med NUnit. Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det.

Test med NUnit. Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det. Denne guide er oprindeligt udgivet på Eksperten.dk Test med NUnit Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab

Læs mere

4.0 SharePoint redigering De lokale hjemmesider er bygget i et Microsoft program kaldet SharePoint2010.

4.0 SharePoint redigering De lokale hjemmesider er bygget i et Microsoft program kaldet SharePoint2010. 4.0 SharePoint redigering De lokale hjemmesider er bygget i et Microsoft program kaldet SharePoint00. Hvis man som webmaster vælger at redigere hjemmesiden uden brug af guiderne sker det via de redigeringsmuligheder

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

Opret en side/artikel og rediger din side

Opret en side/artikel og rediger din side 1 Opret en side/artikel og rediger din side Tips! Når du skal opbygge din hjemmeside og oprette sider og lægge indhold ind, så kig her. Nogle gange har vi oprettet nogle sider på forhånd, andre gange skal

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

Version 8 Outlookintegration

Version 8 Outlookintegration Version 8 Outlookintegration - Synkroniser din C&B Kalender med Outlook Med C&B Outlook-integration kan du få synkroniseret dine aftaler, så din C&B Kalender matcher din Outlook-kalender og omvendt. Integrationen

Læs mere

Serialization i Java

Serialization i Java Serialization i Java Tutorial lavet af Jákup W. Hansen TSU 2006 1.semester 06.novemter 2006 Hvad er Serialization? I vores tekstbog Objects First with Java bliver denne del af Java ikke gennemgået. Men

Læs mere

Vejledning til NIS CMS

Vejledning til NIS CMS Vejledning til NIS CMS Med tillægsmodulet NIS CMS er det mulig at oprette og gemme dokumenter direkte i NIS (fx håndbøger, regningsliner, kvalitetsstyringsguider mv.) og binde disse tæt sammen med den

Læs mere

Den forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.

Den forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API. Denne guide er oprindeligt udgivet på Eksperten.dk Brug af MySQL i C++ Denne artikel bygger ovenpå artiklen "MySQL C API" og forklarer hvordan man kan programmere mere objekt orienteret. Den forudsætter

Læs mere

LOGIN CONTENT STATION

LOGIN CONTENT STATION WOOWING QUIKGUI 1 LOGIN ONTNT STTION 1. Start ontent Station (enten som separat program eller direkte i din browser på publish.datagraf.dk ). Her kommer du til Login. 2. (Valgfrit) Klik Options og vælg

Læs mere

Sådan opdaterer og vedligeholder du din hjemmeside i Wordpress.

Sådan opdaterer og vedligeholder du din hjemmeside i Wordpress. Wordpress manual Sådan opdaterer og vedligeholder du din hjemmeside i Wordpress. Dette er en manual til de mest grundlæggende ting og funktioner i Wordpress, så du selv kan redigere indholdet eller tilføje

Læs mere

Modul 2 - Computerens drev og tekstbehandling. Computerens netværksdrev og mappen dokumenter

Modul 2 - Computerens drev og tekstbehandling. Computerens netværksdrev og mappen dokumenter IT-Brugerkursus Modul 2 - Computerens drev og tekstbehandling Indholdsfortegnelse Computerens netværksdrev og mappen dokumenter Oprettelse af mapper Navngivning og omdøbning af mapper Sletning af mapper

Læs mere

Micro-pixel Neopixel til micro:bit

Micro-pixel Neopixel til micro:bit Micro-pixel Neopixel til micro:bit Link mellem tablet og micro:bit: Denne kode er lavet til at du kan programmere din micro:bit fra en tablet, ved hjælp af editoren Touch development. For at begynde med

Læs mere

Indholdsfortegnelse PSpice modul 3. Forudsætninger. Forberedelse til øvelser

Indholdsfortegnelse PSpice modul 3. Forudsætninger. Forberedelse til øvelser Indholdsfortegnelse PSpice modul 3 Model Editor, opret diode ud fra model fundet på internettet.... 2 Parametrisk Analyse... 6 Ekstra - Parametrisk analyse på diode parameter... 9 Forudsætninger For at

Læs mere

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

METODER ARV KLASSER. Grundlæggende programmering Lektion 5 METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen

Læs mere

HOFTEALLOPLASTIK - DATAUDTRÆK OG IMPORT TIL EXCEL

HOFTEALLOPLASTIK - DATAUDTRÆK OG IMPORT TIL EXCEL HOFTEALLOPLASTIK - DATAUDTRÆK OG IMPORT TIL EXCEL Når man er logget på KMS systemet, vælges Dataudtræk under punktet Vælg modul, hvorefter der klikkes på Gå til: På næste side klikkes på knappen Opret:

Læs mere

Aftenskole i programmering sæson Core Data del 2. Sæson 2-13

Aftenskole i programmering sæson Core Data del 2. Sæson 2-13 Core Data del 2 Sæson 2-13 Sidste uge I sidste uge lavede vi en ny simpel app til brug for at lære Core Data Vi brugte kun elementer i har lært så i burde kunne lave den selv og skulle også helst lave

Læs mere

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning

Læs mere

af Philip De Skæve Gallere Birk-Jensen

af Philip De Skæve Gallere Birk-Jensen mirc Guide af Philip De Skæve Gallere Birk-Jensen Side 1 Forord Der er mange som har problemer med at komme i gang med IRC, selvom dette er et yderst nyttigt værktøj, når man skal kommunikere. Når der

Læs mere

Sådan redigerer du en hjemmeside i Umbraco

Sådan redigerer du en hjemmeside i Umbraco Brugermanual til din boligafdelings hjemmeside Sådan redigerer du en hjemmeside i Umbraco Indhold Introduktion... 2 Log på Umbraco og redigér din hjemmeside... 3 Opret ny side... 7 Gem side uden at udgive/publicere

Læs mere

INSTALLATIONSGUIDE. Installationsguide. for Dynamics AX 4.0. til. dansk udgave. Frederiksberg, maj Docversion: 1.01.

INSTALLATIONSGUIDE. Installationsguide. for Dynamics AX 4.0. til. dansk udgave. Frederiksberg, maj Docversion: 1.01. INSTALLATIONSGUIDE, version 6.04 Frederiksberg, maj 2008 Installationsguide til for Dynamics AX 4.0 dansk udgave h Indhold 1 Indledning... 3 1.1 Systemkrav... 3 1.2 Kritik modtages gerne... 3 1.3 Yderligere

Læs mere

Det Naturvidenskabelige Fakultet. Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske

Det Naturvidenskabelige Fakultet. Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske Det Naturvidenskabelige Fakultet Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske Indholdsfortegnelse Introduktion til Blackboard Content System...3 Øvelse 01 individuel:

Læs mere

Eksamens spørgsmål Software Construction. Objekter. Spørgsmål 1: Januar Giv en beskrivelse af Objekt-begrebet og deres brug

Eksamens spørgsmål Software Construction. Objekter. Spørgsmål 1: Januar Giv en beskrivelse af Objekt-begrebet og deres brug Spørgsmål 1: Objekter Giv en beskrivelse af Objekt-begrebet og deres brug Under eksaminationen forventes du at forklare: Hvad er en type og en variabel? Hvordan erklæres en variabel? Hvad forstås ved en

Læs mere

I denne artikel vil jeg gennemgå hvordan en side for RSS "Live Bogmærke" kan se ud.

I denne artikel vil jeg gennemgå hvordan en side for RSS Live Bogmærke kan se ud. Denne guide er oprindeligt udgivet på Eksperten.dk RSS "Live Bogmærke" I denne artikel vil jeg gennemgå hvordan en side for RSS "Live Bogmærke" kan se ud. Skrevet den 10. Feb 2009 af madsass I kategorien

Læs mere

SIDEN PÅ WORDPRESS.COM

SIDEN PÅ WORDPRESS.COM WordPress WordPress er et fantastisk program til blog og til hjemmesider, hvor du gerne vil kunne rette via din browser. WordPress er meget udbredt og det er derfor nemt at finde fora, templates og hjælp

Læs mere

Sorring.dk guide. Du kan finde mere information om WebsiteBaker her:

Sorring.dk guide. Du kan finde mere information om WebsiteBaker her: Sorring.dk guide 13. juli 2011 Her er en beskrivelse af administration af sorring.dk, for de enkelte redaktører. Websitet er bygget op på et system, der hedder Websitebaker. WebsiteBaker giver dig nem

Læs mere

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Denne guide er oprindeligt udgivet på Eksperten.dk Test med JUnit 3 Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab

Læs mere