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

Méret: px
Mutatás kezdődik a ... oldaltól:

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

Átírás

1 Vizuális programozás 1. A gyakorlat célja A gyakorlat célja a Könyvtár alkalmazás folytatása az előző gyakorlaton elkészített grafikus felület felhasználásával. Elsőként lemásoljuk az előző gyakorlat eredményeként elkészült projektet, majd a 7. gyakorlaton megismerteknek megfelelően létrehozzuk az adatbázist a lokális SQLEXPRESS szerveren. Ezt követően megnyitjuk a Konyvtar_FF nevű WPF alkalmazást. A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani. 2. A feladatot megvalósító kód A középpontban a könyvek felvitele áll, a többi entitást ehhez kapcsolódóan fogjuk megadni Mentés és kilépés A feladatokat megoldó két eseménykezelő metódust a wndfoablak.xaml.cs állományban hozzuk létre. A mentés feladata az 1

2 entitáshalmazokon végrehajtott módosítások lementése az adatbázisba. private void mimentés_click(object sender, RoutedEventArgs e) conkonyvtar.savechanges(); private void mikilépés_click(object sender, RoutedEventArgs e) Application.Current.Shutdown(); 2.2. Könyvadatok rögzítése Elsőként meg kell jelenítenünk a főablakon belül a feladatot megoldó űrlapot. Ezt a menüponthoz kapcsolódó eseménykezelőben tesszük meg. private void mikönyvrögzít_click(object sender, RoutedEventArgs e) uckönyvrögzít.visibility = Visibility.Visible; Létrehozzuk az entitáskonténer objektumot, majd tároljuk a konténer objektum referenciáját az alkalmazás tulajdonságai között, így az minden ablakból/user control-ból elérhető lesz. /// Az entitáskonténer objektum. private conkonyvtar conkönyvtár; /// Az ablak konstruktora. public wndfőablak() InitializeComponent(); // Létrehozzuk az entitáskonténer objektumot. conkönyvtár = new conkonyvtar(); // Tároljuk a konténer objektum referenciáját az alkalmazás // tulajdonságai között, így az minden ablakból/user control-ból // elérhető lesz. Application.Current.Properties["conKönyvtár"] = conkönyvtár; Az űrlap megvalósításánál alapkoncepciónk az, hogy csak akkor történik adatrögzítés a memóriában levő entitáshalmazok valamelyikébe, ha a felhasználó kattint a Rögzít gombon, ezért kezdetben az 2

3 entitáshalmazon kívül kell ideiglenesen tárolnunk az újonnan felvitt kiadókat, szerzőket és könyveket. Emellett a könyvhöz tartozó szerzők és kiadók esetében tárolnunk kell, hogy ők új szerzők/kiadók-e. Az adatrögzítést szolgáló UserControl osztályában (uckonyvrogzit.xaml.cs) először létrehozzuk a feladat megoldásához szükséges adattagokat. /// Az entitáskonténer objektum. private conkonyvtar conkönyvtár; /// Az aktuális könyv objektum. private Konyv Könyv; /// A könyv kiadója egy új kiadó-e, vagy már szerepel az adatbázisban. private bool ÚjKiadó; /// A könyv szerzői egy új szerzők-e, vagy már szerepelnek az adatbázisban. private List<bool> ÚjSzerző; Alapértelmezésben feltételezzük, hogy úgy a kiadó, mint a szerzők már szerepelnek az adatbázisban. /// A usercontrol konstruktora. public uckönyvrögzít() InitializeComponent(); // Alapértelmezésben feltételezzük, hogy úgy a kiadó mint a szerzők már szerepelnek az // adatbázisban. ÚjKiadó = false; ÚjSzerző=new List<bool>(); Amikor az űrlap láthatóvá válik, kiolvassuk az alkalmazás tulajdonságai közül az entitáskonténer objektum referenciáját, létrehozunk egy könyv objektumot kezdőértékekkel, és az űrlap adatforrásaként megadjuk a könyv objektumot. A felület elkészítésekor definiált adatkötések tesztelése érdekében a könyv objektumot inicializálással hozzuk létre, úgy, hogy kezdőértékeket adunk a kapcsolódó objektumok számára is. /// Az űrlap láthatóvá válik. private void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) 3

4 // Az entitás objektum referenciájának kiolvasása és eltárolása egy adattagban. conkönyvtár = Application.Current.Properties["conKönyvtár"] as conkonyvtar; // Könyv objektum létrehozása. Könyv = new Konyv() // Az alábbi inicializálás csak tesztelési célt szolgál. Kiado = new Kiado Név = "Springer", Székhely = "New York", Ár = 27106,Cím = "Artificial Immune Systems",KiadásiÉv = 2011, KonyvPeldanyok = new EntityCollection<KonyvPeldany> new KonyvPeldanyKönyvtáriAzonosító = "15687", Szerzok = new EntityCollection<Szerzo>new SzerzoVezetéknév ="Lió",Utónév = "Pietro" ; // Az űrlap adatforrásaként megadjuk a könyv objektumot. DataContext = Könyv; Amennyiben minden adat megjelenik helyesen, töröljük az inicializálást a kódból. Az adatrögzítés funkcionalitás megvalósítását a megoldandó feladatok szerint négy csoportba bontva tekintjük át Cím, Kiadási év és Ár A Cím, Kiadási év és Ár mezők egyszerűen kitölthetőek, és a felületet leíró XAML kódban már kötve lettek a megfelelő adattagokhoz. 4

5 Ellenőrzés Az ellenőrzést végző kóddal azt szeretnénk elérni, hogy amikor a felhasználó érvénytelen értéket ír be, akkor az adott szövegmező piros kerettel jelenjen meg. Továbbá a Rögzít gombon történő kattintáskor az érvénytelen szövegmező kapja meg az input fókuszt, és a gyorstippben jelenjen meg a hibaüzenet az alábbi mintáknak megfelelően. A cím, kiadási év és ár adatok ellenőrzéséhez létrehozunk három validációs szabályt. Ehhez definiálunk három leszármazott osztályt (vrcím, vrév és vrár) a ValidationRules osztályhoz, majd átdefiniáljuk bennük a Validate virtuális metódust. 5

6 public class vrcím:validationrule /// Ellenőrzi a Cím szerkesztőmezőbe beírt értéket. /// <param name="value">a szerkesztőmező tartalma.</param> /// <param name="cultureinfo">the culture to use in this rule.</param> /// <returns>egy <see cref="t:system.windows.controls.validationresult"/> objektum, ami jelzi /// az érvényességet (true/false), és tartalmazza a hibaüzenetet.</returns> 6

7 public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureinfo) string Cím=value as string; // A cím mező nem állhat üresen. return Cím==null Cím.Length==0? new ValidationResult(false, "A cím megadása kötelező") : new ValidationResult(true, null); class vrév:validationrule /// Ellenőrzi az Év szerkesztőmezőbe beírt értéket. /// <param name="value">a szerkesztőmező tartalma.</param> /// <param name="cultureinfo">the culture to use in this rule.</param> /// <returns>egy <see cref="t:system.windows.controls.validationresult"/> objektum, ami jelzi /// az érvényességet (true/false) és tartalmazza a hibaüzenetet.</returns> public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureinfo) string sév = value as string; // Az év megadása kötelező. if (sév == null) return new ValidationResult(false, "A kiadási év megadása kötelező!"); // Az év pozitív egész kell legyen és kisebb vagy egyenlő mint az aktuális év. Int16 Év; bool siker = Int16.TryParse(sÉv, out Év) && Év >= 1 && Év <= DateTime.Now.Year; if (!siker) return new ValidationResult(false, "Az év 1 és " + DateTime.Now.Year + " közötti pozitív érték kell legyen!"); // A megadott érték érvényes. return new ValidationResult(true, null); class vrár:validationrule /// Ellenőrzi az Ár szerkesztőmezőbe beírt értéket. /// <param name="value">a szerkesztőmező tartalma.</param> /// <param name="cultureinfo">the culture to use in this rule.</param> /// <returns>egy <see cref="t:system.windows.controls.validationresult"/> objektum, ami jelzi /// az érvényességet (true/false) és tartalmazza a hibaüzenetet.</returns> public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureinfo) 7

8 string sár = value as string; // Az ár megadása kötelező. if(sár==null) return new ValidationResult(false,"Ár megadása kötelező!"); // Az ár pozitív egész kell legyen. Int16 Ár; bool siker = Int16.TryParse(sÁr, out Ár)&& Ár>=0; if(!siker) return new ValidationResult(false,"Az ár 0 és "+Int16.MaxValue+ " közötti pozitív érték kell legyen!"); // A megadott érték érvényes. return new ValidationResult(true,null); A szabályok végrehajtása (kiértékelése) érdekében néhány apróbb módosítás szükséges a UserControl XAML kódjában. Először a gyökértagben felvesszük a projektünk névterét, így lehetőségünk lesz arra, hogy hivatkozzunk a validációs szabály osztályokra. Következő lépésként átalakítjuk a három szövegmezőre vonatkozó részt úgy, hogy az adatkötés definíciójába beépítjük a validációs szabályok hivatkozását is. <TextBox x:name="tbkrcím" Width="298" Height="40" AcceptsReturn="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" HorizontalAlignment="Left"> <TextBox.Text> <Binding Path="Cím" UpdateSourceTrigger="PropertyChanged"> <Binding.ValidationRules> <local:vrcím /> </Binding.ValidationRules> </Binding> </TextBox.Text> </TextBox> 8

9 <TextBox x:name="tbkrkiadásiév" HorizontalAlignment="Left" Width="100" > <TextBox.Text> <Binding Path="KiadásiÉv" UpdateSourceTrigger="PropertyChanged"> <Binding.ValidationRules> <local:vrév /> </Binding.ValidationRules> </Binding> </TextBox.Text> </TextBox> <TextBox x:name="tbkrár" HorizontalAlignment="Left" Width="100"> <TextBox.Text> <Binding Path="Ár" UpdateSourceTrigger="PropertyChanged"> <Binding.ValidationRules> <local:vrár /> </Binding.ValidationRules> </Binding> </TextBox.Text> </TextBox> Példány hozzáadása A példány hozzáadása gombon történő kattintás engedélyezi a Könyvtári azonosító szövegmezőt és az alatta levő gombot, ahol a felhasználó felvihet egy újabb azonosítót, azaz könyvpéldányt. A gombon kattintva a példány azonosítója felhasználásával egy új KonyvPeldany objektumot hozunk létre, amit felveszünk a könyv objektum által hivatkozott KonyvPeldanyok gyűjteménybe. Az adatkötésnek köszönhetően az azonosító megjelenik a bal oldali listadobozban. A feladatot megvalósító két eseménykezelő (érintett nyomógombok eseménykezelői) az alábbiak. /// Kattintás a Példány hozzáadása gombon. private void btkrpéldányhozzáadása_click(object sender, RoutedEventArgs e) // A jobb oldali StackPanel engedélyezése. spkrkönyvtáriazonosító.isenabled = true; // A Példány hozzáadása gomb tiltása. 9

10 btkrpéldányhozzáadása.isenabled = false; // A könyvtári azonosító bevitelére szolgáló szövegmező ürítése. tbkrkönyvtáriazonosító.text = ""; /// Kattintás a Példányt rögzít gombon. private void btkrkarögzít_click(object sender, RoutedEventArgs e) // A jobb oldali StackPanel tiltása. spkrkönyvtáriazonosító.isenabled = false; // A Példány hozzáadása gomb engedélyezése. btkrpéldányhozzáadása.isenabled = true; // Új könyvpéldány hozzáadása a KonyvPeldanyok gyűjteményhez. Könyv.KonyvPeldanyok.Add( new KonyvPeldany KönyvtáriAzonosító = tbkrkönyvtáriazonosító.text ); Kiadó megadása A USerControlon szereplő kiadó szövegmező (tbkrkiadó) csak olvasható. A Kiadó megadása/kiválasztása gombon kattintva először létrehozzuk a párbeszédablak objektumot. Ha a felhasználó a Rögzít nyomógombbal zárta be a párbeszédablakot, akkor kiolvassuk, hogy a megadott kiadó egy új kiadó-e (még nem szerepel az adatbázisban), kiolvassuk a felhasználó által megadott adatokból létrehozott kiadó objektum referenciáját, és gondoskodunk a kiadói adatok megjelenítéséről. /// Kattintás a Kiadó megadása/kiválasztása gombon. private void btkrkiadómegadása_click(object sender, RoutedEventArgs e) // Párbeszédablak objektum létrehozása. var wndkiadó = new wndkiadó(); // Párbeszédablak megjelenítése. var er = wndkiadó.showdialog(); // Kilépés, ha a felhasználó a Mégse gombbal zárta be a párbeszédablakot. if (er!= true) return; // Kiolvassuk, hogy a megadott kiadó egy új kiadó-e (még nem szerepel az adatbázisban). ÚjKiadó = wndkiadó.újkiadó; 10

11 // A felhasználó által megadott adatokból létrehozott kiadó objektum. Könyv.Kiado = wndkiadó.kiadó; // A kiadói adatok megjelenítése. tbkrkiadó.text = Könyv.KiadóLeírás; A párbeszédablak osztályában egy adattagra és két tulajdonságra lesz szükségünk. /// Az entitáskonténer objektum. private conkonyvtar conkönyvtár; /// A kiadó objektum. public Kiado Kiadó get; private set; /// A megadott kiadó egy új kiadó-e (még nem szerepel az adatbázisban)? public bool ÚjKiadó get; private set; Mindkét tulajdonság automatikus tulajdonság, a private megkötéssel azt érjük el, hogy csak az osztályon belül állítható be az értéke. A párbeszédablak konstruktorában kiolvassuk az entitás objektum referenciáját és eltároljuk azt egy adattagban. A párbeszédablakban egy legördülő listából választhatunk az adatbázisban szereplő kiadók közül. Ehhez a konstruktorban adatforrásként meg kell adnunk a kiadók entitáshalmazát. public wndkiadó() InitializeComponent(); // Az entitás konténer objektum referenciájának kiolvasása és eltárolása egy adattagban. conkönyvtár = Application.Current.Properties["conKönyvtár"] as conkonyvtar; // Adatforrás megadása a legördülő listához. cbkiadók.itemssource = conkönyvtár.kiadok; // Alapértelmezés szerint a kiadó már szerepel az adatbázisban. ÚjKiadó = false; 11

12 Amennyiben a felhasználó az Új kiadó megadása gombon kattint, akkor engedélyeznünk kell az új kiadó nevének és székhelyének megadását lehetővé tevő StackPanel-t. /// Kattintás az Új kiadó gombon. private void btújkiadó_click(object sender, RoutedEventArgs e) // Az új kiadó nevének és székhelyének megadását lehetővé tevő StackPanel engedélyezése. spkiadóadatok.isenabled = true; Amennyiben a felhasználó a rögzít gombon kattint, a StackPanel engedélyezettségi állapotától függően beállítjuk az ÚjKiadó logikai tulajdonság értékét, valamint vagy létrehozunk egy új kiadó objektumot a szerkesztőmezőkben levő értékek alapján vagy eltároljuk a kiválasztott kiadó objektum referenciáját. Végül bezárjuk a párbeszédablakot. /// Kattintás a Rögzít gombon. private void btkrögzít_click(object sender, RoutedEventArgs e) if(spkiadóadatok.isenabled) // Ha új kiadót adtunk meg, akkor létrehozunk hozzá egy új objektumot inicializálással. Kiadó=new KiadoNév = tbkiadónév.text,székhely = tbszékhely.text; ÚjKiadó = true; else // Ha egy létező kiadót választottunk, akkor tároljuk objektumának referenciáját. Kiadó = cbkiadók.selecteditem as Kiado; 12

13 ÚjKiadó = false; // Párbeszédablak bezárása. DialogResult = true; Szerzők megadása A szerzők megadása sok tekintetben a kiadók megadásához hasonlóan történik. A könyv szerzőit egyenként adhatjuk meg. Szerző megadása gombon történő kattintás egy új ablak megjelenését idézi elő. A kiadó esetéhez képest itt az az eltérés, hogy úgy a szerző objektumok referenciáit, mint az új jellegükre vonatkozó információt itt egy-egy gyűjteményben tároljuk. /// Kattintás a Szerző megadása/kiválasztása gombon. /// <param name="sender">a nyomógomb objektum</param> private void btkrszerzőmegadása_click(object sender, RoutedEventArgs e) // Párbeszédablak objektum létrehozása. var wndszerző = new wndszerző(); // Párbeszédablak megjelenítése. var er = wndszerző.showdialog(); // Kilépés, ha a felhasználó a Mégse gombbal zárta be a párbeszédablakot. if (er!= true) return; // Kiolvassuk, hogy a megadott szerző egy új szerző-e (még nem szerepel az // adatbázisban), és tároljuk a logikai gyűjteményben. ÚjSzerző.Add(wndSzerző.ÚjSzerző); // A szerző objektumot hozzáadjuk a könyv szerzőinek gyűjteményéhez. Könyv.Szerzok.Add(wndSzerző.Szerző); A szerző megadására szolgáló párbeszédablak osztályában egy adattagra és két tulajdonságra lesz szükségünk. /// Az entitáskonténer objektum. private conkonyvtar conkönyvtár; /// A szerző objektum. public Szerzo Szerző get; private set; /// A megadott szerző egy új szerző-e (még nem szerepel az adatbázisban)? public bool ÚjSzerző get; private set; 13

14 Mindkét tulajdonság automatikus tulajdonság, a private megkötéssel azt érjük el, hogy csak az osztályon belül állítható be az értéke. A párbeszédablak konstruktorában kiolvassuk az entitás objektum referenciáját és eltároljuk azt egy adattagban. A párbeszédablakban egy legördülő listából választhatunk az adatbázisban szereplő szerzők közül. Ehhez a konstruktorban adatforrásként meg kell adnunk a kiadók entitáshalmazát. /// A párbeszédablak konstruktora. public wndszerző() InitializeComponent(); // Az entitás konténer objektum referenciájának kiolvasása és eltárolása egy adattagban. conkönyvtár = Application.Current.Properties["conKönyvtár"] as conkonyvtar; // Adatforrás megadása a legördülő listához. cbszerzők.itemssource = conkönyvtár.szerzok; // Alapértelmezés szerint a kiadó már szerepel az adatbázisban. ÚjSzerző = false; Amennyiben a felhasználó az Új szerző megadása gombon kattint, akkor engedélyeznünk kell az új kiadó nevének és székhelyének megadását lehetővé tevő StackPanel-t. /// Kattintás az Új szerző gombon. private void btújkiadó_click(object sender, RoutedEventArgs e) // Az új szerző adatainak megadását lehetővé tevő StackPanel engedélyezése. spszerződatok.isenabled = true; 14

15 Amennyiben a felhasználó a rögzít gombon kattint, a StackPanel engedélyezettségi állapotától függően beállítjuk az ÚjSzerző logikai tulajdonság értékét, valamint vagy létrehozunk egy új szerző objektumot a szerkesztőmezőkben levő értékek alapján vagy eltároljuk a kiválasztott szerző objektum referenciáját. Végül bezárjuk a párbeszédablakot. /// Kattintás a Rögzít gombon. private void btszrögzít_click(object sender, RoutedEventArgs e) // Ha új szerzőt adtunk meg, akkor létrehozunk hozzá egy új objektumot inicializálással. if(spszerződatok.isenabled) Szerző=new SzerzoVezetéknév = tbvezetéknév.text, Utónév = tbutónév.text; ÚjSzerző = true; else // Ha egy létező szerzőt választottunk, akkor tároljuk objektumának referenciáját. Szerző = cbszerzők.selecteditem as Szerzo; ÚjSzerző = false; // Párbeszédablak bezárása. DialogResult = true; Az adatkötésnek köszönhetően a főablakban a szerzők táblázatában megjelenik az új szerző Az űrlap mégse nyomógombja A Mégse nyomógombon történő kattintással azt jelzi a felhasználó, hogy nem kívánja megőrizni a felvitt adatokat. Ezért ekkor elrejtjük az űrlapot. /// Kattintás a mégse nyomógombon. 15

16 private void btkrmégse_click(object sender, RoutedEventArgs e) // Az űrlap elrejtése. Visibility = Visibility.Hidden; Az űrlap rögzít nyomógombja A rögzít gombon történő kattintáskor először leellenőrizzük a cím kiadási és ár szövegmezőket. Hiba esetén jelzünk a felhasználónak, lehetőséget adva a javításra. Kiadó megadása kötelező, ennek hiányában, az input fókuszt a megfelelő nyomógombra helyezzük. Amennyiben vannak könyvpéldányok, akkor felvisszük azokat a könyvpéldányok entitás halmazába. A könyvet felvesszük a könyvek entitás halmazába. A kiadónál beállítjuk az aktuális könyvet. Ha ez egy új kiadó, akkor felvesszük a kiadók entitás halmazába. Sorra vesszük a szerzőket, és az aktuális szerzőnél beállítjuk az aktuális könyvet. Ha ez egy új szerző, akkor felvesszük a szerzők entitás halmazába. Végül elrejtjük az űrlapot. /// Kattintás Rögzít gombon. private void btkrrögzít_click(object sender, RoutedEventArgs e) // Ellenőrizzük a cím, kiadási év és ár adatokat. if (!Érvényes(tbKrCím)!Érvényes(tbKrKiadásiÉv)!Érvényes(tbKrÁr)) return; // Kiadó megadása kötelező. if (Könyv.Kiado==null) // Input fókusz a nyomógombra. btkrkiadómegadása.focus(); // Hibaüzenet gyorstippben! btkrkiadómegadása.tooltip = "Kiadó megadása kötelező!"; return; // Amennyiben vannak könyvpéldányok, akkor felvisszük azokat a könyvpéldányok // entitás halmazába. foreach (var x in Könyv.KonyvPeldanyok) conkönyvtár.konyvpeldanyok.addobject(x); // A könyvet felvesszük a könyvek entitás halmazába. conkönyvtár.konyvek.addobject(könyv); // A kiadónál beállítjuk az aktuális könyvet. Könyv.Kiado.Konyvek.Add(Könyv); // Ha ez egy új kiadó, akkor felvesszük a kiadók entitás halmazába. if (ÚjKiadó) conkönyvtár.kiadok.addobject(könyv.kiado); // Sorra vesszük a szerzőket. Ha nincs megadva szerző, akkor a Count értéke 0. for (int i = 0; i < Könyv.Szerzok.Count; i++) 16

17 // Az aktuális szerzőnél beállítjuk az aktuális könyvet. Könyv.Szerzok.ElementAt(i).Konyvek.Add(Könyv); // Ha ez egy új szerző, akkor felvesszük a szerzők entitás halmazába. if (ÚjSzerző[i]) conkönyvtár.szerzok.addobject(könyv.szerzok.elementat(i)); // Az űrlap elrejtése. Visibility = Visibility.Hidden; /// Ellenőrzi a UserControl-on megadott adatok érvényességét. /// <returns>true, ha minden adat érvényes, és false egyébként.</returns> /// <param name="tb">az ellenőrzött TextBox.</param> private bool Érvényes(TextBox tb) // Mivel a szövegmezőkben úgy is lehet érvénytelen adat, ha a felhasználó // be se lépett az adott mezőbe, ezért először kikényszerítjük az ellenőrző // szabály kiértékelését. tb.getbindingexpression(textbox.textproperty).updatesource(); // Ha volt hiba if (tb.getbindingexpression(textbox.textproperty).haserror) // A szövegmező gyorstippjébe tesszük a hibaüzenetet. tb.tooltip = tb.getbindingexpression(textbox.textproperty).validationerror.errorcontent; // Az input fókuszt a szövegmezőre tesszük. tb.focus(); // Hamis visszatérési értékkel jelezzük, hogy hiba volt. return false; // Nem volt hiba, a megadott adat érvényes. return true; 3. További feladat A két párbeszédablaknál az ellenőrzés megvalósítása. 17

Entity Framework alapú adatbáziselérés 2

Entity Framework alapú adatbáziselérés 2 Entity Framework alapú adatbáziselérés 2 Dr. Johanyák Zsolt Csaba http://johanyak.hu A gyakorlat célja az, hogy a korábban létrehozott Telefonszám kezelő alkalmazást kiegészítsük egy WPF típusú felülettel.

Részletesebben

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

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban Adabáziselérés ODBC-n keresztül utasításokkal C#-ban 1. Előkészítés Access adatbázis lemásolása, ODBC DSN létrehozása Másoljuk le az alábbiakat: Mit Honnan Hova list.mdb p:\johanyák Csaba\Vizualis programozas\data\

Részletesebben

Vizuá lis prográmozá s

Vizuá lis prográmozá s Vizuá lis prográmozá s Készítsen egy WPF alkalmazást, ami a hallgatok.mdf adatbázis állomány felhasználásával a következő feladatokat oldja meg: Kapcsolat nélküli adatbázis modell típusos DataSet segítségével.

Részletesebben

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

Access adatbázis elérése OLE DB-n keresztül Access adatbázis elérése OLE DB-n keresztül Készítsünk egy grafikus felülető alkalmazást, ami lehetıvé teszi egy Access adatbázisban tárolt hallgatói adatok (EHA, Név, e-mail cím) lekérdezését (összes

Részletesebben

Webszolgáltatás és XML alapú adatbázis. 1. Az adatbázis megtervezése

Webszolgáltatás és XML alapú adatbázis. 1. Az adatbázis megtervezése Webszolgáltatás és XML alapú adatbázis A segédlet célja az, hogy a teljesség igénye nélkül egy egyszerű példán keresztül bemutassa, hogy hogyan készíthetünk egy olyan kétrészes (kétrétegű) alkalmazást,

Részletesebben

Johanyák Zsolt Csaba: Grafikus felület programozása. http://www.johanyak.hu e-mail: johanyak.csaba@gamf.kefo.hu Copyright 2008 Johanyák Zsolt Csaba

Johanyák Zsolt Csaba: Grafikus felület programozása. http://www.johanyak.hu e-mail: johanyak.csaba@gamf.kefo.hu Copyright 2008 Johanyák Zsolt Csaba Johanyák Zsolt Csaba: Grafikus felület programozása http://www.johanyak.hu e-mail: johanyak.csaba@gamf.kefo.hu Copyright 2008 Johanyák Zsolt Csaba 1. Gyümölcsárazó automata Készítsünk egy gyümölcsárazó

Részletesebben

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit): Oracle adatbázis elérése A gyakorlat célja az, hogy a hallgató tapasztalatot szerezzen egy szerver oldali adatbázis kezelő rendszer elérésében, gyakorolja a vizuális eszközök és a kapcsolat nélküli (Disconnected

Részletesebben

Vizuális programozás gyakorlat

Vizuális programozás gyakorlat Vizuális programozás gyakorlat Képnézegető alkalmazás WPF alapú felülettel Készítsen egy WPF képnézegető alkalmazást, ami a mellékelt ábrának megfelelően a bal oldali oszlopban (Grid) egy könyvtárban található

Részletesebben

Entity Framework alapú adatbáziselérés

Entity Framework alapú adatbáziselérés Entity Framework alapú adatbáziselérés Dr. Johanyák Zsolt Csaba http://johanyak.hu A gyakorlat célja Model-first megközelítéssel Entity-Framework modell létrehozása, majd ebből adatbázis generálása LocalDB-ben.

Részletesebben

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

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás. 1.1. Szükséges névterek. 1.2. Attribútumok. 1.3. Sorosítás (szerializáció) és helyreállítás Cél: a memóriában tárolt adatok egyszerű lemezre mentése és visszatöltése. A sorosítás során létrehozunk egy állományt és egy sorosítást kezelő objektumot. Ez

Részletesebben

BME MOGI Gépészeti informatika 7.

BME MOGI Gépészeti informatika 7. BME MOGI Gépészeti informatika 7. 1. feladat Írjon Windows Forms alkalmazást egy kör és egy pont kölcsönös helyzetének vizsgálatára! A feladat megoldásához hozza létre a következő osztályokat! Pont osztály:

Részletesebben

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig

Részletesebben

3. Osztályok II. Programozás II

3. Osztályok II. Programozás II 3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt

Részletesebben

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

Segítség a megoldáshoz: 1. Készítse el a Window-t az ábrának és az osztálydiagramnak megfelelően. Vizuális programozás gyakorlat Feladat: Készítsen WPF alkalmazást, amely segítségével az alábbi feladat megoldásában segítenek a tanulóknak, azaz a tanulók kipróbálhatják az egyes eseteket, és a megoldásukat

Részletesebben

Szoftvertechnolo gia gyakorlat

Szoftvertechnolo gia gyakorlat Szoftvertechnolo gia gyakorlat Dr. Johanyák Zsolt Csaba http://johanyak.hu 1. Dependency Injection (függőség befecskendezés) tervezési minta A tervezési minta alapgondolata az, hogy egy konkrét feladatot

Részletesebben

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

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet    Copyright 2008 Johanyák Zsolt Csaba Ugráló gomb Készítsünk egy egyszerű játékprogramot, ami egy mozgó nyomógombot tartalmaz. A nyomógomb beállított ideig marad egy helyben, majd az ablakon számára elhatárolt terület (panel) egy véletlenszerűen

Részletesebben

Java Programozás 11. Ea: MVC modell

Java Programozás 11. Ea: MVC modell Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát

Részletesebben

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

OOP: Java 8.Gy: Abstract osztályok, interfészek OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus

Részletesebben

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1

XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1 XML Webszolgáltatás alapú osztott alkalmazás fejlesztése Johanyák Zsolt Csaba 1 A gyakorlat célja a webszolgáltatások létrehozásának és igénybe vételének elsajátítása egyszerű példákon keresztül. 1. Két

Részletesebben

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

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész Java Programozás 9. Gy: Java alapok Adatkezelő 5.rész 15/1 B ITv: MAN 2018.04.22 A Keresés funkció Programlogika: 1. A keresés az etm táblamodellben fog keresni, és a találat rekordokat átmásolja egy másik

Részletesebben

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

Ugráló gomb oktatási segédlet Ugráló gomb Ugráló gomb Készítsünk egy egyszerű játékprogramot, ami egy mozgó nyomógombot tartalmaz. A nyomógomb beállított ideig marad egy helyben, majd az ablakon számára elhatárolt terület (panel) egy véletlenszerűen

Részletesebben

Vizuális programozás gyakorlat

Vizuális programozás gyakorlat Vizuális programozás gyakorlat Készítsen egy Windows Presentation Foundation alkalmazást, ami a közismert, képeken alapuló memóriajáték egy egyszerű változatát valósítja meg. A program funkcionalitása

Részletesebben

JAVA PROGRAMOZÁS 2.ELŐADÁS

JAVA PROGRAMOZÁS 2.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,

Részletesebben

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

Johanyák Zsolt Csaba: Képnézegető program oktatási segédlet 1. Képnézegető program Készítsünk egy egyszerű képnézegető programot JPG képekhez. Az ablak függőlegesen két részre legyen osztva. Baloldalon egy listaablak jelenjen meg, amiben a fájlok nevei láthatók.

Részletesebben

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

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész Java Programozás 5. Gy: Java alapok Adatkezelő 1.rész 27/1 B ITv: MAN 2018.04.13 Feladat Egy nagyon hosszú feladatmegoldásba kezdünk bele: létrehozunk egy adatkezelő programot, sok-sok extrával: 27/2 A

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)

Részletesebben

BME MOGI Gépészeti informatika 8.

BME MOGI Gépészeti informatika 8. BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező

Részletesebben

Kétdimenziós rajzolás WPF-ben

Kétdimenziós rajzolás WPF-ben Kétdimenziós rajzolás WPF-ben A grafikus megjelenítés módjai WPF-ben: System.Windows.Shapes névtér osztályaival magas szintű, rengeteg metódus, tulajdonságok, eseménykezelés, input kezelés (egér, billentyűzet)

Részletesebben

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

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>(); BME MOGI Gépészeti informatika 17. A C# nyelv generikus típusait a System.Collections.Generics névtérben találhatjuk meg. Ez a névtér számos osztályt és interfészt tartalmaz, amelyek lehetővé teszik előre

Részletesebben

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

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem http:www.johanyak.hu Analóg óra Készítsünk egy analóg órát megjelenítő alkalmazást. A feladat egy lehetséges megoldása a következő: 1. Az alkalmazás vázának automatikus generálása Fájl menü, New, Project

Részletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

GráfRajz fejlesztői dokumentáció

GráfRajz fejlesztői dokumentáció GráfRajz Követelmények: A GráfRajz gráfokat jelenít meg grafikus eszközökkel. A gráfot többféleképpen lehet a programba betölteni. A program a gráfokat egyedi fájl szerkezetben tárolja. A fájlokból betölthetőek

Részletesebben

BME MOGI Gépészeti informatika 6.

BME MOGI Gépészeti informatika 6. BME MOGI Gépészeti informatika 6. 1. feladat Készítsen Windows Forms alkalmazást véletlen adatokkal létrehozott körök kölcsönös helyzetének vizsgálatára! Hozza létre a következő struktúrákat, melynek elemei

Részletesebben

és az instanceof operátor

és az instanceof operátor Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

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

C#, OOP. Osztályok tervezése C#-ban C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat

Részletesebben

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

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

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész Java Programozás 6. Gy: Java alapok Adatkezelő 2.rész 25/1 B ITv: MAN 2018.04.13 A feladat Feladat: folytassuk a panel életre keltését! - Alakítsuk ki a Lista panelt - Betöltéskor olvassuk be az adatokat

Részletesebben

Johanyák Zsolt Csaba: XML Webszolgáltatás alapú osztott alkalmazás fejlesztése (Mandelbrot halmaz számítás) oktatási segédlet

Johanyák Zsolt Csaba: XML Webszolgáltatás alapú osztott alkalmazás fejlesztése (Mandelbrot halmaz számítás) oktatási segédlet XML Webszolgáltatás alapú osztott alkalmazás fejlesztése (Mandelbrot halmaz számítás) 1. Az alkalmazás feladata Mandelbrot halmaz megjelenítése úgy, hogy az iterációs számításokat egy webszolgáltatást

Részletesebben

Ügyfélforgalom számlálás modul

Ügyfélforgalom számlálás modul Ügyfélforgalom számlálás modul 1 1. Bevezetés... 3 2. BEÁLLÍTÁSOK... 4 2.1. Új Kérdőív létrehozása... 4 o Kérdéstípusok és a hozzájuk tartozó lehetséges válaszok hozzárendelése... 4 Új Kérdéstípus felvitele...

Részletesebben

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN OOP: Java 11.Gy: Enumok, beágyazott osztályok 13/1 B ITv: MAN 2019.04.24 ArrayList Rugalmas tömb A tömbök korlátai Fix méret, nem lehet menet közben megnövelni Ha túl nagyra választjuk, fölösleges helyfoglalás

Részletesebben

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

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Java GUI készítése, Oracle kapcsolódás JDBC-vel A jelen anyagban egy egyszerűsített megközelítéssel vizsgáljuk

Részletesebben

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 8. előadás Visszatekintés A Windows Console alkalmazások egy karakteres képernyőt biztosítottak, ahol a kimenet a kiírt szöveg, míg a bemenet a billentyűzet volt.

Részletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport 10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)

Részletesebben

C++ programozási nyelv Konstruktorok-destruktorok

C++ programozási nyelv Konstruktorok-destruktorok C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék

Részletesebben

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI

Részletesebben

.Net adatstruktúrák. Készítette: Major Péter

.Net adatstruktúrák. Készítette: Major Péter .Net adatstruktúrák Készítette: Major Péter Adatstruktúrák általában A.Net-ben számos nyelvvel ellentétben nem kell bajlódnunk a változó hosszúságú tömbök, listák, sorok stb. implementálásával, mert ezek

Részletesebben

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

1. ábra Fájl feltöltése 2. ábra Megtekintés Áttekintés A feladat során egy User control-t (felhasználói vezérlőt) készítünk. A bekért adatok ellenőrzéséhez Validátor vezérlőket használunk. Megismerjük a következő összetett vezérlőket FileUpload,

Részletesebben

A Java nyelv. Dialógus ablakok. Elek Tibor

A Java nyelv. Dialógus ablakok. Elek Tibor A Java nyelv Dialógus ablakok Elek Tibor Dialógus ablakok Szerepe: felbukkanó ablak (üzenet, input) Felépítése, használata majdnem ua., mint JFrame Tulajdonos: lehet tulajdonosa, amellyel együtt ikonizálódik,

Részletesebben

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész Java Programozás 7. Gy: Java alapok Adatkezelő 3.rész 39/1 B ITv: MAN 2018.04.11 A feladat Feladat: folytassuk a panel életre keltését! - Alakítsuk ki az Új dolgozó felvitele panelt - A panel a Beszúr

Részletesebben

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

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Grafikus felhasználói felület Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni awt,,heavy weight"

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma

Részletesebben

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr. Programozási Grafikus Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni awt: heavy weight" komponensek swing:

Részletesebben

Vizuális programozás gyakorlat

Vizuális programozás gyakorlat Vizuális programozás gyakorlat A gyakorlat célja az entitás modell készítésének és az MS SQLEXPRESS használatának gyakorlása. A gyakorlat során egy könyvtári szoftver adatmodelljét tervezzük meg, valamint

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

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

ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés Készítette: Gregorics Tibor Előfeltétel: OAF (EAF2) Kötelező házi feladatok: 4 darab feladat max. 5-5 pontért Feltételek 2 hét késés: legfeljebb 3

Részletesebben

Home movie database. Specifikáció. Verzió: 1.0. Dátum: 2008.03.18. Státusz: Released. Készítette: Farkas Róbert. Kulcsár Orsolya.

Home movie database. Specifikáció. Verzió: 1.0. Dátum: 2008.03.18. Státusz: Released. Készítette: Farkas Róbert. Kulcsár Orsolya. Dátum: 20080318 Státusz: Released Készítette: Farkas Róbert Kulcsár Orsolya Molnár Andrea Készítette Név: Farkas Róbert Kulcsár Orsolya Molnár Andrea Jóváhagyta Név: Dátum: 20080318 Dátum: Aláírás: Aláírás:

Részletesebben

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

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked

Részletesebben

OOP #14 (referencia-elv)

OOP #14 (referencia-elv) OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet

Részletesebben

Elemi Alkalmazások Fejlesztése Beadandó Feladat Juhász Ádám

Elemi Alkalmazások Fejlesztése Beadandó Feladat Juhász Ádám Feladat Készítsünk alkalmazást, amely bemutatja a misszionárius-kannibál problémát! Adott egy folyó, amelynek az egyik partján n darab kannibál és n darab misszionárius várakozik, hogy átkeljenek. Átkelésükhöz

Részletesebben

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

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 8. ELŐADÁS Üzenetablakok, dialógusablakok MDI alkalmazások 2 Üzenetablakok Windows-os alkalmazásokban nagyon gyakran használt

Részletesebben

ONLINE SZAKÉRTŐI KERETRENDSZER

ONLINE SZAKÉRTŐI KERETRENDSZER FELHASZNÁLÓI SEGÉDLET 1. ÁBRA 1.Lépés Szakértői rendszer főbb paramétereinek megadása 0. Ellenőrzés bekapcsolása (Ha első alkalommal használja a rendszert ajánlott kipipálni). A rendszer a megadott paramétereket

Részletesebben

Java programozási nyelv 4. rész Osztályok II.

Java programozási nyelv 4. rész Osztályok II. Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék

Részletesebben

C#---Access adatbáziskezelési gyakorlat

C#---Access adatbáziskezelési gyakorlat C#---Access adatbáziskezelési gyakorlat 1. Feladat: adatbázis kezelő alkalmazás készítése C# környezetben, Access adatbázist használva. 2. Minta adatbázis létrehozása ACCESS-ben 3. A Projekt létrehozása

Részletesebben

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció ERA Elektronikus aláírás - felhasználói dokumentáció Tartalomjegyzék 1. Bevezető... 3 1.1. Általános információk... 3 2. DesktopSign... 3 2.1. Általános információk... 3 2.2. Telepítés... 3 3. MNBSubscriber...

Részletesebben

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

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.

Részletesebben

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*; Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely

Részletesebben

JAVA PROGRAMOZÁS 3.ELŐADÁS

JAVA PROGRAMOZÁS 3.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram

Részletesebben

Programozás Minta programterv a 1. házi feladathoz 1.

Programozás Minta programterv a 1. házi feladathoz 1. Programozás Minta programterv a 1. házi feladathoz 1. Gregorics Tibor 1. beadandó/0.feladat 2008. december 6. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy osztályba n diák jár, akik m darab tantárgyat

Részletesebben

Oktatási anyag az MLSZ-IFA rendszerhez

Oktatási anyag az MLSZ-IFA rendszerhez Oktatási anyag az MLSZ-IFA rendszerhez Nyilvántartási szám: ISO 9001: 503/1256(2)-1177(2) BIZALMAS INFORMÁCIÓ JET-SOL JET-SOL TARTALOMJEGYZÉK 1 Sportszervezeti adminisztráció... 3 1.1 Sportszervezeti adatok

Részletesebben

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

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 7. ELŐADÁS Több információ az alkalmazásban - Fülek az űrlapon - Több űrlapos alkalmazások 2 Több információ az alkalmazásban

Részletesebben

BME MOGI Gépészeti informatika 4.

BME MOGI Gépészeti informatika 4. BME MOGI Gépészeti informatika 4. 1. feladat önálló feladatmegoldás Generáljon két 1 és 10 közötti véletlen egész számot, majd kiírja ezekre a számokra a tízes szorzótáblákat! Ha az első generált szám

Részletesebben

Entity Framework + LINQ oktatási segédlet

Entity Framework + LINQ oktatási segédlet Entity Framework + LINQ oktatási segédlet Török János Zsolt 2.0. változat Célok: - Ismerkedés az Entity Framework el - Adatbázis lekérdezések létrehozása LINQ segítségével Feladat: Megrendeléseket kezelő

Részletesebben

Energiainformációs Adattár Adatgyűjtő alrendszer felhasználói dokumentáció

Energiainformációs Adattár Adatgyűjtő alrendszer felhasználói dokumentáció Energiainformációs Adattár Adatgyűjtő alrendszer felhasználói dokumentáció Bevezető Tisztelt engedélyes! Üdvözöljük Önt a Magyar Energia Hivatal Energiainformációs Adattár - Adatgyűjtő alrendszerének felhasználói

Részletesebben

munkafüzet open eseményéhez

munkafüzet open eseményéhez Makrók használata az Excelben - munkafüzet open eseményéhez VBA-eljárás létrehozása Az Auto_Open makróval kapcsolatos fenti korlátozások megkerülhetők az Open eseményhez rendelt VBA-eljárással. Példa Auto_open

Részletesebben

Tájékoztató. Használható segédeszköz: -

Tájékoztató. Használható segédeszköz: - A 12/2013. (III. 29.) NFM rendelet szakmai és vizsgakövetelménye alapján. Szakképesítés, azonosítószáma és megnevezése 54 481 06 Informatikai rendszerüzemeltető Tájékoztató A vizsgázó az első lapra írja

Részletesebben

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:

Részletesebben

Objektumok inicializálása

Objektumok inicializálása Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú

Részletesebben

Gyakorlati vizsgatevékenység B

Gyakorlati vizsgatevékenység B Gyakorlati vizsgatevékenység B Szakképesítés azonosító száma, megnevezése: 481 04 0000 00 00 Web-programozó Vizsgarészhez rendelt követelménymodul azonosítója, megnevezése: 1189-06 Web-alkalmazás fejlesztés

Részletesebben

Eseménykezelés - Lottó játék

Eseménykezelés - Lottó játék Eseménykezelés - Lottó játék Célok: Események, eseménykezelés hátterének, fogalmainak rövid áttekintése. Eseménykezelést megvalósító nem grafikus felületű példaprogram készítése. Objektum-, statikus- és

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. 2015 Bánsághi Anna 1 of 31

Bánsághi Anna anna.bansaghi@mamikon.net. 2015 Bánsághi Anna 1 of 31 ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 5. ELŐADÁS - ABLAKOK, ERŐFORRÁSOK 2015 Bánsághi Anna 1 of 31 TEMATIKA I. C# áttekintés II. WPF 2015 Bánsághi Anna 2 of 31 II. WPF 1.

Részletesebben

Informatika terméktervezőknek

Informatika terméktervezőknek Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások

Részletesebben

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később). Grafikus felhasználói felület Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később). Mi hogyan használjuk? awt: eseménykezelés,

Részletesebben

Kézikönyv Számla-módozat rögzítése és alkalmazása

Kézikönyv Számla-módozat rögzítése és alkalmazása Kézikönyv Számla-módozat rögzítése és alkalmazása Tartalomjegyzék 1 ABAS ERP UTASÍTÁS ÁTTEKINTÉS... 5 2 VEVŐ - ÜRES... 8 3 VEVŐ - MEGJELENÍTÉS [70001 TESZTVEV TESZT VEVŐ]... 10 4 VEVŐ - VÁLTOZTATÁS [70001

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:

Részletesebben

Kézikönyv. Szelekciós jegyzék 2.

Kézikönyv. Szelekciós jegyzék 2. Kézikönyv Szelekciós jegyzék 2. Tartalomjegyzék 1 SZÁMLA (ÉRTÉKESÍTÉS) - ÜRES... 4 2 ABAS-ERP MASZKINFÓ... 6 3 SZÁMLA (ÉRTÉKESÍTÉS) - ÜRES... 7 4 ABAS-ERP UTASÍTÁS ÁTTEKINTÉS... 8 5 PARANCS KERESÉSE...

Részletesebben

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok 1 Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát

Részletesebben

Felhasználói útmutató a portal.nakvi.hu oldalhoz

Felhasználói útmutató a portal.nakvi.hu oldalhoz Felhasználói útmutató a portal.nakvi.hu oldalhoz Tartalomjegyzék Tartalomjegyzék Hír beküldése Új oldal létrehozása Menük kezelése Tartalmak menühöz rendelése Hír beküldése Új hír beküldéséhez az adminisztrációs

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 18. 2. El adás Komplex szám public class Complex { private float repart_; private float impart_; public Complex() { repart_ = 0; impart_ = 0; public Complex(float

Részletesebben

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

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba

Részletesebben

Teszt autók mozgatása modul

Teszt autók mozgatása modul Teszt autók mozgatása modul 1. Bevezetés... 2 2. Szűrési feltételek... 2 3. Új gépjármű teszt autóvá történő minősítése... 3 4. Teszt gépjármű mozgatása... 6 5. Teszt gépjármű visszavétele... 8 1 1. Bevezetés

Részletesebben

Kalapácsvetés 2016 szöveges

Kalapácsvetés 2016 szöveges Kalapácsvetés 2016 Ebben a feladatban a 2016. évi nyári olimpiai játékokon az atlétika férfi kalapácsvetés döntőjének eredményeit kell feldolgoznia. A döntő 6 dobási sorozatból állt, de a 3. sorozat után

Részletesebben

BME MOGI Gépészeti informatika 5.

BME MOGI Gépészeti informatika 5. BME MOGI Gépészeti informatika 5. 1. feladat Készítsen alkalmazást, mely feltölt egy egydimenziós tömböt adott tartományba eső, véletlenszerűen generált egész értékekkel! Határozza meg a legkisebb és a

Részletesebben

TÁJÉKOZTATÓ A CCN V VERZIÓHOZ Változások a V verzió kiadása után

TÁJÉKOZTATÓ A CCN V VERZIÓHOZ Változások a V verzió kiadása után TÁJÉKOZTATÓ A CCN V2017.4 VERZIÓHOZ Változások a V2017.3 verzió kiadása után Admin Javítás: Az internetes nyomtatvány frissítő menüpontra történő kattintás hibát jelzett, ha az egyik nyomtatványnál kikapcsoltuk

Részletesebben

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1 Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

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

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real

Részletesebben

Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató

Új Nemzedék Központ. EFOP pályázatok online beszámoló felülete. Felhasználói útmutató Új Nemzedék Központ EFOP pályázatok online beszámoló felülete Felhasználói útmutató Tartalom 1. Bejelentkezés... 2 1.1. Első bejelentkezés... 2 1.2. Elfelejtett jelszó... 3 2. Saját adatok... 4 3. Dokumentumok...

Részletesebben