Graafisen käyttöliittymän ohjelmointi Syksy 2013

Koko: px
Aloita esitys sivulta:

Download "Graafisen käyttöliittymän ohjelmointi Syksy 2013"

Transkriptio

1 TIE Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 6 Interaktiivinen käyttöliittymä ja Drag-and-Drop Juha-Matti Vanhatupa

2 Sisältö Hiiri- ja Näppäintapahtumat Event filterit Drag-and-Drop

3 Qt Eventit QEvent kantaluokka Qt:n eventeille Qt:n tapahtumasilmukka purkaa ikkunointijärjestelmän eventit jonoista ja muuttaa ne QEvent:eiksi, ja lähettää ne QObjecteille kutsumalla sen event()-funktiota. Funktio kutsuu eventin tyypin mukaan oikeaa käsittelijäfunktiota.

4 Qt Eventit Eventin tyyppi kerrotaan enum QEvent::Type. Listattuna n. 140 erilaista eventtiä. Accept / Ignore Kertoo onko eventti käsitelty Eventtejä voi myös lähettää itse sendevent() käsittelee eventin heti postevent() event menee jonoon odottamaan käsittelyä. Qt:n tapahtumasilmukka käsittelee ne ja saattaa myös optimoida niitä.

5 Hiiritapahtumat QWidget tarjoaa joukon funktioita, joilla hiiritapahtumia voidaan napata. Enter Kutsutaan kun hiiren kursori siirtyy ikkunan päälle void QWidget::enterEvent ( QEvent * event ) void QWidget::dragEnterEvent ( QDragEnterEvent * event ) Leave Kutsutaan kun hiiren kursori poistuu objektin päältä void QWidget::leaveEvent ( QEvent * event ) void QWidget::dragLeaveEvent ( QDragEnterEvent * event )

6 Hiiritapahtumat Move Kutsutaan kun hiiren kursori liikkuu ikkunan päällä void QWidget::mouseMoveEvent ( QMouseEvent * event ) void QWidget::dragMoveEvent ( QDragEnterEvent * event ) Down Kutsutaan kun hiiren painike painetaan pohjaan void QWidget::mousePressEvent ( QMouseEvent * event )

7 Hiiritapahtumat Up Kutsutaan kun hiiren painike vapautetaan void QWidget::mouseReleaseEvent ( QMouseEvent * event ) Drop Kutsutaan kun drag-and-drop päätetään. void QWidget::dropEvent ( QDropEvent * event )

8 Hiiritapahtumat Mouse-eventit lähetetään ensisijaisesti sille ikkunalle, jonka päällä kursori on. Koordinaatit lasketaan suhteessa tähän ikkunaan

9 Capture Mahdollistaa hiiri-tapahtumien vastaanottamisen vaikka kursori olisi ikkunan ulkopuolella. - void QWidget::grabMouse () - void QWidget::releaseMouse () grabmouse()-funktiokutsun jälkeen widgetti vastaanottaa kaikki hiiri-tapahtumat, eivätkä muut widgetit saa niitä. Käytettävä varoen. Ei vaikutusta näppäinsanomiin.

10 Näppäintapahtumat Periaate sama kuin hiiritapahtumissa. QWidget tarjoaa tapahtumankäsittelijäfunktioita, joita ylikirjoittamalla voidaan luoda omaa toiminnallisuutta.

11 Näppäintapahtumat Focus In Kutsutaan kun widgetti saa fokuksen void QWidget::focusInEvent ( QFocusEvent * event ) Focus Out Kutsutaan kun widgetti menettää fokuksen void QWidget::focusOutEvent ( QFocusEvent * event ) Key Down Kutsutaan kun näppäin painetaan pohjaan void QWidget::keyPressEvent ( QKeyEvent * event ) Key Up Kutsutaan kun näppäin vapautetaan void QWidget::keyReleaseEvent ( QKeyEvent * event )

12 QKeyEvent Näppäinkoodi int QKeyEvent::key () const ei erottele isoja ja pieniä kirjaimia. Käytä text() jos tarvitaan. Keyboard modifiers (QInputEvent) Kertoo onko esim ALT tai SHIFT painike pohjassa toiminnon aikana

13 Esimerkki oma tabulaattori-käsittely Normaalisti tabulaattori siirtää focusta. Mutta jos widgetti jostain syystä tarvitsee itse tabulaattoria, voidaan se toteuttaa widgetin event()-funktiossa. bool MyWidget::event(QEvent *event) { if (event->type() == QEvent::KeyPress) { QKeyEvent *ke = qobject_cast<qkeyevent *>(event); if (ke->key() == Qt::Key_Tab) { // special tab handling here return true; return QWidget::event(event);

14 Esimerkki omien event-tyyppien käsittely Myös omia event-tyyppejä voi käsitellä event()-funktiossa. Tämä voidaan tehdä joko ennen tai jälkeen normaalin event käsittelyn. bool MyWidget::event(QEvent *event) { if (event->type() == CustomEventType) { CustomEvent *myevent = static_cast<customevent *>(event); // custom event handling here return true; return QWidget::event(event);

15 Capture Mahdollistaa näppäin-sanomien vastaanottamisen vaikka focus vaihtuisi. - void QWidget::grabKeyboard () - void QWidget::releaseKeyboard () grabkeyboard() -kutsun jälkeen widgetti vastaanottaa näppäintapahtumat eivätkä muut saa niitä. Focus liikkuu normaalisti, mutta sen omaava widgetti ei saa näppäintapahtumia, ennen kuin releasekeyboard() on kutsuttu. Ei vaikutusta hiiritapahtumiin. Myös käytettävä varoen.

16 Event filter Mahdollistaa eventtien monitoroinnin widgetin ulkopuolelta QObject::installEventFilter(QObject * filterobj); Eventit lähetetään ensin installoidulle filter oliolle ja ne kulkevat olion eventfilter()-funktion kautta

17 Event filterin toteutus class KeyPressEater : public QObject { Q_OBJECT protected: bool eventfilter(qobject *obj, QEvent *event); ; bool KeyPressEater::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::KeyPress) { return true; else return QObject::eventFilter(obj, event);

18 Event filterin asettaminen KeyPressEater *keypresseater = new KeyPressEater(this); QPushButton *pushbutton = new QPushButton(this); pushbutton->installeventfilter(keypresseater); Luokan rakentaja on hyvä paikka filterin asentamiseksi. Jos olioon asennettu useita filtereitä, viimeisenä asennettu aktivoidaan ensin.

19 Qt:n Tapahtumankäsittelyn viisi tasoa Tapahtumakäsittelijän toteuttaminen. QObject:n event() funktion toteuttaminen. EventFilterin asentaminen QObject:iin. EventFilterin asentaminen QApplication olioon. Oma toteutus QApplication::notify()-funktiolle. Luettelon prioriteetti alhaalta ylös.

20 Drag and Drop Keino siirtää tietoa joko ohjelman sisällä tai prosessien välillä.

21 Drag and Drop Voi sisältää saman datan useana eri tyyppinä - Esim. sovellus käsittelee Dataobjekteja, mutta esim Paintsovellus käsittelee Bitmaptyyppisiä olioita. Bitmap Data

22 Drag & Drop Koostuu kolmesta vaiheesta: 1. Raahauksen aloittaminen 2. Raahaaminen 3. Droppaus Oman sovelluksen sisällä 3. osapuolen sovellukseen

23 Drag and Drop Qt Kaikkiin QWidgetistä periytettyihin luokkiin voidaan toteuttaa D&D toiminnallisuus. Widgetit voivat tukea joko raahauksen aloitusta tai lopettamista tai molempia.

24 1. Raahauksen aloittaminen Toteuta widgetille mousepress-event käsittelijä Periyttämällä oma toteutus Event filtterin avulla Aseta raahattava data QDrag objektiin Data voidaan asettaa useassa eri formaatissa Kerro raahauksen tyyppi ja aloita Dragoperaatio QDrag* pdrag = new QDrag(this); pdrag->exec(qt::copyaction);

25 Esim class CDraggableLabel : public QLabel { public: CDraggableLabel(); protected: void mousepressevent( QMouseEvent *e); ; void mousepressevent( ) { QDrag* drag = new QDrag(this); QMimeData* mimedata = new QMimeData; QString text = this->text(); mimedata->settext(text); drag->setmimedata(mimedata); drag->exec(qt::copyaction);

26 2. Raahaaminen Raahauksen tyyppi Qt::CopyAction Qt::MoveAction Raahauksen hyväksyminen Oletuksena QWidget ei hyväksy droppia

27 Esim class CDraggableLabel : public QLabel { public: CDraggableLabel(); protected: void mousepressevent( QMouseEvent *e); void dragenterevent( QDragEnterEvent *e); ; CDraggableLabel() { setacceptdrops(true); void dragenterevent(qdragenterevent *e) { if (e->mimedata()->hastext()) { e->accept(); else { e->ignore();

28 3. Droppaus Datan kysyminen Toteuta dropevent Otetaan talteen data QString text = event->mimedata()->text(); QByteArray data = event->mimedata()- >data("application/x-omaformaatti");

29 Esim class CDraggableLabel : public QLabel { public: CDraggableLabel(); protected: void mousepressevent( QMouseEvent *e); void dragenterevent( QDragEnterEvent *e); void dropevent(qdropevent *e); ; CDraggableLabel() { setacceptdrops(true); void dropevent(qdropevent *e) { if (e->mimedata()->hastext()) { this->settext(e->mimedata->text()); e->accept(); else { e->ignore();

30 QMimeData Voi sisältää saman data useassa eri formaatissa QStringList formats(); // palauttaa listan käytettävissä olevista formaateista. Huolehtii siitä, että dataa voidaan siirtää eri sovellusten välillä. Yleensä QMimeData olio luodaan new:llä, ja annetaan QDrag/QClipboard oliolle.

31 QMimeData Yleisimmille tyypeille QMimeData tarjoaa erilliset funktiot. Datan kysyminen binäärimuodossa QByteArray data(qstring mimetype);

32 QMimeData Tarjoaa kolme eri tapaa varastoida oman tyyppistä dataa. 1) Suoraan QByteArray:na QByteArray csvdata =...; QMimeData *mimedata = new QMimeData; mimedata->setdata("text/csv", csvdata); 2) Periyttämällä QMimeData ja ylikirjoittamalla hasformat(), formats() ja retrievedata()

33 QMimeData 3) Jos dataa käytetään saman sovelluksen sisällä, voidaan drag and drop:ssa tehdä tyyppimuunnos QMimeData:sta oman aliluokan olioksi ja asettaa/purkaa oma data siitä. void MyWidget::dropEvent(QDropEvent *event) { const MyMimeData *mydata = qobject_cast<const MyMimeData *>(event->mimedata()); if (mydata) { // access mydata's data through MyMimeData interface

34 QApplication globaalit asetukset QApplication::startDragTime() kertoo ajan, joka käyttäjän tulee pitää hiiren näppäintä painettuna ennen kuin raahaus alkaa. Oletus 500ms, voidaan muuttaa setdragtime(int ms) funktiolla. QApplication::startDragDistance() kertoo matkan, joka käyttäjän tulee liikuttaa objektia ennen kuin se tulkitaan raahausoperaatioksi. Oletus 4 pikseliä, voidaan muuttaa setstartdragdistance(int l) funktiolla.

Tapahtumapohjainen ohjelmointi

Tapahtumapohjainen ohjelmointi Tapahtumapohjainen ohjelmointi Juha-Matti Vanhatupa (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia) Erot perinteisiin sovelluksiin Sovelluksen kulku ei ole ennalta tiedossa. Start A

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 10 Rinnakkaisuus käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Rinnakkaisuus ja käyttöliittymäohjelmointi

Lisätiedot

Leikepöydän käyttö.net ja QT. Juha Järvensivu 2008

Leikepöydän käyttö.net ja QT. Juha Järvensivu 2008 Leikepöydän käyttö.net ja QT Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisältö Leikepöydän toiminta.net toteutus + esimerkki QT - toteutus Yleistä Leikepöytä (Clipboard) Keino siirtää tietoa nopeasti

Lisätiedot

Hiirisanomiin vastaaminen. 2007

Hiirisanomiin vastaaminen. 2007 Hiirisanomiin vastaaminen juha.jarvensivu@tut.fi 2007 Sisällys Hiirisanomat Näppäinsanomat Capture Objektin valinta Osumatestaus Objektin raahaaminen Esimerkki Hiirisanomat MouseEnter Kutsutaan kun hiiren

Lisätiedot

Graafisen käyttöliittymän ohjelmointi

Graafisen käyttöliittymän ohjelmointi TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Luento 4 Valikot ja dialogit Juha-Matti Vanhatupa Sisältö Pääikkuna Valikot Dialogit Pääikkuna (top-level window)

Lisätiedot

Interaktiivinen käyttöliittymä. 2008

Interaktiivinen käyttöliittymä. 2008 Interaktiivinen käyttöliittymä juha.jarvensivu@tut.fi 2008 Sisällys Hiirisanomat ja Näppäinsanomat Objektin valinta Osumatestaus Objektin raahaaminen Esimerkki Hiirisanomat MouseEnter Kutsutaan kun hiiren

Lisätiedot

QT framework. Juha Järvensivu 2007

QT framework. Juha Järvensivu 2007 QT framework Juha Järvensivu juha.jarvensivu@tut.fi 2007 QT Framework QT Class Library QT Designer QT Assistant QT Linguist http://trolltech.com QT Class Library C++ API >400 luokkaa Kattava widget kirjasto

Lisätiedot

Qt perusteet. Juha-Matti Vanhatupa. (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia)

Qt perusteet. Juha-Matti Vanhatupa. (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia) Qt perusteet Juha-Matti Vanhatupa (vanhan kurssin Graafisen käyttöliittymän ohjelmointi materiaalia) Sisältö Käännösprosessi MetaObjectSystem Hyödyt Qt:n moduulit Qt käyttöliittymän muistinhallinta Debug-tulosteet

Lisätiedot

Tiedostonkäsittely ja asetusten tallentaminen. Graafisen käyttöliittymän ohjelmointi Luento 14

Tiedostonkäsittely ja asetusten tallentaminen. Graafisen käyttöliittymän ohjelmointi Luento 14 Tiedostonkäsittely ja asetusten tallentaminen Graafisen käyttöliittymän ohjelmointi Luento 14 Sisällys Asetusten tallentaminen (QSettings) Windowsin rekisteri Ini-tiedostot Tietovirrat ja tiedostonkäsittely

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 7 Tiedostonkäsittely ja asetukset Juha-Matti Vanhatupa Sisältö Leikepöytä Asetusten tallentaminen

Lisätiedot

QT tyylit. Juha Järvensivu 2008

QT tyylit. Juha Järvensivu 2008 QT tyylit Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisällys QStyle Style sheet Tyyli (QStyle) Kapseloi widgettien Look And Feel ominaisuudet Toteutettu QT:ssa QStyle luokkaan Sisäänrakennettuja tyylejä

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 5 Qt: Grafiikan piirto Juha-Matti Vanhatupa Sisältö GDI Qt paint system Koordinaatisto-operaatioita

Lisätiedot

Osio 4: Graafinen käyttöliittymä

Osio 4: Graafinen käyttöliittymä Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 8 Suunnittelumallit käyttöliittymäohjelmoinnissa Juha-Matti Vanhatupa Yleistä Suunnittelumalli on

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 9 Qt model/view Juha-Matti Vanhatupa Sisältö Qt:n MV mallin osat Mallin ja näkymän välinen kommunikointi

Lisätiedot

Graafisen käyttöliittymän ohjelmointi

Graafisen käyttöliittymän ohjelmointi TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Luento 2 Tapahtumapohjainen ohjelmointi Juha-Matti Vanhatupa Sisältö Tapahtumapohjainen ohjelmointi Tapahtumakuuntelijoiden

Lisätiedot

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1 String-vertailusta ja Scannerin käytöstä (1/2) Vertailuja tehdessä törmätään usein tilanteeseen, jossa merkkijonoa (esimerkiksi merkkijonomuuttujaa) pitää vertailla toiseen merkkijonoon. Tällöin tavanomainen

Lisätiedot

Hae Opiskelija käyttöohje

Hae Opiskelija käyttöohje Hae Opiskelija käyttöohje Yleistä Hae Opiskelija hakuikkunan toiminto on uudistettu tavoitteena saada selkeämpi ja helppokäyttöisempi rakenne. Käyttäjä valitsee ensin, kumpaa hakua haluaa käyttää, Perushaku

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

5 Näppäimistö. 5.1 Näppäimistön eventit

5 Näppäimistö. 5.1 Näppäimistön eventit 5 Näppäimistö Näppäimistö (Keyboard) on Windows Forms -ohjelmissa keskeisessä asemassa. Erityisesti erilaisissa tekstinkäsittelyohjelmissa ja ohjelmissa, joissa tarvitaan datan syöttämistä esimerkiksi

Lisätiedot

LUKU 17 MUUTAMIA JAVA FX -SOVELLUKSIA. Tässä dokumentissa esitellään muutamia Java FX -sovelluksia.

LUKU 17 MUUTAMIA JAVA FX -SOVELLUKSIA. Tässä dokumentissa esitellään muutamia Java FX -sovelluksia. LUKU 17 MUUTAMIA JAVA FX -SOVELLUKSIA Tässä dokumentissa esitellään muutamia Java FX -sovelluksia. Kaikista sovelluksista esitellään niiden ohjelmakoodi muutamine selityksineen ja lisäksi on kuva kunkin

Lisätiedot

Tapahtumapohjainen ohjelmointi. Juha Järvensivu juha.jarvensivu@tut.fi 2007

Tapahtumapohjainen ohjelmointi. Juha Järvensivu juha.jarvensivu@tut.fi 2007 Tapahtumapohjainen ohjelmointi Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisältö Tapahtumapohjainen ohjelmointi Käyttöliittymän rakenne Pääikkuna (top-level window) Lapsi-ikkuna (child window) Dialogit

Lisätiedot

Olio-ohjelmointi Syntaksikokoelma

Olio-ohjelmointi Syntaksikokoelma C++-kielen uusia ominaisuuksia Olio-ohjelmointi Syntaksikokoelma 31.10.2008 Bool-tietotyyppi: Totuusarvo true (1), jos ehto on tosi ja false (0) jos ehto epätosi. Dynaaminen muistinvaraus: Yhden muuttuja

Lisätiedot

Harjoitus 2: Oppijan aktivointi (15.3.2016)

Harjoitus 2: Oppijan aktivointi (15.3.2016) Harjoitus 2: Oppijan aktivointi (15.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2008

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2008 Tapahtumapohjainen ohjelmointi Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisältö Tapahtumapohjainen ohjelmointi Käyttöliittymän rakenne Pääikkuna (top-level window) Lapsi-ikkuna (child window) Dialogit

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

QT model view. Juha Järvensivu 2008

QT model view. Juha Järvensivu 2008 QT model view Juha Järvensivu juha.jarvensivu@tut.fi 2008 Johdanto Model, View ja Delegaatit kommunikoivat singaaleista koostuvien rajapintojen avulla Malli informoi data muutoksista View informoi käyttäjän

Lisätiedot

Osio 4: Graafinen käyttöliittymä

Osio 4: Graafinen käyttöliittymä Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli

Lisätiedot

Tapahtumat. Johdanto Ikkunointi Ikkunatapahtumat Päätapahtumasilmukka Tapahtumien käsittely Olioiden välinen kommunikointi.

Tapahtumat. Johdanto Ikkunointi Ikkunatapahtumat Päätapahtumasilmukka Tapahtumien käsittely Olioiden välinen kommunikointi. Tapahtumat Johdanto Ikkunointi Ikkunatapahtumat Päätapahtumasilmukka Tapahtumien käsittely Olioiden välinen kommunikointi Petri Vuorimaa 1 Johdanto Tapahtumien käsittely muodostaa vuorovaikutteisen käyttöliittymän

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet

Pikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet Luku 6 Pikanäppäimet Pikanäppäimet ovat näppäinyhdistelmiä, jotka mahdollistavt ZoomTextin komennot ilman ZoomTextin käyttäjäliittymän aktivointia. Pikanäppäin komentoja on melkein jokaisella ZoomTextin

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Jypelin käyttöohjeet» Miten lisään ohjaimet peliin

Jypelin käyttöohjeet» Miten lisään ohjaimet peliin Muilla kielillä: English Suomi Jypelin käyttöohjeet» Miten lisään ohjaimet peliin Peli voi ottaa vastaan näppäimistön, Xbox 360 -ohjaimen ja hiiren ohjausta. Ohjainten liikettä "kuunnellaan" ja voidaankin

Lisätiedot

1. Mitä tehdään ensiksi?

1. Mitä tehdään ensiksi? 1. Mitä tehdään ensiksi? Antti Jussi i Lakanen Ohjelmointi 1, kevät 2010/ Jyväskylän yliopisto a) Etsitään Googlesta valmis algoritmi b) Mietitään miten itse tehtäisiin sama homma kynällä ja paperilla

Lisätiedot

UML ja luokkien väliset suhteet

UML ja luokkien väliset suhteet UML ja luokkien väliset suhteet -Luokan kuvaaminen UML-tekniikalla -Yhteyssuhde ja koostumussuhde 1 Luokan kuvaaminen UML-tekniikalla : Luokka - attribuutti1 : tietotyyppi # attribuutti2 : tietotyyppi

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 1 Johdanto ja Qt työkalujen esittely Juha-Matti Vanhatupa Kurssin tavoitteet Kuvailla käyttöliittymäohjelmoinnin

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

Lisätiedot

C++11 lambdat: [](){} Matti Rintala

C++11 lambdat: [](){} Matti Rintala C++11 lambdat: [](){} Matti Rintala bool(*)(int) Tarve Tarve välittää kirjastolle/funktiolle toiminnallisuutta Callback-funktiot Virhekäsittely Käyttöliittymät Geneeristen kirjastojen räätälöinti STL:n

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu

TIE-20200 Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 1: Virtuaalifunktiot, Template method 1 Yleistä asiaa Muistakaa harkkatyöilmoittautuminen 23 ryhmää (mm. lihansyöjäkirahvi), vajaita ryhmiäkin on 44 henkeä vielä

Lisätiedot

T740103 Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010

T740103 Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010 12. Periytyminen Johdantoa Käytännössä vähänkään laajemmissa ohjelmissa joudutaan laatimaan useita luokkia, joiden pitäisi pystyä välittämään tietoa toisilleen. Ohjelmien ylläpidon kannalta olisi lisäksi

Lisätiedot

Olio-ohjelmointi 2. välikoe HYV5SN

Olio-ohjelmointi 2. välikoe HYV5SN Olio-ohjelmointi 2. välikoe 27.4.2007 HYV5SN 1. Tee ohjelma, joka sisältää laatikko-luokan. Luokan tietojäseninä ovat laatikon syvyys, leveys ja korkeus. Toteuta luokkaan muodostin, jonka avulla olio voidaan

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

SKYPE-RYHMÄN LUOMINEN

SKYPE-RYHMÄN LUOMINEN SKYPE-RYHMÄN LUOMINEN JA RYHMÄPUHELUN SOITTAMINEN Ryhmän perustaminen on helppoa. Tarvitset internet-yhteyden sekä tietokoneen, jossa on mikrofoni ja webbikamera. Useimmissa kannettavissa tietokoneissa

Lisätiedot

Harjoitus 2: Raahaus, satunnaisuus ja taulukot ( )!

Harjoitus 2: Raahaus, satunnaisuus ja taulukot ( )! Tietokoneavusteinen opetus, 2017 Harjoitus 2: Raahaus, satunnaisuus ja taulukot (14.3.2017) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä ja HTML5-tekniikoita neljänä kertana:

Lisätiedot

Tehtävä 1. TL5302 Olio-ohjelmointi Koe Malliratkaisuja. Tässä sekä a)- että b)-kohdan toimiva ratkaisu:

Tehtävä 1. TL5302 Olio-ohjelmointi Koe Malliratkaisuja. Tässä sekä a)- että b)-kohdan toimiva ratkaisu: TL5302 Olio-ohjelmointi Koe 19.4.2005 Malliratkaisuja Tehtävä 1 Tässä sekä a)- että b)-kohdan toimiva ratkaisu: #include using namespace std; int main() int taul[5]=1,2,3,4,5; int *p,&r=taul[0];

Lisätiedot

Windows Live SkyDrive - esittely

Windows Live SkyDrive - esittely Windows Live SkyDrive - esittely Microsoftin SkyDrive on pilvipohjainen tiedostojen säilytys- ja jakopalvelu. SkyDrive tarjoaa 25 Gb ilmaista säilytystilaa tiedostoille ja valokuville. Voit käyttää SkyDriven

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Graafisen käyttöliittymän ohjelmointi Syksy 2013 TIE-11300 Tietotekniikan vaihtuva-alainen kurssi Graafisen käyttöliittymän ohjelmointi Syksy 2013 Luento 11 Käyttöliittymän lokalisointi Juha-Matti Vanhatupa Sisältö Lokalisoinnin haasteita Käännöksen

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu

TIE-20200 Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 1: Virtuaalifunktiot, Template method 1 Seuraavaksi tarjolla: Otekn-asiaa vähän pintaa syvemmältä Virtuaalifunktiot ja erikoistaminen, olioiden kopiointi ja elinaika

Lisätiedot

Tässä dokumentissa kuvataan Keimo-projektissa sovellettavia ohjelmointikäytäntöjä. Päivämäärä 10.11.2002 Projektiryhmä Keimo keimo-dev@list.hut.

Tässä dokumentissa kuvataan Keimo-projektissa sovellettavia ohjelmointikäytäntöjä. Päivämäärä 10.11.2002 Projektiryhmä Keimo keimo-dev@list.hut. T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tässä dokumentissa kuvataan Keimo-projektissa sovellettavia ohjelmointikäytäntöjä. Päivämäärä 10.11.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi Kirjoittajat

Lisätiedot

Veto-visualisointityökalu

Veto-visualisointityökalu Ohjelmoinnin suunnittelumallit (design patterns) käyttöliittymissä Vanhin ja keskeisin lähde Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns. Addison-Wesley, USA, 1994. Ajatus ohjelmoinnin

Lisätiedot

TIE Ohjelmistojen suunnittelu

TIE Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 8: Lokalisointia/kansainvälistystä TIE-20200 Samuel Lahtinen 1 Ajankohtaista Viimeiset viikkoharkat tarjolla, aiheena kansainvälistäminen/lokalisointi Viikkoharkkoja

Lisätiedot

1.1 Pino (stack) Koodiluonnos. Graafinen esitys ...

1.1 Pino (stack) Koodiluonnos. Graafinen esitys ... 1. Tietorakenteet Tietorakenteet organisoivat samankaltaisten olioiden muodostaman tietojoukon. Tämä järjestys voidaan saada aikaan monin tavoin, esim. Keräämällä oliot taulukkoon. Liittämällä olioihin

Lisätiedot

Ohjelmointi 2 / 2010 Välikoe / 26.3

Ohjelmointi 2 / 2010 Välikoe / 26.3 Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään

Lisätiedot

TIE Ohjelmistojen suunnittelu

TIE Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 12: Lokalisointia/kansainvälistystä TIE-20200 Samuel Lahtinen 1 Sisältöä Kansainvälistäminen/lokalisointi Mitä asioita voi liittyä kansainvälistämiseen/lokalisointiin?

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys. Luokkahierarkia. Periytyminen (inheritance)

Sisällys. JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys. Luokkahierarkia. Periytyminen (inheritance) Sisällys JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys Periytyminen (inheritance) Näkyvyys (visibility) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E. Hyvönen: Java Osa

Lisätiedot

Message Broadcasting. Käyttöympäristö. Message Broadcasting -laajennuksen asentaminen. Viestien luominen

Message Broadcasting. Käyttöympäristö. Message Broadcasting -laajennuksen asentaminen. Viestien luominen Message Broadcasting Message Broadcasting on EasyMP Monitor -sovelluksen laajennus. Järjestelmänvalvojat voivat lähettää tämän laajennuksen avulla viestejä ja ilmoituksia yhteen tai useampaan projektoriin

Lisätiedot

Racket ohjelmointia II. Tiina Partanen 2015

Racket ohjelmointia II. Tiina Partanen 2015 Racket ohjelmointia II Tiina Partanen 2015 Sisältö Peruspeli 1 Yksinkertainen peli, jossa kerätään kohteita ja väistellään vaaroja Pitkälle viety koodi, johon täydennetään vain puuttuvat palat Ei tarvita

Lisätiedot

Racket ohjelmointia. Tiina Partanen 2014

Racket ohjelmointia. Tiina Partanen 2014 Racket ohjelmointia Tiina Partanen 2014 Sisältö 1) Peruslaskutoimitukset 2) Peruskuvioiden piirtäminen 3) Määrittelyt (define) 4) Yhdistettyjen kuvien piirtäminen 5) Muuttujat ja funktiot 6) Animaatiot

Lisätiedot

Periytyminen (inheritance)

Periytyminen (inheritance) 1 Periytyminen (inheritance) Mitä periytyminen on? Yli- ja aliluokka Konstruktorit Get- ja set-metodi Muut metodit tostring Yksinkertainen pääohjelma 1 Mitä periytyminen on? Periytymisen avulla olemassa

Lisätiedot

Sonic Boom BD4000. Käyttöohje

Sonic Boom BD4000. Käyttöohje Sonic Boom BD4000 Käyttöohje Tärkeää: Lue nämä käyttöohjeet ensin huolella läpi jotta saat kaiken hyödyn laitteestasi. Säästä ohjeet tulevia tarpeita varten. Käytä ainoastaan laitteen mukana tullutta verkkolaitetta

Lisätiedot

C# ja.net. Juha Järvensivu 2007

C# ja.net. Juha Järvensivu 2007 C# ja.net Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisältö C#.NET-kirjastot C# - C-sharp Standardoitu kieli (2003) Kieli, jossa pyritään yhdistämään C++:n tehokkuus ja Javan helppokäyttöisyys Suunniteltu.NET-ohjelmointiin

Lisätiedot

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä Sisällys 9. Periytyminen Javassa Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat

Lisätiedot

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia.

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia. 4. Periytyminen 4.1. Johdantoa Käytännössä vähänkään laajemmissa ohjelmissa joudutaan laatimaan useita luokkia, joiden pitäisi pystyä välittämään tietoa toisilleen. Ohjelmien ylläpidon kannalta olisi lisäksi

Lisätiedot

Lisää segmenttipuusta

Lisää segmenttipuusta Luku 24 Lisää segmenttipuusta Segmenttipuu on monipuolinen tietorakenne, joka mahdollistaa monenlaisten kyselyiden toteuttamisen tehokkaasti. Tähän mennessä olemme käyttäneet kuitenkin segmenttipuuta melko

Lisätiedot

2. Olio-ohjelmoinista lyhyesti 2.1

2. Olio-ohjelmoinista lyhyesti 2.1 2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin

Lisätiedot

Sonera Hosted Mail -palvelun käyttöohje 12.05.2011

Sonera Hosted Mail -palvelun käyttöohje 12.05.2011 Sonera Hosted Mail -palvelun käyttöohje 12.05.2011 Sonera Hosted Mail -palvelun käyttöohje 1. Johdanto Hosted Mail on yrityskäyttöön suunniteltu sähköposti- ja ryhmätyösovelluspalvelu. Se perustuu Microsoft

Lisätiedot

9. Periytyminen Javassa 9.1

9. Periytyminen Javassa 9.1 9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.

Lisätiedot

9. Periytyminen Javassa 9.1

9. Periytyminen Javassa 9.1 9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat

Lisätiedot

Mikä yhteyssuhde on?

Mikä yhteyssuhde on? 1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String

Lisätiedot

Matkahuolto lisäosa WooCommerce alustalle (c) Webbisivut.org

Matkahuolto lisäosa WooCommerce alustalle (c) Webbisivut.org Matkahuolto lisäosa WooCommerce alustalle (c) Webbisivut.org Sisällysluettelo Yleistä...3 Asennus... 4 Asetukset... 4 Toimitustavat... 5 Tilauksen käsittely...6 Huomioitavaa... 7 Lähipaketti toimitustapa...

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016)

Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Harjoitus 3: Flash-komponenttiarkkitehtuuri (18.3.2016) Tietokoneavusteinen opetus -kurssilla opetetaan Adobe Flash CS6:n käyttämistä neljänä kertana: 11.3.2016, 15.3.2016, 18.3.2016 ja 1.4.2016. Harjoituskerroilla

Lisätiedot

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) 1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden

Lisätiedot

4. Luokan testaus ja käyttö olion kautta 4.1

4. Luokan testaus ja käyttö olion kautta 4.1 4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään

Lisätiedot

Lupa opetuskäyttöön pyydettävä. info@tietsikka.net. Näppäimistö. Kohdistimen ohjausnäppäimistö. Funktionäppäimistö. Kirjoitusnäppäimistö

Lupa opetuskäyttöön pyydettävä. info@tietsikka.net. Näppäimistö. Kohdistimen ohjausnäppäimistö. Funktionäppäimistö. Kirjoitusnäppäimistö Näppäimistö 2005 Päivi Vartiainen 1 Kohdistimen ohjausnäppäimistö Funktionäppäimistö Kirjoitusnäppäimistö Numeronäppäimistö Kohdistimen ohjausnäppäimistöllä siirretään hiiren osoitinta ruudulla. Kohdistin

Lisätiedot

Delegaatit ja tapahtumakäsittelijät

Delegaatit ja tapahtumakäsittelijät 14 Delegaatit ja tapahtumakäsittelijät Toinen käyttökelpoinen keksintö C#-kielessä ovat delegaatit. Periaatteessa ne palvelevat samaa tarkoitusta kuin C++:n funktio-osoittimet. Delegaatit ovat kuitenkin

Lisätiedot

Jypelin käyttöohjeet» Ruutukentän luominen

Jypelin käyttöohjeet» Ruutukentän luominen Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

HELIA 1 (1) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu :04

HELIA 1 (1) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu :04 HELIA 1 (1) Luento 7 Graafisen käyttöliittymän peruselementit... 2 Ikkunat... 2 Sovellusikkunat (Application Windows)... 2 Asiakirjaikkunat (Document Windows)... 3 Toissijaiset sovellusikkunat (Secondary

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.

Lisätiedot

Tilastokeskuksen rajapintapalveluiden käyttöönotto ArcGISohjelmistossa

Tilastokeskuksen rajapintapalveluiden käyttöönotto ArcGISohjelmistossa 1(6) Tilastokeskuksen rajapintapalveluiden käyttöönotto ArcGISohjelmistossa Ohjeita laatiessa on käytetty ArcGIS:n versiota 10.1. Koordinaattijärjestelmä ArcGIS käyttää oletuskoordinaattijärjestelmänä

Lisätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:

Lisätiedot

OFFICE 365:N KÄYTTÖOHJEITA. Sisällysluettelo

OFFICE 365:N KÄYTTÖOHJEITA. Sisällysluettelo OFFICE 365:N KÄYTTÖOHJEITA Sisällysluettelo 1. OFFICE 365:N PERUSNÄKYMÄ JA ASETUKSET... 2 2. SÄHKÖPOSTIN PERUSTOIMINNOT... 5 3. ALLEKIRJOITUS... 7 4. AUTOMAATTISET VASTAUKSET... 8 5. MUITA ASETUKSIA.8

Lisätiedot

1. Taustatietoa näppäimistönkuuntelusta

1. Taustatietoa näppäimistönkuuntelusta Muilla kielillä: English Suomi Pong-peli, vaihe 5 Tämä on Pong-pelin tutoriaalin osa 5/7. Tämän vaiheen aikana Lisäämme peliin näppäimet Laitetaan mailat liikkumaan pelaajien ohjaamina Näin ohjelmaamme

Lisätiedot

TIE Ohjelmistojen suunnittelu. Luento 3: käyttöliittymien toteutustekniikat, QML

TIE Ohjelmistojen suunnittelu. Luento 3: käyttöliittymien toteutustekniikat, QML TIE-20200 Ohjelmistojen suunnittelu Luento 3: käyttöliittymien toteutustekniikat, QML 1 Tämän päivän ohjelmaa Viikkoharjoitukset alkavat! Yleisesti käyttöliittymien toteutustekniikoista Myöhemmin MVC,

Lisätiedot

Valikot ja työkalupalkit. juha.jarvensivu@tut.fi 2008

Valikot ja työkalupalkit. juha.jarvensivu@tut.fi 2008 Valikot ja työkalupalkit juha.jarvensivu@tut.fi 2008 Sisältö Valikko Popup-valikko Työkalupalkki Tilarivi Sovellus ikoni Action Valikko MenuStrip Form mainwindow = new Form(); MenuStrip mainmenu = new

Lisätiedot

5 Olio-ohjelmointi 133

5 Olio-ohjelmointi 133 5 Olio-ohjelmointi 133 5. Olio-ohjelmointi Edellisissä luvuissa opittiin kirjoittamaan ohjelmia, joissa käytetään C# -kielen perustietotyyppejä, kuten int, double, float ja rakenteita, kuten operaattoreita,

Lisätiedot

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä Sisällys 9. Periytyminen Javassa Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat

Lisätiedot

Käyttöliittymän lokalisointi. Juha Järvensivu 2008

Käyttöliittymän lokalisointi. Juha Järvensivu 2008 Käyttöliittymän lokalisointi Juha Järvensivu juha.jarvensivu@tut.fi 2008 Internatinalization Internationalization is the process of designing an application so that the user can run it using his or her

Lisätiedot

C++11 Syntaksi. Jari-Pekka Voutilainen Jari-Pekka Voutilainen: C++11 Syntaksi

C++11 Syntaksi. Jari-Pekka Voutilainen Jari-Pekka Voutilainen: C++11 Syntaksi 1 C++11 Syntaksi Jari-Pekka Voutilainen 13.4.2012 2 Range-for Iteroi säiliön kaikki alkiot for-silmukassa. Säiliöltä vaaditaan begin- ja end-iteraattorit. Pätee kaikille C++11 STL-säiliöille, taulukoille,

Lisätiedot

Kristina Zharnikova TYÖNVASTAANOTTOJÄRJESTELMÄ

Kristina Zharnikova TYÖNVASTAANOTTOJÄRJESTELMÄ Kristina Zharnikova TYÖNVASTAANOTTOJÄRJESTELMÄ 1 TYÖNVASTAANOTTOJÄRJESTELMÄ Kristina Zharnikova Opinnäytetyö 29.2.2012 Tietotekniikan koulutusohjelma Oulun seudun ammattikorkeakoulu 2 TIIVISTELMÄ Oulun

Lisätiedot

1. Olio-ohjelmointi 1.1

1. Olio-ohjelmointi 1.1 1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja

Lisätiedot

4. Olio-ohjelmoinista lyhyesti 4.1

4. Olio-ohjelmoinista lyhyesti 4.1 4. Olio-ohjelmoinista lyhyesti 4.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 4.2 Yleistä Olio-ohjelmointia käsitellään hyvin

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä

Lisätiedot

Ohjelmointikieli TIE Principles of Programming Languages Syksy 2017 Ryhmä 19

Ohjelmointikieli TIE Principles of Programming Languages Syksy 2017 Ryhmä 19 Ohjelmointikieli TIE-20306 Principles of Programming Languages Syksy 2017 Ryhmä 19 Juho Kärnä Ville Mäntysaari 1. Johdanto D on yleiskäyttöinen, strukturoitu, staattisesti tyypitetty, käännettävä ohjelmointikieli

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu

Lisätiedot