Workflow Composer. Skriptreferanse. Mars

Størrelse: px
Begynne med side:

Download "Workflow Composer. Skriptreferanse. Mars"

Transkript

1 Workflow Composer Skriptreferanse Mars

2 Utgave: Mars 2003 Følgende avsnitt gjelder ikke for land der slike bestemmelser er uforenelig med gjeldende lover: LEXMARK INTERNATIONAL, INC., UTGIR DENNE PUBLIKASJONEN SOM DEN ER ( AS IS ) UTEN GARANTIER AV NOE SLAG, HVERKEN UTTRYKTE ELLER UNDERFORSTÅTTE, INKLUDERT, MEN IKKE BEGRENSET TIL, UNDERFORSTÅTTE GARANTIER FOR SALGBARHET ELLER EGNETHET TIL ET BESTEMT FORMÅL. I enkelte land og stater er ikke fraskrivelse av uttrykkelige eller underforståtte garantier tillatt i visse transaksjoner, så denne erklæringen gjelder kanskje ikke for deg. Denne publikasjonen kan inneholde tekniske unøyaktigheter eller typografiske feil. Informasjonen i dette dokumentet endres regelmessig. Slike endringer innarbeides i senere utgaver. Forbedringer eller endringer av de beskrevne produktene eller programmene kan finne sted når som helst. Kommentarer om denne publikasjonen kan sendes til Lexmark International, Inc., Department F95/032-2, 740 West New Circle Road, Lexington, Kentucky 40550, USA. I England og Irland sendes kommentarer til Lexmark International Ltd., Marketing and Services Department, Westhorpe House, Westhorpe, Marlow Bucks SL7 3RQ. Lexmark kan bruke og distribuere all informasjon du sender inn etter eget forgodtbefinnende, uten at det medfører noen forpliktelser overfor deg. I USA kan du kjøpe flere kopier av publikasjoner som er relatert til dette produktet ved å ringe I Storbritannia og Irland kan du ringe +44 (0) I andre land kan du kontakte kjøpsstedet. Referanser i denne publikasjonen til produkter, programmer eller tjenester innebærer ikke at produsenten har til hensikt å gjøre disse tilgjengelige i alle land der selskapet driver virksomhet. Eventuelle referanser til et produkt, et program eller en tjeneste er ikke ment å angi eller antyde at bare det produktet, det programmet eller den tjenesten kan brukes. Funksjonelt tilsvarende produkter, programmer eller tjenester som ikke krenker eksisterende immaterielle rettigheter, kan brukes i stedet. Evaluering og verifisering av bruk av andre produkter, programmer eller tjenester enn dem som er uttrykkelig utpekt av produsenten, er brukerens ansvar. Lexmark og Lexmark med rutermerket er varemerker for Lexmark International, Inc., som er registrert i USA og/eller andre land. Copyright 2003 Lexmark International, Inc. Med enerett. RETTIGHETER FOR USAS MYNDIGHETER Denne programvaren og all medfølgende dokumentasjon under denne avtalen er kommersiell dataprogramvare og dokumentasjon som er utviklet utelukkende for private midler.

3 Innhold Innledning... 1 Hva er nytt i versjon 3.1?... 2 Strekkoder... 2 Tegngjenkjenning (OCR)... 2 Formset... 2 Lokale innstillinger... 2 Skrive ut... 3 Be brukeren om data... 3 Andre oppdateringer... 3 Workflow Composer... 3 Kapittel 1: Grunnlaget...5 Objekter... 5 Deklarere variabler... 6 Flytkontroll... 6 If/Then/Else... 6 Switch/Case... 7 Gjentatte uttrykk... 8 Loop... 8 Repeat... 9 Operatorer Matematiske Sammenligning Boolske Andre funksjoner Kortreferanse til objekter ved hjelp av "with" Avluse et skript Avbryte et skript på kjøretidspunktet i

4 Kapittel 2: Datatypeobjekter...16 Boolske (bool) Operatorer Dokument (doc) Metoder Operatorer Heltall (int) Metoder Operatorer Reelle tall (real) Metoder Operatorer Streng () Metoder Operatorer Avbildning (map) Metoder Kapittel 3: Hjelpeobjekter...37 Boolsk tabell (boolarray) Metoder Dataset Metoder Heltallstabell (intarray) Metoder Utskriftsalternativer (printoptions) Metoder Alternativer Reell tabell (realarray) Metoder Strengtabell (array) Metoder ii

5 Tekstfil (textfile) Metoder Kapittel 4: Systemobjekter...55 Original Usertime Confirm Local Kapittel 5: Handlingsobjekter...62 BarcodeRead (Strekkode: Les) BarcodeWrite (Strekkode: Skriv) ConvertImageFormat (Bilde: Endre format) ConvertToDocument (Bilde: Konverter til Postscript eller PDF [bilde]) DatabaseNotes (Groupware: Sjekk inn) Domino.Doc-handlinger DominoDocCheckIn (EDMS: Sjekk inn) DominoDocRetrieve (EDMS: Hent) Koble til Domino.Doc Navigere i et Domino.Doc-bibliotek Exchange ( ) Notes ( ) SMTP ( ) E-postadresser Mottakere og sendere FaxByPrinter (Faks) FTPget (FTP: Get) FTPput (FTP:Put) iii

6 GroupWise-handlinger GWMail ( ) GWDiscuss ( ) GWCheckIn (Groupware: Sjekk inn) ImageCombine (Bilde: Sett sammen i dokument) ImageCrop (Bilde: Beskjær) ImageDeskew (Bilde: Rettstill) ImageInvert (Bilde: Inverter) ImageMerge (Bilde: Overlegg) ImageRotate (Bilde: Roter) ImageSeparate (Bilde: Separer i dokument) ImageText (Bilde: Overlegg tekst) ImageToHTML (Bilde: Konverter til HTML) Teksttyper ImageToPDF (Bilde: Konverter til PDF [søkbar]) Teksttyper ImageToRTF (Bilde: Konverter til RTF) Teksttyper ImageToText (Bilde: Konverter til tekst) Teksttyper LaunchExe (Start et annet program) Kontrollere returverdier MergeForm (Skjema: Flett inn i PDF) ODBC-handlinger Innledning ODBCWrite (ODBC-database: Skriv) ODBCRead (ODBC Database: Les) PrintByDriver (Skriv ut) iv

7 PrintForm (Skriv ut) Skrivertype PrintJob (Skriv ut) Utskriftsbekreftelse PrintURL (Skriv ut) SaveToFile (Lagre i fil) SharePoint SharePointWrite (EDMS: Sjekk inn) SharePointRead (EDMS: Hent) Kapittel 6: Ledetekster Tabell-ledetekst (arrayprompt) Boolsk ledetekst (boolprompt) Heltallsledetekst (intprompt) Meldingsledetekst (messageprompt) Passordledetekst (passwordprompt) Strengledetekst (prompt) Tillegg A: ODBC-referanse Programvarekrav og installasjon Lagre dokumenter i databasen Sette verdier inn i datokolonner Tillegg B: Strekkodereferanse Codabar Code 2 of Code 3 of Code v

8 Code EAN EAN ITF Patch PDF UCC UPC-A UPC-E vi

9 Innledning Denne boken er en teknisk referanse for LDDScript 3.1, som er skriptspråket for produktsuiten Lexmark Document Solutions. Det forutsettes at du allerede har en viss kjennskap til dette språket. Hvis ikke, bør du først lese boken "Grunnleggende skriptutvikling" som ble installert sammen med dette produktet. Skriptreferansen er organisert slik: Kapittel 1, "Grunnlaget" - kort oversikt over hovedkomponentene i LDDScript. Hvis du vil ha detaljerte eksempler, kan du se boken "Grunnelggende skriptutvikling". Kapittel 2, "Datatypeobjekter" - informasjon om kompatible datatyper. Kapittel 3, "Hjelpeobjekter" - informasjon om objektene som brukes til å utføre vanlige operasjoner. Kapittel 4, "Systemobjekter" - informasjon om objektene som sender data med en jobb og gir tilbakemeldinger til sluttbrukeren. Kapittel 5, "Handlingsobjekter" - informasjon om objektene som utfører selve behandlingen av dokumentene som skal rutes, lagres i en database, skrives ut, osv. Kapittel 6, "Ledetekster" - informasjon om syntaksen og objektene som ber brukeren om data. Tillegg A, "ODBC-referanse" - informasjon om kommunikasjon med databaser fra et skript. Tillegg B, "Strekkodereferanse" - informasjon om de uilike strekkodene som støttes av LDDScript. 1

10 Hva er nytt i versjon 3.1? LDDScript 3.1 viderefører den samme syntaksen og de samme komponentene som med Lexmark Document Distributor versjon 2.0. Produktene som bruker skriptspråket er blitt utvidet, og inkluderer nå: Lexmark Document Distributor Lexmark Document Producer Lexmark Document Portal Skriptspråket fungerer med alle de tre produktene, og gir deg mulighet til å automatisere arbeidsflyten, produsere serverbaserte skjemaer og skrive ut tomme eller forhåndsutfylte skjemaer. Produktene kan fungere uavhengig av hverandre, eller de kan integreres for å skape en komplett dokumentløsning. Strekkoder Støtten for strekkoder i LDDScript er kraftig utvidet. Dette betyr at du kan bruke flere strekkodetyper og ha større kontroll over de kompatible strekkodene. I tillegg har LDDScript nå støtte for generering av strekkoder, slik at du kan legge inn strekkoder på innskannede dokumenter. Den tidligere ConvertBarcodeToText-handlingen er blitt erstattet av handlingene BarcodeRead og BarcodeWrite. Tegngjenkjenning (OCR) Funksjonaliteten for tegngjenkjenning i LDDScript er blitt vesentlig forbedret, og gir nå bedre gjenkjenningsresultater og bedre bevaring av dokumentets layout. Nå kan du velge mellom formatene HTML, RTF (rikt tekstformat, som kan brukes av de fleste tekstbehandlingsprogrammer), søkbart PDF-format og ren tekst. Den tidligere ConvertToText-handlingen er blitt erstattet av handlingene ImageToHTML, ImageToPDF, ImageToRTF og ImageToText. Formset Med Lexmark Document Producer kan ASCII- og RDI-utskriftsstrømmer dirigeres til og mottas av Document Server. Ved å bruke handlingene MergeForm og PrintForm, kan du flette dataene sammen med et PDF-skjema, og skrive ut resultatdokumentet direkte på en nettverksskriver. Alternativt, ved å bruke andre handlinger i LDDScript, kan de flettede resulat-formsetene arkiveres, fakses, osv. I tillegg kan brukere av Document Portal bli bedt om å angi informasjon, slik at formset som tidligere måtte fylles ut for hånd, nå kan skrives ut, ferdig forhåndsutfylt med den aktuelle informasjonen. Lokale innstillinger Når du skriver et skript, er det noen ganger ønskelig at administratoren kan konfigurere noen av innstillingene uten å måtte gjøre endringer i skriptet. En av nyhetene i denne versjonen er "lokale innstillinger". Skriptutvikleren kan definere lokale innstillinger (for eksempel skriverens IP-adresse, faksnumre, e-postservere, og så videre), og administratoren kan deretter endre slike innstillinger i Server Manager. Dette betyr at skriptutvikleren ikke trenger å kjenne til de tekniske detaljene for miljøet der skriptet skal kjøres, og administratoren trenger ikke å lære seg skriptspråket. Denne funksjonen erstatter kompileringsledetekstene (#prompt) som ble innført i LDDScript

11 Skrive ut Alternativene for jobbstyring som er tilgjengelige ved utskrift av dokumenter, er blitt utvidet og inneholder nå flere alternativer for flere dokumenttyper. Nå kan du sende bildefiler som PDF, TIFF og JPEG direkte til skrivere som er utstyrt med ImageQuick-tillegget, og likevel angi utskriftsalternativer som dupleks, stifting, osv. I tillegg kan du sende tekstfiler og PostScript-filer til en hvilken som helst nettverksskriver, og ha flere muligheter mht. ferdiggjøring. De tidligere handlingene PrintIP, PrintASCII, PrintTIF og PrintPDF er blitt erstattet av PrintJob-handlingen. Be brukeren om data Muligheten for å be brukeren om data ved en multifunksjonsmaskin (MFP) eller arbeidsstasjon har gjennomgått en fullstendig overhaling i denne versjonen. I tillegg til et statisk sett med spørsmål, er det nå mulig å lage et dynamisk sett med spørsmål som endres basert på sluttbrukerens påloggingsinformasjon, brukerens svar på tidligere spørsmål, osv. Nå er det også mulig å verifisere svarene før en jobb sendes, eller hente en liste over mulige svar fra en database eller en annen kilde, og vise disse alternativene til brukeren. Med denne nye mekanismen kan du utvikle kraftige og fleksible skript, og automatisere arbeidsflyten på en mer effektiv måte. Andre oppdateringer Følgende tillegg og forbedringer er også tilgjengelig i denne versjonen: Tabeller (array) - lese/skrivetabeller er lagt til (se array, intarray, realarray, boolarray). ConvertImageFormat - du har nå mulighet til å konvertere fra PDF til andre bildeformater som TIFF og JPEG. Dokumenter - du kan nå opprette midlertidige filer som slettes automatisk når et skript er ferdig. ImageMerge - du kan nå angi generiske posisjoner (f.eks. Top Left) i stedet for bildepunktkoordinatene. Lotus Notes - det er nå støtte for Notes og DatabaseNotes for ID-filer med passord. Avbildninger (maps) - du kan du opprette en streng-til-streng-avbildning. SaveToFile - du har nå mulighet til å opprette en katalog hvis den ikke finnes. Strenger - du kan nå søke/erstatte i en streng. Workflow Composer I tillegg til de nye og forbedrede mulighetene i skriptspråket, er sluttbrukerprogrammene også oppdatert i denne versjonen. Den tidligere Document Server Admin er blitt erstattet av Server Manager og Workflow Composer. Server Manager brukes til å behandle dokumentservere (Document Servers), multifunksjonsmaskiner (MFPer) og skript. Workflow Composer brukes til utvikling og vedlikehold av skript. Noen av de nye funksjonene i Workflow Composer er: Utløpsdatoer - skriptet slutter å fungere etter en bestemt dato. Hjelp - forbedret hjelpefunksjon gir rask tilgang til skriptreferansen. Passord - du kan passordbeskytte skript for å forhindre uautoriserte endringer. 3

12 Hurtigfyll - gir mulighet for å lagre og gjenbruke mye brukte operasjoner eller handlinger i skript. Skriptveiviser - forbedret grensesnitt gjør det raskere å opprette skript. Syntaksutheving - bedre leservennlighet og oversikt ved at nøkkelord og strenger kan vises i forskjellige farger. Hvis du vil vite mer om bruk av Workflow Composer, kan du se i hjelpefunksjonen for produktet. 4

13 1 Grunnlaget Objekter Et objekt er den grunnleggende byggesteinen i LDDScript. Et objekt inneholder egenskaper og metoder. En egenskap er en av de grunnleggende datatypeobjektene, for eksempel streng () eller heltall (integer). En egenskap kan ha ulike verdier, avhengig av hvordan objektet opererer. En metode er en funksjon som kalles opp for å operere på dataene. En metode kan motta parametre og returnere en verdi. Parametrene og returverdien er datatype- eller hjelpeobjekter. Punktumnotasjon brukes for å få tilgang til egenskapene og metodene for et objekt. Slik angir du verdien for en egenskap: Objektnavn.egenskapsnavn = verdi Slik kaller du opp en metode: Objektnavn.Metodenavn() Objektnavn.Metodenavn(param1, param2) returverdi = Objektnavn.Metodenavn(param1) LDDScript har støtte for fem objekttyper: Datatype (Data Type) - de mest grunnleggende objektene (alle egenskaper og de fleste variabler er av denne typen). Hjelp (Helper) - gir deg en enkel metode for å utføre noen vanlige operasjoner. System - behandler ikke dokumenter, men brukes til å motta inndata og gi tilbakemeldinger til brukeren. Handling (Action) - behandler dokumenter, og utfører blant annet arkivering, ruting og distribusjon. Resten av kapitlene i denne boken inneholder referanser for hver av objekttypene. 5

14 Deklarere variabler Alle variabler må deklareres før de kan brukes. Variabler kan ikke deklareres i "with"-blokker eller i logiske blokker som if/then eller løkker. Når du skal deklarere en variabel, angir du variabelens objekttype og navn. Eksempel: tekst int tall Du må følge visse regler når du gir navn til variabler: Navnene kan bare inneholde bokstaver, tall og understrek-tegn. Det første tegnet i navnet må være en bokstav. Navnet må være unikt innenfor skriptet. Det skilles ikke mellom store og små bokstaver i variabelnavn, slik at "Navn", "NAVN" og "navn" betraktes som det samme navnet. Navnet kan ikke være et reservert ord (et ord som har en spesiell betydning i skriptkompilatoren). Flytkontroll For at du skal kunne kontrollere utførelsen av skriptuttrykk, er det nødvendig å ha en eller annen form for flytkontroll-logikk. Skriptuttrykk kan utføres på tre måter: sekvensielt, selektivt eller gjentatt. Når det ikke brukes noen form for flytkontroll-logikk, utføres uttrykkene i den rekkefølgen de er oppført i skriptet. Hvis du vil ha selektiv utførelse av visse skriptuttrykk, kan du bruke if/then/else- eller switch/ case-uttrykk. Hvis du vil utføre skriptuttrykk gjentatte ganger, kan du bruke loop- og repeat-uttrykk. Disse uttrykkene for flytkontroll er omtalt i de neste avsnittene. If/Then/Else Den vanligste typen flytkontroll er muligheten for å utføre et uttrykk hvis en bestemt betingelse er sann. Denne muligheten er innebygd i Document Server gjennom if/then/else-komponentene. Det grunnleggende formatet er: if (bool-uttrykk) then uttrykk1 uttrykkn endif uttrykk1 til uttrykkn utføres bare hvis verdien av det boolske uttrykket i parenteser er TRUE. Noen ganger er det også behov for å evaluere ett sett med uttrykk hvis en betingelse er sann (TRUE), og et annet sett hvis den er usann (FALSE). Dette kan oppnås ved å bruke else-komponenten: if (bool-uttrykk) then uttrykka uttrykkc else uttrykkx uttrykkz endif uttrykka til uttrykkc utføres hvis verdien av det boolske uttrykket i parenteser er TRUE. I motsatt fall utføres uttrykkx til uttrykkz. 6

15 Switch/Case Noen ganger kan du ha mer enn én betingelse du vil kontrollere. Du kan gjøre det ved hjelp av flere If/Then-uttrykk. Med Switch/Case-uttrykket blir det enklere å gjøre flere sammenligninger: Switch med heltall Switch med streng switch (intvar) switch (var) case heltall1 case "streng1" uttrykka uttrykka uttrykkb uttrykkb case heltall2 case "streng2" uttrykkc uttrykkc uttrykkd uttrykkd default default uttrykke uttrykke uttrykkf uttrykkf endswitch endswitch Du kan bruke heltalls- eller strengverdier med switch/case-uttrykket. Den case-blokken som stemmer med variabelens verdi, blir utført. Hver case-blokk kan inneholde flere uttrykk, men bare én case-blokk blir utført. Hvis verdien til switch-variabelen ikke stemmer med noen av case-betingelsene, utføres default-blokken. Default-blokken er ikke obligatorisk. Hvis du vil bruke en default-blokk, må den imidlertid være den siste blokken. Eksempel på switch Multifunksjonsmaskiner (MFPer) har mulighet til å knytte jobber til kontoer, og "bokføre" eller statistikkføre jobbaktivitet. Når denne funksjonen er aktivert, må brukerne angi et kontonummer for å få tilgang til en profil. For dette eksemplet angir brukerne et avdelingsnummer når de bruker profiler. Dette eksemplet bruker et switch/case-uttrykk til å kontrollere avdelingsnummeret. CustomSubject // Bruk kontonummeret som et heltall int DeptNumber = original.useracct.asint() switch (DeptNumber) case 35 CustomSubject = "Document from Human Resources" case 41 CustomSubject = "Document from Legal Department" case 15 CustomSubject = "Document from Shipping Department" default CustomSubject = "Document from FooBar Company" endswitch with SMTP.Server="mailserver.com".To="barbarab@foobar.com".From="LDDTrain@lexmark.com".Subject=CustomSubject.Message="Please read.".characterset=ldd_smtpcharset_us.attachments=original.document.go() endwith 7

16 Gjentatte uttrykk Hvert uttrykk i et skript utføres bare én gang. Ved å bruke repeat- og loop-uttrykkene kan du utføre den samme blokken med uttrykk flere ganger. Loop Bruk loop-uttrykket når du vil gjenta et sett med uttrykk et kjent antall ganger. Syntaks: loop (intteller from istart to islutt) uttrykk1 uttrykkn endloop der: intteller er en tidligere deklarert int-variabel istart er den heltallsverdien som int-variabelen intteller får når løkken starter islutt er en heltallsverdi som definerer maksimalverdien for intteller Ved å bruke en int-variabel som telleverk, gjentas løkken så mange ganger som angitt av verdiene istart/islutt. Du kan ha så mange uttrykk som du ønsker i loop-blokken. Loop-blokken avsluttes med endloop-uttrykket. Når løkken starter, får tellervariabelen intteller verdien som er angitt av istart. For hver gang loop-blokken utføres, øker verdien av intteller med 1. Dette fortsetter inntil verdien av intteller er større enn verdien av islutt. Det betyr at en løkke fra 1 til 10 gjentas inntil tellervariabelen har verdien 11. Verdien av istart må være mindre enn verdien av islutt. Heltallsvariabelen som brukes som tellervariabel må deklareres før den kan brukes i loop-uttrykket. Eksempel: Send et skannet dokument via e-post til ti kundeservicerepresentanter. I dette skriptet angis de SMTP-egenskapene som er felles før e-postene sendes i loop-blokken. Add int LoopCount // Angi felles egenskaper for e-postene. with SMTP.Subject="Customer Complaint".Server="mail.server.com".From="customer_service@foobar.com".Message="Please review this complaint".attachments=original.document.characterset=ldd_smtpcharset_us endwith loop (LoopCount from 1 to 10) SMTP.To="CustRep" + LoopCount.AsString() + "@foobar.com" SMTP.Go() endloop 8

17 Repeat Med repeat-uttrykket kan du utføre en blokk med uttrykk gjentatte ganger inntil et uttrykk blir sant. repeat (until bool-uttrykk) uttrykk1 uttrykkn endrepeat Repeat-uttrykket utfører blokken med uttrykk inntil verdien for det boolske uttrykket er TRUE. Du kan ha så mange uttrykk som du ønsker i repeat-blokken. Uttrykket endrepeat avslutter repeat-blokken. Hvis verdien av det boolske uttrykket er TRUE første gang det evalueres, vil løkken ikke bli utført. Eksempel: Dette skriptet bruker optisk tegngjenkjenning (OCR) til å kontrollere om noen av dokumentene som skannes inn av sluttbrukerne er konfidensielle. Hvis et dokument er konfidensielt, vil det ikke bli sendt via e-post. Det skannede bildet lagres i en fil, og en advarsel sendes til brukeren som har skannet inn det konfidensielle dokumentet. with ImageToText.input=original.document.TextType=LDD_TEXTTYPE_NORMAL.Language=LDD_LANG_ENGLISH.AllPages=TRUE.Go() endwith textfile tf OneLine, Submitter // Åpne resultatet av OCR-handlingen tf.open(imagetotext.output) bool bconfdoc = FALSE int icount, iend icount =1 iend = tf.getnumberlines() Submitter = original.username+ "@lexmark.com" // Kontroller hver linje for ordet "Confidential" repeat (until (bconfdoc OR (icount>=iend))) OneLine = tf.readline() if (OneLine.Contains("Confidential")) then bconfdoc = TRUE endif Count.Add(1) endrepeat 9

18 // Hvis det er et konfidensielt dokument, så lagre det og send en advarsel if (bconfdoc) then with SaveToFile.input=original.document.Path="c:\ebc.txt".AppendTimestamp=TRUE.Overwrite=FALSE.Go() endwith with SMTP.Server="mail.server.com".To= Rejected".Message="Cannot a confidential document".characterset=ldd_smtpcharset_us.go() endwith else with SMTP.Server="mail.server.com".To="Receiver@abcxyz.com".From=Submitter.Subject="Scanned Document".Message="Here is the document you requested".characterset=ldd_smtpcharset_us.attachments=original.document.go() endwith endif 10

19 Operatorer Matematiske Disse operatorene brukes til å angi eller endre verdien til en variabel eller egenskap. Operator Symbol Beskrivelse Addisjon + For heltallsobjekter (int) og reelle objekter (real) adderes tallene på begge sider av "+" og den nye verdien returneres. For strengobjekter () har denne en lignende effekt som Concatenate-metoden. Den setter strengen til høyre sammen med strengen til venstre, og returnerer den nye strengen. For dokumentobjekter settes dokumentet til høyre sammen med dokumentet til venstre, og det nye dokumentet returneres. I alle tilfeller forblir variablene på begge sider uendret. Subtraksjon - For heltallsobjekter (int) og reelle objekter (real) subtraheres tallet til høyre fra tallet til venstre, og den nye verdien returneres. Variablene på hver side forblir uendret. Denne operatoren er ikke gyldig for andre objekttyper. Multiplikasjon * For heltallsobjekter (int) og reelle objekter (real) multipliseres tallene på begge sider av " * " og den nye verdien returneres. Variablene på hver side forblir uendret. Denne operatoren er ikke gyldig for andre objekttyper. Divisjon \ For heltallsobjekter (int) og reelle objekter (real) divideres tallet til venstre på tallet til høyre, og den nye verdien returneres. Variablene på hver side forblir uendret. Denne operatoren er ikke gyldig for andre objekttyper. Modulus % For heltallsobjekter (int) divideres tallet til venstre på tallet til høyre, og restverdien returneres. Variablene på hver side forblir uendret. Denne operatoren er ikke gyldig for andre objekttyper. Eksempel: 5/2 returnerer 1, siden 5 dividert med 2 er lik 2 og en rest på 1. 11

20 Sammenligning Disse operatorene brukes til å sammenligne verdiene av variabler eller egenskaper av samme type. Resultatet av sammenligningen er en boolsk verdi (TRUE eller FALSE). Du kan velge mellom symbolene som er oppført for en gitt operator. Operator Symboler Beskrivelse Mindre enn <, LT For heltall (int) og reelle tall (real) returneres TRUE hvis verdien på venstre side er mindre enn verdien på høyre side. For strenger () returneres TRUE hvis verdien på venstre side kommer før i alfabetet enn verdien på høyre side (inkludert små/store bokstaver). I motsatt fall returneres FALSE. Større enn >, GT For heltall (int) og reelle tall (real) returneres TRUE hvis verdien på venstre side er større enn verdien på høyre side. For strenger () returneres TRUE hvis verdien på venstre side kommer lenger bak i alfabetet enn verdien på høyre side (inkludert små/store bokstaver). I motsatt fall returneres FALSE. Mindre enn eller lik <=, LE For heltall (int) og reelle tall (real) returneres TRUE hvis verdien på venstre side er mindre enn eller lik verdien på høyre side. For strenger () returneres TRUE hvis verdien på venstre side kommer før i alfabetet enn verdien på høyre side (inkludert små/store bokstaver), eller hvis den er på samme plass. I motsatt fall returneres FALSE. Større enn eller lik >=, GE For heltall (int) og reelle tall (real) returneres TRUE hvis verdien på venstre side er større enn eller lik verdien på høyre side. For strenger () returneres TRUE hvis verdien på venstre side kommer lenger bak i alfabetet enn verdien på høyre side (inkludert små/store bokstaver), eller hvis den er på samme plass. I motsatt fall returneres FALSE. Lik ==, EQ (dobbelt likhetstegn) For heltall (int) og reelle tall (real) returneres TRUE hvis verdien på venstre side er lik verdien på høyre side. For strenger () returneres TRUE hvis verdien på venstre side er nøyaktig lik verdien på høyre side (inkludert små/store bokstaver). I motsatt fall returneres FALSE. Ikke lik!=, <>, NE For heltall (int) og reelle tall (real) returneres TRUE hvis verdien på venstre side ikke er lik verdien på høyre side. For strenger () returneres TRUE hvis verdien på venstre side ikke er nøyaktig lik verdien på høyre side (inkludert små/store bokstaver). I motsatt fall returneres FALSE. 12

21 Boolske Disse operatorene kan brukes til å bygge opp komplekse boolske uttrykk. Hver verdi på begge sider av operatoren må være en boolsk verdi (bool). Resultatet av den boolske operatoren er en boolsk verdi (TRUE eller FALSE). Du kan velge mellom symbolene som er oppført for en gitt operator. Operator Symboler Beskrivelse Og &, &&, AND Bruker den logiske OG-operatoren på to boolske verdier og returnerer resultatet. Eller,, OR Bruker den logiske ELLER-operatoren på to boolske verdier og returnerer resultatet. Negasjon!, NOT Bruker den logiske negasjonsoperatoren på to boolske verdier og returnerer resultatet. Tabellen under viser resultatet av AND- og OR-metoden ved å bruke: bool1 AND bool2 bool1 OR bool2 bool 1 bool2 AND OR FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE Tabellen under viser resultatet av NOT-metoden ved å bruke: NOT bool1 bool 1 TRUE FALSE NOT FALSE TRUE 13

22 Andre funksjoner Kortreferanse til objekter ved hjelp av "with" Hvis du har en kodeblokk som arbeider med det samme objektet, kan det være tungvint å skrive det samme objektnavnet om igjen flere ganger. Dette kan du unngå ved å bruke with-uttrykket. Det generelle formatet er: with objektnavn.egenskap = verdi.egenskap = verdi.metode() endwith Du angir objektnavnet som skal brukes i with-uttrykket. Deretter kan du referere til enhver egenskap og metode for objektet ved å bruke "punktum" etterfulgt av egenskapens eller metodens navn. Dette brukes mest med handlingsobjekter. Avluse et skript Når et skript kjøres, kan handlingsobjektene skrive feilmeldinger og advarsler til loggen. Du kan også skrive dine egne meldinger til loggen for å gjøre det enklere å avluse skriptet. La oss for eksempel anta at du vil vite verdien av en variabel eller returverdien fra en metode. Bruk "debug"-uttrykket til å skrive meldingen til loggen. debug (msg) msg kan være en strengvariabel, en streng i anførselstegn eller et numerisk uttrykk. Nedenfor finner du noen eksempler: int index= 3 ErrorMsg = "Kunne ikke skrives ut" debug (index) debug (ErrorMsg) debug ("Jobb mottatt fra " + original.username) Hvert av disse uttrykkene skriver en melding til serverloggen. 14

23 Avbryte et skript på kjøretidspunktet Hvis du oppdager en feiltilstand under kjøringen av et skript, kan det være nyttig å ha en måte å stoppe skriptbehandlingen på. Du kan bruke exit-funksjonen til å oppnå dette: void exit( msg) Exit-funksjonen stopper skriptutførelsen. Den gir deg mulighet til å sende en streng som vises i serverens logg, på bekreftelsessiden eller i bekreftelsesdialogboksen. 15

24 2 Datatypeobjekter Alle data som brukes av Workflow Composer kan grupperes i seks ulike datatyper: Boolske (bool) Dokument (doc) Heltall (int) Avbildning (map) Reelle tall (real) Streng () Alle objektegenskaper er datatypeobjekter. I tillegg er de fleste variabler av denne typen. De neste sidene omhandler hvert av disse objektene. 16

25 Boolske (bool) Boolske objekter brukes for verdier som er logisk sanne eller usanne. De eneste gyldige verdiene for slike variabler er de reserverte ordene TRUE og FALSE. Dette objektet har ingen egenskaper. Følgende operatorer støttes: Operatorer Symbol Beskrivelse ==, EQ Lik <> Ikke lik &, AND Og, OR Eller!, NOT Negasjon = Tilordning 17

26 Dokument (doc) Dokumentobjektet brukes til å oppbevare en samling av bilder, tekst og andre formaterte filer. Alle filene i et dokumentobjekt trenger ikke å være av samme type - det kan inneholde ulike filer av forskjellige typer. En egenskap eller variabel er av denne typen hvis den deklareres som doc. Dokumentobjektet har ingen egenskaper. Metoder Syntaks bool AddDocument(doc dok1) bool AddFile( bane [, type]) bool SetFileLabel(int filnr, etikett) doc Copy() Beskrivelse Legger til et eksisterende dokument på slutten av dette dokumentet. dok1 - dokumentet som skal legges til En bool-verdi som angir om metoden var vellykket eller mislykket. Legger til en eksisterende fil på slutten av dette dokumentet. Denne metoden vil mislykkes hvis filen ikke eksisterer eller hvis den ikke kan leses. bane - fullt kvalifisert bane på serveren til filen som skal legges til type - hvis type ikke er angitt, vil filtypen i henhold til navnet på filen som legges til bli brukt, og hvis type er angitt, brukes den angitte verdien En bool-verdi som angir om metoden var vellykket eller mislykket. Angir etiketten for den angitte filen. Denne etiketten brukes som filnavn (minus filtypen) for å gi navn til vedlegg i e-poster eller databaser. Denne metoden mislykkes hvis filnr er ugyldig. filnr - filens indeks (filindekser starter med 1) etikett - etiketten som skal angis for den aktuelle filen (må følge reglene for filnavn siden den brukes som filnavn) En bool-verdi som angir om metoden var vellykket eller mislykket. Kopierer alle filene i dette dokumentet til et nytt dokument. Denne metoden lager en kopi av de faktiske filene, slik at det nå finnes to av dem. På dennen måten kan du gjøre endringer i ett av settene med filer uten at det påvirker det andre settet. Ingen Et dokument (doc) som inneholder en kopi av alle filene. 18

27 Syntaks doc CopyRange(int start, int slutt) doc GetFile(int filnr) doc GetFileRange(int start, int slutt) int GetDocumentSize() int GetFileSize(int filnr) Beskrivelse Kopierer de angitte filene i dette dokumentet til et nytt dokument. Denne metoden lager en kopi av de faktiske filene, slik at det nå finnes to av dem. På dennen måten kan du gjøre endringer i ett av settene med filer uten at det påvirker det andre settet. start - indeks for den første filen i dokumentet som skal kopieres (filindeksene starter på 1) slutt - indeks for den siste filen i dokumentet som skal kopieres Et dokument (doc) som inneholder en kopi av filene i det angitte området. Returnerer en referanse til den angitte filen. Dokumentet som returneres er ikke en kopi, så eventuelle endringer som gjøres i denne filen vil også påvirke originalfilen. Et tomt dokument returneres hvis filnr er ugyldig. filnr - indeks for filen som skal hentes (filindekser starter med 1) Et dokument (doc) som inneholder en referanse til den angitte filen. Returnerer en referanse til de angitte filene. Dokumentet som returneres er ikke en kopi, så eventuelle endringer som gjøres i disse filene vil også påvirke originalfilene. start - indeks for den første filen som skal hentes (filindekser starter med 1) slutt - indeks for den siste filen som skal hentes Et dokument (doc) som inneholder en referanse til de angitte filene. Returnerer den samlede størrelsen (i byte) av alle filene i dette dokumentet. Størrelsen null (0) returneres hvis det ikke er noen filer i dokumentet. Ingen Et heltall (int) med totalt antall byte i dette dokumentet. Returnerer størrelsen (i byte) på den angitte filen. Verdien null (0) returneres hvis filnr er ugyldig. filnr - indeks for filen som størrelsen skal hentes for (filindekser starter med 1) Et heltall (int) med størrelsen (i byte) på den angitte filen. 19

28 Syntaks int GetNumberFiles() GetDocumentType() GetFileLabel(int filnr) GetFileType(int filnr) void AddTempFile( typ) Beskrivelse Returnerer antall separate filer i dette dokumentet. Dette returnerer ikke antall sider. Ingen Et heltall (int) med antall filer i dette dokumentet. Returnerer typen (filformat eller filtype) for dokumentet. Hvis alle filene i dokumentet er av samme type, er dette dokumenttypen. Hvis ikke, er verdien en tom streng. Ingen En streng som inneholder dokumenttypen (filformat eller filtype) for dokumentet. Returnerer etiketten for den angitte filen. Etiketten brukes som filnavnet (minus filtypen) for vedlegg i e-poster eller databaser. En tom streng returneres hvis filnr er ugyldig. filnr - indeks for filetiketten som skal hentes (filindekser starter med 1) En streng som inneholder etiketten for den angitte filen. Returnerer typen (filformat eller filtype) for den angitte filen. En tom streng returneres hvis filnr er ugyldig. filnr - indeks for filtypen som skal hentes (filindekser starter med 1) En streng som inneholder verdien for filtypen for den angitte filen. Legger til en midlertidig fil i dokumentet. Filen vil bli slettet når skriptet avsluttes. typ - filtypen som skal gis til den midlertidige filen Ingen 20

29 Syntaks void Clear() void SetFileLabelAll( etikett) Beskrivelse Fjerner alle filer fra dokumentet. Ingen Ingen Angir etikettene for alle filene i dette dokumentet. Denne etiketten brukes som filnavn (minus filtypen) for å gi navn til vedlegg i e-poster eller databaser. etikett - etiketten som skal angis for alle filene (må følge reglene for filnavn siden den brukes som filnavn) Ingen Merk: For variabler av typen doc, er tilordning av variabelen bare en referanse. Med andre ord vil begge variablene peke på de samme "fysiske" filene som dokumentet består av. Når du gjør en endring i én av filene, vil den filen bli endret i begge dokumentene. Hvis du vil generere forskjellige kopier av filene til å arbeide med, må du bruke Copy- eller CopyRange-metoden for doc-objektet. Operatorer Symbol Beskrivelse + Legg til (samme som å kalle opp AddDocument) [] Indeks (samme som å kalle opp GetFile med den ene filen) = Tilordning (samme som å kalle opp GetFileRange med alle filene) 21

30 Heltall (int) Heltallsobjektet brukes for verdier som er tall uten desimaler. En egenskap eller variabel er av denne typen hvis den deklareres som int. Dette objektet har ingen egenskaper. Metoder Syntaks real AsReal() AsString() void Add(int tall) void Divide(int tall) Beskrivelse Konverterer og returnerer verdien av dette objektet som et real-objekt. Verdien for objektet endres ikke. Ingen Et real-objekt med verdien til dette objektet. Returnerer verdien av dette objektet som en streng (-objekt). Dette brukes ofte når verdien av heltallet skal brukes som en del av en streng. Ingen Et -objekt med verdien til dette objektet. Adderer tall til den aktuelle verdien. Verdien for dette objektet endres. tall - heltall som skal legges til den aktuelle verdien Ingen Dividerer den aktuelle verdien med tall. Verdien for dette objektet endres. tall - heltall som den aktuelle verdien skal divideres med Ingen 22

31 Syntaks void Mod(int tall) void Multiply(int tall) Beskrivelse Dividerer den aktuelle verdien med tall og setter verdien for dette objektet til restverdien etter (heltalls)divisjonen. tall - heltall som den aktuelle verdien skal divideres med Ingen Multipliserer den aktuelle verdien med tall. Verdien for dette objektet endres. tall - heltall som den aktuelle verdien skal multipliseres med Ingen Operatorer Symbol Beskrivelse <, LT Mindre enn >, GT Større enn <=, LE Mindre enn eller lik >=, GE Større enn eller lik ==, EQ Lik <>, NE,!= Ikke lik + Adder - Subtraher * Multipliser / Divider % Modulus (rest etter heltallsdivisjon) = Tilordning 23

32 Eksempler Uttrykk Verdi av X Kommentar int x 0 Deklarerer variabelen x = 5 5 Tilordner verdien 5 til x x.mod(2) 1 5/2 er lik 2 pluss restverdien 1 x.add(9) 10 x.subtract(2) 8 x.multiply(2) 16 x.divide(8) 2 x.asreal() 2 Returnerer 2.0 x.asstring() 2 Returnerer "2" Merk: De vanlige matematiske operatorene (+, -, *, /) kan også brukes. 24

33 Reelle tall (real) Reelle tall-objekter brukes for verdier som er tall med desimaler. En egenskap eller variabel er av denne typen hvis den deklareres som real. Dette objektet har ingen egenskaper. Metoder Syntaks int AsInt () AsString() void Add(real tall) void Divide(real tall) void Multiply(real tall) Beskrivelse Konverterer og returnerer verdien av dette objektet som et int-objekt. Verdien blir ikke avrundet, og eventuelle tall etter desimalpunktet blir avkortet. Verdien for objektet endres ikke. Ingen Et int-objekt med verdien til dette objektet. Returnerer verdien av dette objektet som en streng (-objekt). Dette brukes ofte når verdien av det reelle tallet skal brukes som en del av en streng. Ingen Et -objekt med verdien til dette objektet. Adderer tall til den aktuelle verdien. Verdien for dette objektet endres. tall - reelt tall som skal legges til den aktuelle verdien Ingen Dividerer den aktuelle verdien med tall. Verdien for dette objektet endres. tall - reelt tall som den aktuelle verdien skal divideres med Ingen Multipliserer den aktuelle verdien med tall. Verdien for dette objektet endres. tall - reelt tall som den aktuelle verdien skal multipliseres med Ingen 25

34 Operatorer Symbol Beskrivelse <, LT Mindre enn >, GT Større enn <=, LE Mindre enn eller lik >=, GE Større enn eller lik ==, EQ Lik <>, NE,!= Ikke lik + Adder - Subtraher * Multipliser / Divider = Tilordning 26

35 Streng () Strengobjektet brukes for verdier som er tekst. En egenskap eller variabel er av denne typen hvis den deklareres som. Dette objektet har ingen egenskaper. Metoder Syntaks bool Compare( streng1) bool CompareNoCase( streng1) doc AsDoc() int AsInt () Beskrivelse Sammenligner den aktuelle verdien av denne strengen med den angitte strengen. Denne sammenligningen skiller mellom store og små bokstaver. streng1 - strengen som den aktuelle verdien av denne strengen skal sammenlignes med Et bool-objekt med verdien TRUE hvis strengene er identiske (også mht. store og små bokstaver), og med verdien FALSE hvis de ikke er det. Sammenligner den aktuelle verdien av denne strengen med den angitte strengen. Denne sammenligningen skiller ikke mellom store og små bokstaver. streng1 - strengen som den aktuelle verdien av denne strengen skal sammenlignes med Et bool-objekt med verdien TRUE hvis strengene er identiske (ikke nødvendigvis mht. store og små bokstaver), og med verdien FALSE hvis de ikke er det. Returnerer verdien av dette objektet som et dokument (doc-objekt). Dokumentet vil ha én fil som inneholder teksten i den aktuelle strengen. Ingen Et doc-objekt med tekst som er lik den aktuelle verdien av denne strengen. Returnerer verdien av dette objektet som et heltall (int-objekt). Den aktuelle verdien leses frem til det første ikke-numeriske tegnet. Verdien som returneres er null (0) hvis strengen er tom eller hvis det første tegnet i strengen er ikke-numerisk. Verdien for strengen endres ikke. Ingen Et int-objekt med den aktuelle verdien av strengen konvertert til heltall. 27

36 Syntaks int Find( delstreng, int start) int Length() int Replace( gammel, ny, int start, bool bokstavstr, bool heleord) int ReplaceAll( gammel, ny, bool bokstavstr, bool heleord) Beskrivelse Søker i den aktuelle strengen etter første forekomst av delstreng. delstreng - delstrengen du vil søke etter start - indeksen i strengen der søket skal starte (verdien 1 angir at du vil starte i begynnelsen av strengen) Et int-objekt som angir startposisjonen for delstrengen i strengen (0 hvis delstrengen ikke blir funnet). Returnerer antall tegn i strengen. Ingen Et int-objekt som inneholder antall tegn i strengen. Søker i den aktuelle strengen, med start i den angitte indeksen, og erstatter første forekomst av den gamle strengen med den nye strengen. Du kan velge om søket skal skille mellom store og små bokstaver, og om det bare skal finne hele ord. gammel - strengen du vil søke etter ny - strengen som skal erstatte den gamle strengen bokstavstr - angir om søket skal skille mellom store og små bokstaver heleord - angir om søket bare skal finne hele ord, og ikke deler av ord Et heltall som angir indeksen for det første tegnet i strengen som er lik søkestrengen. 0 returneres hvis det ikke er noen treff. Søker i den aktuelle strengen, og erstatter alle forekomster av den gamle strengen med den nye strengen. Du kan velge om søket skal skille mellom store og små bokstaver, og om det bare skal finne hele ord. gammel - strengen du vil søke etter ny - strengen som skal erstatte den gamle strengen bokstavstr - angir om søket skal skille mellom store og små bokstaver heleord - angir om søket bare skal finne hele ord, og ikke deler av ord Et heltall som angir antall erstatninger som er gjort. 0 returneres hvis det ikke er noen treff. 28

37 Syntaks real AsReal() AsAlphaNumeric() AsLower() AsUpper () Left(int ant) Beskrivelse Returnerer verdien av dette objektet som et reelt tall (real-objekt). Den aktuelle verdien leses frem til det første ikke-numeriske tegnet. Numeriske tegn for reelle tall inkluderer desimalpunktet. Verdien som returneres er null (0.0) hvis strengen er tom eller hvis det første tegnet i strengen er ikke-numerisk. Verdien for strengen endres ikke. Ingen Et real-objekt med verdien av strengen som et reelt tall. Konverterer og returnerer den aktuelle verdien av strengen som en streng der bare de alfabetiske og numeriske tegnene er igjen. Alle andre tegn er fjernet. Verdien for strengen endres ikke. Ingen En streng som bare inneholder de alfabetiske og numeriske tegnene i innstrengen. Konverterer og returnerer den aktuelle strengen med bare små bokstaver. Eventuelle ikke-alfabetiske tegn blir ikke endret. Verdien for strengen endres ikke. Ingen En streng som er lik innstrengen, men med bare små bokstaver. Konverterer og returnerer den aktuelle strengen med bare store bokstaver. Eventuelle ikke-alfabetiske tegn blir ikke endret. Verdien for strengen endres ikke. Ingen En streng som er lik innstrengen, men med bare store bokstaver. Returnerer de første ant tegnene i denne strengen. Hvis ant er større enn lengden på strengen, returneres hele strengen. ant - antall tegn som skal hentes ut En streng som inneholder de første ant tegnene i innstrengen. 29

38 Syntaks Mid(int start, int ant) Right(int ant) array Separate( separator) void Concatenate( streng1) void TrimBoth() Beskrivelse Returnerer en delstreng av innstrengen med lengde ant som begynner fra tegn nummer start. Strengindekser begynner med 1. start - indeksen for det første tegnet som skal inkluderes i delstrengen ant - antall tegn som skal inkluderes i delstrengen (verdien null (0) angir resten av tegnene i strengen) En delstreng av innstrengen som inneholder tegnene i det angitte indeksområdet. Returnerer de siste ant tegnene i strengen. Hvis ant er større enn lengden på strengen, returneres hele strengen. ant - antall tegn som skal hentes ut En streng som inneholder de siste ant tegnene i innstrengen. Den aktuelle verdien av strengen gjennomsøkes etter separator-strengen. Hver gang den blir funnet, genereres det en ny streng minus separatorverdien. Når søket kommer til slutten av strengen, legges resten av strengen til som det siste elementet i tabellen. Hvis separatoren ikke blir funnet, returneres hele strengen som det første elementet i tabellen. separator - strengen som skal brukes som separatorverdi En tabell med strenger, der hvert element er en streng minus separatorverdien. Legger streng1 til verdien av den aktuelle strengen. streng1 - strengen som skal legges til Ingen Fjerner eventuelle hvite mellomrom fra begynnelsen og slutten av strengen. Hvite mellomrom inkluderer linjeskift, mellomrom og tabulatortegn. Verdien for den aktuelle strengen endres. Ingen Ingen 30

39 Syntaks void TrimLeft() void TrimRight() Beskrivelse Fjerner eventuelle hvite mellomrom fra begynnelsen av strengen. Hvite mellomrom inkluderer linjeskift, mellomrom og tabulatortegn. Verdien for den aktuelle strengen endres. Ingen Ingen Fjerner eventuelle hvite mellomrom fra slutten av strengen. Hvite mellomrom inkluderer linjeskift, mellomrom og tabulatortegn. Verdien for den aktuelle strengen endres. Ingen Ingen Operatorer Symbol Beskrivelse <, LT Mindre enn (skiller mellom små og store bokstaver) >, GT Større enn (skiller mellom små og store bokstaver) ==, EQ Lik (skiller mellom små og store bokstaver) <>, NE Ikke lik (skiller mellom små og store bokstaver) + Slå sammen (Concatenate) Eksempler: For strengen str som har verdien "ABC123abc:789": str.asalphanumeric() returnerer "ABC123abc789" str.asint() returnerer 0 str.aslower() returnerer "abc123abc:789" str.asreal() returnerer 0.0 str.asupper() returnerer "ABC123ABC:789" str.contains("123") returnerer TRUE str.find("123", 1) returnerer 4 str.length() returnerer 13 str.left(5) returnerer "ABC12" str.mid(6, 4) returnerer "3abc" str.right(4) returnerer ":789" 31

40 For strengen str som har verdien "12.45": str.asreal() returnerer str.asint() returnerer 12 For strengen str som har verdien "This is a test of this.": str.replace("is", "was", TRUE, FALSE, 1) str.replace("is", "was", TRUE,TRUE, 1) str.replaceall("this", "that", FALSE,TRUE) str.replaceall("this", "that", TRUE, FALSE) returnerer 3 og endrer verdi til: "This is a test of this." returnerer 6 og endrer verdi til: "This was a test of this." returnerer 2 og endrer verdi til: "that is a test of that." returnerer 1 og endrer verdi til: "This is a test of that." 32

41 Escape-tegn Det er noen tegn som det av og til er behov for i strenger, som ikke kan representeres med vanlige tegn. For å kunne bruke slike tegn, støtter strengobjekter følgende escape-tegn. Symbol Beskrivelse ^n Windows ny linje ^l Unix linjeskift ^r Unix vognretur ^t Tab (tabulator) ^^ Caret ^xdd Heksadesimal (Hex) ^" Plasser anførselstegn i streng Hvis du vil bruke disse tegnene i en streng, kan du inkludere escape-tegnet innenfor anførselstegnene. Eksempel: str = "Linje 1^nLinje2^tTab til neste kolonne" msg = "Dette er den ^"første^" strengen i anførselstegn." 33

42 Avbildning (map) Avbildningsobjektet (map-objektet) inneholder en samling av nøkkel/verdi-par. Den gir deg mulighet til strukturere data på en brukerdefinert måte. Det er mulig å dele dataene videre inn i kategorier, som igjen kan ha sine egne nøkkel/verdi-par. Alle nøkler og verdier i et avbildningsobjekt er strenger. Datastrukturen er slik: nøkkel = verdi kategori.nøkkel = verdi kategori.underkategori.nøkkel = verdi Flere nivåer av kategorier er tillatt. Hver kategori må ha minst ett nøkkel/verdi-par. En egenskap eller variabel er av denne typen hvis den deklareres som map. Dette objektet har ingen egenskaper. Metoder Syntaks bool HasCategory( kategori) bool HasKey( nøkkel) map GetCategory( kategori) Beskrivelse Returnerer TRUE hvis den angitte kategorien finnes i avbildningen (map-objektet). Hvis du vil sjekke om en kategori har en underkategori, kan du skille kategori- og underkategori-navnene med et punktum. kategori - navnet på kategorien En bool-verdi som angir om kategorien finnes i avbildningen (map-objektet). Returnerer TRUE hvis den angitte nøkkelen finnes i avbildningen (map-objektet). Hvis du vil kontrollere om nøkkel/verdi-paret finnes i en bestemt kategori, kan du inkludere kategorinavnet som en del av nøkkelen, og bruke et punktum til å skille kategori- og nøkkelnavnet. nøkkel - navnet på nøkkelen En bool-verdi som angir om nøkkelen finnes i avbildningen (map-objektet). Returnerer et map-objekt med nøkkel/verdi-parene som tilhører den angitte kategorien. Hvis kategorien ikke finnes, returneres et map-objekt uten noen oppføringer. kategori - navnet på kategorien Et map-objekt med nøkkel/verdi-parene som tilhører den angitte kategorien. 34

43 Syntaks GetValue( nøkkel) array GetCategoryList() array GetKeyList() void AddItem( nøkkel, verdi) Beskrivelse Returnerer verdien av den angitte nøkkelen. Hvis du vil hente ut nøkkel/verdi-paret fra en bestemt kategori, kan du inkludere kategorinavnet som en del av nøkkelen, og bruke et punktum til å skille kategori- og nøkkelnavnet. Hvis den angitte nøkkelen ikke eksisterer, returneres en tom streng. nøkkel - navnet på nøkkelen Verdien av den angitte nøkkelen. Returnerer en liste over kategoriene på det øverste nivået i map-objektet. Hvis det ikke er noen kategorier, returneres en strengtabell (array) uten noen elementer. Ingen En liste over kategoriene på det øverste nivået i map-objektet. Returnerer en liste over nøklene på det øverste nivået i map-objektet. Hvis det ikke er noen nøkler på det øverste nivået, returneres en strengtabell (array) uten noen elementer. Ingen En liste over nøklene på det øverste nivået i map-objektet. Legger til nøkkel/verdi-paret i map-objektet. Hvis du vil legge nøkkel/verdi-paret inn i en bestemt kategori, kan du inkludere kategorinavnet som en del av nøkkelen, og bruke et punktum til å skille kategori- og nøkkelnavnet. Hvis kategorien ikke finnes, vil den bli opprettet. nøkkel - nøkkelen som skal legges til i map-objektet verdi - verdien som skal tilordnes nøkkelen Ingen. Eksempler: Slik kan du bygge opp et avbildningsobjekt (map-objekt) som har nøklene "firstname" og "lastname" på første nivå, og kategorien "address": map info info.additem("firstname", "john") info.additem("lastname", "doe") info.additem("address.street", "123 Main Street") info.additem("address.city", "Anywhere") info.additem("address.state", "KY") info.additem("address.zip,", "40000") 35

Workflow Composer. Skriptreferanse. www.lexmark.com. Oktober 2003

Workflow Composer. Skriptreferanse. www.lexmark.com. Oktober 2003 Workflow Composer Skriptreferanse Hvis du vil se på eller laste ned denne eller andre Lexmark Document Solutionspublikasjoner, kan du klikke her. Oktober 2003 www.lexmark.com Utgave: Oktober 2003 Følgende

Detaljer

Utgivelsesmerknad. Sikkerhetsinformasjon. Forsiktighetsregler og advarsler. Elektromagnetisk stråling. Lasermerknad

Utgivelsesmerknad. Sikkerhetsinformasjon. Forsiktighetsregler og advarsler. Elektromagnetisk stråling. Lasermerknad Utgivelsesmerknad Varemerker Sikkerhetsinformasjon Forsiktighetsregler og advarsler Elektromagnetisk stråling Energy Star Lasermerknad 1 Utgivelsesmerknad 2 April 2001 Følgende avsnitt gjelder ikke for

Detaljer

Document Distributor. Skripteksempler. Mars 2003. www.lexmark.com

Document Distributor. Skripteksempler. Mars 2003. www.lexmark.com Document Distributor Skripteksempler Mars 2003 www.lexmark.com Utgave: Mars 2003 Følgende avsnitt gjelder ikke for land der slike bestemmelser er uforenlige med gjeldende lover: LEXMARK INTERNATIONAL,

Detaljer

Oversikt over Document Distributor

Oversikt over Document Distributor Hvis du vil se på eller laste ned denne eller andre Lexmark Document Solutions-publikasjoner, kan du klikke her. Oversikt over Document Distributor Med Lexmark Document Distributor-pakken kan du skrive

Detaljer

Document Distributor 1. Fordeler. Document Distributor

Document Distributor 1. Fordeler. Document Distributor 1 Med Lexmark -pakken kan du skrive egendefinerte skript som tar seg av deler av papirarbeidsflyten. Du kan sette sammen slike egenutviklede skript med skanneinnstillinger (format, oppløsning, fargedybde,

Detaljer

Oversikt over Document Portal

Oversikt over Document Portal Hvis du vil se på eller laste ned denne eller andre Lexmark Document Solutions-publikasjoner, kan du klikke her. Oversikt over Document Portal Lexmark Document Portal er en programvareløsning som gir den

Detaljer

Forms Composer. Bruke Forms Composer. Oktober 2002. www.lexmark.com

Forms Composer. Bruke Forms Composer. Oktober 2002. www.lexmark.com Forms Composer Bruke Forms Composer Oktober 2002 www.lexmark.com Utgave: Oktober 2002 Følgende avsnitt gjelder ikke for land der slike bestemmelser er uforenelig med gjeldende lover: LEXMARK INTERNATIONAL,

Detaljer

Installere og bruke Document Distributor 1

Installere og bruke Document Distributor 1 1 består av server- og klientpakker med programvare. Serverpakken må installeres på en datamaskin som kjører Windows NT, Windows 2000 eller Windows XP. Klientpakken kan installeres på en hvilken som helst

Detaljer

Document Portal 1. Document Portal

Document Portal 1. Document Portal 1 Lexmark gjør det enkelt å bruke skjemaer i virksomheten din. Gå bort til berøringsskjermen, velg dokumentene og trykk på Start. er en programvareløsning som gir den funksjonaliteten du trenger for å

Detaljer

Send driver. Administratorhåndbok

Send driver. Administratorhåndbok Send driver Administratorhåndbok Januar 2013 www.lexmark.com Oversikt 2 Oversikt Ved hjelp av Send driver kan du lett få tak skriverdriveren til en bestemt skrivermodell. Programmet sender deg en e-post

Detaljer

Installere og bruke Document Distributor

Installere og bruke Document Distributor Hvis du vil se på eller laste ned denne eller andre Lexmark Document Solutionspublikasjoner, kan du klikke her. Installere og bruke Document Distributor Lexmark Document Distributor består av server- og

Detaljer

Skjemaer og favoritter

Skjemaer og favoritter Skjemaer og favoritter Versjon 5.1 Administratorhåndbok Juli 2016 www.lexmark.com Innhold 2 Innhold Endringshistorikk... 3 Oversikt... 4 Konfigurere programmet... 5 Få tilgang til Embedded Web Server...5

Detaljer

Øvingsforelesning 1 Python (TDT4110)

Øvingsforelesning 1 Python (TDT4110) Øvingsforelesning 1 Python (TDT4110) Introduksjon, Kalkulasjoner Ole-Magnus Pedersen Oversikt Praktisk Info Repetisjon fra sist Oppgaver for øving 2 2 Praktisk Info Last opp øvinger på Blackboard før godkjenning

Detaljer

Kapittel 1 En oversikt over C-språket

Kapittel 1 En oversikt over C-språket Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske

Detaljer

Programmering Høst 2017

Programmering Høst 2017 Programmering Høst 2017 Tommy Abelsen Ingeniørfag - Data Innledning Dette er et dokument med litt informasjon og eksempler om kontrollstrukturer, samt oppgaver til forskjellige kontrollstrukturer. Spør

Detaljer

Del 1 En oversikt over C-programmering

Del 1 En oversikt over C-programmering Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av

Detaljer

Forms Composer. Document Producer 1. Document Producer

Forms Composer. Document Producer 1. Document Producer 1 Lexmark TM versjon 3.1 kombinerer designprogramvare for e-skjemaer med en serverapplikasjon for e-skjemaer. Nå kan du lage egendefinerte skjemaer og sette dem sammen med skript, slik at du kan generere

Detaljer

Sharpdesk Solution Sharpdesk Document Management Solution

Sharpdesk Solution Sharpdesk Document Management Solution Sharpdesk Solution Sharpdesk Document Management Solution Effektiv forretningsinformasjon Administrer arbeidsflyten Slik registrerer, organiserer og deler du forretningsinformasjonen din Sharpdesk er en

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

Detaljer

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Valg og betingelser TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Kunne forstå og bruke if-setninger sammenlikning av strenger nøstede beslutningsstrukturer betingelser

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk

Detaljer

Programmeringsspråket C

Programmeringsspråket C Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger

Detaljer

MAT1030 Plenumsregning 1

MAT1030 Plenumsregning 1 MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke

Detaljer

INF 1000 høsten 2011 Uke september

INF 1000 høsten 2011 Uke september INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første

Detaljer

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første

Detaljer

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14. IN1000-INF1001-2018 Informasjon Eksamen i IN1000 og IN1001 høsten 2018 Tid 30. november kl. 14.30 (4 timer) Faglærere vil besøke lokalet ca kl 15-16. Oppgavene Oppgave 1a-f er kortsvarsoppgaver som rettes

Detaljer

Skann til RightFax. Administratorhåndbok

Skann til RightFax. Administratorhåndbok Skann til RightFax Administratorhåndbok November 2016 www.lexmark.com Innhold 2 Innhold Oversikt... 3 Sjekkliste for distribusjonsklar tilstand...4 Konfigurere programmet... 5 Åpne programmets konfigurasjonsside...5

Detaljer

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015 Beskrivelse av programmeringsspråket Compila15 INF5110 - Kompilatorteknikk Våren 2015 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Compila15. Den

Detaljer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å bruke unntak (Exceptions)

Detaljer

Læringsmål og pensum. if (be): else (not_to_be):

Læringsmål og pensum. if (be): else (not_to_be): 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk - 3rd edition: Kapittel 3 Professor Alf Inge Wang 2 if (be): else (not_to_be): 3 Læringsmål og pensum Mål Lære å bruke og

Detaljer

Betinget eksekvering og logiske tester i shell

Betinget eksekvering og logiske tester i shell Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget

Detaljer

Skann til RightFax. Versjon 2,0. Administratorhåndbok

Skann til RightFax. Versjon 2,0. Administratorhåndbok Skann til RightFax Versjon 2,0 Administratorhåndbok August 2017 www.lexmark.com Innhold 2 Innhold Endringshistorikk... 3 Oversikt... 4 Sjekkliste for distribusjonsklar tilstand...5 Konfigurere programmet...

Detaljer

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 16. Sept. Noen oppstartsproblemer

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

Eivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen

Eivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen Eivind Gard Lund 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen Informasjon Semantikksjekk Kodegenerering Oblig 2 tilgjengelig på kurssiden Bygger på deres oblig 1 kode. Det er lagt ut

Detaljer

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Variable og beregninger, input og utskrift TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål for denne uka: Vite litt om design av programmer (2.1, 2.2, 2.4) Kunne skrive ut

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum

Detaljer

Utgivelsesmerknad. Sikkerhetsinformasjon. Forsiktighetsregler og advarsler. Elektromagnetisk stråling. Lasermerknader

Utgivelsesmerknad. Sikkerhetsinformasjon. Forsiktighetsregler og advarsler. Elektromagnetisk stråling. Lasermerknader Utgivelsesmerknad Varemerker Sikkerhetsinformasjon Forsiktighetsregler og advarsler Elektromagnetisk stråling Energy Star Lasermerknader Merknader 1 Utgave: November 2000 Merknader 2 Følgende avsnitt gjelder

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk - 3rd edition: Kapittel 3 Professor Alf Inge Wang 2 if (be): else (not_to_be): 3 Læringsmål og pensum Mål Lære å bruke og

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK) 1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 3 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære om hvordan

Detaljer

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon

Detaljer

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030 MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2015 2016 1. runde Sponset av Uke 46, 2015 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2016 2017 1. runde Sponset av Uke 46, 2016 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Informasjon Prøveeksamen i IN1000 høsten 2018

Informasjon Prøveeksamen i IN1000 høsten 2018 Prøveeksamen IN1000-INF1001-H18 Informasjon Prøveeksamen i IN1000 høsten 2018 Tid Fra tirsdag 6.11 kl. 14:15 til tirsdag 13.11 kl. 12:00 (Normal eksamenstid er 4 timer) Oppgavene Oppgave 2b og 2c er flervalgsoppgaver.

Detaljer

HP Easy Tools. Administratorhåndbok

HP Easy Tools. Administratorhåndbok HP Easy Tools Administratorhåndbok Copyright 2014 Hewlett-Packard Development Company, L.P. Microsoft og Windows er registrerte varemerker for Microsoft-konsernet i USA. Konfidensiell datamaskinprogramvare.

Detaljer

AccuRead OCR. Administratorhåndbok

AccuRead OCR. Administratorhåndbok AccuRead OCR Administratorhåndbok April 2015 www.lexmark.com Innhold 2 Innhold Oversikt...3 Støttede programmer...3 Støttede formater og språk...4 OCR-ytelse...4 Eksempeldokumenter...6 Konfigurere programmet...10

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu. 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 11. Sept. Noen oppstartsproblemer

Detaljer

Obligatorisk oppgave 4 i INF1010, våren 2014: "Leger og resepter" Versjon 1.1

Obligatorisk oppgave 4 i INF1010, våren 2014: Leger og resepter Versjon 1.1 Obligatorisk oppgave 4 i INF1010, våren 2014: "Leger og resepter" Versjon 1.1 Denne oppgaven skal løses to og to vha. systemutviklingsmetoden Parprogrammering. For å få levere må alle registrere seg gjennom

Detaljer

Forelesning inf Java 5

Forelesning inf Java 5 Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen

Detaljer

INF Oblig 2 semantikksjekk og kodegenerering

INF Oblig 2 semantikksjekk og kodegenerering INF5110 - Oblig 2 semantikksjekk og kodegenerering Magnus Haugom Christensen Instituttet for Informatikk Universitetet i Oslo 27. Mars - 2012 Oversikt Informasjon Oppgaven Semantikksjekk Kodegenerering

Detaljer

Forelesning inf Java 5

Forelesning inf Java 5 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen til et Java-program

Detaljer

Oversikt over. CopyCentre/ WorkCentre Pro. Systemet har noen utpregede fordeler som hjelper deg å få jobben gjort. WorkCentre Pro.

Oversikt over. CopyCentre/ WorkCentre Pro. Systemet har noen utpregede fordeler som hjelper deg å få jobben gjort. WorkCentre Pro. CopyCentre/ WorkCentre Pro Oversikt over Systemet har noen utpregede fordeler som hjelper deg å få jobben gjort CopyCentre WorkCentre Pro C65/C75/C90 65/75/90 Innhold Kopiere Alternativer for avanserte

Detaljer

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: fredrso@ifi.uio.no Utdanning: Dataingeniør, 2000 Cand.Scient,

Detaljer

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster 3 emner i dag! INF1000 Uke 5 Litt om objekter, pekere og null Filer og easyio Litt mer om tekster Litt om objekter, filer med easyio, tekst 1 2 Objekter og pekere Vi lager pekere og objekter når vi bruker

Detaljer

INF5110. Oblig 2 presentasjon

INF5110. Oblig 2 presentasjon INF5110 Oblig 2 presentasjon Informasjon Oppgaven Semantikksjekk Kodegenerering Bytecode-biblioteket Ant-targets Oppsummering Oversikt Informasjon Oblig 2 tilgjengelig på kurssiden Patch med testfiler

Detaljer

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Dagens tema Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK) 1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære å designe

Detaljer

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 8. september, 2005 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 23/9-2005, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels

Detaljer

Som en del av den kontinuerlige utviklingen av systemet vil Visma Software AS kunne endre sammensetningen av pakkeløsninger, moduler og funksjoner.

Som en del av den kontinuerlige utviklingen av systemet vil Visma Software AS kunne endre sammensetningen av pakkeløsninger, moduler og funksjoner. Oslo, 6 August 2009 All informasjon i denne dokumentasjonen vil kunne forandres uten varsel og representerer ikke en forpliktelse fra produsenten. Alt materiale i denne dokumentasjonen og de program den

Detaljer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et

Detaljer

uniflow Brukerveiledning uniflow brukerveiledning

uniflow Brukerveiledning uniflow brukerveiledning uniflow brukerveiledning 1 Innhold 1 Førstegangs pålogging/utskrift... 3 1.1 Aktivering av kort... 3 2 Print... 4 2.1 Hvordan å foreta en utskrift... 4 3 Kopi... 5 3.1 Endre fra tosidig til ensidig kopiering...

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon Oversikt INF1000 Uke 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning Uttrykk

Detaljer

INF120: Oblig 3. Yngve Mardal Moe

INF120: Oblig 3. Yngve Mardal Moe Yngve Mardal Moe Mar 28, 2019 Contents 1 Hva trenger dere for denne oppgaven 3 2 Hvordan skal dere arbeide med denne oppgaven 5 3 En søkeindeks 7 4 Å slå opp i en søkeindeks 9 5 Å utvide en søkeindeks

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

Lynkurs i shellprogrammering under Linux

Lynkurs i shellprogrammering under Linux Lynkurs i shellprogrammering under Linux Interaktiv bruk av shell Shell/skall er en applikasjon som lar bruker taste inn tekstlige kommandoer til Linux en og en linje om gangen (leser linjer fra stdin).

Detaljer

Del 2 Tabeller, arrays, strenger

Del 2 Tabeller, arrays, strenger Del 2 Tabeller, arrays, strenger 1 RR 2016 Tabeller Variabel som kan holde mange verdier. Styrer bruken med indeks. Det er ingen indekskontroll i C. int tab[5] = {2, 4, 6, 8, 10}; tab[4] = 12; int tab[100]

Detaljer

Introduksjon til DARK assembly

Introduksjon til DARK assembly Introduksjon til DARK assembly Magnus Jahre Institutt for datateknikk og informasjonsvitenskap 2 Plan Assembly vs. Java Dark stakkmaskin Oversikt over stakkmaskinen Dark stakkmaskin eksempel Dark Load-Store

Detaljer

Forelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.

Forelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min. Forelesning inf1000 - Java 5 Forelesningsquiz Tema: En liten quiz (se utdelt ark) Filbehandling Tekster Ole Christian Lingjærde, 19. september 2012 Sett dere to (eller tre) sammen og besvar de fire spørsmålene

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2017 2018 1. runde Sponset av Uke 46, 2017 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2015

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2015 Norsk informatikkolympiade 2015 2016 1. runde Sponset av Uke 46, 2015 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Del 3: Evaluere uttrykk

Del 3: Evaluere uttrykk Del 3: Evaluere uttrykk Hva skal vi gjøre? Hvordan lagre Asp-verdier Hvilke operasjoner må jeg implementere? Er operasjonen lovlig? Utføre operasjonen Strukturen til interpreten vår f.asp 3&4 Interpret

Detaljer

MAT-INF 1100: Obligatorisk oppgave 1

MAT-INF 1100: Obligatorisk oppgave 1 3. september, 2004 MAT-INF 1100: Obligatorisk oppgave 1 Innleveringsfrist: 17/9-2004, kl. 14:30 Informasjon Den skriftlige besvarelsen skal leveres på ekspedisjonskontoret i 7. etg. i Niels Henrik Abels

Detaljer

Obligatorisk oppgave 1 INF1020 h2005

Obligatorisk oppgave 1 INF1020 h2005 Obligatorisk oppgave 1 INF1020 h2005 Frist: fredag 7. oktober Oppgaven skal løses individuelt, og må være godkjent for å kunne gå opp til eksamen. Før innlevering må retningslinjene Krav til innleverte

Detaljer

Læringsmål og pensum. Oversikt

Læringsmål og pensum. Oversikt 1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 39 Betingede løkker og vektorisering Læringsmål Skal kunne forstå og programmere betingede løkker med while Skal kunne utnytte plassallokering

Detaljer

Verdens korteste grunnkurs i Excel (2007-versjonen)

Verdens korteste grunnkurs i Excel (2007-versjonen) Verdens korteste grunnkurs i Excel (2007-versjonen) NB! Vær oppmerksom på at Excel kan se annerledes ut hos dere enn det gjør på bildene under. Her er det tatt utgangspunkt i programvaren fra 2007, mens

Detaljer

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder: Lese fra fil Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo INF1000 : Forelesning 5 Vi må først importere pakken easyio Vi åpner

Detaljer

Kompatibilitetsveiledning for skriver, tilleggsutstyr og stativ. Laserskrivere

Kompatibilitetsveiledning for skriver, tilleggsutstyr og stativ. Laserskrivere Kompatibilitetsveiledning for skriver, tilleggsutstyr og stativ Laserskrivere Januar 2012 www.lexmark.com Utgivelsesmerknad Januar 2012 Det følgende avsnittet gjelder ikke i land der slike bestemmelser

Detaljer

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og

Detaljer

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang

Detaljer

Utgivelsesmerknad. Lisensmerknad. Sikkerhetsinformasjon. Forsiktighetsregler og advarsler. Elektromagnetisk stråling

Utgivelsesmerknad. Lisensmerknad. Sikkerhetsinformasjon. Forsiktighetsregler og advarsler. Elektromagnetisk stråling Utgivelsesmerknad Varemerker Lisensmerknad Sikkerhetsinformasjon Forsiktighetsregler og advarsler Elektromagnetisk stråling Støynivåer Energy Star 1 Utgivelsesmerknad 2 Oktober 2001 Følgende avsnitt gjelder

Detaljer

Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen.

Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen. IN1000 - Seminaroppgaver til uke 1 Nyttig å vite: PEP 8 -- Style Guide for Python Code. Dersom det som undervises i IN1000 ikke samstemmer med PEP, så skal dere følge den stilen som undervises og ikke

Detaljer

Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012

Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012 Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Simpila. Den dynamiske

Detaljer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU 1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære bruk av inn- og ut-operasjoner

Detaljer

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016 Norsk informatikkolympiade 2016 2017 1. runde Sponset av Uke 46, 2016 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

Programvareoppdateringer Brukerhåndbok

Programvareoppdateringer Brukerhåndbok Programvareoppdateringer Brukerhåndbok Copyright 2009 Hewlett-Packard Development Company, L.P. Windows er et registrert varemerke for Microsoft Corporation i USA. Informasjonen i dette dokumentet kan

Detaljer

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110) Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008 Leveringsfrist Oppgaven må løses individuelt og leveres senest fredag 22. februar 2008 kl 16.00 via Joly. Viktig: les slutten av oppgaven for

Detaljer

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Denne uka Vi trenger å Støttes av Hente data fra bruker Vise data til bruker Lagre data i minnet for bruk videre i programmet Fra tastatur:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer

Brukerveiledning for ArkN4

Brukerveiledning for ArkN4 Brukerveiledning for ArkN4 Brukerveiledningen er delt inn i 3 deler: 1. Konfigurasjon av ArkN4 2. Kjøre ArkN4 3. Opprette ny database Eksemplene i dette kapitlet viser hvordan man velger de forskjellige

Detaljer

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster Oversikt INF1000 Uke 6 Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster Litt om objekter, filer med easyio, tekst Arne Maus 1 2 Objekter, pekere og null Vi lager pekere og objekter

Detaljer

1. Hent NotaPlan Online Backup på www.notaplan.no 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup

1. Hent NotaPlan Online Backup på www.notaplan.no 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup 1 Systemkrav ADSL eller minimum ISDN via router. Ved automatisk backup: Min. Windows XP / 2000 / 2003 (pga. Service) Ved manuellt system: Min. Windows 98 SE NotaPlan Backup bør installeres på den/de maskiner

Detaljer

6105 Windows Server og datanett

6105 Windows Server og datanett 6105 Windows Server og datanett Labøving: Deling av mapper, filer og skrivere i arbeidsgruppe Oppgavebeskrivelse Her forklares kort hva øvingen går ut på for de som ønsker å finne løsningen selv. Hvis

Detaljer