Översikt över Visual Basic

Relevanta dokument
Visual Basic, en snabbgenomgång

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

TDIU01 - Programmering i C++, grundkurs

Klassdeklaration. Metoddeklaration. Parameteröverföring

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

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

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Logik och kontrollstrukturer

Variabler och konstanter

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Övning2. Variabler. Data typer

i LabVIEW. Några programmeringstekniska grundbegrepp

Föreläsning 3: Booleans, if, switch

TDIU01 - Programmering i C++, grundkurs

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Pascal... Pascal. Pascal... Pascal...

Programmering för språkteknologer I, VT2012. Rum

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

Laboration 1 Introduktion till Visual Basic 6.0

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

DSV A Procedurell programmering 5 poäng Tentamen

Beräkningsvetenskap föreläsning 2

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

Föreläsning 2 Programmeringsteknik och C DD1316

C++ - En introduktion

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Objektorienterad programmering Föreläsning 4

Föreläsning 3-4 Innehåll

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

SMD 134 Objektorienterad programmering

Tentamen Grundläggande programmering

Programmeringsteknik I

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Exempel på ett litet Ada-program

Parameteröverföring. Exempel. Exempel. Metodkropp

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Programmering A. Johan Eliasson

Användarhandledning Version 1.2

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

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

TDDC77 Objektorienterad Programmering

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

F4. programmeringsteknik och Matlab

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Introduktion till MATLAB

Obligatorisk uppgift 5

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

OOP Objekt-orienterad programmering

LÖSNINGSFÖRSLAG TENTAMEN

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Introduktion C-programmering

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Twincat: PLC Control

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Repetition C-programmering

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Objektorienterad Programmering (TDDC77)

DD1314 Programmeringsteknik

Översikt MERA JAVA OCH ECLIPSE. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

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

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

Programmeringsteknik med C och Matlab

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

2.4. Teckensträngar och logiska uttryck

Systemutvecklare SU13, Malmö

TENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Programmeringsteknik med C och Matlab

TDIU01 - Programmering i C++, grundkurs

Föreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden

Föreläsning 4. Val, boolska värden, läsbarhet, osv

Objektorienterad Programmering (TDDC77)

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

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Tentamen ID1004 Objektorienterad programmering October 29, 2013

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Omtenta, Programmeringsteknisk översiktskurs, VT06

Obligatorisk uppgift: Numerisk kalkylator

Objektorienterad programmering i Java

Föreläsning 6: Introduktion av listor

"Crash Course in Programming"

Enkla datatyper minne

Datatyp - mera. Begreppet värde, igen. Ett slags mått på en egenskap, eller något fenomen. Ska ges en bred tolkning!

Grundläggande datalogi - Övning 1

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Objektorienterad programmering

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Transkript:

Översikt över Visual Basic Om denna översikt Denna översikt ger en kort introduktion till de viktigaste delarna i programspråket Visual Basic 6.0. På alla ställen där det beskrivs hur man skriver kod gäller följande: - Exemplen visar hur koden ska indenteras - Ord som är inom klamrar ( < och > ) ska ersättas av programmeraren med ett lämpligt val tex namn på en variabel eller en datatyp. Ett program Ett program i Visual Basic består av ett antal rader. Varje rad kallas för sats (statement). Satserna kan vara Tilldelningar Villkorssatser Repetitionssatser Anrop till procedurer (subrutiner) I många av satserna behöver vi behållare för värden, dessa kallas variabler och är av en viss datatyp. I många satser finns också uttryck. Uttryck Uttryck kan vara aritmetiska eller logiska (inklusive jämförelseuttryck) men kan också bestå av ett anrop till en funktion. I ett uttryck ingår en eller flera operatorer. Aritmetiska och konkatineringsoperatorer har alla högre prioritet än jämförelseoperatorerna som i sin tur har högre prioritet än de logiska operatorerna. Operatorer som har samma prioritet beräknas från vänster till höger i uttrycket. Parenteser kan styra beräkningen (och göra den mer läsbar!) Jämförelseoperatorer (alla ligger på samma prioritetsnivå) = Lika med <> Skiljt ifrån < Mindre än <= Mindre än eller lika med > Större än >= Större än eller lika med Aritmetiska och konkatineringsoperatorer i prioritetsordning Namn Symbol Exempel Upphöjt till ^ 2^3 Unär negation - -5 Multiplikation och *, / 2*3, 5/2 division Heltalsdivision \ 5\2 Modulus Mod 5 Mod 2 Addition och +, 2+3, 4-5 subtraktion Sträng konkatenering & Hej & då! Logiska operatorer (i prioritetsordning) Not Negation, icke And Konjunktion, och Or Disjunktion, eller A Sant Falskt Not A Falskt Sant Sanningstabeller för de logiska operatorerna A B A And B A B A Or B Sant Sant Sant Sant Sant Sant Sant Falskt Falskt Sant Falskt Sant Falskt Sant Falskt Falskt Sant Sant Falskt Falskt Falskt Falskt Falskt Falskt

Variabler Deklaration Dim <variabelnamn> As <datatyp> Deklaration av statiska variabler Static <variabelnamn> As <datatyp> Deklaration av arrayer Dim <variabel> (0 to n) As <datatyp> här anges nedre och högre gräns för index Dim <variabel> (n) As <datatyp> Index 0 till n ger n+1 element Om man vill kunna ändra storleken på en array under körning kan man använda sig av ReDim. För att det ska fungera så måste det göras på ett av följande sätt: Först deklarera variabeln utan storlek Dim <variabel> () As <datatyp> Och sen omdimensionera den längre ned ReDim <variabel> (<given storlek eller variabel>) As <Datatyp> Ett annat alternativ är att först utnyttja en variabel (som man kanske fått via en parameter?), dvs inte ett siffervärde! Dim <variabel> (n) As <datatyp> Då kan man sen omdimensionera arrayen ReDim <variabel> (<given storlek eller variabel>) As <Datatyp> Om man stoppat in element innan man dimensionerar om så kan man få dem att stanna kvar i arrayen med hjälp av ordet Preserve ReDim Preserve <variabel> (<given storlek eller variabel>) As <Datatyp> Konstanter Deklaration av konstanter Const <constantnamn> = <värde> Datatyper Heltal - Byte heltal i området 0 till 255 (8 bitar) - Integer heltal i området -32768 till 32767 (16 bitar) - Long heltal i området -2147483648 till 2147483647 (32 bitar) Decimaltal (lagras med mantissa och exponent) - Single (32 bitar) - Double (64 bitar) - Currency (fast decimalttecken mellan pos 15 o 16 av 19 tecken) String, text skrivs inom och tex Hejsan svejsan, 2 Boolean, logiskt värde kan antingen vara True eller False Date representerar ett datum som ett heltal Variant en datatyp som kan lagra alla slags datatyper Man kan skapa egna datatyper också: Type <Typnamn> <ingående del1> As <datatyp1> <ingående del2> As <datatyp2>... End Type

Tilldelningar <variabelnamn> = <uttryck> Villkorssatser If-satsen Else Annars gör detta End If Else-delen kan uteslutas: End If Annars gör inget... Select case-satsen Select Case <Variabel> Case Else End Select Om else-delen består av en ny if-sats kan man skriva ihop den så här: Else Ev flera Else/ElseIf-satser End If Uttrycken kan vara - ett värde case 7 - ett intervall case 1 to 10 - en variabel case x - ett uttryck case x + 3*a - en jämförelse case Is > 7 - en disjunktion case a, A - kombinationer av ovanstående case 1, 3, 7 to 10, 13 Repetitionssatser For-loopen For <stegvar> = <start> To <slut> Gör detta varje varv Next <stegvar> Man stega med andra steg än 1 också genom att lägga på step i for-loopens start. Några exempel som visar hur det kan se ut: For i = 1 To 10 step 2 intsum = intsum + i Next i For i = 10 To 1 step -1 intsum = intsum + i Next i Do Loop Until-loopen Do Loop Until <villkor> While-loopen While <villkor> Wend

Procedurer/funktioner [Private Public] Sub <procedurenamn>(<argument>) End Sub [Private Public]Function <funktionsnamn>(<argument>)[as <datatype>] End Function Visual Basic skickar parametrar by reference som default o Om man ändrar en parameter inuti en procedur så förändras värdet på den aktuella parametern också o De aktuella parametrarna (argumenten) och de formella parametrarna delar samma minnesutrymme. o Det används om man vill returnera ett/flera värden från en procedur (eller flera värden från en funktion) Kan också skicka parametrar by value o Proceduren skapar en kopia av den aktuella parametern och ändrar inte värdet på originalet o Det är bra metodik att skicka parametrar by value om man inte tänker ändra dem. o Man talar om för Visual Basic att en parameter ska skickas by value genom att skriva ByVal framför parametern i deklarationen Filhantering Öppna filer - Open <filename> For Input Output Append As #<FilNr> o Open-anropet kopplar samman filnamnet och programmets unika nummer. o Filnamnet <filename> måste ha hela sökvägen App.Path ger sökväg till aktuell katalog o Öppna för läsning Input o Öppna för skrivning Output (tömmer en fil) o Öppna för skrivning Append (fyller på i slutet av filen) o <FilNr> är ett unikt tal som identifierar filen i programmet. Nytt unikt nummer fås av funktionen FreeFile EOF(nr) kollar om filen med nummer nr är slut Läsa från filer Line Input #<FilNr>, <stringvariabel> läser in en rad Input #<FilNr>, <var1>, <var2> läser in till variabler OBS! Kräver kommaseparerad fil! Skriva till filer Print #<FilNr>, <stringvariabel> skriver en rad (eller vad som lagras i strängen) Write #<FilNr>, <var1>, <var2> skriver till en kommaseparerad fil Stänga filer Stänger en fil med hjälp av rutinen Close Close #1 eller Close #FilNr Utskrifter Om man har en PictureBox i sitt formulär kan detta användas för utskrifter: - Orden Hej och då på var sin rad picout.print Hej picout.print då - Orden i varsin zon (som är 15 tecken långa) picout.print Hej, då - Orden med 4 blanka emellan picout.print Hej ; space(4); då - En tom rad picout.print

- Orden i en följd trots att Print-satserna är på olika rader picout.print Hej ; picout.print då Vill man visa ett kort meddelande till användaren kan man använda en MsgBox: MsgBox <texten man vill skriva ut> Strängfunktioner i VB - Len(str) längden på en sträng, - Left(str, antal) plockar ut antal tecken från vänster i str, - Right(str, antal) plockar ut antal tecken från höger i str, - Mid(str, start, antal) plockar ut antal tecken från positionen start i str, - strcmp(str1, str2, [JämfMetod]) o jämför två strängar, returnerar -1 om str1 är mindre än str2 o returnerar 0 om str1 är lika med str2 o returnerar 1 om str1 är större än str2 o JämfMetod talar om vilken metod som ska användas, default = binär jämförelse I en binär jämförelse är inte a och A lika varandra. Ange konstanten vbbinarycompare I en textuell jämförelse är de lika. Ange konstanten vbtextcompare - LTrim( Test ) ger Test - RTrim( Test ) ger Test - Trim( Test ) ger Test - InStr([Start], SträngAttSökaI, SökSträng,[JämfMetod]) Söka en delsträng eller tecken i en större sträng (om Jämfmetod se under strcmp) - UCase(str) omvandlar str till upper case, dvs enbart versaler - LCase(str) omvandlar str till upper case, dvs enbart gemener Matematiska funktioner i VB - Exp(x), e x - Log(x), den naturliga logaritmen (basen e) - Sqr(x), roten ur x - Rnd, 0 <= slumptal < 1 - Abs(x), absolutbeloppet av x - Sgn(x), returnerar 1 (x<0), 0 (x=0) eller 1 (x>0) - Fix(x), heltalsdelen närmast 0, Fix(-6.7) => -6 - Int(x), heltalsdelen neråt, Int(-6.7) => -7 - Atn(x), Cos(x), Sin(x), Tan(x) Undantagshantering Ibland vet man inte varför det gått fel. - Err en funktion som ger en felkod för felet (heltal) - Error en funktion som kan översätta felkoden till (engelsk) text Finns två val vad man ska göra efter ett fel uppkommit - avsluta rutinen (Exit Sub) - fortsätta exekveringen på raden efter det att felet uppkom (Resume Next)