GUIer Gør Godt. Introduktion til GUIer i Matlab IMM, DTU. Niels Gjøl Jacobsen

Størrelse: px
Starte visningen fra side:

Download "GUIer Gør Godt. Introduktion til GUIer i Matlab IMM, DTU. Niels Gjøl Jacobsen"

Transkript

1 GUIer Gør Godt Introduktion til GUIer i Matlab IMM, DTU Niels Gjøl Jacobsen

2 Forord GUI er en forkortelse for Graphical User Interface, og det er en særdeles nyttig måde at visualisere sine data, og det gør det ligeledes på ensimpelmåde muligt at ændre enkelte parametrer i beregninger og se de fysiske, matematiske eller andre ændringer, som sker i forbindelse med ændringen af disse parametrer. Ydermere hjælper GUIer til, at der bliver skabt en grænse for, hvor meget brugeren kan ændre i programmet, da der ikke direkte kontakt til den bagvedliggende kode. Denne introduktion er skrevet til Matlab 6.5. R13. DTU 2003 i

3 Indhold 1 Et lille eksempel 1 2 GUIDE Elementerne i GUIDE Push Button Toggle Button Radio Buttons Checkbox Edit Text Static Text Slider Frame Popup Menu Listbox Axes Property Inspector Layout af GUI Størrelse, farve og andet Justering af elementer Tabulator Dannelse af.m-fil til programmering af GUI Variabelstrukturen Lokale variable Globale variable Handles-strukturen Variable med handles-strukturen Andre måder at dele data mellem de enkelte elementfunktioner Programmering af elementer Push Button Toggle Button Radio Button Checkbox Interaktion mellem Edit Text og Slider Listbox Popup Menu ii

4 5 Lidt ekstra Dataoverførsel mellem GUIer Dialogbokse Indbyggende dialogbokse Indsættelse af iconer Print af plot i en GUI Flere Axes i en GUI Appendix Små tricks Ting, som skal huskes Kode til frembringelse af lup-icon iii

5 Kapitel 1 Et lille eksempel For at gennemgå nogle af de overordnede begreber vil et eksempel på en GUI, som alle har stiftet bekendskab med, blive gennemgået her. Den GUI, det drejer sig om, er en browse-funktion, som er særdeles nyttig, når filer skal vælges i forbindelse med andre GUIer. Selve GUIen består af to filer, som henholdsvis har.fig og.m som extension. Den første af disse to filer dannes ved at benytte et program under Matlab, hvor det er muligt at placere de enkelte elementer i et figurfelt. Som det fremgår af figur 1.1 er der blevet brugt 4 forskellige elementer ud af 11 mulige til at lave denne browsefunktion. Alle elementerne vil blive gennemgået samlet under kapitel 2. De benyttede elementer er Listbox, Static Text, Edit Text og Pushbutton. I forbindelse med dannelsen af.fig-filen er det ligeledes muligt at definere de forskellige elementers udseende hvad angår farver, størrelse etc. Figur 1.1: Udseende af browse-funktionen. 1

6 Tilbage er der.m-filen, som delvist bliver genereret af Matlab, når.fig-filen gemmes, men det eneste den indeholder er skabeloner til de funktioner, der herefter vil blive kaldt callbacks, som er knyttet til de enkelte elementer. Under hver af disse callbacks er det herefter muligt at programmere, hvad det enkelte element skal kunne. I forbindelse med programmeringen af disse er det min erfaring, at det er en fordel at benytte den såkaldte handles-struktur, se kapitel 3, som gør det let at føre data rundt mellem de enkelte callbacks / elementer. Det mest interessante i denne forbindelse er dog nok muligheden for at kalde andre GUIer fra en GUI. Dette sker i dette eksempel, når der trykkes på den Pushbutton, som er behæftet med strengen Filter, som gør det muligt at filtrere på specifikke extensions i browsefunktionen. Når denne knap aktiveres åbnes et vindue, som kan ses i figur 1.2. Som det fremgår er det de samme 4 elementer, der Figur 1.2: Filterfunktionens opbygning med de samme elementer som i browsefunktionen. er benyttet i forbindelse med filterfunktionen. Selve det at kalde en anden GUI fra en GUI er simpelt, da.m-filen er en funktion med underliggende callbacks, hvorfor det bare er at kalde denne funktion fra en anden GUI. Dataoverførsel mellem de to GUI sker som sædvanligt med dataoverførsel mellem to funktioner i Matlab. Det ovenstående vil blive beskrevet i detaljer i de følgende afsnit. 2

7 Kapitel 2 GUIDE Til opbygning af GUIer i Matlab er der to muligheder for at opbygge den grafiske brugergrænseflade. Der er muligheden for selv at skrive en.m-fil, som angiver placering, farve og egenskaber ved de enkelte elementer. Denne fremgangsmåde vil ikke blive beskrevet i det efterfølgende. I stedet vil der blive beskrevet, hvordan den grafiske brugergrænseflade kan blive opbygget ved at benytte GUIDE, hvor det er grafisk muligt at angive lay-outet af GUIen og simpelt justere på de enkelte parametre. GUIDE kaldes ved at skrive guide i kommandolinien i Matlab, hvorved der åbner et figurfelt magen til det, som kan ses i figur 2.1. Figur 2.1: Sådan ser GUIDE ud når det åbnes. De vigtigste knapper samt hjælpelinier er fremhævet. 3

8 2.1 Elementerne i GUIDE Det er muligt at benytte 11 grafiske elementer i opbygningen af en GUI, hvor der blev stiftet bekendtskab med de 4 af dem i kapitel 1. Disse 11 elementer vil kort blive beskrevet herunder, hvorefter kodningen af nogle af dem vil blive berørt i kapitel 4, når den overordnede håndtering af handles-strukturen er beskrevet Push Button Push Buttons bruges, når en handling skal bekræftes eller udføres, hvilket for eksempel kunne være kaldet til GUIen filter fil under kapitel Toggle Button Toggle Buttons kan benyttes, såfremt det ønskes at angive om en egenskab er aktiv eller inaktiv. Dette kan for eksempel være en zoom-knap knyttet til en Axes, i hvilken det er muligt at inkludere plots i en GUI. For let at anskueliggøre egenskaben ved elementet kan der påsættes et icon symboliserende elementets egenskab. Dette kan for eksempel være en lup. Den bagvedliggende kode, som danner en lup med farvet baggrund, kan ses i appendix 6.3, og metoden til at indsætte disse på elementet kan ses beskrevet under afsnit Radio Buttons Såfremt der er flere options at vælge imellem er Radio Buttons en oplagt mulighed. De enkelte Radio Buttons kan forbindes, således at alle på nær én nulstilles, når en anden vælges til værende aktiv Checkbox Hvis flere uafhængige options skal angives som værende aktive eller inaktive i forbindelse med kørsel af en GUI er det muligt at benytte Checkboxes til dette formål Edit Text Til at inkludere helt valgfrie parametre eller udtryk i GUIen benyttes Edit Text elementet. Et eksempel kan være, at i forbindelse med løsningen af en differentialligning vil det være nødvendigt at have den nødvendige begyndelsesværdi som inputstørrelse Static Text Dette element er et ikke-aktivt element, som kan benyttes til at indlægge forklarende tekst i GUIen. En anden brug kunne være at ændre den tilknyttede tekststreng løbende alt efter hvilke parametre der er valgt. 4

9 Med et ikke-aktivt elementet menes, at der ikke genereres et callback til elementet i den.m-fil, som Matlab genererer Slider Ønskes der valgt en numerisk størrelse i en GUI, som ligger i et nærmere angivet interval, er det hensigtmæssigt at benytte en Slider i kombination med et Edit Text element. På denne måde er det visuelt let at se for brugeren, hvad grænserne for intervallet er. Samspillet med Edit Text elementet gør det let at indtaste specifikke numeriske størrelser, som det ikke er muligt at ramme præcist ved at bevæge Slideren. Men ligeledes giver Edit Text elementet mulighed for at vise, hvilken aktuel værdi Slideren har, når denne bevæges. En implementering af denne egenskab er angivet i afsnit Frame En Frame benyttes til at samle enkelte elementer og angive, at de hænger sammen i en større enhed. For eksempel en række Radio Buttons imellem hvilke der skal / kan vælges ét enkelt element Popup Menu Hvis brugeren skal vælge imellem nogle forskellige indstillingsmuligheder er Popup Menuen et glimrende virkemiddel. Dette kunne være om en plottet kurve skal være rød, blå, gul eller grøn, hvorfor disse muligheder vil være givet som prædefinerede muligheder i Popup Menuen Listbox Et Listbox-element er yderst anvendeligt, når der skal indhentes lange lister, eller hvis brugeren skal vælge mellem en lang række prædefinerede indstillinger. Det skyldes, at det ikke vil være hensigtsmæssigt, at benytte en Popup Menu til for mange valgmuligheder Axes Hvis det ønskes at plotte i GUIen, skal der indsættes en eller flere Axes, i hvilke det er muligt at plotte beregnede data. Med Axes er det ligeledes ad omveje muligt at printe til fil eller direkte til printer, men hvordan de korrekte Axes bliver benyttet til plots og hvordan printet fortages, beskrives nærmere under kapitel 5. Axes er som standard ikke et aktivt element, men udelukkende et element, som kan blive mål for en handling udført ved aktivering af et af de andre elementer. 2.2 Property Inspector I GUIDE er det muligt at åbne et vindue kaldet Property Inspector, i hvilket det er muligt at definere alle de variable størrelser, som er gældende for de enkelte elementer. Dette værende farve, størrelse, position, tilknyttet tekststreng, etc. 5

10 På figur 2.1 er det muligt at se, hvordan Property Inspector åbnes Den vigtigste variabel, som bør ændres inden.m-filen dannes første gang er elementets tag. Dette skyldes, at alle elementer får tildelt et tag med standartnavne, som kan være svære at huske. Dette kan eksempelvis være edit1, edit2,..., edit20, hvis der er 20 Edit Text elementer i brug. Derfor er det vigtigt at ændre disse navne til noget, der er lettere at huske og giver større mening i forbindelse med det elementet skal bruges til i GUIen. Et eksempel på et lettere navn kunne for eksempel være at ændre en Pushbutton s tag fra pushbutton3 til close, såfremt elementets funktion er at lukke GUIen. Dette gør det væsentligt lettere at huske de enkelte tags, som skal benyttes i programmeringsfasen. Determegetvigtigtatbemærke,atdeterbesværligtatændreetelements tag efter dets callback er genereret, og endvidere skal koden tjekkes, for at der ikke er referencer til netop dette callback, hvor det gamle tag benyttes. Så det anbefales at holde fast i de enkelte tags, når disse først er defineret og taget i brug. 2.3 Layout af GUI Der er to elementer, der er vigtige at tage højde for, når lay-outet af GUIen skal færdiggøres. For det første skal opsætningen være letforståelig, så det er simpelt at gå til. For det andet skal den grafiske side af lay-outet være indbydende, hvorfor en vis konsekvens i størrelserne af elementer, farve og placering af disse er meget vigtig. Det er udelukkende den sidste del af lay-outet, der vil blive beskrevet herunder Størrelse, farve og andet Størrelse, farve og andet ændres lige som alle andre parametre ved brug på Property Inspector Justering af elementer Justering af elementer kan foretages på fire forskellige måder. 1. Under menuen Tools iguidevælgesgrid and Rulers. Her er det muligt at slå Show rulers til. Dette give en lodret og vandret lineal i figurfeltet. Ud fra disse linealer kan der trækkes hjælpelinier, hvilket giver et brugerdefineret net, hvorefter det er muligt at placere de enkelte elementer hurtigt og nemt, da elementerne snapper til disse hjælpelinier. 2. Når GUIDE åbnes, er der et prædefineret net af hjælpelinier, som ligger fast, som elementerne ligeledes snapper til. 3. Under menuen Tools er det ligeledes muligt at vælge Align Objects, hvorved elementer kan placeres i forhold til hinanden, på den måde det 6

11 er angivet i det figurfelt, der kommer op, når denne menu kaldes. Menuen ser ud som på figur Endelig er det muligt at placere de enkelte elementer ved at indtaste de ønskede koordinatsæt i Property Inspector. Figur 2.2: Sådan ser vinduet Align Objects ud Tabulator Da en del af layoutet også omfatter en brugervenlig rækkefølge af objekterne, når TAB benyttes til at springe imellem disse, er der under Tools en menu i hvilken det er muligt at ændre på tabulatorrækkefølgen. Denne menu hedder Tab Order Editor. Som udgangspunkt er rækkefølge den, i hvilken elementerne er blevet indsat i GUIDE, og denne er ikke altid den mest hensigtsmæssige, da enkelte elementer kan have været glemt i begyndelsen. 2.4 Dannelse af.m-fil til programmering af GUI Når alle de nødvendige tags erdefinereterdetpå tide at danne den.m-fil, som skal benyttes til at definere de enkelte elementers egenskaber. Denne dannes simplest ved at vælge at gemme figuren dannet i GUIDE på normal vis ved Save As... Tilføjes der senere nye elementer til figuren i GUIDE er det intet problem. Figuren gemmes blot og et callback til elementet genereres af Matlab og tilføjes i bunden af.m-filen. 7

12 Kapitel 3 Variabelstrukturen I forbindelse med datastrømmen i en GUI er det muligt at benytte sig af tre former for variable. Det er lokale og globale variable og endelig variable, som bliver styret af den såkaldte handles-struktur. De tre typer variable vil blive behandlet herunder. 3.1 Lokale variable De lokale variable eksisterer kun i den funktion, de er tilknyttet. Det betyder, at der er flere callbacks, som godt kan have en variabel med samme variabelnavn. 3.2 Globale variable Globale variable har den ulempe, at de er tilgængelige overalt i Matlab. Det vil sige, at kørsel af andre funktioner i Matlab, der kører sideløbende med GUIen, også har adgang til disse variable. Dette kan være uønsket, da der så ikke er 100%styr på variablerne. Globale variable kan ikke anbefales, da handlesstrukturen giver større muligheder. Der kan fås mere information ved at skrive help global. 3.3 Handles-strukturen Alle elementer har en handle, og det er dette GUIen bygger på. Denne handle indeholder alle de data, som bliver defineret i forbindelse med Property Inspector, se afsnit 2.2, og den enkelte handle ligger gemt i et strukturfelt, som indeholder handles på samtlige elementer. Alle variable i dette strukturfelt har det samme fornavn, nemlig handles.*, hvor stjernen ikke skal opfattes som om, at alle filformater er tilladte, men at alle efterfølgende lovlige variablenavne er tilladte. For eksempel vil en Push Button automatisk få tildelt handles.pushbutton1, når den dannes i GUIDE. Dette betyder, at de variable, som er tilknyttet elementer i GUIen, har samme efternavn som deres tag. 8

13 Det kan i MatLab simpelt tjekkes om et variablenavn er tilladt ved at benytte kommadoen isvarname( string ) Variable med handles-strukturen Ud over at der er tilknyttet et handle til samtlige callbacks / elementer, kan der oprettes vilkårligt mange handles til at gemme data i. Fremgangsmåde vil blive vist med et eksempel. Det tænkes, at der i en Popup Menu dannes en række data, som sidenhen skal plottes, når der trykkes på en Push Button. Dette gøres på følgende måde, såfremt data ønskes overført via handles-strukturen mellem de forskellige callbacks. Hvis dette ikke er tilfældet, se da afsnit 3.4. % --- Executes on selection change in popup. function popup_callback(hobject, eventdata, handles) % hobject handle to popup (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hobject, String ) returns popup contents as cell array % contents{get(hobject, Value )} returns selected item from popup x = linspace(0,1,100); x = x(:); handles.uddata = [x, sin(x)]; guidata(hobject,handles); % --- Executes on button press in integrate. function pushbotton1_callback(hobject, eventdata, handles) % hobject handle to integrate (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) figure plot(handles.uddata(:,1),handles.uddata(:,2)); Her opdaterer guidata(hobject,handles) alle de handles, som er blevet defineret i forbindelse med den igangværende callback og gemmer disse i strukturfeltet. Når de så ønskes hentet frem, ligger de umiddelbart tilgængelige for samtlige callbacks i denne GUI, hvorfor de direkte kan kaldes. Det er umiddelbart den simpleste måde at håndtere datastrømmen mellem de enkelte callbacks / elementer. 9

14 3.4 Andre måder at dele data mellem de enkelte elementfunktioner Der er dog andre måder at dele data imellem de enkelte elementer på. Her benyttes handlen til et enkelt element til at gemme data i. Et eksempel kunne være, at den streng, som er indtastet i et Edit Text element skal benyttes til nogle udregninger. Under forudsætning af at strengen er en numerisk størrelse kan værdien direkte evalueres ved at skrive value = eval(get(handles.edit1, string )); Hermed kan den uden videre bruges i beregningerne i den pågældende callback. Hvis værdien skal bruges i function edit1_callback(..,..,..) kan dette kan også skrivessom value = eval(get(hobject, string )); da et kald til handles i det callback tilknyttet samme element kan fortages med hobject istedetforhandles.<tag>. At eval benyttes frem for str2double til at omforme strengen til en numerisk størrelse skyldes udelukkende, at str2double(pi) giver en fejlmeddelelse, men eval(pi) returnerer Vær dog opmærksom på,at eval ikke kan benyttes, såfremt strengen har indgået ietcell array. For at komme uden om dette problem omformes strengen ved hjælp af char på følgende måde value = eval(char(get(handles.edit1, string ))); Det er ligeledes muligt at overføre en større mængde data via den eksistrende handles-struktur. Dette kan gøres ved at benytte UserData, som er en del af alle elementer i GUIen. At gemme data i denne størrelse kan gøres ved at skrive set(hobject, UserData,value) hvis størrelsen value skal gemmes i den igangværende callback s handle. Til dette kan det anbefales at benytte cell array, hvis der er flere data, som skal overføres. For mere information brug help på cell, cell2mat og deal. Dog vil et lille eksempel være illustrativt. Det antages, at to matricer defineret som [ ] 1 4 A = B = ønskes overført via UserData. Da A og B har vidt forskellige dimensioner, kan de ikke umiddelbart sammenlægges i én variabel og overføres gennem UserData for derefter at splittes op. Her viser cell arrays deres brugbarhed. Skrives for eksempel 10

15 g = {A,B}; set(hobject, UserData,g); dannes en variable indeholdende de to variable A og B. Når overførslen er sket skal der blot skrives g = get(handles.pushbutton1, UserData ); A = cell2mat(g(1)); B = cell2mat(g(2)); og de to variable A og B er belvet overført fra handles.pushbutton1 til den pågældende callback, hvor de skal benyttes. En GUI lukkes, ved at der skrives delete(handles.figure1) et sted i.m-filen, hvor figure1 er det tag, som er tilknyttet selve GUIen, hvorved der menes baggrunden af GUIen. Nu skulle de mest overordnede elementer være på plads. I kapitel 4 bliver det beskrevet, hvordan nogle af elementerne kan programmeres, og i kapitel 5 gennemgås eksempler, som kan gøre GUIen mere brugervenlig, såsom brug af dialogbokse og diverse advarsler. 11

16 Kapitel 4 Programmering af elementer I dette kapitel findes beskrivelse af måder at programmere de enkelte elementer på. Da Static Text, Frames og Axes ikke direkte bliver tilknyttet et callback vil programmering af disse ikke blive taget med her. Det er dog stadig muligt at ændre i disse elementers egenskaber ved at benytte set(handles.<tag >,option,value) fra et andet callback. Eksempelvis vil indholdet i et Static Text element kunne ændres løbende. 4.1 Push Button Der er intet at bemærke til programmeringen af en Push Button, da denne mest benyttes til at samle trådene efter diverse indstillinger. Derfor skal de kommandoer, der ønskes aktiveret, eller de funktioner, der ønskes kaldet, blot implementeres på sædvanlig måde. 4.2 Toggle Button En Toggle Button kan eventuelt bruges, hvis det ønskes at slå zoom tilknyttet en specifik Axes til og fra. Dette gøres ved function toggle1_callback(hobject, eventdata, handles) axes(handles.axes1); % aktivere axes1 val = get(hobject, value ); % henter Toggle Button værdien if val == 1 zoom on; else zoom off; end % Slår zoom til og fra 12

17 4.3 Radio Button Ved benyttelse af Radio Buttons skal alle andre sammenhængende Radio Buttons nulstilles på nær en. Her er det fornuftigt at benytte nummerede tags, således at nulstillingen kan foretages i en løkke. Dette gøres ved function radiobutton1_callback(hobject, eventdata, handles) val = get(hobject, value ); if val == 1 for i={ 2, 3, 4 } eval(strcat( set(handles.radiobutton,char(i),, value,0) )); end end En anden mulighed ville være at definere følgende handle, når der arbejdes på en GUI, som kaldes forsoeg.m. Til enhver GUI vil der i.m-filen være et åbnings-callback, som i dette tilfælde hedder function forsoeg_openingfcn(hobject, eventdata, handles, varargin) handles.output = hobject; handles.group_radio = [handles.radiobutton1;... handles.radiobutton2;... handles.radiobutton3]; guidata(hobject, handles); Her er det eneste, der er tilføjet, definitionen på det nye handle. Det er herefter muligt, analogt til den anden fremgangsmåde, at nulstille værdien for 2 ud af de 3 Radiobuttons på følgende måde function radiobutton1_callback(hobject, eventdata, handles) val = get(hobject, value ); if val == 1 set(handles.group_radio(1), value,1); set(handles.group_radio(2:3), value,0); end 4.4 Checkbox Forestiller man sig, at der skal benyttes en Checkbox til at angive om zoom er slået til eller ej vil programmeringen være meget analog til den for Togglebuttons. Denne vil være givet som function checkbox1_callback(hobject, eventdata, handles) axes(handles.axes1); % aktivere axes1 val = get(hobject, value ); % henter Checkbox værdien if val == 1 zoom on; 13

18 else zoom off; end % Slår zoom til og fra 4.5 Interaktion mellem Edit Text og Slider I forbindelse med programmering af GUIer er det ikke muligt at udgå interaktion mellem de enkelte elementer. Det følgende eksempel går på, at der er en Slider, som kan antage værdier i et ikke nærmere defineret interval. Desuden er der et Edit Text element, i hvilket der kan indtastes en værdi, som ligger inden for intervallet, hvorefter Slideren bliver opdateret til denne værdi. Omvendt vil Edit Text elementet bliver opdateret, såfremt der bliver ændret på Slideren. Figur 4.1: Eksempel på interaktion mellem Slider og Edit Text element. Koden til de to funktioner for henholdsvis Slider og Edit Text ser ud på følgende måde. function slider1_callback(hobject, eventdata, handles) set(handles.edit1, string,num2str(get(hobject, value ))) %%%%%%%% function edit1_callback(hobject, eventdata, handles) val = eval(get(hobject, string )); int = [get(handles.slider1, min ),get(handles.slider1, max )]; if val <= int(2) & int(1) <= val set(handles.slider1, value, val); else uiwait(warndlg( The printed value is not in the demanded interval, Warning, modal )) uiresume end Hvor den sidste else-sætning printer en fejlmeddelelse såfremt den indtastede værdi ikke ligger i intervallet [int(1),int(2)]. Hvordan sådanne benyttes og hvilke andre der findes kan ses under afsnit

19 4.6 Listbox I forbindelse med programmering af Listbox er det mest interessante at se på hvordan en sådan opdateres, som det eksempelvis skete i eksemplet i kapitel 1. Det er ikke interessant at se på, hvordan algoritmen ser ud for prædefinerede størrelser, da fremgangsmåde er identisk med den for Popup Menuen. Dentekst,derstår i Listboxen, kommer fra et cell array af dimensionen n 1, hvilket giver n linier i Listboxen. Når Listboxen så opdateres, så arrayet er k 1 og k<n, kan der opstå problemer. Det skyldes, at såfremt det linienummer, der er highlighted gemmes, og hvis linienummeret er større end k kan den samme linie ikke være aktiv efter opdateringen, og GUIen afgiver en fejlmeddelelse. Derfor anbefales det altid at angive linienummeret som værende 1 umiddelbart før opdateringen. Den option det drejer sig om er value. Et eksempel kunne se ud som følger, hvor streng er den streng, der opdateres med. function listbox1_callback(hobject, eventdata, handles) streng = { hej, hello, ciao, guten tag }; set(hobject, value,1); set(hobject, string,streng); Samme problematik skal der være opmærksomhed omkring ved opdatering af Popup Menu. 4.7 Popup Menu Indholdet i en Popup Menu er oftest defineret på forhånd i forbindelse med kodningen, så det er kun interessant at beskrive, hvorledes kodningen ser ud for at den algoritme svarende til den valgte størrelse kan udføres. Se eksempel vis på en Popup Menu, som den på figur 4.2. Hvis den enkelte hilsen ønskes Figur 4.2: Popupmenu. Henholdsvis ikke aktiv og aktiveret. udskrevet på skærmen, og at der skal komme en fejlmeddelelse, når muligheden Choose string vælges, ser kodningen ud som følger. val = get(hobject, value ); string = get(hobject, string ); switch val case 1 uiwait(warndlg( Please choose a word below., OBS!, modal )) 15

20 end uiresume case {2,3,4} disp(char(string(val))); Der er ikke den store forskel mellem denne kode, og hvis der skal udføres større beregninger ved det valgte. Den eneste forskel er hvad der står under den enkelte case. 16

21 Kapitel 5 Lidt ekstra 5.1 Dataoverførsel mellem GUIer Dataoverførsel mellem to GUIer foregår ved at kalde en.m-fil fra den aktive GUI. Denne.m-fil er logisk nok koden hørende til en anden GUI. Ligesom med dataoverførsel via UserData kan en GUI kun modtage en variabel som input, hvorfor samme metode benyttes, se afsnit 3.4. Dog er det muligt at sende vilkårligt meget data tilbage, hvilket letter opgaven en smule. Den GUI, hvor kaldet foretages, kaldes i det efterfølgende GUI-1, og den der kaldes får navnet GUI-2. Kode i GUI-1, når der kaldes en funktion kaldet input_file.m: S = {a,b,c}; [A,B,C] = input_fil(s); I GUI-2 sker da følgende, hvor dens åbnings-callback ser ud på følgende måde: function input_file_openingfcn(hobject, eventdata, handles, varargin) % Choose default command line output for input_file handles.output = hobject; handles.a = (varargin{1}{1}); handles.b = (varargin{1}{2}); handles.c = (varargin{1}{3}); % Update handles structure guidata(hobject, handles); % UIWAIT makes input_file wait for user response (see UIRESUME) % uiwait(handles.figure1); uiwait(handles.figure1); Det væsentlige her er omformningen af data, og endvidere det vigtige, at kommandoen uiwait(handles.figure1) benyttes. Dette betyder, at GUIen ikke som default returnerer en ligegyldig værdi, men venter til at de variable, der skal returneres, er genereret. Dette kunne for eksempel ske som følger function varargout = input_file_outputfcn(hobject, eventdata, handles) 17

22 % Get default command line output from handles structure varargout{1} = handles.a; varargout{2} = handles.b; varargout{3} = handles.c; % --- Executes on button press in pushbutton1. function pushbutton1_callback(hobject, eventdata, handles) handles.a = handles.a * 2; handles.b = handles.b * pi; handles.c = handles.c * 3; guidata(hobject,handles); uiresume(handles.figure1) Her finder det mest interessante sted med kommandoen uiresume(handles.figure1), for det giver GUIen lov til at eksekvere det callback, der hedder input_file_outputfcn, som returnerer de variable, der skal returneres. Dette er helt overordnet den fremgangsmåde, der skal benyttes med dataoverførsel mellem GUIer. 5.2 Dialogbokse Dialogbokse kan være særdeles anvendelige, hvis brugeren skal gøres opmærksom på enopstået fejl, eller der er brug for, at brugeren verificerer sit valg. Eksempelvis kan der ønskes bekræftet, om GUIen skal lukkes eller ej. Dialogbokse kan være de i MatLab indbyggede, ellers kan de konstrueres efter ens egne ønsker Indbyggende dialogbokse De dialogbokse som vil blive behandlet her, er dem, som er indbygget i Matlab. De fungerer generelt ens, hvorfor der henvises til help på msgbox, questdlg, errordlg, warndlg, helpdlg og textwrap. Herunder vil der dog blive givet et eksempel på, hvorledes sådan en dialogboks vil kunne se ud. Det vil dreje sig om en forespørgsel til brugeren om det ønskes, at programmet skal lukkes, hvor valgmulighederne er Yes, No eller Cancel. Dette gøres på følgende måde function pushbutton1_callback(hobject, eventdata, handles) % denne funktion lukker GUIen quest = questdlg({ Do you really want, to close this current, session?, }, Question, No ); if quest == Yes delete(handles.figure1) end Kaldet til questdlg åbner en dialogboks, se figur 5.1, i hvilken der er en 4- liniers tekst, hvoraf der er tekst på 3 af dem. Det er fordelen ved at benytte 18

23 cell array til at indtaste en tekststreng, da det kan styres, hvor strengen skal deles. Den sidste del af kaldet, hvor der står skrevet No angiver hvilken af de tre valgmuligheder, der skal være prædefineret som default. Figur 5.1: Den beskrevne dialogboks. 5.3 Indsættelse af iconer Iconer indsættes på de enkelte elementer på en meget simpel måde. Dette gøres ved at danne en M N 3 matrix i Matlab udelukkende indeholdende værdier i intervallet [0, 1], og gemme denne matrix som en variabel. Denne matrix definerer billedet i farver. Intervallet er netop [0, 1], da en farve i Matlab er defineret som RGB farve, hvor hver af farverne rød, grøn og blå repræsenteres af en numeriske værdi mellem netop 0 og 1. Herefter markeres det element i GUIDE, som iconet skal tilknyttes og i Property Inspector findes den parameter, som hedder CData. Når denne vælges kommer der et figurefelt op, i hvilket der står Enter expression, hvor variabelnavnet skrives. Hermed er iconet tilføjet. Det er dog væsentligt, at variablen ligger i workspace, da den ellers ikke vil optræde som en kendt variable, og derfor ikke vil være mulig at inkludere som et icon. 5.4 Print af plot i en GUI Jeg vil nu komme med en meget besværlig fremgangsmåde, men det er ifølge Mathworks den eneste mulighed, da det ikke er muligt at printe en Axes, men kun et helt figurfelt, hvilket vil mene hele GUIen. Den kode, der skal bruges er figure % Create a new figure axes % Create an axes object in the figure new_handle = copyobj(handles.printet,gca); eval(char(strcat( print -depsc,{ },{ }, <file_name>))); close(gcf) hvor handles.printet er et handle, som er genereret i forbindelse med plottet af det, som ønskes printet. Dette handle er genereret på følgende måde 19

24 handles.printet = plot(x,y); guidata(hobject, handles); Det, der reelt sker i forbindelse med afvikling af denne printkommando, er linie for linie: 1. Der åbnes et nyt figurvindue. 2. Der åbnes en Axes i dette figurvindue. 3. Det som ligeledes er plottet i GUIen kopieres over i den nye Axes. 4. Denne figur er et normalt figurfelt, så det kan plottes uden at overflødige ting kommer med. 5. Dette midlertidige figurfelt lukkes og man er tilbage i GUIen. Besværligt ja, men det virker Flere Axes i en GUI Når der er flere Axes i en GUI skal man sikre sig, at det er den rigtige Axes, der bliver plottet i. Dette klares simpelt ved at benytte følgende kommando før hvert plot axes(handles.<tag>) Dette gør, at den Axes med det pågældende tag aktiveres, og det er i denne plottet foretages. 20

25 Kapitel 6 Appendix 6.1 Små tricks I MatLabs teksteditor er det muligt at springe rundt i funktionerne ved hjælp af Show function, som kan findes i værktøjsbjælken. Hvis det ønskes at opdatere handle i et callback, der tilhører det element, som ønskes opdateret, behøver det ikke at blive kaldt med handles.<tag>, men det er tilstrækkeligt at skrive hobject. 6.2 Ting, som skal huskes Husk at ændre tags inden.m-filen dannes, da det er besværligt at ændre senerehen. Husk at units på alle elementer skal være identiske for at kunne bruge GUIen på computere med forskellige skærmopløsninger. 6.3 Kode til frembringelse af lup-icon % function LUP % % Ved at kalde denne funktion faas data til en togglebuttom i Matlab GUI, % som passer i stoerrelsen 19 * 19 pixles. Data indlaegges i GUIen ved at % indlaese dataen i CData. Dette goeres ved, at indtastes variabelnavnet % under Enter expression. % colordef er en vektor indeholdende 3 elementer, nemlig colordef = [red, % blue, green], hvor disse stoerrelser hver ligger i intervallet [0, 1]. function b = lup(colordef) 21

26 b(:,:,1) = colordef(1) * ones(14); b(:,:,2) = colordef(2) * ones(14); b(:,:,3) = colordef(3) * ones(14); b(2,5:7,:) = 0; b(3,4,:) = 0; b(3,8,:) = 0; b(4,3,:) = 0; b(4,6,:) = 0; b(4,9,:) = 0; b(5,2,:) = 0; b(5,6,:) = 0; b(5,10,:) = 0; b(6,2,:) = 0; b(6,4:8,:) = 0; b(6,10,:) = 0; b(7,2,:) = 0; b(7,6,:) = 0; b(7,10,:) = 0; b(8,3,:) = 0; b(8,6,:) = 0; b(8,9,:) = 0; b(9,4,:) = 0; b(9,8:10,:) = 0; b(10,5:7,:) = 0; b(10,9:11,:) = 0; b(11,10:12,:) = 0; b(12,11:13,:) = 0; b(13,12:13,:) = 0; 22

Workshop G8 Tasks og Templates

Workshop G8 Tasks og Templates Workshop G8 Tasks og Templates FØR I BEGYNDER...... 2-1 TEMPLATES... 2-2 Øvelse template til alm. attributter... 2-2 Øvelse Skraverings template... 2-4 VED ELEMENTET HVAD DET ER FOR ÉN?... 2-4 Øvelse ændre

Læs mere

En liste, hvor der kun kan angives et svar. En dropdown menu, hvori kun et svar kan vælges

En liste, hvor der kun kan angives et svar. En dropdown menu, hvori kun et svar kan vælges Huskeseddel til uv-evaluering 1. Sådan oprettes en undersøgelse Klik på ikonet Surveys og dernæst det grønne plus Ny undersøgelse. Navngiv din undersøgelse og vælg under Basic options, om der skal være

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

Installationen af Designskabelonerne gøres ved at installere henholdsvis et lille program samt en række skrifttyper som bruges af skabelonerne.

Installationen af Designskabelonerne gøres ved at installere henholdsvis et lille program samt en række skrifttyper som bruges af skabelonerne. Quickguide til AU s designskabeloner i Word 2007 Denne guide indeholder to elementer: 1. Installation af skabeloner 2. Hvordan skabeloner benyttes Er skabelonerne installeret på din maskine, kan du gå

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

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

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

Mircobit Kursus Lektion 1

Mircobit Kursus Lektion 1 Mircobit Kursus Lektion 1 I denne lektie skal vi se nærmere på den lille mini computer kaldt microbit. Egentlig kræver det at man har en fysisk microbit men man kan også næsten lave det samme med den simulator

Læs mere

ActiveBuilder Brugermanual

ActiveBuilder Brugermanual ActiveBuilder Brugermanual Forfatter: TalkActive I/S Dato: Juni 2004 Version: R. 1.01 Sprog: Dansk Copyright 2004 - Talk Active - all rights reserved. Indhold: 1. INDLEDNING...2 2. QUICK-START...3 3. OPBYGNINGEN

Læs mere

Introduktion Indtastning Funktioner Scripts Optimering. Matlab

Introduktion Indtastning Funktioner Scripts Optimering. Matlab - robert@math.aau.dk http://www.math.aau.dk/ robert/teaching/2010/matlab 9. august 2010 1/39 Disposition 1. Lidt om. 2. Basiskursus. 3. Opgaver. 4. Mere til basiskursus. 5. Opgaver. 2/39 MATLAB = MATrix

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

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

Web Admin 5.5. Brugsvejledning for User admin. Copyright 2003 Gullestrup.net

Web Admin 5.5. Brugsvejledning for User admin. Copyright 2003 Gullestrup.net Web Admin 5.5 Copyright 2003 Gullestrup.net Log ind på systemet Start med at gå ind på http://mailadmin.gullestrup.net i din browser. Indtast din Email Adresse samt Password, som hører til din konto, tryk

Læs mere

Programmering C RTG - 3.3 09-02-2015

Programmering C RTG - 3.3 09-02-2015 Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...

Læs mere

MAPINFO PROFESSIONAL V11.5

MAPINFO PROFESSIONAL V11.5 MAPINFO PROFESSIONAL V11.5 Pinpointing potential has never been so easy! Insights Danmark 2012 13. september 2012 Peter Horsbøll Møller, Senior Systems Engineer LAD OS SE PÅ MAPINFO PROFESSIONAL V11.5

Læs mere

Bentleyuser.dk Årsmøde 2010 Nordic Civil 2010

Bentleyuser.dk Årsmøde 2010 Nordic Civil 2010 Bentleyuser.dk Årsmøde 2010 Nordic Civil 2010 8.-10. November 2010, Munkebjerg Hotel, Vejle Workshop W2 Annotation Scale i MicroStation V8i Underviser: Tine Lai Andersen, Bentley Systems (Danmark) Bentley

Læs mere

Bogfunktionen eller Slægtsbogen i FTM

Bogfunktionen eller Slægtsbogen i FTM Bogfunktionen eller Slægtsbogen i FTM En blandt mange af Family Tree Maker s styrker er evnen til at præsentere data på mange forskellige måder, og i dette skrift vil bogfunktionen blive gennemgået. Funktionen

Læs mere

My booking. Generelt. Forsiden. Version 9.0

My booking. Generelt. Forsiden. Version 9.0 My booking Version 9.0 System til at lave online bookinger, med mulighed for opdeling i grupper, forskellige booking typer, ændre layout indstillinger, status styring, sprogvalg samt en del mere, detaljer

Læs mere

DMX styring med USB-interface

DMX styring med USB-interface DMX styring med USB-interface Introduktion...2 DMX bibliotek...3 Programmering af kanaler...7 Sådan skabes et show/en lyssekvens...11 Introduktion DMX LightPlayer er en avanceret men meget brugervenlig

Læs mere

Opstart. I gang med Dreamweaver. Læs mere om... Generelle bemærkninger. Hvilken skærmopløsning? OBS

Opstart. I gang med Dreamweaver. Læs mere om... Generelle bemærkninger. Hvilken skærmopløsning? OBS Generelle bemærkninger Programmet Dreamweaver har været på markedet i nogle år efterhånden. Den seneste version hedder Dreamweaver CS4, og programmet er på engelsk. Dreamweaver er en såkaldt grafisk editor,

Læs mere

OPBYGNING AF INSTRUMENTER. Online Designeren Record ID Felttyper Validering og variabelnavne

OPBYGNING AF INSTRUMENTER. Online Designeren Record ID Felttyper Validering og variabelnavne OPBYGNING AF INSTRUMENTER Online Designeren Record ID Felttyper Validering og variabelnavne Online Designer Online designeren er det primære værktøj til at opbygge skemaet til dataindsamling. I REDCap

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

Vejledning. Excel-skabelon. til oprettelse af kalendere. Oversigtskalender_Skabelon_Revideret 05_06.xls

Vejledning. Excel-skabelon. til oprettelse af kalendere. Oversigtskalender_Skabelon_Revideret 05_06.xls Vejledning Excel-skabelon til oprettelse af kalendere Oversigtskalender_Skabelon_Revideret 05_06.xls 20-03-2017 Out of date Vejledningen til makrosikkerhed er nok noget forældet i forhold til nyere versioner

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

Opstart. I gang med Dreamweaver. Læs mere om...

Opstart. I gang med Dreamweaver. Læs mere om... Generelle bemærkninger Programmet Dreamweaver har været på markedet i nogle år efterhånden. Den seneste version hedder Dreamweaver CS5, og programmet er på engelsk. Dreamweaver er en såkaldt grafisk editor,

Læs mere

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6 Side 1 af 6 Indholdsfortegnelse INDHOLDSFORTEGNELSE 1 INTRO 3 STARTEN AF SPECIALISERINGEN 3 ANKOMST TIL SKOTLAND 4 DATABASER 5 NETVÆRK 5 INTERAKTION 5 AFSLUTNING AF SPECIALISERINGEN 5 KONKLUSION 6 Side

Læs mere

BentleyUser.dk 2009 MicroStation tips og tricks. Tine Lai Andersen Bentley Institute Instructor

BentleyUser.dk 2009 MicroStation tips og tricks. Tine Lai Andersen Bentley Institute Instructor Tine Lai Andersen Bentley Institute Instructor Brugerflade De små knappenåle / dokkedimser Layouts på dialogbokse Højrekliks menu (laaaangggsomt højreklik): Level Off (V8i SELECT release 1) Display set

Læs mere

import java.awt.event.*; import java.awt.*; Container <- Panel <- Applet Component <- Button <- Checkbox <- ScrollPane <- Label

import java.awt.event.*; import java.awt.*; Container <- Panel <- Applet Component <- Button <- Checkbox <- ScrollPane <- Label Programmering 1999 Forelæsning 13, tirsdag 12. oktober 1999 Oversigt Grafiske brugergrænseflader. Komponenter: Knapper, tekstfelter, checkbokse... Vinduer (containere). Hændelser, hændelsesstyret programmering.

Læs mere

Formular modul. Sitecore Foundry juli Version 1.0

Formular modul. Sitecore Foundry juli Version 1.0 Sitecore Foundry 3.0 Formular modul 15. juli 2011 - Version 1.0 Pentia A/S Store Kongensgade 66, Baghuset 1264 København K Telefon: 7023 3330 E-mail: info@foreningssite.dk Indholdsfortegnelse Indledning...

Læs mere

Visualiseringsprogram

Visualiseringsprogram Visualiseringsprogram Programmering C - eksamensopgave Rami Kaddoura og Martin Schmidt Klasse: 3.4 Vejleder: Karl Bjarnason Roskilde Tekniske Gymnasium Udleveringsdato: 02-03-2012 Afleveringsdato: 11-05-12

Læs mere

Hermed vejledning i hvordan man lægger billeder ind til brug for hjemmesiden.

Hermed vejledning i hvordan man lægger billeder ind til brug for hjemmesiden. Hermed vejledning i hvordan man lægger billeder ind til brug for hjemmesiden. Manualen er delvist hentet fra en manual Ølstykke IF har lavet til brug for deres hjemmeside Upload af billede For at kunne

Læs mere

Online billede filtrering

Online billede filtrering Online billede filtrering Eksamensprojekt 2014 Andreas Lorentzen, klasse 3.4 Roskilde Tekniske Gymnasium Programmering C 09-05-2014 I dette projekt vil jeg demonstrerer en af de mange ting moderne browsere

Læs mere

Workshop G3 MicroStation V8 XM edtion nye værktøjer 1

Workshop G3 MicroStation V8 XM edtion nye værktøjer 1 Workshop G3 MicroStation V8 XM edtion nye værktøjer 1 FØR I BEGYNDER......1 ELEMENT SELECTION...2 TEGNEVÆRKTØJER...4 ARRAY / ALONG ELEMENT...4 STRETCH...6 MOVE TO CONTACT...7 BREAK ELEMENT...8 COPY FENCE

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 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

Web Admin 5.5. Brugsvejledning for Domain admin. Copyright 2003 Gullestrup.net

Web Admin 5.5. Brugsvejledning for Domain admin. Copyright 2003 Gullestrup.net Web Admin 5.5 Copyright 2003 Gullestrup.net Log ind på systemet Start med at gå ind på http://mailadmin.gullestrup.net i din browser. Indtast din Email Adresse samt Password, som du tidligere har modtaget

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

Dokumentering af umbraco artikeleksport:

Dokumentering af umbraco artikeleksport: Dokumentering af umbraco artikeleksport: Lav en artikel side 2-3. Installationsguide side 3-5. Opsættelse af databasen og web.config side 5-8. Umbraco: templates side 8. Umbraco: borger.dk tab side 8.

Læs mere

Skifte til OneNote 2010

Skifte til OneNote 2010 I denne vejledning Microsoft Microsoft OneNote 2010 ser meget anderledes ud end OneNote 2007, og vi har derfor oprettet denne vejledning, så du hurtigere kan komme i gang med at bruge programmet. Læs videre

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

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

Dokumentation. Udbyder : sms1919.dk Service : sms-grupper Static FBML Facebook. : Facebook Integration med sms-grupper.

Dokumentation. Udbyder : sms1919.dk Service : sms-grupper Static FBML Facebook. : Facebook Integration med sms-grupper. Dokumentation Udbyder : sms1919.dk Service : sms-grupper Static FBML Facebook Moduler Påkrævet : Facebook Integration med sms-grupper Version : v1.00 Indholdsfortegnelse Versionshistorik... 3 Målet med

Læs mere

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 Læringsprogram Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 R o s k i l d e T e k n i s k e G y m n a s i u m Indholdsfortegnelse FORMÅL...

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

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

16/04/12 50% 50% Waveform Chart Waveform Graph XY Graph Indicator Graph 33% 17% 88% 13%

16/04/12 50% 50% Waveform Chart Waveform Graph XY Graph Indicator Graph 33% 17% 88% 13% Samuel Alberg Thrysøe, PhD, PostDoc, Kontakt info: Email: sat@iha.dk, Tlf: +45 25533552 2 4. 5 Waveform Chart Waveform Graph XY Graph Indicator Graph 4. 33% Waveform Chart Waveform Graph XY Graph Indicator

Læs mere

Manual til WordPress CMS

Manual til WordPress CMS Manual til WordPress CMS 1. Log ind på din Wordpress-side For at arbejde på din hjemmeside skal du først logge ind på administrationsdelen. Muligvis har du et direkte link på siden. Ellers er adressen

Læs mere

KUNDE-WEBPORTAL KOM GODT I GANG

KUNDE-WEBPORTAL KOM GODT I GANG Specialtrykkeriet Arco KUNDE-WEBPORTAL KOM GODT I GANG Vi håber du får fornøjelse af vores nye værktøj. WebApproval skal gøre det nemmere og mere sikkert for dig at godkende din tryksager. Har du spørgsmål,

Læs mere

Vejledning til opbygning af hjemmesider

Vejledning til opbygning af hjemmesider Side 1 af 9 Vejledning til opbygning af hjemmesider Hvis du er inde på din klubs hjemmeside, fx på forsiden, kan du nu gå i gang med at redigere. For at få redigeringsværktøjet frem, skal du klikke på

Læs mere

Matlab-kommandoer. Robert Jacobsen. 9. august 2010

Matlab-kommandoer. Robert Jacobsen. 9. august 2010 Matlab-kommandoer Robert Jacobsen 9. august 2010 1 Kommandoer til Matlabs funktionaliteter Ønsker man at køre Matlab fra terminalen, ses de mulige options med matlab -help. For at starte Matlab uden det

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

Til at starte med vil jeg lige vis nogle små ændringer på opsætningen som jeg har lavet.

Til at starte med vil jeg lige vis nogle små ændringer på opsætningen som jeg har lavet. Microstation brugermøde 10. og 11. november 2008. Indlæg af Else-Marie Lorenzen. Vejdirektoratet Til at starte med vil jeg lige vis nogle små ændringer på opsætningen som jeg har lavet. Som det første

Læs mere

Help / Hjælp

Help / Hjælp Home page Lisa & Petur www.lisapetur.dk Help / Hjælp Help / Hjælp General The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. The Association

Læs mere

Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN

Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN Administration af subsites BRUGERVEJLEDNING FOR ADMINISTRATOREN Indholdsfortegnelse Introduktion... 2 Definitioner... 2 Generelt... 3 Oprettelse af en skabelon... 4 Sidetypeskabeloner... 5 Globale displaymoduler...

Læs mere

Jysk Online Medie ApS - Vestergade 32, 8600 Silkeborg - Tlf.:

Jysk Online Medie ApS - Vestergade 32, 8600 Silkeborg - Tlf.: Brugervejledning til hjemmeside Kristian Kalajdzic Denne vejledning har til formål at hjælpe dig til at tilgå, vedligeholde og benytte din hjemmeside. Vejledningen henvender sig til hjemmesider bygget

Læs mere

GECKO Booking Vejledning til spørgeskema-modul. Læsevejledning. Indholdsfortegnelse

GECKO Booking Vejledning til spørgeskema-modul. Læsevejledning. Indholdsfortegnelse GECKO Booking Vejledning til spørgeskema-modul Er der behov for at få et indgående kendskab til kunden, når de bruger bookingsystemet? Hvad siger brugerne efterfølgende om den service, de har fået? Ved

Læs mere

Specialkort med Valgdata

Specialkort med Valgdata Specialkort med Valgdata Søren Risbjerg Thomsen d. 25. april 2017 Introduktion I det følgende beskrives, hvordan man anvender Valgdata til at skabe specialkort, dvs. kort hvor man selv bestemmer indholdet

Læs mere

Start af nyt schematic projekt i Quartus II

Start af nyt schematic projekt i Quartus II Start af nyt schematic projekt i Quartus II Det følgende er ikke fremstillet som en brugsanvisning der gennemgår alle de muligheder der er omkring oprettelse af et Schematic projekt i Quartus II men kun

Læs mere

Startvejledning. Microsoft PowerPoint 2013 ser anderledes ud end tidligere versioner, så vi lavet denne guide for at gøre din læreproces nemmere.

Startvejledning. Microsoft PowerPoint 2013 ser anderledes ud end tidligere versioner, så vi lavet denne guide for at gøre din læreproces nemmere. Startvejledning Microsoft PowerPoint 2013 ser anderledes ud end tidligere versioner, så vi lavet denne guide for at gøre din læreproces nemmere. Find det du skal bruge Klik på en fane på båndet for at

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

HTX, RTG. Rumlige Figurer. Matematik og programmering

HTX, RTG. Rumlige Figurer. Matematik og programmering HTX, RTG Rumlige Figurer Matematik og programmering Vejledere: Jørn Christian Bendtsen og Karl G. Bjarnason Morten Bo Kofoed Nielsen & Michael Jokil 10-10-2011 In this assignment we have been working with

Læs mere

Dokumentation af programmering i Python 2.75

Dokumentation af programmering i Python 2.75 Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt

Læs mere

Dannelse af PDF-dokumenter

Dannelse af PDF-dokumenter Dannelse af PDF-dokumenter Indhold Generere PDF-dokumenter... 2 Håndtering af PDF-dokumentet... 8 Hvordan indsætter man sidetal i PDF-dokumentet?... 8 Hvordan laver man bookmarks i PDF-dokumentet?... 8

Læs mere

MyArchive.kb.dk Selvarkivering af e-mails

MyArchive.kb.dk Selvarkivering af e-mails MyArchive.kb.dk Selvarkivering af e-mails Opsætningsvejledning til ipad Mail App Det Kongelige Bibliotek 22-11-2013 Denne vejledning beskriver brugeropsætning af ipad Mail App, således at en arkivskaber

Læs mere

Indholdsfortegnelse for kapitel 2

Indholdsfortegnelse for kapitel 2 Indholdsfortegnelse for kapitel 2 Kapitel 2. Analyse.......................................................... 2 Analyse af 2.1...................................................... 2 Analysen af Database.................................................

Læs mere

Kapitel 4 Løkker i C#

Kapitel 4 Løkker i C# Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave

Læs mere

Systemair Connect. Opsætning

Systemair Connect. Opsætning Systemair Connect Opsætning Opsætning af Systemair Connect Denne vejledning er lavet for at hjælpe dig i gang med opsætningen af Systemair Connect. Du kan bl.a. læse om, hvordan du opbygger en understruktur

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

Klasse 1.4 Michael Jokil 03-05-2010

Klasse 1.4 Michael Jokil 03-05-2010 HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk

Læs mere

OVERGANGS- OG OPBYGNINGSEFFEKTER

OVERGANGS- OG OPBYGNINGSEFFEKTER OVERGANGS- OG OPBYGNINGSEFFEKTER Kan PowerPoint ikke animere, kan programmet i stedet lave overgangs- og opbygningseffekter. Ikke mindst opbygningseffekter giver rige muligheder, for at lave særdeles avancerede

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

Guide til Mobilize Me v2.0. Original skrevet af:

Guide til Mobilize Me v2.0. Original skrevet af: Guide til Mobilize Me v2.0 Original skrevet af: Opdateret af Mobilize Me 18-09-2014 1 INDHOLD Login... 4 Planlægningsklienten... 4 Afviklingsklienten... 4 Guide til planlægningsklienten... 5 Opret ny aktivitet...

Læs mere

Vejledning. Excel-skabelon. til oprettelse af kalendere. Oversigtskalender_Skabelon_Revideret 05_01.xls

Vejledning. Excel-skabelon. til oprettelse af kalendere. Oversigtskalender_Skabelon_Revideret 05_01.xls Vejledning Excel-skabelon til oprettelse af kalendere Oversigtskalender_Skabelon_Revideret 05_01.xls 18-03-2017 Out of date Vejledningen til makrosikkerhed er nok noget forældet i forhold til nyere versioner

Læs mere

Guide til PlaNet v1.11. Original skrevet af:

Guide til PlaNet v1.11. Original skrevet af: Guide til PlaNet v1.11 Original skrevet af: Sidst opdateret 20-08- 2015 1 INDHOLD Generelt... 4 Login... 4 Roller... 4 Planlægger... 4 Afvikler... 4 Roller og moduler... 5 Planlægger... 5 Afvikler... 5

Læs mere

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune Værktøjer fra værktøjskassen Søren Breddam, Stevns Kommune sb@stevns.dk 1stevns kommune Mapbasic i Stevns Kommune Data Kørsel af planlagte opgaver, så data altid er opdaterede. Logfil til overvågning Dagligt

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

Indledning. På de følgende sider vises, primært i tegneserieform, lidt om mulighederne i PC-AXIS for Windows.

Indledning. På de følgende sider vises, primært i tegneserieform, lidt om mulighederne i PC-AXIS for Windows. Indledning PC-AXIS for Windows er et talbehandlingsprogram, der kan håndtere store mængder statistisk materiale. PC-AXIS giver mulighed for at arbejde videre med det statistiske materiale i egne programmer

Læs mere

En Kort Introduktion til Oracle

En Kort Introduktion til Oracle En Kort Introduktion til Oracle Henrik Bulskov 12. februar 2001 bulskov@ruc.dk 1 Start SQL*Plus... 1 1.1 TELNET... 1 1.2 WINDOWS SQL PLUS... 2 2 Kør et SQL-script... 3 3 Hjælp i SQL*Plus... 3 4 Editering

Læs mere

Introduktion til SPSS

Introduktion til SPSS Introduktion til SPSS Øvelserne på dette statistikkursus skal gennemføres ved hjælp af det såkaldte SPSS program. Det er erfaringsmæssigt sådan, at man i forbindelse af øvelserne på statistikkurser bruger

Læs mere

Brugermanual. OpenScape Voice. Siemens OpenStage 40. Opsætning på bordtelefon. Version 07/15

Brugermanual. OpenScape Voice. Siemens OpenStage 40. Opsætning på bordtelefon. Version 07/15 Brugermanual OpenScape Voice Siemens OpenStage 40 Opsætning på bordtelefon Version 07/15 Udskriv denne brugermanual Denne manual er designet til at blive udskrevet som et hæfte, du kan gemme og bruge som

Læs mere

QUICK START Updated: 18. Febr. 2014

QUICK START Updated: 18. Febr. 2014 QUICK START Updated: 18. Febr. 2014 For at komme hurtigt og godt igang med dine nye Webstech produkter, anbefales at du downloader den senest opdaterede QuickStart fra vores hjemmeside: In order to get

Læs mere

Sådan kommer du nemt i gang med Joomla!

Sådan kommer du nemt i gang med Joomla! Joomla! Kursus Sådan kommer du nemt i gang med Joomla! Hvorfor er Joomla! alt for svær at komme i gang med I mit daglige virke som konsulent og underviser, med speciale i Joomla!, får jeg tit at vide at

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

Indledning. MIO er optimeret til Internet Explorer. Læs endvidere under Ofte stillede spørgsmål.

Indledning. MIO er optimeret til Internet Explorer. Læs endvidere under Ofte stillede spørgsmål. Indhold Indledning... 3 Søgefunktioner... 4 Søgning fra forsiden... 5 Søgning under menupunktet Instrument... 6 Sådan får man vist instrumenterne i en bestemt afdeling... 7 Sådan ændrer man status på et

Læs mere

Web MTC manual. Version 1.1 08-11-2012

Web MTC manual. Version 1.1 08-11-2012 Web MTC manual Version 1.1 08-11-2012 1 Revisioner: Version 1.0, 11-10-2012: Oprettelse af dokument Version 1.1, 08-11-2012: Afsnit om udskrivning af rapport tilføjet. 2 Indhold Sideopbygning... 5 Startside...

Læs mere

Admin i SkoleIntra. Fif til administratorer. Version: August 2012

Admin i SkoleIntra. Fif til administratorer. Version: August 2012 Admin i SkoleIntra Fif til administratorer Version: August 2012 Indholdsfortegnelse At være administrator på SkoleIntra...4 De første overvejelser...4 LærerIntra import af data...4 LærerIntra hvem må

Læs mere

IT Support Guide. Indledning. Program: Microsoft Office Outlook 2007. Publikationsnr.: 281208.01.03. Udgivet af: Michael Spelling 2008

IT Support Guide. Indledning. Program: Microsoft Office Outlook 2007. Publikationsnr.: 281208.01.03. Udgivet af: Michael Spelling 2008 IT Support Guide Denne guide er hentet på www.spelling.dk Microsoft Office Outlook 2007 Program sprogver.: Guide emne: ENG (US) Opsætning af POP3 e mail accounts Publikationsnr.: 281208.01.03 Udgivet af:

Læs mere

DM507 Algoritmer og datastrukturer

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

Læs mere

ASB E-mailsignatur. ASB E-mailsignatur. Vejledning til opsætning af e-mailsignatur IKT - Februar 2008

ASB E-mailsignatur. ASB E-mailsignatur. Vejledning til opsætning af e-mailsignatur IKT - Februar 2008 ASB E-mailsignatur I det følgende forklares, hvordan du opretter ASBs e-mailsignatur for medarbejdere. Det skal her noteres at e-mail signaturen ikke kan opsættes i webmail (webmail.asb.dk), men skal opsættes

Læs mere

WT-1011RC Programmer User Guide

WT-1011RC Programmer User Guide WT-1011RC Programmer User Guide Firmware Version 1.9 Note: 1. Information in this manual is subject to change without notice and does not represent a commitment of manufacturer. 2. Manufacturer shall not

Læs mere

Brugervejledning. ComX brugervejledning version 4.1

Brugervejledning. ComX brugervejledning version 4.1 Brugervejledning ComX brugervejledning version 4.1 1 INDHOLD PAKKENS INDHOLD Pakkens indhold side 2 Fjernbetjening side 2 Tilslutning af Settop-boksen side 3 Introduktion til Bredbånds-TV side 4 Tilslutning

Læs mere

Klik på menupunktet Format og herunder Units (eller skriv units på kommandolinien)

Klik på menupunktet Format og herunder Units (eller skriv units på kommandolinien) Kogebog til opsætning af standardtegning i AutoCAD RTS/HED side 1 Formål med standardtegning Når man åbner en ny tom tegning i AutoCAD, er den allerede fyldt med informationer om lag, målsætningsstandarder

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

NR. 92 PDF-formularer med OpenOffice DEN 4. MARTS 2015

NR. 92 PDF-formularer med OpenOffice DEN 4. MARTS 2015 NR. 92 PDF-formularer med OpenOffice DEN 4. MARTS 2015 PDF-formularer med OpenOffice til LUDUS Web Målet med dette Tips & Tricks er at beskrive, hvordan man laver PDF-formularer til brug i LUDUS Web. Læs

Læs mere

Vejledning: AMUUDBUD.DK

Vejledning: AMUUDBUD.DK Vejledning: AMUUDBUD.DK Henvendt til uddannelsesinstitutioner Websiden amuudbud.dk bruges af uddannelsesinstitutioner til at ansøge om godkendelse til at udbyde AMU. Du skal have modtaget en e-mail med

Læs mere

App til indmelding af glemt check ud

App til indmelding af glemt check ud App koncept til indmelding af glemt check ud App til indmelding af glemt check ud 5. mar. 2015 Side 1 App koncept til indmelding af glemt check ud 1 Introduktion Flg. er en besvarelse til en idekonkurrence

Læs mere

DM507 Algoritmer og datastrukturer

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

Læs mere

5-LCD FJERNBETJENING. Batterierne skal bortskaffes separat i de særlige batteriaffaldsbeholdere.

5-LCD FJERNBETJENING. Batterierne skal bortskaffes separat i de særlige batteriaffaldsbeholdere. GENERELLE SPECIFIKATIONER FOR LCD FJERNBETJENINGEN Fjernbetjeningen har en transmissionsfrekvens på 434,5 MHz. Den strømforsynes med 3 AAA batterier på følgende måde: fjern dækslet til batterirummet ved

Læs mere

Opsætning af brugere og temaer i GIS4Mobile

Opsætning af brugere og temaer i GIS4Mobile Opsætning af brugere og temaer i GIS4Mobile Brugerne og deres adgang til data konfigureres gennem et webinterface, som nås via dette link: http://www.geosms.dk/g4m_websetup Grundlæggende skal det fremhæves

Læs mere

Indholdsfortegnelse. Indholdsfortegnelse.. side 2. Adgang til webgraf 3. Opslag adresse... 4. Styring af layout.. 5. Zoom funktioner..

Indholdsfortegnelse. Indholdsfortegnelse.. side 2. Adgang til webgraf 3. Opslag adresse... 4. Styring af layout.. 5. Zoom funktioner.. Indholdsfortegnelse Indholdsfortegnelse.. side 2 Adgang til webgraf 3 Opslag adresse... 4 Styring af layout.. 5 Zoom funktioner.. 6 Panorere på skærmen. 7 Information om grafikken.... 8-10 Print et udsnit.....

Læs mere