Operativsystem:...4 Installer Microsoft.NET Runtime:...4 Mit første program: Virker.NET Runtime?...5 Kør programmet:...6 Kompiler med parametre eller

Størrelse: px
Starte visningen fra side:

Download "Operativsystem:...4 Installer Microsoft.NET Runtime:...4 Mit første program: Virker.NET Runtime?...5 Kør programmet:...6 Kompiler med parametre eller"

Transkript

1 Operativsystem:...4 Installer Microsoft.NET Runtime:...4 Mit første program: Virker.NET Runtime?...5 Kør programmet:...6 Kompiler med parametre eller flag:...6 Gennemgang af programmet Test:...8 Signaturer for Main():...10 Generelt:...10 Note: Redirection eller omdirigering:...12 Test i Windows udgaven:...12 Forklaring:...13 Installer SharpDevelop:...15 Struktureret programmering:...16 Kommentarer:...17 Keywords:...17 Variabelnavne/Identifiers:...17 Variable og scope:...19 Static variable:...20 C# indbyggede basale typer:...21 Opgaver:...21 Value og reference:...22 Strenge eller strings:...22 Opgaver:...24 Arrays eller tabeller:...24 Sortering af arrays:...27 Opgaver:...29 Operatorer i C#:...29 Tildelings operator:...29 Matematiske operatorer:...29 Relationelle operatorer og if-sætninger:...30 Kontrol flow diagram:...33 Logiske operatorer:...33 Binære Tal: Operatorerne &, og ^:...34 Kontrol strukturer:...35 for:...36 Opgaver:...36 Eksempel på løkker: Binære tal og decimaltal:...37 Opgaver:...37 C# format koder:...38 Opgaver:...39 foreach:...41 Opgaver:...44 switch:...45 while:...47 do..while:...47 goto:...48 Kontrol Flow Diagrammer:...48 Metoder eller funktioner:...49

2 Metoden arbejder normalt med lokale variable:...51 Parametre har attributter implicit eller eksplicit:...53 Rekursive funktioner/metoder:...55 Rekursivt: Drev, mapper og filer...57 Opgaver:...58 Enumerationer:...58 Flags og enums:...61 Opgaver:...62 DateTime:...62 Dato og Tids format koder:...64 Opgaver:...65 XML dokumentation af programmer:...65 Collections:...69 Eksempel på strenge og collections: En sorteret ordliste:...71 Hash-tabeller:...73 Opgaver:...75 Reflection (og om hvordan man kommer videre):...76 dll_reflection.exe:...77 reflection.exe:...79 Opgaver:...80 Reflection i SharpDevelop:...81 Opgaver:...83 Enum reflection i Windows program:...84 Filer:...85 GREP søg i filer:...89 Bruge gammel Windows kode:...91 Opgaver:...92 Debugging eller at finde de logiske fejl:...92 Define sætninger kan bruges til konfiguration:...95 Debugging med klasserne i System.Diagnostics:...97 Metodens stack eller StackFrame:...98 Attributten [Conditional()]:...99 Løbende kontrol: Debug.Assert(): Debugging og tracing efter release: Opgaver: Objekt Orienteret Programmering (OOP): Indkapsling: Arv: Metoder i System.Object: GUID: Lille eksempel på arv: En tom klasse som arver fra Form: Såkaldt har en arv (eller komposition): Polymorfisme: Genbrug: Objekter og klasser: SharpDevelop og C# basis klasserne: Arrays og operatorer på objekter: Opgaver:...113

3 Et praktisk eksempel på OOP: Person og Adresse klassen: Kommentar til Adresse klassen: Person klassen, som har en Adresse: Kommentar til klassen Person: En applikation som anvender klasserne Adresse og Person: Proporties i C# klasser: Opgaver: Eksempler på Polymorfisme og Arv: Override metoder i System.Object: Opgaver: Eksempel: Polymorfisme og dynamisk binding Opgaver: Polymorfisme og Streams: Abstrakte klasser: Arrays og operatorer på objekter (operator overloading): Opgaver: Interfaces en anden slags arv: Implementere standard interfaces IComparable: Opgaver: Strukturer: Brug af unsafe: Strukturer modsat klasser: Typer og hvad der kan stå i en C# fil (*.cs fil): Namespace: Alias for et namespace eller for en klasse: User Defined namespace: Opgaver: Exceptions i C# programmer: Opgaver: Serialisering af objekter gem objekter: Opgaver: NET eller DotNet Hvad er det egentligt? IL Intermediate Language: Managed/Unmanaged kode: COM: JIT kompiler: En EXE eller DLL er ikke en EXE eller DLL! Eksempel: Projekt i SharpDevelop: AssemblyInfo: En klasse i Visual Basic: Klasse i JScript: En.NET applikation der bruger klasserne: XML config-filer: At producere IL kode dynamisk: Opgaver: At skrive IL (Intermediate Language) kode i hånden: Et konkret eksempel på IL: Dis-assembling, utilities:...186

4 Operativsystem: Alle de følgende eksempler er testet på Windows 98 og Internet Explorer 5.5. Dette er i.net en minimums installation. Der er nogle hjørner af.net som ikke er tilgængelige med denne installation. Det fulde.net (SDK.NET) kræver installation af Windows XP. Men der er tale om små hjørner og programmeringssproget C# fungerer fint sammen med Windows 98! Vi vil altså indtil videre gå ud fra, at du har installeret denne minimumsinstallation! Installer Microsoft.NET Runtime: For at komme i gang er det nødvendigt at installere Microsofts.Net Runtime på din maskine. Filen kan downloades fra Den downloadede fil du skal søge efter den udgave af.net som er redistributable - hedder dotnetfx.exe eller dotnetredist.exe (ca 20 Mega Byte), en Win32 Cabinet Self Extractor. Denne fil er en minimums udgave af Dotnet. Den store udgave SDK fylder ca 135 MegaByte og forudsætter at Windows XP er installeret. SDK indeholder især megen dokumentation og nogle flere basisklasser. På dette kursus vil vi have den lille udgave dotnet redistributable som grundlag. Gør følgende: 1. Opret en ny mappe på skrivebordet dotnet 2. Dobbeltklik filen 3. Vælg at ekstrahere filerne til den nye mappe dotnet 4. Åbn mappen dotnet og dobbeltklik filen dotnetfx.exe. 5. Du guides nu igennem installationen 6. Programmet installerer først og fremmest en række EXE og DLL filer i en ny mappe: C:\WINDOWS\Microsoft.NET\Framework\v De vigtigste er: mscorlib.dll (som indeholder den cenrale kode til.net Runtime) og csc.exe (som er en compiler til C#). Der installeres også andre compilere fx vbc.exe til Visual Basic (herom senere). 8. NB path eller stien til de nye EXE filer er altså: C:\WINDOWS\Microsoft.NET\Framework\v Åbn filen C:\autoexec.bat og tilføj den nye sti sådan: 10. set path=c:\windows\microsoft.net\framework\v ;%path% 11. Ellers kan dit operativ system ikke finde filerne fx compileren til C#!!

5 12. Du kan også skrive en bat fil ved navn sharppath.bat med indholdet: path=c:\windows\microsoft.net\framework\v Hvis du dobbeltklikker bat filen sættes path korrekt. Mit første program: Virker.NET Runtime? Formålet med det følgende er især at teste om det installerede.net Runtime virker. Åbn Notestblok (eller en anden editor som kan gemme tekst uformatteret!) og skriv følgende C# kode som et testprogram (koden vil blive gennemgået lidt senere): public class Test{ public static void Main(string[] args){ System.Console.WriteLine("Hello World!"); Opret en ny mappe til dine C# filer fx: C:\csharp\test og gem koden som Test.cs. ALLE C# programmer (tekstfiler) skal have filtypen.cs. Ellers kan de ikke kompileres. Navnet på CS filen er i øvrigt ligegyldigt. Test.cs, test.cs eller mitførsteprogram.cs er alle OK (modsat reglerne i Java). Åbn et DOS kommando prompt vindue og styr til mappen C:\csharp\test. Tast: csc Test.cs. Hvis alt går godt får du følgende output: Microsoft (R) Visual C#.NET Compiler version for Microsoft (R).NET Framework version Copyright (C) Microsoft Corporation All rights reserved. Denne besked betyder følgende: 1. tekstfilen Test.cs er nu kompileret til en EXE fil ved navn Test.exe 2. kompileringen har ikke givet anledning til nogen fejl (error) eller advarsel (warning). Hvis IKKE alt går som det burde, vil du få fejl meddelelser som fx: error CS2001: Source file 'a.cs' could not be found fatal error CS2008: No inputs specified I dette tilfælde er indtastet csc a.cs en fil som ikke findes i mappen! Kompileren csc giver altså fejl/advarsler som kan bruges til at rette programmet til. Prøv fx at slette semikolon efter sætningen: System.Console osv. Slet også Test.exe i mappen. Gem filen Test.cs og prøv at kompilere den med: csc Test.cs.

6 Der fås nu en fejl meddelelse og der oprettes IKKE nogen EXE fil (Kompileren kan kun oprette en EXE fil hvis C# tekst filen er syntaktisk - uden fejl men en EXE oprettes selv om der er mange warnings!): Microsoft (R) Visual C#.NET Compiler version for Microsoft (R).NET Framework version Copyright (C) Microsoft Corporation All rights reserved. Test.cs(3,42): error CS1002: ; expected Kompileren gætter på at der mangler et semikolon efter sætningen. System Det manglende semikolon er en syntaktisk fejl. Kompileren kan opdage syntaktiske og semantiske fejl men ikke logiske fejl. En cs fil kan altså godt indeholder mange logiske fejl og alligevel kompileres uden problemer! Mange programmer også professionelle har faktisk logiske fejl! (Mere herom senere). Csc kompilerer tekstfilen til binær kode eller en binær (dvs til en EXE, DLL eller NETMODULE fil). I dette eksempel fylder tekstfilen Test.cs 117 bytes, men den kompilerede binære kode (Test.exe) fylder bytes der er altså tale om to vidt forskellige objekter!! Binær kode er kode som maskinens CPU (processor) kan forstå og direkte anvende til at køre et program. Binær kode består af 0 og 1 taller populært sagt. Kompileren kan ikke skrive til en EXE fil hvis programmet allerede kører!! Husk derfor at lukke et program inden du kompilerer det igen! Dette glemmes ofte med Windows programmer, hvor kompileringen så giver en fejl. Kør programmet: Programmet køres ved at taste programmets navn i kommando prompten: Test (eller: Test.exe). Output bliver en linje skrevet til skærmen: Hello World! og et linjeskift til ny linje. Vi har altså produceret i virkeligt program eller applikation. Du kan også dobbeltklikke ikonet Test.exe i Windows Stifinder men DOS vinduet forsvinder med det samme. Løsningen herpå er simpelt hen at tilføje en ny linje nedenunder System.Console : System.Console.Read(); Programmet vil du stoppe op og vente på input fra brugeren. DOS vinduet vil nu først lukke når du har tastet ENTER. Read() betyder: Vent indtil brugeren har indtastet noget på linjen. Kompiler med parametre eller flag: C# kompileren kan startes med en lang række af forskellige flag eller parametre.

7 Her følger selve listen. En del af disse flag vil blive forklaret efterhånden: Microsoft (R) Visual C#.NET Compiler version for Microsoft (R).NET Framework version Copyright (C) Microsoft Corporation All rights reserved. Visual C#.NET Compiler Options - OUTPUT FILES - /out:<file> Output file name (default: base name of file with main class or first file) /target:exe Build a console executable (default) (Short form: /t:exe) /target:winexe Build a Windows executable (Short form: /t:winexe) /target:library Build a library (Short form: /t:library) /target:module Build a module that can be added to another assembly (Short form: /t:module) /define:<symbol list> Define conditional compilation symbol(s) (Short form: /d) /doc:<file> XML Documentation file to generate - INPUT FILES - /recurse:<wildcard> Include all files in the current directory and subdirectories according to the wildcard specifications /reference:<file list> Reference metadata from the specified assembly files (Short form: /r) /addmodule:<file list> Link the specified modules into this assembly - RESOURCES - /win32res:<file> Specifies Win32 resource file (.res) /win32icon:<file> Use this icon for the output /resource:<resinfo> Embeds the specified resource (Short form: /res) /linkresource:<resinfo> Links the specified resource to this assembly (Short form: /linkres) - CODE GENERATION - /debug[+ -] Emit debugging information /debug:{full pdbonly Specify debugging type ('full' is default, and enables attaching a debugger to a running program) /optimize[+ -] Enable optimizations (Short form: /o) /incremental[+ -] Enable incremental compilation (Short form: /incr) - ERRORS AND WARNINGS - /warnaserror[+ -] Treat warnings as errors /warn:<n> Set warning level (0-4) (Short form: /w) /nowarn:<warning list> Disable specific warning messages /checked[+ -] /unsafe[+ -] - LANGUAGE - Generate overflow checks Allow 'unsafe' code - MISCELLANEOUS Read response file for more options /help Display this usage message (Short form: /?)

8 /nologo /noconfig Suppress compiler copyright message Do not auto include CSC.RSP file - ADVANCED - /baseaddress:<address> Base address for the library to be built /bugreport:<file> Create a 'Bug Report' file /codepage:<n> Specifies the codepage to use when opening source files /utf8output Output compiler messages in UTF-8 encoding /main:<type> Specifies the type that contains the entry point (ignore all other possible entry points) (Short form: /m) /fullpaths Compiler generates fully qualified paths /filealign:<n> Specify the alignment used for output file sections /nostdlib[+ -] Do not reference standard library (mscorlib.dll) /lib:<file list> Specify additional directories to search in for references Gennemgang af programmet Test: Med en lille ændring ser vores Test.cs sådan ud: //fil: test.cs //postcondition: outputter en linje til skærmen public class Test{ public static void Main(string[] args){ System.Console.WriteLine("Hello World!"); System.Console.Read(); Øverst er tilføjet 2 linjer som starter med //. Linjer som starter med // er kommentarer som skal gøre programmer mere forståelige. Kompileren springer altid disse linjer over dvs her kan skrives hvad som helst uden krav til regler eller syntaks. Brug altid så mange kommentar linjer at programmet er læseligt og forståeligt. Selve koden starter med en klasse erklæring som omfatter hele koden: public class Test{. public: betyder at klassen kan bruges udefra af alle andre klasser/programer.(mere herom når vi kommer til Objekt orienteret Programmering). class: ALLE programmer i C# er en class ligesom i Java (men modsat af C++). ALLE programmer skal altså starte med public class (evt kun: class) XXX. { definerer en blok dvs alt efter { og før hører sammen i en blok her definerer { og klassens start og slutpunkt. Inden i denne klasse findes kun en metode: public static void Main():

9 Denne standard metode skal findes i alle C# applikationer dvs i alle C# programmer som skal kunne køres som et program (som vi gjorde ved at taste Test på DOS linjen). Metoden Main()(NB Main med stort M modsat i C++) er programmets entry point. Hvis Main() fjernes fra koden vil en kompilering give en fejl (Prøv det!): error CS5001: Program 'Test.exe' does not have an entry point defined En metode i C# har til formål at udføre en handling, at gøre noget. Metoder er normalt public dvs de kan kaldes udefra. Static: betyder at metoden kaldes på en klasse og ikke på et objekt (mere herom senere). Void: betyder at metoden Main() ikke returnerer noget som helst. Main(string[] args) : args er et array eller en liste over de evt. parametre som programmet kaldes med. Fx kunne Test kaldes sådan: Test De 3 tal gemmes i listen args og kunne bruges som input parametre til programmet. (Se eks senere). string: er en type/klasse. En string kan gemme en hvilken som helst værdi som fx 88 eller Johnny. NB: Der er i C# tradition for at skrive string og ikke String men traditionen er vaklende. String er en klasse: System.String og en basal type. Så både string og String er OK! Main() indledes lige som klassen med en { og slutter med en. Main() er altså en blok. Inden i blokken står to sætninger (en sætning er en linje som afsluttes med ;). System.Console.WriteLine("Hello World!"); System.Console.Read(); WriteLine(): er en metode som udskriver den streng/tekst som den har som parameter dvs den tekst som står i citat mellem parenteserne. ALLE metoder kaldes med parenteser de viser at der er tale om en metode. De parametre ( input ) som metoden anvender står mellem parenteserne. Read(): stopper programmet og venter på at brugeren indtaster eet tegn (fx a );. Problemet lige nu set fra kompilerens side er: hvilken WriteLine metode tales der om og hvor findes den? Kompileren har en resolver som prøver at finde ud af hvad jeg mener. (Problemet er det samme med Read()). Disse metoder er jo IKKE beskrevet i Test.cs!! C# anvender her namespaces således: WriteLine() er den metode som findes i namespace Console som igen findes inden i namespace System. De forskellige namespaces som findes i forskellige DLL filer kan ses i.net mappen i Windows (se tidl). Som det vil fremgå senere kunne jeg teoretisk have skrevet min egen metode WriteLine() derfor skal kompileren vide hvilken metode jeg taler om. For at gøre det mere brugervenligt kan man i C# indlede koden med en using sætning og derefter undgå at skrive den fulde sti til metoderne. Koden kan altså skrives således: //fil: test.cs //postcondition: outputter 4 linjer til skærmen using System;

10 public class Test{ public static void Main(string[] args){ Console.WriteLine("Dette er C Sharp."); Console.WriteLine("Programmet anvender en using System."); Console.WriteLine("using System er en slags shortcut!"); Console.WriteLine("Hello World!"); Console.Read();//teknisk af hensyn til Windows, stopper vinduet Som det kan ses er det væsentligt lettere at anvende en using hvis der skal skrives/læses meget til/fra skærmen derfor er output sætningerne her forøget og ændret! Men det er meget vigtigt at forstå at using kun er en tekst-hjælp using xxx betyder ikke at kompileren inddrager/refererer de nødvendige DLL filer. Når Test.cs kan kompileres uden videre skyldes det at kompileren csc automatisk inddrager mscorlib.dll (som indeholder.net og C# kerne klasser) (NB: using fungerer altså ikke som import sætninger i Java eller som #include i C++!! ).(Mere herom senere). Som det ses kan en kommentar starte midt på en linje resten af linjen er så ren kommentar og ignoreres af kompileren. Signaturer for Main(): Main() metoden i C# kan skrives på 4 tilladte måder: 1. public static void Main(string[] args){ 2. public static int Main(string[] args){ 3. public static void Main(){ 4. public static int Main(){ Hvis der skal anvendes input/parametre fra brugeren anvendes nr 1 eller 2. Hvis man ønsker at programmet skal returnere en værdi til operativ systemet (fx return 0; eller return 1;) anvendes nr 2 eller nr 4, som også kan anvendes til at standse Main() et bestemt sted i programmet så at sige i utide (Senere et eksempel herpå). Oftest anvendes nr1. Det er vigtigt at huske at kommando linje parametre altid er strings (tekst) hvis de skal anvendes som tal skal de konverteres! En metodes signatur er metodens hoved uden selve koden i blokken. Signaturen definerer metodens parametre (fx string[]), navn (fx Main), access (fx public) og retur værdi (ex void eller int eller string ). Generelt: C# er case sensitive dvs at et keyword (reserveret ord) som fx while IKKE må skrives While eller Main() må IKKE skrives main(). Det er en meget god ide at genbruge kode som engang er skrevet til nye programmer. Dvs når du starter på en ny kode start med den gamle cs-fil (som skabelon). På den måde undgås det at skulle skrive en række gentagne formularer igen og igen og fejl undgås!!

11 Der kan altid anvendes mellemrum eller linjeskift for evt at gøre koden lettere at læse. Følgende to eksempler opfattes ens af kompileren (dvs giver den samme binære kode/samme program): if(x==22){y=9;u=7;i=44;else{c= a ; if(x==22){ y=9; u=7; i=44; else { c= a ; Normalt vil den nederste boks være meget nemmere at forstå: hvis x er lig 22 så gør sådan og sådan ellers (hvis x ikke er lig 22) gør sådan og sådan. Det er en virkeligt god ide at anvende indrykninger og linje skift på denne måde.

12 Note: Redirection eller omdirigering: I Windows DOS kan man redirecte et programs udskrift. Hvis vi har et program test som udskriver en række data til skærmen med Console.WriteLine() kan vi i kommandoprompten skrive: test > dokumentation.txt Output bliver så redirectet til en fil dokumentation.txt og der skrives intet ud til særmen! På samme måde kan udskriften omdirigeres til printeren med test > prn og udskriften bliver så udskrevet på printeren! (Output kan også redirectes til COM porte mv). Dette er altså en nem måde at arbejde med filer på! Som vi siden skal se er dette et eksempel på det som i C# kaldes Streams. Omdirigering kan også gøres programmatisk i selve koden sådan: using System; using System.IO; public class Omdiriger_konsol { public static void Main() { // Console.WriteLine omdirigeres/re-directes til en fil: StreamWriter sw = new StreamWriter ( new FileStream ("konsol.out", FileMode.Create)); Console.SetOut(sw); Console.WriteLine("DETTE VIL BLIVE SKREVET TIL EN FIL..."); sw.close(); Klassen Console har simpelthen en metode som hedder SetOut() som kan bruges til en omdirigering! Teksten DETTE VIL osv bliver nu indskrevet i en fil konsol.out. Test i Windows udgaven: Formålet med dette afsnit er at vise hvad der sker når C# skal referere eller bruge klasser, metoder, objekter som ikke automatisk inddrages af compileren som ligger uden for kernen. Start med at gemme Test.cs under et nyt navn som WinTest.cs. Målet er nu at få det til at køre som Windows program. Den nye WinTest.cs skal se sådan ud:

13 //fil: WinTest.cs //postcondition: Viser en messagebox using System.Windows.Forms; public class Test{ public static void Main(string[] args){ string nr1="dette er C Sharp."; string nr2="dette er en System.Windows.Forms.MessageBox!\nHello World!"; MessageBox.Show(nr2,nr1); Forklaring: Hvis koden er blevet korrekt kompileret (csc WinTest.cs) viser WinTest.exe en messagebox med en titellinje og en tekst delt på 2 linjer. Tegnet \n angiver linje skift. (Escape tegn idet alle escape tegn indledes med \ og de er format koder som ikke udskrives). Koden erklærer 2 string-objekter, som bruges til boksens titel og tekst. Klassen MessageBox findes i namespace Forms som findes i Windows som findes i System. Ved at bruge using undgås at skrive hele stien hver gang. Klassen MessageBox har en metode Show() som tager 2 parametre: en tekst og en titel. Prøv at fjerne using-linjen og kompiler programmet. Kompileren meddeler nu en fejl: WinTest.cs(11,2): error CS0246: The type or namespace name 'MessageBox' could not be found (are you missing a using directive or an assembly reference?) Kompileren forstår ikke henvisningen til MessageBox : hvilken/hvor? Prøv derefter at tilføje en linje til Main() således: public static void Main(string[] args){ string nr1="dette er C Sharp."; string nr2="dette er en System.Windows.Forms.MessageBox!\nHello World!"; Assembly.Load("System.Windows.Forms"); MessageBox.Show(nr2,nr1); Den nye sætning loader/indlæser den DLL fil eller det namespace som vi ønsker at anvende. Sætningen er den mest sikre metode til at referere eller inddrage bestemte klasser som er eksterne dvs ikke findes i denne cs-fil. Hvis du har problemer med at få dette Windows program (eller andre) til at køre skulle Assembly.Load() sætningen klare alle problemer. Senere i kurset vil vi skrive vore egne DLL filer og hvis der er problemer med at kunne referere dem skulle Assembly.Load() også kunne klare disse problemer.

14 En alternativ metode er at kompilere filen WinTest.cs med en reference parameter. Skriv på kommandolinjen i prompten: csc /reference:system.windows.forms.dll WinTest.cs Eller: csc /r:system.windows.forms.dll WinTest.cs /reference: betyder at kompileren skal inddrage den pågældende dll fil. Mange referencer kan stå efter hinanden med semikolon imellem fx således: csc /r:system.windows.forms.dll;system.drawing.dll;system.io.dll WinTest.cs

15 Installer SharpDevelop: Alle kode eksempler i dette kursus kan uden vanskelighed skrives i en primitiv editor som Notesblok i Windows. Men et program som SharpDevelop giver trods alt mange fordele og gør tingene lidt nemmere. Problemet er nogen gange at der produceres en del automatisk kode af programmet som programmøren måske ikke helt forstår! Programmet SharpDevelop kan frit downloades (programmet er et GNU General Public License projekt) fra Internettet på adressen: Filen hedder 092setup.exe på ca 3,2 Mbyte. Når programmet er installeret kan du oprette forskellige typer af projekter (Combines) i C#, Visual Basic og Java. Den kode som skrives farves efter syntaksen så at man i nogen grad kan se om ens kode er syntaktisk korrekt. Som vi skal se senere er det også muligt at bruge SharpDevelop som en builder af grafiske windows programmer. I SharpDevelop kan tilføjes en reference til projektet og gøres mange ting som vi her har gjort manuelt på kommando linjen. Et projekt kan også kompileres og køres via SharpDevelop. SharpDevelop har masser af Hjælp brug den! Et eksempel fra SharpDevelop: Det bedste værktøj til C# og.net er måske Microsofts professionelle Visual Studio.NET. Dette program er absolut ikke freeware, men der er visse muligheder for at bruge programmet on-line og

16 i nogle perioder kan man faktisk også downloade en evaluerings kopi af programmet. Oplysninger herom kan findes på Internettet. Struktureret programmering: At programmere på en fornuftig måde i C# indeholder to aspekter: struktureret og objektorienteret programmering. De kommende mange afsnit handler om struktureret programmering. Målet med struktureret programmering er at koden skal være modulopdelt og let forståelig. Et eksempel på meget ustruktureret kode ( spaghetti kode ) ville være følgende: //fil: spagetti.cs //postcondition: Viser spaghetti kode eks - udskriver sætning: using System; public class Test{ public static int Main(string[] args){ goto Z; X: Console.WriteLine("er"); goto V; Y: Console.WriteLine("C#"); goto EXIT; Z: Console.WriteLine("Dette"); goto X; V: Console.WriteLine("ogsaa"); goto Y; EXIT: return 0; Hvis du indtaster programmet vil du opdage at det faktisk virker perfekt. goto gør at programmet hopper rundt fra label til label (en label er et tegn/tekst med et kolon efter som f.eks. EXIT:). På denne måde bliver koden meget vanskelig at læse og forstå. Meningen med struktureret programmering er at undgå denne slags spaghetti kode (som var mere almindelig i gamle dage i BASIC programmering). Eksempler på strukturerede sprog var i sin tid sprog som Pascal og C (fra omkring 1970).

17 Kommentarer: Som nævnt er det vigtigt at forsyne koden med så mange kommentarer at andre (og en selv!) kan forstå koden. Der findes i C# 3 slags kommentarer: // enkelt linje kommentar /* flerlinjekommentar */ /// XML kommentar som kan producere et XML dokument (a la Javadoc, Herom senere). Kommentarer ignoreres helt af kompileren. Brug kommentarer til at forklare programmets flow og gang. Skriv rigeligt med kommentarer! Keywords: En række ord er reserverede eller keywords i C# - dvs de må ikke bruges som navne på variable. Eksempler på keywords er: class, if, string, public. Variabelnavne/Identifiers: Som kode eksempel se følgende const int MAX=100; string fornavn= Erik ; string efternavn; efternavn= Hansen ; int side1=12; int side2=33; side2=123; int areal=side1*side2; C# kode består af sætninger som afsluttes med et semikolon. I eksemplet erklæres/oprettes 2 variable fornavn og efternavn som tildeles en værdi. En literal er en værdi som 44 eller erik. En literal er hvad den er deraf betegnelsen literal (bogstavelig). En variabel er et sted eller en adresse i RAM hukommelsen som tildeles et navn fx fornavn.

18 Når en variabel erklæres tildeles den det antal bytes i RAM som er nødvendigt. Dvs. den allokeres. Fx bevirker sætningen int side1=12; at der tildeles 4 bytes et bestemt sted (fx byte nummer 1000,1001,1002,1003 i RAM) og at tallet/værdien/literalen 12 gemmes på denne adresse. De 4 bytes ser fx sådan ud: byte 1003 byte 1002 byte 1001 byte Enhver identifier eller ethvert variabel-navn skal først erklæres med en type. C# skal vide hvilken type fornavn er: er det et tal, en tekst? (Som det vil fremgå senere kan man oprette sine egne typer det er selve ideen med OOP, objekt orienteret programmering. En type er bl.a. en klasse): Variablen kan oprettes på en linje og tildeles en værdi på en anden linje og kan til hver en tid tildeles en ny værdi (se eksemplet med side2). Sætningen string efternavn; er en erklærings sætning. Sætningen efternavn= Hansen; er en tildeling eller assignment. Sidste sætning viser hvordan en ny variabel kan tildeles en værdi ved at gange 2 andre variable. (De almindelige 4 matematiske operatorer er: +, -, *, /).

19 Variabelnavne-regler: 1. et navn kan indeholde bogstaver, tal og understregninger 2. det første tegn i navnet skal være et bogstav 3. C# er case sensitive: Fornavn er ikke det samme som fornavn 4. reserverede ord må ikke bruges som navne Konstanter skrives normalt med kun store bogstaver (versaler). I eksemplet er MAX en konstant: erklæret med const int MAX. Dette betyder at MAX ikke/aldrig kan ændre værdi mens programmet afvikles. Programmet KAN ikke indeholde en linje som: MAX=23; når først konstanten er erklæret. int er en type som betegner et helt tal uden decimaler - jvf senere. I C# er det skik og brug (i nogen grad!) at anvende navne med små bogstaver og understregninger: string kunde_navn; string kunde_adresse; Det er meget vigtigt at anvende navne som er intuitive og beskrivende. Hvis programmet skal gemme kundens navn i en variabel er der intet i vejen for at kalde variablen for: string xyz. MEN det vil blive ulige nemmere at forstå programmet og især undgå fejl hvis denne variabel kaldes: string kunde_navn! Variable og scope: En variabel som int x har en levetid eller scope eller et område, hvor den er synlig. Helt grundlæggende opstår den i forbindelse med programmets start eller en metodes start og dør ved programmets eller metodens slutpunkt. Se eks dette kode fragment: public static void kvadrat(int x){x=x*x;int y=x; public static void Main(string[] args) { int x=22; kvadrat(x); //NB dette giver kompiler fejl: //Console.WriteLine("y: {0",y); //OBS x er stadig 22: Console.WriteLine("x: {0",x); Console.Read(); Hvis man prøver at udskrive variablen y melder compileren fejl:

20 Variablen y er simpelt hen ikke synlig i Main() den er kun synlig i den blok (fra { til ) som består af metoden kvadrat(). Y fødes og dør inden i metode blokken og er usynlig i Main(). Læg også mærke til at x ikke skifter værdi selv om metoden kvadrat sætter x til x*x men dette x inden i metoden er en lokal variabel som fødes og dør i metoden blokken. Når Main() bagefter udskriver x er x stadig det samme! I C# kan man gennemtvinge at en variabel bruges som reference type med det reserverede ord ref. Ovenstående kunne omskrives således: public static void kvadrat(ref int x){x=x*x;int y=x; public static void Main(string[] args) { int x=22; kvadrat(ref x); //NB dette giver kompiler fejl: //Console.WriteLine("y: {0",y); Console.WriteLine("x: {0",x); Console.Read(); Når x udskrives er x nu 22*22, fordi metoden databehandler selve x (altså en reference til x) og ikke en kopi (value type) af x. Static variable: I C# kan erklæres static variable (modsat almindelige lokale variable) som er klassevariable som bevarer/husker deres værdi. F.eks. kan static variable bruges som tællere jvf dette lille kode eksempel: static int antal=0;//tæller antal metode kald: //to metoder som kaldes: public static void engangtil(){antal++; public static void engangtiligen(){antal++; public static void Main(string[] args) {

Programmering i C Intro og grundlæggende C 5. marts 2007

Programmering i C Intro og grundlæggende C 5. marts 2007 Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner

Læs mere

Start på Arduino og programmering

Start på Arduino og programmering Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget

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

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);

Læs mere

RefWorks en vejledning fra UCL Biblioteket. Indholdsfortegnelse

RefWorks en vejledning fra UCL Biblioteket. Indholdsfortegnelse Indholdsfortegnelse Hvad er RefWorks?... 2 Opret dig som bruger... 2 Inden du går i gang... 3 Klargøring af computer til download af Write-N-Cite v. 4.2... 3 Installation af Write-N-Cite... 4 Installation

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

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

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

Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13

Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13 1 Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Hvad er en makro... 10 Hvad kan du bruge en makro til... 10 Hvad en makro er (Visual Basic for Applications)... 11 Det hele sker

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

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

Programmeringseksempel til CX/IPC

Programmeringseksempel til CX/IPC APP-NOTE 610004 Beckhoff Application Note Date: 7/17/2009 Document Status: 1.1 Beckhoff Automation Aps Naverland 2, DK-2600 Glostrup Phone +45 43 46 76 20 Fax +45 43 46 63 35 Programmeringseksempel til

Læs mere

Kom godt igang med Inventar registrering

Kom godt igang med Inventar registrering Kom godt igang med Inventar registrering (InventoryDB) (Med stregkodesupport) programmet fra PetriSoft Introduktion... 1 Inventar registrering... 2 Værktøjsudleje... 3 Service database til reperationer

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller

Læs mere

Crash Course i Programmering. HumTek, RUC

Crash Course i Programmering. HumTek, RUC Crash Course i Programmering HumTek, RUC Kursus mål At give en basal introduktion til programmering i sproget Processing At give et overblik over sprogets potentiale At have det sjovt :-) Kursus form Meget

Læs mere

Manual til hjemmeside i Typo3

Manual til hjemmeside i Typo3 Manual til hjemmeside i Typo3 Gode tips og genvejstaster Ét linieskift Ctrl + A Ctrl + C Ctrl + X Ctrl + V shift + enter (tasten du normalt bruger til linieskift) Markér alt Kopier Klip Sæt ind Oprettelse

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

1. Opbygning af et regneark

1. Opbygning af et regneark 1. Opbygning af et regneark Et regneark er et skema. Vandrette rækker og lodrette kolonner danner celler, hvori man kan indtaste tal, tekst, datoer og formler. De indtastede tal og data kan bearbejdes

Læs mere

Annemette Søgaard Hansen/www.dinwebvejleder.dk

Annemette Søgaard Hansen/www.dinwebvejleder.dk Google Docs Dokumenter Indholdsfortegnelse Værktøjer... Side 3 Menuer... Side 5 Opgave... Side 8 Få adgang til filerne fra din computer... Side 16 Vejledende løsning... Side 17 GoogleDocs Dokumenter 2

Læs mere

Spil Master Mind. Indledning.

Spil Master Mind. Indledning. side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de

Læs mere

Svar på de mest almindelige Citrix spørgsmål

Svar på de mest almindelige Citrix spørgsmål Svar på de mest almindelige Citrix spørgsmål Henrik Meyer og Ajâja Hyttel Oprettet: 24/6-13 Sidst revideret 14/5-14 h t t p s : / / c i t r i x. a a b n e t. d k Hvad er nyt i Citrix?... 2 Hvis du ikke

Læs mere

Login-tiden, Første gang tager det måske 1 ½ - 2 min. Andet gang ½ - 1 ½ min...9

Login-tiden, Første gang tager det måske 1 ½ - 2 min. Andet gang ½ - 1 ½ min...9 Ver. 1.8 RDS Side: 1 af 27 Indhold: Inden du kan benytte RDS-løsningen, skal din PC være opdateret...2 Login på RDS-løsningen...3 Login-tiden, Første gang tager det måske 1 ½ - 2 min. Andet gang ½ - 1

Læs mere

RIGSPOLITIET. Vejledning i konvertering. fra. Word -dokument. til. PDF-fil. på politi.dk. Rigspolitiets websektion

RIGSPOLITIET. Vejledning i konvertering. fra. Word -dokument. til. PDF-fil. på politi.dk. Rigspolitiets websektion RIGSPOLITIET Vejledning i konvertering fra Word -dokument til PDF-fil på politi.dk Rigspolitiets websektion Indledning Da vi skal leve op til kravene om tilgængelighed på Internettet, skal alle tekster

Læs mere

Introduktion til C programmering

Introduktion til C programmering Introduktion til C programmering Rasmus Erik Voel Jensen Uge 17 voel@math.ku.dk Dagens forelæsning Formalia Indledende programmering, main, include, printf, variable, scanf, if-else, statements, eksempler

Læs mere

Tilslutning med Cisco AnyConnect VPN-klient (Windows) til AARHUS TECH P-net

Tilslutning med Cisco AnyConnect VPN-klient (Windows) til AARHUS TECH P-net 18. november 2011 Vejledning Windows 7 - eklient Opkobling via ADSL eller anden kabelforbindelse til P-net. Tilslutning med Cisco AnyConnect VPN-klient (Windows) til AARHUS TECH P-net Cisco AnyConnect

Læs mere

Indstillinger. 1. Built-in viewer 2. Built-in viewer embedded 3. Ekstern viewer

Indstillinger. 1. Built-in viewer 2. Built-in viewer embedded 3. Ekstern viewer TeXMaker guide TeXMaker er den editor, som vi anbefaler til at skrive LaTeX i. Det er en såkaldt cross-platform editor og kan benyttes til både Windows, Mac og Linux. TeXMaker er en ret almindelig editor

Læs mere

Kom i gang med... Kapitel 11 Math: Formelredigering med OpenOffice.org. OpenOffice.org

Kom i gang med... Kapitel 11 Math: Formelredigering med OpenOffice.org. OpenOffice.org Kom i gang med... Kapitel 11 Math: Formelredigering med OpenOffice.org OpenOffice.org Rettigheder Dette dokument er beskyttet af Copyright 2005 til bidragsyderne som er oplistet i afsnittet Forfattere.

Læs mere

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl: Fejlhåndtering Selv de bedste programmører laver af og til fejl! Dette kommer sikkert som en overraskelse for de fleste, bortset fra de, der har arbejdet med et hvilket som helst større program. Fejl kan

Læs mere

2013 SP1. Konfiguration af koncernindblik. Configuration Guide

2013 SP1. Konfiguration af koncernindblik. Configuration Guide 2013 SP1 Konfiguration af koncernindblik Configuration Guide Intellectual Property Rights This document is the property of ScanJour. The data contained herein, in whole or in part, may not be duplicated,

Læs mere

Kursusarbejde 2 Grundlæggende Programmering

Kursusarbejde 2 Grundlæggende Programmering Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

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

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit.

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit. Kapitel 20: Talsystemer 20 Resumé af talsystemer... 344 Indtastning og omregning af talsystemer... 345 Udførelse af matematiske beregninger med hexadecimale og binære tal... 346 Sammenligning eller manipulation

Læs mere

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding: Vi har tidligere set på spørgsmålet om et XML dokuments encoding. Det er generelt altid en god ide at gemme et dokument

Læs mere

Programmeringseksempel tl BCxxxx (Seriel)

Programmeringseksempel tl BCxxxx (Seriel) APP-NOTE 600005 Beckhoff Application Note Date: 8/28/2006 Document Status: First Draft Beckhoff Automation Aps Naverland 2, DK-2600 Glostrup Phone +45 43 46 76 20 Fax +45 43 46 63 35 Programmeringseksempel

Læs mere

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser 3/10/96 Seminaret den 26/10 vil omhandle den sidste fase af analysen og de første skridt i kodegenereringen. Det drejer sig om at finde betydningen af programmet, nu hvor leksikalsk og syntaktisk analyse

Læs mere

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje.

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje. Maple Dette kapitel giver en kort introduktion til hvordan Maple 12 kan benyttes til at løse mange af de opgaver, som man bliver mødt med i matematiktimerne på HHX. Skærmbilledet Vi starter med at se lidt

Læs mere

C++ Gratis PDF-udgave Forlaget Libris 1996-2004

C++ Gratis PDF-udgave Forlaget Libris 1996-2004 C++ Gratis PDF-udgave Forlaget Libris 1996-2004 Gratis PDF-udgave af C++ I 1996 udgav vi for første gang C++ af Kris Jamsa. Første udgave var på bogform, som dengang kostede kr. 228,-. I 1999 udgav vi

Læs mere

PID2000 Archive Service

PID2000 Archive Service PROLON CONTROL SYSTEMS Herstedvesterstræde 56 DK-2620 Albertslund Danmark Tlf.: (+45) 43620625 Fax: (+45) 43623125 PID2000 Archive Service Bruger vejledning Juni 2002 Denne manual beskriver brugen af softwaren

Læs mere

Manual til Dynamicweb Februar 2010

Manual til Dynamicweb Februar 2010 Manual til Dynamicweb Februar 2010 Login... 2 Skabeloner og formater... 3 Filarkivet... 4 Lav en PDF... 5 Opret en ny side... 7 Navngiv siden... 9 Aktiver siden... 9 Sorter sider... 9 Flyt siden... 11

Læs mere

Vejledning til udskrivning af etiketter/labels og konvolutter i Blåt Medlem

Vejledning til udskrivning af etiketter/labels og konvolutter i Blåt Medlem Vejledning til udskrivning af etiketter/labels og konvolutter i Blåt Medlem Blåt Medlem giver mulighed for at udskrive etiketter/labels og kuverter til medlemmerne af den enhed man er medlemsansvarlig

Læs mere

Brugervejledning til Avery Wizard for Microsoft Office. Dansk version til www.avery.dk - www.avery.no

Brugervejledning til Avery Wizard for Microsoft Office. Dansk version til www.avery.dk - www.avery.no Brugervejledning til Avery Wizard for Microsoft Office Dansk version til www.avery.dk - www.avery.no Indholdsfortegnelse 1. Systemkrav 1. Systemkrav for at anvende Avery Wizard 2. Installering af Wizard

Læs mere

Den digitale Underviser. Clouds. Dropbox

Den digitale Underviser. Clouds. Dropbox Den digitale Underviser Clouds Dropbox Indhold Indhold... 1 Dropbox... 1 Installer Dropbox... 2 Åbn Dropbox fra egen computer... 2 Åbn Dropbox fra en anden computer... 3 Lagre filer i Dropbox (offline

Læs mere

Vejledning til Teknisk opsætning

Vejledning til Teknisk opsætning Vejledning til Teknisk opsætning v. 1.0 Adm4you, 2010. Indhold Kort om denne vejledning... 3 Generelt om easyourtime... 3 Installation af databasen... 3 Sikkerhed og rettigheder... 4 SQL Login... 4 Rettigheder

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Exchange 2010 SSL certifikat administration Følgende vejledning beskriver hvordan man vælger hvilke adresser der skal være i ens Exchange 2010 SAN SSL certifikat. Derudover er der tekniske guides til at

Læs mere

MANUAL. Siteloom CMS

MANUAL. Siteloom CMS MANUAL Siteloom CMS www.hjerteforeningen.dk/cms Brugernavn: Password: 3. oktober, 2013 BASIS FUNKTIONER 1. Kalender... 4 1.a. Opret... 5 1.b. Rediger eller slet... 9 2. Sider...12 2.a. Opret side...13

Læs mere

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012 Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend

Læs mere

Sådan opretter du en elektronisk aflevering

Sådan opretter du en elektronisk aflevering Sådan arbejder du med opgaver i Gradebook/karakterbog Denne vejledning indeholder en detaljeret beskrivelse af hvordan du bruger gradebook/karakterbogen når du vil arbejde med opgaver og give karakterer

Læs mere

Ruko SmartAir. Updater installation

Ruko SmartAir. Updater installation Ruko SmartAir Updater installation Introduktion. Updateren er en speciel enhed som giver os mulighed for at tilføje, læse og skrive funktioner i en offline installation. Med læse og skrive funktionen kan

Læs mere

Installation af kalibreringsprogrammet. (BDE versionen)

Installation af kalibreringsprogrammet. (BDE versionen) Installation af kalibreringsprogrammet. (BDE versionen) Installationen består egentlig af to (3) dele: 1 del der vedrører selv programmet med tilhørende filer ( det kan opdateres ) 2 en del der vedrører

Læs mere

Daglig brug af JitBesked 2.0

Daglig brug af JitBesked 2.0 Daglig brug af JitBesked 2.0 Indholdsfortegnelse Oprettelse af personer (modtagere)...3 Afsendelse af besked...4 Valg af flere modtagere...5 Valg af flere personer der ligger i rækkefølge...5 Valg af flere

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

http://www.fya.byethost13.com/forside.html

http://www.fya.byethost13.com/forside.html I dette dokument forklares den basale brug af TeX, et programmeringssprog velegnet til at skrive matematiske dokumenter i, som det foregår i TeXnicCenter. De programmer, der skal bruges kan findes via

Læs mere

Oversigt over formateringsmærker i Microsoft Word

Oversigt over formateringsmærker i Microsoft Word Oversigten på de følgende sider viser størstedelen af de forskellige formateringsmærker, der kan optræde i et Microsoft Word-dokument. Formateringsmærker vises kun på skærmen de kommer ikke med i udskrift.

Læs mere

Først skal du oprette dig i systemet, d. v. s. du skal have en såkaldt Googlekonto bestående af en mailadresse og et kodeord.

Først skal du oprette dig i systemet, d. v. s. du skal have en såkaldt Googlekonto bestående af en mailadresse og et kodeord. Gmail Indhold Indhold...1 Introduktion...2 Opret dig i systemet...2 At skrive mails...5 Sende en mail til flere personer...8 Vedhæfte en fil...9 Kladde...10 Signatur...11 Modtagne mails...12 Stjernemarkering...14

Læs mere

Integer.parseInt(args[0]) konverterer tegnstreng (f.eks. "10") til heltal (10). if (udtryk) else

Integer.parseInt(args[0]) konverterer tegnstreng (f.eks. 10) til heltal (10). if (udtryk) else Programmering 1999 Forelæsning 2, fredag 3. september 1999 Betingede ordrer: if-, if Indlejrede betingede ordrer Løkker med begrænset iteration: for Løkker med ubegrænset iteration: while Betingede ordrer,

Læs mere

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet. Opsætning af Backup Dette er en guide til opsætning af backup med Octopus File Synchronizer. Det første der skal ske er, at programmet skal registreres (programmet kan dog bruges i 30 dage, hvis det ikke

Læs mere

MANUAL. Siteloom CMS

MANUAL. Siteloom CMS MANUAL Siteloom CMS www.hjerteforeningen.dk/cms Brugernavn: Password: 13. marts, 2014 BASIS FUNKTIONER 1. Kalender... 4 1.a. Opret... 5 1.b. Rediger eller slet... 9 2. Sider...12 2.a. Opret side...13 2.b.

Læs mere

Dansk vejledning til installation og opsætning af Safe Eyes

Dansk vejledning til installation og opsætning af Safe Eyes Dansk vejledning til installation og opsætning af Safe Eyes Her kan du få vejledning til, hvordan du skaffer Safe Eyes og bruger det. Det mest nødvendige er her beskrevet på dansk men dog ikke det hele.

Læs mere

Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller.

Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Flowchart Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Et godt program til at tegne flowcharts med er, EDGE-Diagrammer, eller Smartdraw.

Læs mere

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Computere er uvurderlige redskaber for personer der ønsker at arbejde med matematiske modeller

Læs mere

Guide til Umbraco CMS

Guide til Umbraco CMS web Guide til Umbraco CMS Indhold Indledning 3 Kompatible browsere 3 Log ind i Umbraco 4 Content-delen 5 Indholdstræet 5 Tilføjelse af en side/sektion 7 Sortering af indhold 12 Galleri 14 Mediebibliotek

Læs mere

Fjernadgang til BEC s systemer via Portal2

Fjernadgang til BEC s systemer via Portal2 Fjernadgang til BEC s systemer via Portal2 - tilgå applikationer og arbejdsplads via webbaseret portal (UAG) Udarbejdet af: Niklas Petersen Gældende fra: 24-08-2015 Version Forfatter Dato Dokumentstatus

Læs mere

Lonbox PCM2001 betjeningsenhed

Lonbox PCM2001 betjeningsenhed PROLON CONTROL SYSTEMS Herstedvesterstræde 56 DK-2620 Albertslund Danmark Tlf.: (+45) 43620625 Fax: (+45) 43623125 Lonbox PCM2001 betjeningsenhed Bruger vejledning Oktober 2002 Denne manual beskriver installation

Læs mere

Weblink. Brugermanual. Hotline: 79 30 01 56

Weblink. Brugermanual. Hotline: 79 30 01 56 Weblink Brugermanual Hotline: 79 30 01 56 Indholdsfortegnelse: Log ind på Gateway/Weblink:...3 Opret Ny ordre:...4 Indtastning af Varer til bestilling:...7 Søg vare:...8 Udskriv ordren....11 Ordrebekræftigelse

Læs mere

Opdatering af ISOWARE til version 6.1.0

Opdatering af ISOWARE til version 6.1.0 Opdatering af ISOWARE til version 6.1.0 September 2015 Indhold Kontaktoplysninger... 1 VIGTIGT... 2 Opdatering af trejdepartssoftware... 2 Opdatering til version 6.1.0.... 2 1. Backup af databasen... 3

Læs mere

HUMANWARE BRAILLIANT INSTALLATIONSVEJLEDNING

HUMANWARE BRAILLIANT INSTALLATIONSVEJLEDNING HUMANWARE BRAILLIANT INSTALLATIONSVEJLEDNING KOMMANDOOVERSIGT TIL BRUG PÅ WINDOWS COMPUTERE MED JAWS INTRODUKTION: Brailliant displays har indbygget BlueTooth og USB. BlueTooth anvendes til at forbinde

Læs mere

AluData: Regneark og brevfletning i LibreOffice. AluData: Regneark og brevfletning i LibreOffice

AluData: Regneark og brevfletning i LibreOffice. AluData: Regneark og brevfletning i LibreOffice AluData: Regneark og brevfletning i LibreOffice Indholdsfortegnelse 1. Indledning...2 2. LibreOffice Calc...2 2.1. Vi lægger et simpelt budget i Calc...2 2.2. Afslutning...12 3. Brevfletning...12 3.1.

Læs mere

Øvelser rundt på computeren

Øvelser rundt på computeren Øvelser rundt på computeren Kursister med it-færdigheder bør læse øvelserne igennem. Hvis der er elementer, som er ukendte, bør du udføre øvelserne. Hvis øvelserne derimod er kendt information kan øvelserne

Læs mere

Easy Guide i GallupPC

Easy Guide i GallupPC Easy Guide i GallupPC Version. 6.00.00 Gallup A/S Masnedøgade 22-26 DK 2100 København Ø Telefon 39 27 27 27 Fax 39 27 50 80 Indhold SÅDAN KOMMER DU I GANG MED AT ANVENDE GALLUPPC... 2 TILFØJELSE AF UNDERSØGELSER

Læs mere

EasyIQ ConnectAnywhere Brugermanual Windows 7, Windows Vista og Windows XP

EasyIQ ConnectAnywhere Brugermanual Windows 7, Windows Vista og Windows XP EasyIQ ConnectAnywhere Brugermanual Windows 7, Windows Vista og Windows XP Indhold Log på EasyIQ ConnectAnywhere... 2 Adgangskode udløbet... 3 Log af EasyIQ ConnectAnywhere... 5 Mulighederne i EasyIQ ConnectAnywhere...

Læs mere

Installation af Oracle 10g Release 2 database

Installation af Oracle 10g Release 2 database Installation af Oracle 10g Release 2 database Oracle 10g database indeholder databasesoftware, enterprise manager, SQL*Plus m.m., HTML DB (i dag kendt som Application Express) og tilhørende HTTP Server

Læs mere

DDD Runde 2, 2015 Facitliste

DDD Runde 2, 2015 Facitliste DDD Runde 2, 2015 Facitliste Søren Dahlgaard og Mathias Bæk Tejs Knudsen Opgaver og løsninger til 2. runde af DDD 2015. 1 4. 19. februar, 2015 linetest DK v1.0 Line Test Sigurd er begyndt i gymnasiet og

Læs mere

Vejledning til Club Counsellor i brug af RYE Database 2008

Vejledning til Club Counsellor i brug af RYE Database 2008 Vejledning til Club Counsellor i brug af RYE Database 2008 Indledning Multi District Denmark har udviklet en database til brug ved administration af udvekslingsstudenter. Databasen kan åbnes fra alle pc

Læs mere

Måle og test I. Lasse Kaae 2012

Måle og test I. Lasse Kaae 2012 Måle og test I Lasse Kaae 2012 Plan for de næste 2 uger Uge 1 grundlæggende VEE NI Labview (Torsdag) Anders Meisner Uge 2 Workshop VEE VEE instrument-styring Labview NI USB 6008 Måle øvelser Lasse Kaae

Læs mere

En lille vejledning til lærere og elever i at bruge matematikprogrammet WordMat (begynderniveau)

En lille vejledning til lærere og elever i at bruge matematikprogrammet WordMat (begynderniveau) Matematik i WordMat En lille vejledning til lærere og elever i at bruge matematikprogrammet WordMat (begynderniveau) Indholdsfortegnelse 1. Introduktion... 3 2. Beregning... 4 3. Beregning med brøker...

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

poedit og oversættelse af sprogfiler

poedit og oversættelse af sprogfiler poedit og oversættelse af sprogfiler af Georg S. Adamsen WordPress.Blogos.dk 2009 http://kortlink.dk/wordpressblogosdk/6g38 1 af 11 14-04-2009 14:55 Jeg får af og til spørgsmål om, hvordan man bruger poedit,

Læs mere

Introduktion til FileMaker Pro 4.0/4.1

Introduktion til FileMaker Pro 4.0/4.1 1 Introduktion til FileMaker Pro 4.0/4.1 Hvad er en database? En database er en samling data, som er organiseret på en systematisk måde og er tilgængelig i digital form. Med andre ord er det en slags elektronisk

Læs mere

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:... 9 Nogle HTML tags... 9 Databaser og PHP Når vi snakker

Læs mere

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ DM502 Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!

Læs mere

SÅDAN BRUGER DU TEKST- BEHANDLING INTRODUKTION

SÅDAN BRUGER DU TEKST- BEHANDLING INTRODUKTION SÅDAN BRUGER DU TEKST- BEHANDLING INTRODUKTION I vejledningen bruger vi det gratis program Writer fra OpenOffice som eksempel til at vise, hvordan man bruger nogle helt grundlæggende funktioner i tekstbehandling.

Læs mere

Installation Windows 7

Installation Windows 7 Du skal gøre følgende: Check om PC en har et Windows 7 logo: Logoet sidder på "kabinettet" (CPU'en/harddisken - kært barn har mange navne) hvis det er der, så følges vejledningen som er herunder. Du kan

Læs mere

Delfi Connect. Bruger vejledning 1. TILSLUTNING...2 2. INSTALLATION...3 3. MENUSTRUKTUR...4

Delfi Connect. Bruger vejledning 1. TILSLUTNING...2 2. INSTALLATION...3 3. MENUSTRUKTUR...4 Delfi Connect Bruger vejledning INDHOLD 1. TILSLUTNING...2 2. INSTALLATION...3 3. MENUSTRUKTUR...4 TOOLS...4 4. KOMMUNIKATIONS OPSÆTNING...5 5. GENEREL OPSÆTNING OG DATA KONFIGURATION...6 RECORD...8 BASAL

Læs mere

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Installation og Drift. Aplanner for Windows Systemer Version 8.15 Installation og Drift Aplanner for Windows Systemer Version 8.15 Aplanner for Windows løsninger Tekniske forudsætninger Krav vedr. SQL Server SQL Server: SQL Server 2008 Express, SQL Server 2008 R2 eller

Læs mere

Indhold. 1 Indledning... 3. 1.1 Kompatible browsere... 3. 2 Log ind i Umbraco... 3. 3 Content-delen... 4. 3.1 Indholdstræet... 4

Indhold. 1 Indledning... 3. 1.1 Kompatible browsere... 3. 2 Log ind i Umbraco... 3. 3 Content-delen... 4. 3.1 Indholdstræet... 4 Indhold 1 Indledning... 3 1.1 Kompatible browsere... 3 2 Log ind i Umbraco... 3 3 Content-delen... 4 3.1 Indholdstræet... 4 3.2 Ændring af indhold... 5 3.3 Tilføjelse af en side/sektion... 6 3.4. At arbejde

Læs mere

E-MAIL G-MAIL (GOOGLE)

E-MAIL G-MAIL (GOOGLE) E-MAIL G-MAIL (GOOGLE) Erik Thorsager, Esbjerg. 3. udgave: G-mail Side 1 G-mail E-mail: Det engelske ord mail betyder post. E står for elektronisk. E-mail betyder altså elektronisk post. Elektronisk post

Læs mere

Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber

Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber Klasser Grundlæggende Programmering med Projekt Peter Sestoft Tirsdag 2. september 2008 (Tak til Jakob Bardram for nogle slides) Dagens begreber Felt (field) Metode (method) Parameter (parameter) Sætning,

Læs mere

SIGIL Sådan opretter du en e- bog Step by Step

SIGIL Sådan opretter du en e- bog Step by Step SIGIL Sådan opretter du en e- bog Step by Step Af Gitte Winter Graugaard Nov. 2013, Sigil version 0.7.2 1 Her følger en intro skridt for skridt til at oprette en e- bog i SIGIL og publicere den på SAXO

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

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

FSFIs lynguide til DFRs elektronisk bevissystem

FSFIs lynguide til DFRs elektronisk bevissystem FSFIs lynguide til DFRs elektronisk bevissystem Dette er en kort guide i anvendelsen af Dansk Førstehjælpsråd elektroniske bevissystem. Guiden viser og forklarer hvordan du som instruktør og medlem af

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

Softwareudvikling: Miljøer

Softwareudvikling: Miljøer Softwareudvikling: Miljøer Præsentation af mig Praktiske oplysninger Overblik Host-target setup UNIX, historisk UNIX egenskaber UNIX ulemper UNIX, netværk, X11, brugerflader Windows fordele/ulemper Øvelse

Læs mere

18/11 2010 Version 2.0 Side 1 af 36

18/11 2010 Version 2.0 Side 1 af 36 Login til DJAS Gå ind på adressen http://www.djas.dk I feltet Brugernavn skrives den e-mail adresse som brugeren er registeret med i systemet. I feltet Password skrives brugerens adgangskode. Ved at sætte

Læs mere

Installation af MySQL server på PC

Installation af MySQL server på PC Installation af MySQL server på PC (Udgave 0.02 2013-Oktober-06 @ 22:30 Chris Bagge, Mindre rettelser) Dette er en kort beskrivelse af hvordan man får installeret en MySQL server på en PC med Windows 7.

Læs mere

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database Kursusbeskrivelse Oprettelse af en Access-database Som eksempel på en Access-database oprettes en simpelt system til administration af kurser. Access-databasen skal indeholde: et instruktørkartotek et

Læs mere

Godkendelsesdato Version Rettet af Rettelse(r)

Godkendelsesdato Version Rettet af Rettelse(r) REST/SOAP Services Referenceimplementation Godkendelsesdato Version Rettet af Rettelse(r) 17/6-2010 1.0 Stefan L. Jensen 1 Indhold 1. Indledning... 3 2. Visual Studio solution... 3 3. Konfiguration...

Læs mere