Algoritmusok Tervezése. 5. Előadás Visual Basic 2. Dr. Bécsi Tamás

Hasonló dokumentumok
SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Utasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok

VBA. Visual Basic for Applications

Egyszerű példaprogramok gyakorláshoz

SZÉCHENYI ISTVÁN EGYETEM EXCEL PROGRAMOZÁS. Oktatási segédlet. Pusztai Pál

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

munkafüzet open eseményéhez

SEGÉDLET ADATKEZELÉS MS EXCEL-BEN. Tároljuk az adatokat Excel munkalapon. Megjegyzés: A feladatokat MS Office Excel ban oldottuk meg.

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

6. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

Tipp A Word makrók kimerítõ tárgyalását megtalálhatjuk az O Reilly gondozásában megjelent Writing Word Macros címû könyvben.

A C programozási nyelv III. Pointerek és tömbök.

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

A C programozási nyelv III. Pointerek és tömbök.

VISUAL BASIC ALAPISMERETEK

Access adatbázis elérése OLE DB-n keresztül

4. GYAKORLAT. Rövid elméleti összefoglaló. Írjunk függvényt a téglalap területének kiszámítására: Visual Basic függvény

Programozás alapjai. 7. előadás

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

Java II. I A Java programozási nyelv alapelemei

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Option Explicit Option Base 1

Informatika terméktervezőknek

Excel jellemzése, architektúra modellje. Excel architektúra:

1. Jelölje meg az összes igaz állítást a következők közül!

Leírásukat lásd az egyes pontokban

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Programstrukturáló utasítások

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović

3. Osztályok II. Programozás II

Számítástechnika labor feladatok a 2012/2013. tanév őszi félévében

Készítette: Nagy Tibor István

Adatbázis rendszerek Gy: Excel makrók. Ismétlőrobotok

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

Táblázatkezelés 2. előadás. Alapok (folyt.)

OOP #14 (referencia-elv)

Eljárások és függvények

3. Gyakorlat Ismerkedés a Java nyelvvel

Java II. I A Java programozási nyelv alapelemei

Visual Basic elméleti leti alapok 2.

A fájlkezelés alapjai (titkosítás Caesar kóddal)

OOP: Java 4.Gy: Java osztályok

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Programozás alapjai. 5. előadás

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

VISUAL BASIC SCRIPT. A Visual Basic Script programozási nyelv

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Kereső függvények és használatuk a Microsoft Excel programban. dr. Nyári Tibor

VBA alapok, Excel objektumainak metódusai és tulajdonságai

1. oldal, összesen: 5

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Könyvtári alkalmazás fejlesztés

Kifejezések. Kozsik Tamás. December 11, 2016


List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

A Java nyelv. Dialógus ablakok. Elek Tibor

Kiegészítő előadás. Vizsgabemutató VBA. Dr. Kallós Gábor, Fehérvári Arnold, Pusztai Pál Krankovits Melinda. Széchenyi István Egyetem

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

RBLDNS DNS-based blocklists management felhasználói kézikönyv

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Vezérlő Sub adatbazis_click () On Error GoTo hiba: dde = Shell(CurDir$ + "\adatbaz.exe", 1) On Error GoTo 0 GoTo tovabb:

BME MOGI Gépészeti informatika 8.

C programozási nyelv Pointerek, tömbök, pointer aritmetika

BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli. A versenyzők figyelmébe:

Táblázatkezelés alapjai. Számítógépek alkalmazása 1. 5b. előadás, október 25.

Táblázatkezelés alapjai 1. Számítógépek alkalmazása 1. 4B. előadás, 2003.október 27.

Excel VI. Haladó ismeretek. Makrók készítése Visual Basic nyelven Egyszerű Visual Basic program

Bevezetés a C++ programozási nyelvbe

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Programozás BMEKOKAA146. Dr. Bécsi Tamás 10. Előadás

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás

1. Alapok. Programozás II

JAVA PROGRAMOZÁS 2.ELŐADÁS

az Excel for Windows programban

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Web-technológia PHP-vel

Programozás I. Első ZH segédlet

Osztály és objektum fogalma

Feltételes formázás az Excelben

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Számítástechnika. A Számítástechnika c. tárgy beosztása 2018/2019/I. tanévben. Szervetlen és Analitikai Kémia Tanszék

Adattípusok. Max. 2GByte

AWK programozás, minták, vezérlési szerkezetek

GYAKORLATIAS JAVA MINTA

Osztályok. 4. gyakorlat

Imperatív programozás

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

Adattípusok. Max. 2GByte

Táblázatkezelés 5. - Függvények

Adatbázisok* tulajdonságai

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Átírás:

Algoritmusok Tervezése 5. Előadás Visual Basic 2. Dr. Bécsi Tamás

Tömbök A deklarálás (egyszerűsített) szintaktikája: Dim varname[([subscripts])] [As type] [,...] Az indexek (subscripts) megadásának szintaktikája: [lower To] upper [,[lower To] upper],... Pl. Dim a(10) As Integer 'Egydimenziós tömb Dim b(1 To 5, -3 To 2) As Double 'Kétdimenziós tömb Option Base {0 1}

Tömbök átméretezése Szintaktika: ReDim [Preserve] varname(subscripts) [As type] [,...] Pl. Dim a() As Integer 'Dinamikus tömb egészekből ReDim a(5) 'A tömb legyen 5 elemű For i = 1 To 5 'A tömb használata a(i) = i Next ReDim Preserve a(10) 'A tömb legyen 10 elemű 'Az első 5 elem értéke megmarad, a többi 0 lesz

Tömbök méretének lekérdezése Szintaktika: UBound(arrayname[,dimension]) LBound(arrayname[,dimension]) arrayname A tömb azonosítója. dimension A lekérdezendő dimenzió sorszáma (alapértelmezett értéke 1). Pl. Dim a(10) As Integer Dim b(1 To 5, -3 To 2) As Double UBound(a) 10 UBound(b) 5 UBound(b,2) 2 LBound(a) 0 LBound(b) 1 LBound(b,2) -3

Rekordok A rekordtípus megadásának (egyszerűsített) szintaktikája: Type name elementname[([subscripts])] As type elementname[([subscripts])] As type... End Type name A rekordtípus azonosítója. elementname Az adott mező azonosítója. subscripts Ha a mező tömb, akkor annak indexhatárai. type Az adott mező típusa.

Rekord Példa Type Adat Nev As String * 20 'Fix (20) hosszú sztring Jegyek(1 To 2) As Byte End Type Dim h As Adat, a(1 To 3) As Adat h.nev = "Halász Helga" a(1).jegyek(1) = 5, vagy With a(2).nev = "Vadász Viktória":.Jegyek(1) = 3:.Jegyek(2) = 4 End With

MsgBox MsgBox(prompt[, buttons] [, title] [, helpfile, context]) felugró ablak buttons Constant vbokonly Description Display OK button only. Return value Description vbokcancel Display OK and Cancel buttons. vbok OK vbabortretryignore vbyesnocancel vbyesno Display Abort, Retry, and Ignore buttons. Display Yes, No, and Cancel buttons. Display Yes and No buttons. vbcancel vbabort Cancel Abort vbretrycancel Display Retry and Cancel buttons. vbretry Retry vbcritical vbquestion vbexclamation Display Critical Message icon. Display Warning Query icon. Display Warning Message icon. vbignore vbyes Ignore Yes vbinformation Display Information Message icon. vbno No

MSGBox Példa MsgBox ("Helló világ") Dim response As Integer response = MsgBox("Nyomj meg egy gombot", vbyesnocancel, "Gombnyomás") Select Case response Case vbyes MsgBox ("A Yes gomb volt") Case vbno MsgBox ("A No gomb volt") Case vbcancel MsgBox ("A Cancel gomb volt") End Select

InputBox InputBox(prompt[,title][,default]) prompt - Tájékoztató üzenet. title - Az ablak fejlécében megjelenő szöveg. default - Az adat alapértelmezett értéke. Dim n As Integer n = InputBox("Kérem az adatok számát!", "Kérdés", 0)

Szubrutinok (függvények) Eljárás deklarálásának (egyszerűsített) szintaktikája: [Private Public] Sub name[(arglist)] [statements] End Sub Függvény deklarálásának (egyszerűsített) szintaktikája: [Private Public] Function name[(arglist)] [As type] [statements] [name=expression] End Function Private A szubrutin csak abból a modulból hívható, amelyikben deklaráltuk. Public A szubrutin minden modulból meghívható (ez az alapértelmezés). name A szubrutin azonosítója. arglist A szubrutin formális paraméterei (opcionális). type A függvény eredményértékének a típusa

Szubrutinok (függvények) A formális paraméterek megadásának szintaktikája: [Optional][ByVal ByRef][ParamArray]varname[()][As type][=defaultvalue] Optional A paraméter elhagyható. (Csak a lista végén helyezkedhet el) ByVal A paraméter átadása érték szerinti. ByRef A paraméter átadása cím szerinti (ez az alapértelmezés). ParamArray Tetszőleges számú Variant típusú paraméter átadásához. varname A paraméter azonosítója. type A paraméter típusa. defaultvalue Az opcionális paraméter alapértelmezett értéke.

Szubrutinok hívása Call szubrutinnév(argumentumok) vagy szubrutinnév argumentumok

Szubrutin Példa Sub Osszeg(Pa As Integer, Pb As Integer) MsgBox (Pa + Pb) End Sub Sub Gomb2_Click() Dim a As Integer Dim b As Integer a = 1 b = 2 Call Osszeg(a, b) Osszeg a,b End Sub

Cím és értékszerinti paraméterátadás Sub MegegyByVal(ByVal Pa As Integer) Pa = Pa + 1 End Sub Sub MegegyByRef(ByRef Pa As Integer) Pa = Pa + 10 End Sub Sub Gomb2_Click() Dim a As Integer a = 1 Call MegegyByVal(a) MsgBox (a) Call MegegyByRef(a) MsgBox (a) End Sub

Függvény példa Function osszead(a As Double, b As Double) As Double osszead = a + b End Function Sub Gomb2_Click() Dim a As Double, b As Double, c As Double a = 21.3 b = 12.5 c = osszead(a, b) MsgBox (c) End Sub

Range A Range objektum cellatartomány kezelésére használatos. Az A1 stílusú hivatkozás: a cellatartományt egy sztringben megadott kifejezéssel hivatkozzuk. Pl. Range( A1 ), Range( c2 ), Range( A2:B3 ), Range( A:A ), Range( 1:1 ), Range( A1:A5,C1:C5 ), Range( A:A,C:D ). Az R1C1 stílusú hivatkozás: a cellatartományt a sor- és oszlopindexek segítségével hivatkozzuk. Pl. Cells(1,1), Cells(2,3), Range(Cells(2,1), Cells(3,2)), Columns(1), Rows(1).

Range metódusok Tartalom törlése: ClearContents metódus Range("A1:A4").ClearContents Formátum törlése: ClearFormats metódus Range("A1:A4").ClearFormats A tartalom és a formátum törlése: Clear metódus Range("A1:A4").Clear A blokk celláinak törlése: Delete metódus Range("A1:A4").Delete

Range address Az Address tulajdonság használatának (egyszerűsített) szintaktikája: expression.address(rowabsolute, ColumnAbsolute, ReferenceStyle, RelativeTo) 'Az aktuális munkalap egy cellájának hivatkozása A1 stílusban MsgBox Cells(2,3).Address '$C$2 MsgBox Cells(2,3).Address(True, False) 'C$2 MsgBox Cells(2,3).Address(False, True) '$C2 MsgBox Cells(2,3).Address(False, False) 'C2 'Az aktuális munkalap egy cellájának címe R1C1 stílusban MsgBox Cells(2,3).Address(ReferenceStyle:=xlR1C1) 'R2C3 MsgBox Cells(2,3).Address(ReferenceStyle:=xlR1C1, _ RowAbsolute:=False, ColumnAbsolute:=False, _ RelativeTo:=Cells(1,1)) 'R[1]C[2]

Range Képletek: Formula, FormulaLocal 'Az aktuális munkalapon fix képletet fix helyre Range("C5").Formula = "=SUM(C2:C4)" Range("D5").FormulaLocal = "=SZUM(D2:D4) 'Az A1-es cellát tartalmazó blokk alá az első oszlopba s = Range("A1").CurrentRegion.Rows.Count st = Cells(s, 1).Address(False, False) Cells(s + 1, 1).FormulaLocal = "=ÁTLAG(A1:" + st + ") " 'Az A1-es cellát tartalmazó blokk mellé az első sorba o = Range("A1").CurrentRegion.Columns.Count st = Cells(1, o).address(false, False) Cells(1, o + 1).FormulaLocal = "=SZUM(A1:" + st + ")"