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

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

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

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

Vizuális, eseményvezérelt programozás I.

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

Ugráló gomb oktatási segédlet Ugráló gomb

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

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

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

Mérési adatgyűjtés és adatfeldolgozás 2. előadás

BME MOGI Gépészeti informatika 6.

Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika

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

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

Programozás 2., II. kötet Windows form alkalmazások

Vizuális programozás gyakorlat

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

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

BME MOGI Gépészeti informatika 4.

BME MOGI Gépészeti informatika 7.

BME MOGI Gépészeti informatika 14.

Entity Framework + LINQ oktatási segédlet

Windows Application. Miklós Árpád Dr. Kotsis Domokos

OOP #14 (referencia-elv)

OOP: Java 8.Gy: Abstract osztályok, interfészek

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor

VISUAL BASIC ALAPISMERETEK

Programozási nyelvek Java

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

Johanyák Zsolt Csaba: Grafikus felület programozása. Copyright 2008 Johanyák Zsolt Csaba

Objektumorientált programozás C# nyelven

Segítség a megoldáshoz: 1. Készítse el a Window-t az ábrának és az osztálydiagramnak megfelelően.

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

Generikus Típusok, Kollekciók

Elemi alkalmazások fejlesztése III.

C# osztályok. Krizsán Zoltán

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

Grafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok

Események C#-ban Krizsán Zoltán iit

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

C# feladatgy jtemény

BME MOGI Gépészeti informatika 5.

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

A feladatok megoldásához felhasználandó osztályok leírásait az alábbi URL-en találja meg:

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

C#, OOP. Osztályok tervezése C#-ban

"Egységes erdélyi felnőttképzés Kárpát-medencei hálózatban" JAVA ALAPÚ WEBPROGRAMOZÁS. M6 Modul: A DOM Modell

Programozás II. labor

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

3.2. Az alkalmazások ablaka

Programozási Paradigmák és Technikák

Programozási nyelvek Java

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Form1 Form Size 400;400 Text Mozgó kör timer1 Timer Enabled True Interval 100

Egy dinamikus adatbázis megvalósítása egy megrendelő-raktározó alkalmazáson keresztül.

Objektumorientált programozás C# nyelven

CAN alapú járműves adatokat megjelenítő szoftver fejlesztése

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

Objektumorientált programozás IX. Osztályok, objektumok

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

Johanyák Zsolt Csaba: Képnézegető program oktatási segédlet

4. Példa: Másodfokú egyenlet megoldása (program2_1.vi)

Kétdimenziós rajzolás WPF-ben

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

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

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

Adatbázisok webalkalmazásokban

Objektumorientált programozás C# nyelven

BME MOGI Gépészeti informatika 13.

A C# programozási nyelv alapjai

eseményvezérelt megoldások Vizuális programozás 5. előadás

II. Programozási technológiák

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

Programozás I. Grafika Eseménykezelés. Programozás I. 2. gyakorlat Interakció a grafikus felületen, tagfüggvények. Surányi Márton PPKE-ITK

Eseményvezérelt alkalmazások fejlesztése II 5. előadás. Windows Forms alkalmazások párhuzamosítása. Giachetta Roberto

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

BME MOGI Gépészeti informatika 1.

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

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

Vizuális programozás gyakorlat

Java felhasználói felület

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

Java VII. Polimorfizmus a Java nyelvben

munkafüzet open eseményéhez

Mérési adatgyűjtés és adatfeldolgozás. BME TTK Fizika Tanszék 2013/2014 tavaszi félév Copyright Geresdi Attila, Halbritter András

3. Osztályok II. Programozás II

C# develop feladatleírások

Java Programozás 1. Gy: Java alapok. Ismétlés ++

A szerzõrõl... xi Bevezetés... xiii

1. ábra Fájl feltöltése 2. ábra Megtekintés

Egységes és objektumközpontú adatbázis-kezelés (2. rész)

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

Pénzügyi algoritmusok

Felhasználó által definiált adattípus

Átírás:

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

Véletlen számok generálása a Random osztály System.Random Metódus Típus Funkció Next() int Egy véletlen nem-negatív int értékkel tér vissza. Next(int maxvalue) int Egy véletlen nem-negatív int értékkel tér vissza, amely kisebb a megadott maximumnál (maxvalue). Next(int minvalue, int maxvalue) int Egy véletlen int értékkel tér vissza, amelyre igaz, hogy minvalue<=value<maxvalue NextDouble() double Egy véletlen double értékkel tér vissza, amelyre igaz, hogy 0.0<=value<1.0

Random példa 1. int[,] tomb = new int[10,3]; Random rand = new Random(); for (int i = 0; i < 10; i++) { tomb[i, 0] = rand.next(); tomb[i, 1] = rand.next(10); tomb[i, 2] = rand.next(-5, 5); } tomb[,0] tomb[,1] tomb[,2] 65608926 1-3 602213958 5-5 1974240909 9-2 997460954 4-3 1955236001 6 2 796408036 3-3 98342646 0-3 629412694 7 1 1852476578 5-5 1830828821 2 4

Random példa 2. double[] tomb = new double[10]; Random rand = new Random(); for (int i = 0; i < 10; i++) { tomb[i] = rand.nextdouble(); } 0,438931300043562 0,552266800101971 0,0488236667815706 0,925365710596259 0,741456752522596 0,0849849493638542 0,726119756105412 0,556502985561501 0,631167631424576 0,289191639651168

A CheckBox komponens Tulajdonságok: Típus Tulajdonság Magyarázat bool Checked Állapotjelző két állapot esetén: (true: bejelölve,false: nem bejelölve) bool ThreeState Beállítható, hogy két, vagy három állapota legyen a Controlnak CheckState CheckState Állapotjelző három állapot esetén: (CheckState.Checked, CheckState.Indeterminate CheckState.Unchecked) Események: Esemény CheckedChanged CheckStateChanged Magyarázat A Checked tulajdonság megváltozása esetén meghívódó esemény A CheckedState tulajdonság megváltozása esetén meghívódó esemény Mintaprogram Visual Studioban

A DataGridView komponens Adatok táblázatos megjelenítésére szolgáló komponens Az táblázat celláiba elméletileg bármilyen típus kerülhet, megjelenítésük az adat ToString() metódusával történik. Kétféle kezelési lehetősége van: Direkt adat írása, olvasása Adatforrás tábla (DataSource) hozzákötése, és annak adatai Lehetőség van többféle mező felvételére Button, Image, CheckBox, Listview

DataGridView Egyszerű tulajdonságok Típus Tulajdonság int ColumnCount oszlopok számának beállítása int RowCount sorok számának beállítása object Item[int col, int row] (Indexer) Egy adott cella értékének írása/olvasása. Pld.: datagridview1[2, 2].Value = 2; string szoveg = datagridview1[2,2].value.tostring(); bool AllowUserToAddRows Megengedi a felhasználónak, hogy sorokat vegyen fel. bool AllowUserToDeleteRows Megengedi a felhasználónak, hogy sorokat töröljön. bool AllowUserToOrderColumns Megengedi a felhasználónak, hogy átrendezze az oszlopokat bool AllowUserToResizeColumns Megengedi a felhasználónak, hogy méretezze az oszlopokat bool AllowUserToResizeRows Megengedi a felhasználónak, hogy méretezze a sorokat bool ColumnHeadersVisible Az oszlopfejlécek láthatóak bool RowHeadersVisible A sorfejlécek láthatóak bool ReadOnly A grid csak olvasható string Columns[int].HeaderText Fejlécek feliratainak beállítása

DataGridView Egyszerű események CellContentClick(object sender, DataGridViewCellEventArgs e) Cella tartalomra való click esetén meghívódó esemény CellClick(object sender, DataGridViewCellEventArgs e) Cellára klikkelés esetén következik be DataGridViewCellEventArgs: int ColumnIndex a cella oszlop indexe int RowIndex a cella sor index Példa Visual studioban

Billentyűzet eseményei Amennyiben egy Control aktív (ki van választva) akkor a billentyűzet eseményeit lehet vele kezelni. Események: Esemény Mikor Átadott paraméter KeyDown Billentyű lenyomásakor KeyEventArgs KeyPress Billentyű nyomva tartásakor KeyPressEventArgs KeyUp Billentyű felengedésekor KeyEventArgs Az eseményeket kezelhetjük Form szinten is, a Form Keypreview tulajdonságának true-ra állításával, ekkor a Form minden billentyűeseményt kezel.

KeyPressEventsArgs, KeyEventArgs KeyPressEventArgs string KeyChar a megfelelő karaktert adja vissza KeyEventArgs bool Alt Alt le van nyomva bool Control Control le van nyomva bool Shift Shift le van nyomva Keys KeyCode Visszaadja a lenyomott billetnyű keycode-ját (Keys, lásd példaprogram) Keys KeyData Visszaadja a lenyomott billetnyű keycode-ját (Keys, lásd példaprogram) vagy kapcsolattal összefűzve a módosító billentyűkkel int KeyValue a lenyomott billentyűhöz tartozó számérték Példa Visual Studioban

Egér események kezelése Mouse Event Description Argumentum Click Click esemény EventArgs MouseClick Click esemény egér MouseEventArgs információkkal DoubleClick Dupla click EventArgs MouseDoubleClick Dupla click egér MouseEventArgs információkkal MouseDown Egér gomb lenyomásakor MouseEventArgs MouseEnter Egér a control felé ér EventArgs MouseLeave Egér a controlt elhagyja EventArgs MouseMove Egér mozog a control felett MouseEventArgs MouseUp Egér gomb felengedésekor MouseEventArgs

MouseEventArgs Public property Button Public property X Public property Y Megmondja, hogy melyik gomb van lenyomva Lehetséges értékek: MouseButtons.Left MouseButtons.Middle MouseButtons.Right Gets the x-coordinate of the mouse during the generating mouse event. Gets the y-coordinate of the mouse during the generating mouse event. Példa Visual studioban

Objektumok létrehozása futásidőben Az eddig tanult komponenseket is létrehozhatjuk a program futása közben, pld: Button gomb = new Button(); Ekkor létrejön az objektum, de nem helyeződik el, meg kell adni a tárolót, ahol elhelyezzük, erre a Parent tulajdonság szolgál: gomb.parent = this; Hozzárendelhetünk eseményeket is a Controlhoz, pld: gomb.click +=new EventHandler(gomb_Click); Ekkor a gomb_click függvénynek léteznie kell, a megfelelő paraméterekkel

Példa private void gomb_click(object sender, EventArgs e) { (sender as Button).Text = "Megnyomtál"; } private void Form1_Load(object sender, EventArgs e) { Button gomb = new Button(); gomb.parent = this; gomb.click +=new EventHandler(gomb_Click); }

Objektumok létrehozása futásidőben események hozzárendelése private void Form1_Load(object sender, EventArgs e) { Button gomb = new Button(); gomb.parent = this; gomb.click +=new EventHandler(gomb_Click); gomb.mousemove+=new MouseEventHandler(gomb_MouseMove); gomb.keydown+=new KeyEventHandler(gomb_KeyDown); } private void gomb_mousemove(object sender, MouseEventArgs e) { (sender as Button).Text = "Mozog"; } private void gomb_keydown(object sender, KeyEventArgs e) { (sender as Button).Text = e.keycode.tostring(); }