Adatkonverziók Erőforrások

Slides:



Advertisements
Hasonló előadás
Grafikus tervezőrendszerek programozása 10. előadás.
Advertisements

GoldWorks grafika. Grafikus objektumok  előre definiált keretek  images (egy vagy több rés értékének reprezentálása)  canvases (image-ek megjelenítésére)
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Programozás III KOLLEKCIÓK 2..
Objektum Orientált Programozás Visual Basicben. 2 Objektumok Object – egy dolog, tárgy, „valami” –Command button, text box, stb. Jellemzők –Properties.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
A Windows 7 automatizált telepítése Windows AIK használatával
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Osztályok Garbage collection.  általában minden osztálynak vannak adattagjai és/vagy metódusai ◦ adattagok megadása:  [láthatóság] [static] [final]
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 7. Gyakorlat Operator overloading.
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Ellenőrző kérdések a)Auto-indexing enabled b)Auto-indexing disabled c)Nem eldönthető 1.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
C# tagfüggvények.
Krizsán Zoltán.  Ha az algoritmus sokáig dolgozik,  de el akarjuk kerülni a „fagyást”.  Kisebb a költsége, mint az új folyamatnak.  Programozás szempontjából.
V 1.0 Szabó Zsolt, Óbudai Egyetem, Haladó Programozás Eseménykezelés ismétlés Névtelen metódusok (anonymous methods)
Készítette: Keszthelyi Zsolt
Annotációk a Java 5 nyelvben Kozsik Tamás. Annotációk Módosítószavak bővítése A programszöveg elemeihez rendelhetők –Csomagokhoz, típusokhoz, metódusokhoz,
Kliensoldali Programozás
© Kozsik Tamás Csomagok. © Kozsik Tamás A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok.
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
Összetett adattípusok
Bátyai Krisztián NetAcademia Oktatóközpont oktató, fejlesztő MCT, MCPD
Vezérlők használata és írása Ez az előadó neve beosztása vállalata.
WPF alkalmazások fejlesztése az M-V-VM tervezési minta alapján
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Vizuális alkalmazások a FoxProban Páll Éva Boglárka.
A PHP 5 újdonságai Az OOP terén. Miről lesz szó? Osztályok kezelése – Új direktívák – Konstruktor – Destruktor Interfészek Kivételkezelés.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
V 1.0 Szabó Zsolt, Óbudai Egyetem, Programozási Paradigmák és Technikák Programozási eszközök Interfészek Generikus.
V 1.0 Szabó Zsolt, Óbudai Egyetem, Programozási Paradigmák és Technikák Programozási eszközök Interfészek Generikus.
Visual Basic 2008 Express Edition
Visual Basic 2008 Express Edition
Java programozási nyelv Metódusok
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Programozás III KIVÉTEL.
Haladó Programozás Reflexió OE-NIK HP.
DLL használata és készítése Feladat
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
Opencms modul fejlesztés Krizsán Zoltán. Modulok fajtái Nincs előírás, csak tipikus tennivalók: –Content type: új típus(oka)t vezet be. –Template: új.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
Erőforrások strukturálása Készítette: Szentirmai Róbert (minden jog fenntartva)
V 1.0 Programozás III. XML XAML Adatkötés I.. V 1.0ÓE-NIK, 2014 XML (w3schools.com) Hierarchikus adatleíró formátum XML deklarációk + elemek + attribútumok.
Alkalmazásfejlesztés gyakorlat
„Designer-barát” játéklogika
Programozás III. MVVM Adatkötés I..
Neumann János Informatikai Kar
Adatkötés Sablonokkal
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
JavaScript a böngészőben
Programozás III. MVVM Adatkötés I..
Web programozás és haladó fejlesztési technikák – C#
Függvénysablonok használata
Előadás másolata:

Adatkonverziók Erőforrások Programozás III. Adatkonverziók Erőforrások

XAML névterek <Window x:Class="WpfApplication4.MainWindow” xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> </Grid> </Window> A névterek adják meg a XAML-dokumentumunkban (az adott elemen belül) használható kulcsszavak körét

XAML névterek <Window x:Class="WpfApplication4.MainWindow” xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ... WPF-központú .NET névtereket képez le, és a .xaml fájl rendelkezésére bocsátja azokat: System.Windows System.Windows.Controls System.Windows.Data System.Windows.Media System.Windows.Navigation ... stb. Ez az alapértelmezett névtér, az ebből érkező kulcsszavakat nem kell névtérnévvel ellátni: <Window x:Class="WpfApplication4.MainWindow” xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid></Grid> </Window>

XAML névterek <Window x:Class="WpfApplication4.MainWindow” xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ... XAML-specifikus kulcsszavakat (és a System.Windows.Markup .NET névtér néhány típusát) tartalmazza: Class, Null, Static, Array, ClassModifier, FieldModifier, DynamicResource, StaticResource, Key, Name, Code, … Mindegyik speciális kulcsszó használata sajátos, néhányat fogunk csak tanulni Ennek a névtérnek a neve hagyományosan x, az ebből érkező kulcsszavakat x: prefixszel kell ellátni Sajátos, ergo külön-külön fogjuk tanulni amit tanulni fogunk egyáltalán ezekből. x:Class : osztály nevének megadása x:ClassModifier: osztály láthatóságának módosítása (az alapértelmezett public lenne) x:FieldModifier: a gomb példány láthatóságának módosítása <Window x:Class="WpfApplication4.MainWindow” x:ClassModifier="internal" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Button Content="START!" Name="buttonStart” x:FieldModifier="public"/> </Window>

XAML névterek Tetszőleges .NET-es névterek használata: clr-namespace: a névtér neve assembly: az assembly neve, amely a megadott névteret (vagy egy részét) tartalmazza. Tipikusan a .dll vagy .exe fájl neve, a kiterjesztés nélkül. Gyári .NET névterek esetében általában benne van a dokumentációban, pl IEnumerable<T> interfész MSDN dokumentációja: <Window x:Class="WpfApplication4.MainWindow" ... xmlns:System="clr-namespace:System;assembly=mscorlib”> <x:Array Type="System:String"> <System:String>Hello</System:String> <System:String>World</System:String> </x:Array> </Window>

Adatkonverziók Adatkonverziók: Gyakran automatikus! Pl: ListBox kerete vegye fel a ListBox-ban kijelölt színt. A ListBox-ban lévő elemek stringek. Egyébként az IValueConverter interfészt implementáló konverterosztállyal valósítható meg (System.Windows.Data) Két metódusa: Convert(), ConvertBack() Convert(): amikor az értéket átadjuk a forrásból a célba ConvertBack(): amikor a forrás megkapja az értéket a célból (kétirányú vagy forrás felé irányuló kötésmód esetén) A ConvertBack() után, amikor a forrásba került az érték, még egyszer hívódik a Convert(). <ListBox x:Name="listBoxSzinek" BorderBrush= "{Binding ElementName=listBoxSzinek, Path=SelectedItem}” .../>

Adatkonverziók Személy osztály: Kötés: szemely.Kor  label.Content Név (string) Kor (int) Kötés: szemely.Kor  label.Content <Window ... xmlns:current="clr-namespace:WpfApplication9” ... > <Grid> <Grid.Resources> <current:KorValueConverter x:Key="KorConverter"/> </Grid.Resources> <Label Content="Személy neve:" .../> <Label Content="Személy kora kb.:" .../> <Label Content="{Binding Nev}” .../> <Label Content="{Binding Kor, Converter={StaticResource KorConverter}}” ... /> </Grid> </Window> Névtér behivatkozása KorConverter néven hivatkozható konvertáló példány létrehozása a Grid erőforrásszótárában Cél: Kor konverziója szöveges értékké (objectté a Content miatt igazából, de ez most mindegy) Konvertáló hozzárendelése a kötéshez

Adatkonverziók Konvertáló osztály Csak egyirányú kötésre alkalmas ebben a formában, egyébként a visszafelé való konverzió implementálása is szükséges lenne class KorValueConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) int kor = (int)value; if (kor < 18) return "gyerek"; else if (kor < 30) return "fiatal"; else if (kor < 50) return "középkorú"; else if (kor < 65) return "idősebb"; else return "idős"; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) throw new NotImplementedException();

Erőforrások Az erőforrás olyan objektum, amit különféle helyeken fel/újrahasználhatunk az alkalmazásunkban Típusok: Logikai/objektum erőforrások: tetszőlegesen (XAML-ben) létrehozott objektumok Bináris erőforrások: képek, ikonok, sztringtáblázatok stb. A logikai erőforrásokat az erőforrásszótár tartalmazza, mindegyik el van látva névvel (x:Key) Resources tulajdonság (FrameworkElement utódokban) Tartalmazott elemek megkapják a tartalmazójuk erőforrásait <Window ... <Grid> <Grid.Resources> <current:KorValueConverter x:Key="KorConverter"/> </Grid.Resources> ... </Grid> </Window> KorConverter néven hivatkozható objektumerőforrás (KorValueConverter példány) létrehozása a Grid erőforrásszótárában

Erőforrások Logikai/objektumerőforrások használata még rengeteg más helyen: Ecsetek, színek, stílusok, Data Template-ek, konverterek, tetszőleges objektumok (pl. tömbök)… Pl: szín (ecset) létrehozása az erőforrásszótárban: Fajtái: StaticResource: a XAML betöltésekor, egyszer töltődik be, ezután a változtatásokat nem veszi figyelembe DynamicResource: futásidőben töltődik be, változtatható <Window ...> <Grid> <Grid.Resources> <SolidColorBrush x:Key="kedvencSzinem" Color="Azure"/> </Grid.Resources> ... <Label Background="{StaticResource ResourceKey=kedvencSzinem}" Content="Szép színű" .../> <ListBox Background="{StaticResource ResourceKey=kedvencSzinem}" .../> </Grid> </Window> http://msdn.microsoft.com/en-us/library/ms750613(v=vs.110).aspx A StaticResource will be resolved and assigned to the property during the loading of the XAML which occurs before the application is actually run. It will only be assigned once and any changes to resource dictionary ignored. A DynamicResource assigns an Expression object to the property during loading but does not actually lookup the resource until runtime when the Expression object is asked for the value. This defers looking up the resource until it is needed at runtime. A good example would be a forward reference to a resource defined later on in the XAML. Another example is a resource that will not even exist until runtime. It will update the target if the source resource dictionary is changed.

Erőforrások Bináris erőforrások: A projekthez bármilyen fájl hozzáadható, amire az alkalmazásnak később szüksége lehet A bináris erőforrások közé való felvételük a megfelelő fordítási beállítással érhető el (Solution Explorerben kijelölés, Properties ablak – Build Action) Resource: a fordító a .NET szerelvénybe építi az adatokat – előnye, hogy így mindig az alkalmazás rendelkezésére állnak Content: az adatok külön fájlokként állnak rendelkezésre – lecserélhetők, de figyelmetlen felhasználó pl. törölheti őket Fájlnév szerint hivatkozunk rájuk a XAML-ben <Image Source="LockScreen___0600_0337.jpg" />

Feladat Csapat = center + left wing + right wing + 2 defender + goalie Név = csak karakterek