C++/Qt alapú SDI alkalmazás készítése II...2

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

Download "C++/Qt alapú SDI alkalmazás készítése II...2"

Átírás

1 ...2 Feladat...2 A dokumentum típus módosítása...2 A fejlécet ábrázoló mezők deklarálása...3 Mező lekérdező műveletek...3 Mező beállító slotok...3 Az adatbeviteli mezők és az adattagok összekötése...4 Számlatételek kezelése...4 Az InvoiceItem osztály...5 Az InvoiceItem osztály definíciója és (!) implementációja...5 A dokumentum osztály számlatétel listája (_items)...6 Új számlatétel felvitele...6 Új dialógusablak létrehozása...6 A dialógusablak felépítése...7 A dialógusablak paraméterezése...7 A dialógusablakon elhelyezett elemek paraméterezése...7 Új menüpont elhelyezése az alkalmazásban (Items/New)...8 Az itemsnew tevékenység és az azt kezelő slot definíciója...8 Az itemsnew tevékenység objektum létrehozása és inicializálása...9 Az itemsnew tevékenység beillesztése a menübe...9 A slotitemsnew() implementálása...10 Új tétel beillesztése a számlába...11 Új tétel hozzáadása a dokumentumhoz (számlához)...12 Új számlatétel megjelenítése a nézet tétellistájában...12 Számlatétel módosítása...13 Számlatétel felismerése...14 Új sor típus bevezetése származtatással (ListViewInvoiceItem)...14 A ListViewInvoiceItem beágyazott osztály definíciója és implemetációja...15 Új menüpontok elhelyezése az alkalmazásban (Items/Edit; Items/Remove)...16 A itemsedit/itemsremove tevékenységek deklarációja...16 Az itemsedit és itemsremove tevékenység objektumok létrehozása és inicializálása...17 Az itemsedit és itemsremove tevékenységek beillesztése a menübe...17 Az itemsedit slot implementációja (slotitemsedit() )...17 Az itemsremove slot implementációja (slotitemsremove())...19 Új műveletek a dokumentum osztályban (setmodified(), removeitem())...19 Ami még hátra van...19 Projekt összeállítása Qt parancsokkal...20 A munkafüzet programjai letölthetők a people.inf.elte.hu/nacsa/eaf3/projects/2005/invoicer2 címről. A munkafüzetben bemutatott programok készítésekor KDevelop t és Qt et használtam. Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu honlap: people.inf.elte.hu/nacsa Budapest, 2006 május 1. oldal

2 Ebben a munkafüzetben feltételezzük, hogy Ön már feldolgozta a C++/Qt alapú SDI alkalmazás készítése I munkafüzetet. Az előző munkafüzetben elkészítettünk egy SDI alkalmazást Qt-ben, továbbá a Qt Designer segítségével felépítettük a view osztály felhasználói felületét. Feladat 1. A számla típus (doc) és a hozzátartozó számlatétel típus megvalósítása 2. A számla és a view összekötése 3. Számlatétel felvitele, javítása, törlése 4. Számla mentése, beolvasása A dokumentum típus módosítása Alkalmazásunk dokumentuma maga a számla, ezért az előző munkafüzetben elkészített általános dokumentum osztály kibővítésével készítjük el a számlát reprezentáló dokumentum osztályt. A dokumentum osztály privát részébe felvesszük a számla fejlécébe tartozó mezőket, a publikus részben elhelyezzük e mezők értékeit lekérdező műveleteket, valamint a mezők értékeit beállító slotokat. 2. oldal

3 A fejlécet ábrázoló mezők deklarálása class InvoicerDoc : public QObject protected: bool modified; QString _customer; QString _zip; QString _city; QString _street; QString _invno; QString _released; QString _fulfilled; QString _dueto; ; Mező lekérdező műveletek class InvoicerDoc : public QObject Q_OBJECT public: bool ismodified() const; const QString customer() const return _customer; const QString zip() const return _zip; const QString city() const return _city; const QString street() const return _street; const QString invno() const return _invno; const QString released() const return _released; const QString fulfilled() const return _fulfilled; const QString dueto() const return _dueto; ; Mező beállító slotok class InvoicerDoc : public QObject signals: void documentchanged(); public slots: void setcustomer(const QString &txt) _customer=txt; void setzip(const QString &txt) _zip=txt; void setcity(const QString &txt) _city=txt; void setstreet(const QString &txt) _street=txt; void setinvno(const QString &txt) _invno=txt; void setreleased(const QString &txt) _released=txt; void setfulfilled(const QString &txt) _fulfilled=txt; void setdueto(const QString &txt) _dueto=txt; ; invoicerdoc.h invoicerdoc.h invoicerdoc.h 3. oldal

4 Az adatbeviteli mezők és az adattagok összekötése A view osztályban megvalósított számla fejlécében szereplő adatbeviteli mezőket hozzákötjük a dokumentum megfelelő adattagjaihoz. Ehhez a signal/slot mechanizmust használjuk. Az összekötéseket a view osztály konstruktorában helyezzük el. #include <qlineedit.h> InvoicerView::InvoicerView(QWidget *parent, InvoicerDoc *doc) : //invoicerview.cpp InvoicerViewBase(parent) connect(doc, SIGNAL(documentChanged()), this, SLOT(slotDocumentChanged())); invoicerview.cpp A connect-ben szerepl ő változók Q LineEdit típusúak, így az ezt definiáló fájlt be kell illeszteni a forrásfájlunkba. connect(customer, SIGNAL(textChanged(const QString&)), doc, SLOT(setCustomer(const QString&))); connect(zip, SIGNAL(textChanged(const QString&)), doc, SLOT(setZip(const QString&))); connect(city, SIGNAL(textChanged(const QString&)), doc, SLOT(setCity(const QString&))); connect(street, SIGNAL(textChanged(const QString&)), doc, SLOT(setStreet(const QString&))); connect(invno, SIGNAL(textChanged(const QString&)), doc, SLOT(setInvNo(const QString&))); connect(released, SIGNAL(textChanged(const QString&)), doc, SLOT(setReleased(const QString&))); connect(fulfilled, SIGNAL(textChanged(const QString&)), doc, SLOT(setFulfilled(const QString&))); connect(dueto, SIGNAL(textChanged(const QString&)), doc, SLOT(setDueTo(const QString&))); Számlatételek kezelése A számlatételek ábrázolására bevezetjük az InvoiceItem osztályt. Az osztályt a dokumentum osztállyal egy moduban definiáljuk (invoicerdoc.h). Az osztályba felvesszük a számlatétel adatait tartalmazó mezőket, a hozzájuk tartozó lekérdező függvényeket, a számítással meghatározható jellemzőket visszaadó műveleteket, valamint egy konstruktort. A számlatételek adatait is el kell tárolnunk a dokumentumban, ezért az InvoiceItem osztály elkészülte után az InvoiceDoc számla osztály adattagjai közé felveszünk egy új adattagot, a számlatételeket tartalmazó listát. A számlatétel elemei: megnevezés: _name (adatttag) mennyiségi egység: _unit (adatttag) egységár: _unitprice (adatttag) mennyiség: _quantity (adatttag) nettó ár: _netprice=unitprice*_quantity (számított adat) áfakulcs: _vatpercent (adatttag) áfa összege: _vat=_netprice*_vat/100 (számított adat) bruttó ár: _grossprice=netprice+_vat (számított adat) 4. oldal

5 Az InvoiceItem osztály Az InvoiceItem osztály definícióját is(!) és implementációját is(!) a dokumentum osztály definíciós fájljában (invoicerdoc.h) adjuk meg. Egészítsük ki az invoicerdoc.h fájlt az alábbiak szerint. Az InvoiceItem osztály definíciója és (!) implementációja class InvoiceItem public: InvoiceItem(QString n=qstring::null, QString u=qstring::null, int q=0, int up=0, int vat=0): _name(n), _unit(u), _quantity(q), _unitprice(up), _vatpercent(vat) void update(qstring n=qstring::null, QString u=qstring::null, int q=0, int up=0, int vat=0) _name=n; _unit=u; _quantity=q; _unitprice=up; _vatpercent=vat; const QString& name() return _name; const QString& unit() return _unit; int quantity() return _quantity; int unitprice() return _unitprice; int vatpercent() return _vatpercent; //Bruttó ár int allvalue() const return _quantity*_unitprice*(100+_vatpercent)/100; invoicerdoc.h A konstruktorban inicializáljuk az I n voiceitem adattagjait. V alamennyi adattagnak van alapértelmezett kezdőértéke. Az update() tagfüggvénnyel a paraméterek alapján aktualizáljuk az adatokat. A lekérdez ő mű veletek olyan egyszerű ek, hogy ezeket inline módon adjuk meg. I tt következnek a számított adatok aktuális értékét visszaadó függvények. //nettó ár int netvalue() const return _quantity*_unitprice; //áfa összege int vatvalue() const return _quantity*_unitprice*_vatpercent/100; //adattagok private: QString _name; QString _unit; int _quantity; int _unitprice; int _vatpercent; ; 5. oldal

6 A dokumentum osztály számlatétel listája (_items) Az InvoicerDoc osztály adattagjai közé felveszünk egy InvoiceItem típusú elemeket tartalmazó listát. A Qt Assistant segítségével nézze meg a QPtrList osztály tagfüggvényeit. // application specific includes #include <qptrlist.h> class InvoicerDoc : public Qobject invoicerdoc.h ; public: const QPtrList<InvoiceItem>& items() const return _items; protected: QPtrList<InvoiceItem> _items; Új számlatétel felvitele A számlatétel felvitelére készítünk egy dialógusablakot. Ehhez a szokásos módon egy.ui kiterjesztésű user interface fájlt adunk a projekthez. A fájl neve legyen invitemdia.ui, és származtassuk azt a QDialog osztályból. Új dialógusablak létrehozása A számlatétel dialógusablakát a Qt Designer segítségével készítjük el a szokásos módon. A cél az alábbi párbeszédablak létrehozása. 6. oldal

7 A dialógusablak felépítése A vezérlőelemek típusát és tulajdonságait az alábbi táblázat tartalmazza. A dialógusablak paraméterezése Vezérlő azonosító Class Properties Megjegyzés InvItemDia QDialog Caption: New Item A dialógusablakon elhelyezett elemek paraméterezése Vezérlő azonosító Class Properties Megjegyzés TextLabel* QLabel Text: Name:, Buddy: itemname TextLabel* QLabel Text: Unit:, Buddy: unit TextLabel* QLabel Text: Unit price::, Buddy: unitprice TextLabel* QLabel Text: Quantity:, Buddy: quantity TextLabel* QLabel Text: Vat %:, Buddy: vatpercent itemname unit unitprice quantity QLineEdit QLineEdit QLineEdit QLineEdit vatpercent QComboBox ** okpushbutton QPushButton Text: OK Az OkPushButton gomb clicked() signálját kössük össze az InvItemDia dialógusablak accept() slotjával. cancelpushbutton QPushButton Text: Cancel A cancelpushbutton gomb clicked() signálját kössük össze az InvItemDia dialógusablak reject() slotjával. * : A *-gal megjelölt feliratoknál nem kötelező egyedi azonosítót megadni. ** Az áfa kulcsot legördülő listából választjuk ki. A legördülő lista létrehozására a QComboBox osztályt választottuk. A lista szerkesztéséhez a vezérlőelem felett a jobb egérfülre kattintva a felkínált helyi menüből választhatja ki az Edit menüpontot. 7. oldal

8 Új menüpont elhelyezése az alkalmazásban (Items/New) Az egyes számlatételek kezeléséért felelős dialógusablak behívására bevezetünk egy új menüpontot, amit a főmenübe illesztünk be. Egészítsük ki alkalmazásunkat az Item/New menüponttal. File: New, Open, Save, SaveAs, Quit Item: New View: ToolBar, StatusBar Help: About Az új menüpont bevezetésével kapcsolatban az alábbiakat kell megtennünk: Létrehozunk egy tevékenység objektumot (QAction). Beállítjuk a tevékenység alkalmazásspecifikus adatait (menü szövege, státusz sor szövege, stb.) Összekapcsoljuk a tevékenységet és az őt kezelő slotot. Létrehozzuk az új menüpontot, majd ráhelyezzük az alkalmazás főablakára. Hozzárendeljük a tevékenységet a menüponhoz. Megadjuk a slot implementációját. Az itemsnew tevékenység és az azt kezelő slot definíciója class Invoicer : public QMainWindow private slots: void slotfilenew(); /* application specific slots*/ void slotitemsnew(); invoicer.h A tevékenységet implementáló slot deklarációja private: QAction *helpaboutapp; /* application specific actions */ QAction *itemsnew; A z Új tétel felvitele tevékenységet definiáló QAction deklarációja. ; Saját jegyzet 8. oldal

9 Az itemsnew tevékenység objektum létrehozása és inicializálása /** initializes all QActions of the application */ void Invoicer::initActions() filequit = new QAction(tr("Exit"), tr("e&xit"), 0, this); filequit >setstatustip(tr("quits the application")); filequit >setwhatsthis(tr("exit\n\nquits the application")); connect(filequit, SIGNAL(activated()), this, SLOT(slotFileQuit())); itemsnew = new QAction(tr("Insert new item"),tr("&new item"), 0, this); itemsnew >setstatustip(tr("insert a new item into the invoice")); itemsnew >setwhatsthis( tr("new Item\n\nEnables/Insert a new item into the invoice")); connect(itemsnew, SIGNAL(activated()), this, SLOT(slotItemsNew())); invoicer.cpp A Q Action objektum inicializálása, befűzése, összekötése. A QAction első paraméterében megadjuk az új menü szövegét, a második paraméterében a gyorsbillentyűt és az eszközgomb szöveget. A harmadik paraméter this értékével azt jelezzük, hogy a tevékenység a főablak gyereke. Beállítjuk a súgó szöveget (status tip), a What is this szöveget, majd összekötjük a tevékenységet az őt kezelő slottal (slotitemsnew()) Az itemsnew tevékenység beillesztése a menübe Létrehozzuk az itemsmenu legördülő menü példányt, majd hozzáadjuk az itemsnew tevékenységet, végül a menüt befűzzük a menüsorba. class Invoicer : public QmainWindow /* application specific slots*/ void slotitemsnew(); invoicer.h private: QPopupMenu *filemenu; QPopupMenu *itemsmenu; QPopupMenu *viewmenu; Az I tems menüpont deklarációja. /* application specific actions */ QAction *itemsnew; ; 9. oldal

10 void Invoicer::initMenuBar() // menubar entry itemsmenu itemsmenu=new QPopupMenu(); itemsnew >addto(itemsmenu); /////////////////////////////////////////////////////////////////// // MENUBAR CONFIGURATION menubar() >insertitem(tr("&file"), filemenu); menubar() >insertitem(tr("&items"), itemsmenu); menubar() >insertitem(tr("&view"), viewmenu); menubar() >insertseparator(); menubar() >insertitem(tr("&help"), helpmenu); A slotitemsnew() implementálása Az új számlatétel felvitelekor az alábbi tevékenységeket kell elvégezni: invoicer.cpp Létrehozzuk az I tem menüpontot, és beledobjuk az itemsne w tevékenységet. A z I tems menüpontot beillesztjük a menüsorba. dialógusablak létrehozása dialógusablak modális 1 megjelenítése ha a dialógust OK-val zárták: a bevitt adatok kinyerése a dialógusablakból új számlatétel (InvoiceItem) objektum hozzáadása a számlához a számlatételeket megjelenítő QListView (items) frissítése a view objektumban. #include "invitemdia.h" #include "qlineedit.h" #include "qcombobox.h" void Invoicer::slotItemsNew() statusbar() >message(tr("inserting a new invoice item...")); InvItemDia dlg(this,0,true); if (dlg.exec() == QDialog::Accepted) doc >insertitem(new InvoiceItem(dlg.itemName >text(), dlg.unit >text(), dlg.quantity >text().toint(), dlg.unitprice >text().toint(), dlg.vatpercent >currenttext().toint))); statusbar() >message (tr("item added. ")); else statusbar() >message(tr("cancelled")); invoicer.cpp Ne feledkezzen meg az include-okról!!! A z insert Item() függvényt még meg kell írni! 1 Modális megjelenítés: A párbeszédablak lesz az alkalmazás aktív ablaka mindaddig, amig be nem zárjuk azt. 10. oldal

11 A slotitemsnew() slot implementációjában létrehoztuk az InvItemDia dialógusablak egy példányát. A konstruktor első paramétere azt mondja meg, hogy a dialógusablak az Invoicer osztály gyermeke. A harmadik paraméter true értéke jelzi, hogy a dialógusablakot modálisan szeretnénk használni. Ha a felhasználó az OK gombra kattintva lépett ki a dialógusból, akkor az ott létrehozott tételt beszúrjuk a dokumentumba az insertitem() függvény segítségével. A státusz sorban megjelenik az Item added üzenet. Ha a felhasználó a Cancel gombra kattintott, akkor ezt a tényt a státuszsorban jelezzük, de ilyenkor nincs semmi tennivalónk. Új tétel beillesztése a számlába Amikor a számlatétel felbukkanó dialógusablakában megadtunk egy új tételt, és rákattintottunk az OK gombra, akkor egyrészt az új számlatétel adatait át kell adni az adatokért felelős doc-nak, másrészt a megjelenítésért felelős view-ban frissíteni kell a módosított sort. Először is a dokumentum osztályban bevezetünk egy új publikus függvényt (insertitem()), melyet majd meghívhatunk az Invoicer-ből az OK lenyomása után. (doc->insertitem()). Az insertitem() függvény egyrészt beilleszti az új számlatételt a dokumentumba, másrészt kibocsájtja az iteminserted() signalt (emit signal), jelezvén a külvilág számára, hogy ő beillesztett egy új számlatételt, azaz megváltoztak az adatai. Az InvoicerView osztályban elkészítjük a fenti signál fogadására alkalmas slotdocitemadded() slotot, és összekötjük azt az insertitem() függvényben kibocsájtott iteminserted() signállal. A slotdocitemadded() függvény feladata lesz az új számlatétel megjelenítése. Saját jegyzet 11. oldal

12 Új tétel hozzáadása a dokumentumhoz (számlához) class InvoicerDoc : public QObject Q_OBJECT public: const QPtrList<InvoiceItem>& items() const return _items; ; void insertitem(invoiceitem *i) _items.append(i); modified=true; emit iteminserted(i); signals: void documentchanged(); void iteminserted(invoiceitem *i); protected: QPtrList<InvoiceItem> _items; invoicerdoc.h A függvénydefiníciót inline módon adtuk meg. H a egy számlatételt beillesztettünk az _items listába, signált bocsájtunk ki. A signál a paraméterén keresztül átadja a számlatételre mutató pointert. Új számlatétel megjelenítése a nézet tétellistájában class InvoicerView : public InvoicerViewBase Q_OBJECT public: InvoicerView(QWidget *parent=0, InvoicerDoc* doc=0); ~InvoicerView(); protected slots: void slotdocumentchanged(); void slotdocitemadded(invoiceitem*); ; invoicerview.h Deklaráljuk a slot Doc ItemAdded() slotot, amelyre majd rákötjük az iteminserted() signalt. InvoicerView::InvoicerView(QWidget *parent, InvoicerDoc *doc) : InvoicerViewBase(parent) connect(doc, SIGNAL(documentChanged()), this, SLOT(slotDocumentChanged())); connect( doc,signal(iteminserted(invoiceitem*)), this,slot(slotdocitemadded(invoiceitem*))); invoicerview.cpp Összekötjük a dokumentum osztály iteminserted() szignálját a nézet osztály (this) slot DocItemAdded() slotjával. 12. oldal

13 #include <qlistview.h> void InvoicerView::slotDocItemAdded(InvoiceItem* i) new QListViewItem(items, i >name(), i >unit(), QString::number(i >quantity()), QString::number(i >unitprice()), QString::number(i >netvalue()), QString::number(i >vatpercent()), QString::number(i >vatvalue()), QString::number(i >allvalue()) ); invoicerview.cpp Slot implementáció A dokumentum iteminserted() signáljától kapott számlatétel adatai alapján a QListViewItem konstruktora segítségével az items listához hozzávesszük az új számlatételt. A QListViewItem típus használata miatt az InvoicerView osztályba be kell illeszteni a QListView osztály definícióját. (#include <qlistview.h>) Fordítás/Futtatás Számlatétel módosítása Számlatétel módosításakor az alábbi teendőnk van: * a kiválasztott sorhoz tartozó számlatétel meghatározása dialógusablak létrehozása * a dialógusablak feltöltése a számlatételből dialógusablak modális megjelenítése ha a dialógust OK-val zárták: a bevitt adatok kinyerése a dialógusablakból * a számlatétel (InvoiceItem) objektum módosítása a számlában a számlatételeket megjelenítő QListView (items) frissítése a view objektumban. Vegye észre, hogy a számlatétel módosítása nagyon hasonlít az új számlatétel felvitele feladathoz, ezért csak a *-gal megjelölt lépéseket kell többletként megoldani. Saját jegyzet 13. oldal

14 Számlatétel felismerése A számlatételek módosításakor a nézet osztályban (InvoicerView) megjelenített listából kiválasztott sort (számlatételt) kell módosítani. Ehhez tudnunk kell, hogy a QListView (items) kiválasztott sora a ListViewItem lista melyik elemére (_items egy eleme) vonatkozik. Egy listában szereplő elem (sor) azonosítására általában többféle megoldás is kínálkozik. Azonosíthatjuk a sort a kijelölt sor tartalma alapján, de ez több egyforma sor esetén nem egyértelmű. Meghatározhatjuk a számlatételt a kijelölt sor sorszáma alapján. Ez azért nehézkes, mert egyrészt a ListView-ban az elemek sorrendje felcserélhető, másrészt egy-egy tétel törlése sok adminisztrációt kíván. Az előzőeknél általánosabb és elegánsabb megoldást kapunk, ha a QListView osztályból származtatunk egy saját sor típust, és ezt összekötjük a neki megfelelő InvoiceItem objektummal. Esetünkben a nézet osztályban kiválasztott sor (számlatétel) tartalma alapján nem tudjuk eldönteni, hogy az az _items lista melyik elemét jeleníti meg, ezért mi a harmadik megoldást választjuk. Új sor típus bevezetése származtatással (ListViewInvoiceItem) A ListViewInvoiceItem osztály felelősége a hozzá tartozó számlatétel megjelenítése. A ListViewInvoiceItem osztályt a QListViewItem osztályból származtatjuk. Az új osztályt kibővítjük egy új adattaggal (egy InvoiceItem-re mutató pointerrel), így minden ListViewInvoiceItem típusú példány tudja magáról, hogy a doc-ban tárolt lista mely adatát reprezentálja. Az új sor típust beágyazzuk az ImvoicerView osztályba!! Saját jegyzet 14. oldal

15 A ListViewInvoiceItem beágyazott osztály definíciója és implemetációja //include files for Qt #include <qlistview.h> invoicerview.h // application specific includes #include "invoicerdoc.h" #include "invoicerviewbase.h" class InvoicerView : public InvoicerViewBase Q_OBJECT public: InvoicerView(QWidget *parent=0, InvoicerDoc* doc=0); ~InvoicerView(); //Beágyazott osztály eleje class ListViewInvoiceItem: public QListViewItem public: ListViewInvoiceItem(QListView *parent, InvoiceItem *i): QListViewItem(parent, i >name(), i >unit(), QString::number(i >quantity()), QString::number(i >unitprice()), QString::number(i >netvalue()), QString::number(i >vatpercent()), QString::number(i >vatvalue()), QString::number(i >allvalue())), _i(i) Beágyazott osztály eleje. void update() settext(0, _i >name()); settext(1, _i >unit()); settext(2, QString::number(_i >quantity())); settext(3, QString::number(_i >unitprice())); settext(4, QString::number(_i >netvalue())); settext(5, QString::number(_i >vatpercent())); settext(6, QString::number(_i >vatvalue())); settext(7, QString::number(_i >allvalue())); InvoiceItem *_i; ; //Beágyazott osztály vége Beágyazott osztály vége. protected slots: void slotdocumentchanged(); void slotdocitemadded(invoiceitem*); ; 15. oldal

16 A ListViewInvoiceItem típus bevezetése után módosítani kell a slotdocitemadded() slotot is. void InvoicerView::slotDocItemAdded(InvoiceItem* i) new ListViewInvoiceItem(items, i); invoicerview.cpp Most pedig valósítsuk meg a számlatétel módosítása, illetve törlése funkciókat. Ehhez létre kell hozni a megfelelő QAction objektumokat, be kell őket fűzni a menübe és slotokat kell definiálnunk a tevékenységek elvégzésére. Új menüpontok elhelyezése az alkalmazásban (Items/Edit; Items/Remove) Az új menüpont bevezetésének lépései: 1. az almenü mező (adattag) deklarációja (invoicer.h) 2. a számlatétel módosítása / számlatétel törlése tevékenységeket definiáló QAction mezők deklarációja (invoicer.h) 3. a tevékenységeket implementáló slotok deklarációja (invoicer.h) 4. az almenük inicializálása és befűzése a főmenübe (invoicer.cpp) 5. a QAction objektumok inicializálása és befűzése a főmenübe (invoicer.cpp) 6. a slotok implementációja (invoicer.cpp) A itemsedit/itemsremove tevékenységek deklarációja class Invoicer : public QMainWindow invoicer.h private slots: /* application specific slots*/ void slotitemsnew(); /* Edit an item in the actual invoice */ void slotitemsedit(); /* Remove an item from the actual invoice */ void slotitemsremove(); private: /* application specific actions */ QAction *itemsnew; QAction *itemsedit; QAction *itemsremove; A tevékenységeket kezel ő slotok deklarációja. A Számlatétel módosítása és a Számlatétel törlése tevékenységek deklarációja. ; 16. oldal

17 Az itemsedit és itemsremove tevékenység objektumok létrehozása és inicializálása void Invoicer::initActions() itemsnew = new QAction(tr("Insert new item"),tr("&new item"), 0, this); itemsnew >setstatustip(tr("insert a new item into the invoice")); itemsnew >setwhatsthis( tr("new Item\n\nEnables/Insert a new item into the invoice")); connect(itemsnew, SIGNAL(activated()), this, SLOT(slotItemsNew())); invoicer.cpp itemsedit = new QAction(tr("Edit Item"), tr("&edit Item"), 0, this); itemsedit >setstatustip(tr("modifies an existing invoice item")); itemsedit >setwhatsthis( tr("edit Item\n\nModifies an existing invoice item")); connect(itemsedit, SIGNAL(activated()), this, SLOT(slotItemsEdit())); itemsremove = new QAction(tr("Remove Item"), tr("&remove Item"), 0, this); itemsremove >setstatustip(tr("removes an existing invoice item")); itemsremove >setwhatsthis( tr("remove Item\n\nRemoves an existing invoice item")); connect(itemsremove, SIGNAL(activated()), this, SLOT(slotItemsRemove())); Az itemsedit és itemsremove tevékenységek beillesztése a menübe void Invoicer::initMenuBar() // menubar entry itemsmenu itemsmenu=new QPopupMenu(); itemsnew >addto(itemsmenu); itemsedit >addto(itemsmenu); itemsremove >addto(itemsmenu); invoicer.cpp Az initmenubar() műveletben a már korábban létrehozott itemsmenu popup menühöz hozzáadjuk az itemsedit/itemsremove objektumokat, majd befűzzük azokat a menüsorba. Az itemsedit slot implementációja (slotitemsedit() ) Az új számlatétel módosításakor az alábbi tevékenységeket kell elvégezni: az aktuálisan kiválasztott sorhoz tartozó InvoiceItem objektum meghatározása a felvitelnél használt dialógus feltöltése a számlatétel alapján dialógusablak modális megjelenítése ha a dialógust OK-val zárták: a változtatások elmentése a kiválasztott InvoiceItem objektumba az aktuális sor adatainak frissítése 17. oldal

18 A slotitemsedit() slot implementációjában használhatjuk a felvitelhez létrehozott InvItemDia dialógusablakot. Ha azt OK-val zárták (QDialog::Accepted()), akkor módosítjuk a tételt a dokumentumban és a view objektumban. void Invoicer::slotItemsEdit() statusbar() >message(tr("modifying current item...")); if(view >items >currentitem()) InvItemDia dlg(this,0,true); InvoiceItem *ii = (dynamic_cast<invoicerview::listviewinvoiceitem *> (view >items >currentitem())) >_i; dlg.itemname >settext(ii >name()); dlg.unit >settext(ii >unit()); dlg.quantity >settext(qstring::number(ii >quantity())); dlg.unitprice >settext(qstring::number(ii >unitprice())); int cnt=dlg.vatpercent >count(); for(int i=0; i<cnt; ++i) if (dlg.vatpercent >text(i).toint()==ii >vatpercent()) dlg.vatpercent >setcurrentitem(i); break; if (dlg.exec() == QDialog::Accepted) ii >update( dlg.itemname >text(), dlg.unit >text(), dlg.quantity >text().toint(), dlg.unitprice >text().toint(), dlg.vatpercent >currenttext().toint()); (dynamic_cast<invoicerview::listviewinvoiceitem *> (view >items >currentitem())) >update(); doc >setmodified(); statusbar() >message(tr("item updated."), 2000); else statusbar() >message(tr("modification aborted."), 2000); statusbar() >message(tr("ready")); invoicer.cpp A set Modified() függvényt még meg kell adni a dokumentum osztályban. Ha a nézet osztály items listájában van kiválasztott elem, akkor létrehozunk egy modális, InvItemDia típusú párbeszédablakot, amelyet kitöltünk a kiválasztott listaelem adataival. Az adatok kitöltéséhez felhasználjuk az általunk létrehozott ListViewInvoiceItem típusban tárolt mutatót. Az ÁFA kulcs QComboBox-át úgy állítjuk be, hogy az az aktuális listaelemhez tartozó értéket mutassa. Ha az OK gombbal tértünk vissza, akkor aktualizáljuk a dokumentumot ( ii->update ()), majd a nézetben is frissítjük a módosított számlatételt. A view->items->currentitem() visszaadja az aktuális tételre mutató pointert, melynek típusa QListViewItem*. Ahhoz, hogy a ListViewInvoiceItem osztály update() metódusa hajtódjon végre el kell végeznünk egy dianamikus típuskonverziót. 18. oldal

19 Az itemsremove slot implementációja (slotitemsremove()) Egy számlatétel törlésekor az alábbi tevékenységeket kell elvégezni: az aktuálisan kiválasztott sorhoz tartozó InvoiceItem objektum meghatározása ha a dialógust OK-val zárták: a tétel törlése a dokumentumból a tétel törlése a view-ból void Invoicer::slotItemsRemove() statusbar() >message(tr("removing current item...")); if (view >items >currentitem()) InvoiceItem *ii = (dynamic_cast <InvoicerView::ListViewInvoiceItem *> (view >items >currentitem())) >_i; doc >removeitem(ii); delete view >items >currentitem(); statusbar() >message(tr("item removed."), 2000); statusbar() >message(tr("ready")); invoicer.cpp A removeitem() függvényt még meg kell adni a dokumentum osztályban. Új műveletek a dokumentum osztályban (setmodified(), removeitem()) A program hibátlan működéséhez még meg kell adnunk a dokumentum osztály hiányzó két metódusát. class InvoicerDoc : public QObject public: bool ismodified() const; void setmodified(bool val=true) modified = val; void removeitem(invoiceitem *i) _items.removeref(i); modified=true; ; invoicer.cpp Fordítás/Futtatás Ami még hátra van... Természetesen (sajnos ) ezzel még nem készült el a teljes alkalmazás. Hátra van még a számla mentése fájlba, a számla visszaolvasása fájlból, valamint az input adatok ellenőrzése. Ezeket a feladatokat a C++/Qt alapú SDI alkalmazás készítése III. munkafüzetben oldjuk meg. 19. oldal

20 Projekt összeállítása Qt parancsokkal A projektet összeállíthatja a Qt parancssori eszközeivel is. 1. Hozzon létre a projekt számára egy könyvtárat: invoicer 2. Hozza létre (vagy a honlapomról töltse le) az alábbi fájlokat: invoicer.h, invoicer.cpp, invoicerdoc.h,invoicerdoc.cpp, invoicerview.h,invoicerview.cpp, main.cpp, invitemdia.ui, invoicerviewbase.ui. 3. Hozza létre a projekt könyvtárában az images könyvtárat, és másolja oda az ikonok kép fájljait: new.png, open.png, save.png 4. Nyisson meg egy terminál ablakot. Legyen a projekt könyvtárban (invoicer). 5. Hozza létre a platform független projekt fájlt (invoicer.pro): qmake -project (Ha a Qt Designerrel hozta létre a projektet és úgy illesztette be a fájlokat, akkor ezt a lépést kihagyhatja.) 6. A képek (ikonok) alkalmazása miatt az automatikusan generált projekt fájlt (invoicer.pro) egészítse ki az alábbiak szerint: ###################################################################### # Automatically generated by qmake (1.04a) Tue Apr 13 12:48: ###################################################################### TEMPLATE = app INCLUDEPATH +=. # Input HEADERS += invoicer.h invoicerdoc.h invoicerview.h INTERFACES += invitemdia.ui invoicerviewbase.ui SOURCES += invoicer.cpp invoicerdoc.cpp invoicerview.cpp main.cpp IMAGES += images/new.png images/open.png images/save.png 7. Hozza létre a platform függő make fájlt: qmake invoicer.pro 8. Fordítsa/Szerkessze a programot: make 9. Futtassa a programot:./invoicer A munkafüzet programjai letölthetők a people.inf.elte.hu/nacsa/eaf3/projects/2005/invoicer2 címről. 20. oldal

ELTE Informatikai Kar

ELTE Informatikai Kar Qt SDI alkalmazás készítése II...2 Feladat...2 A dokumentum típus módosítása...2 A fejlécet ábrázoló mezők bevezetése...3 A bevezetett mezők lekérdező műveletei...3 A bevezetett mezők beállító slotjai...3

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III C++/ Qt alapú SDI alkalmazás készítése I. Készítette: Szabóné Nacsa Rozália Steingart Ferenc 1 Feladat Készítsünk egy számlakezel ő ablakos alkalmazást! Számlafejléc

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III Qt SDI alkalmazás készítése I Kdevelop környezetben Készítette: Szabóné Nacsa Rozália Steingart Ferenc 1 Feladat Készítsünk egy számlakezel ő ablakos alkalmazást! Számlafejléc

Részletesebben

Elemi alkalmazások fejlesztése III. SDI alkalmazás készítése Qt-ben I.

Elemi alkalmazások fejlesztése III. SDI alkalmazás készítése Qt-ben I. SDI alkalmazás készítése Qt-ben I...3 Feladat...3 A projekt osztálydiagramja...3 A projekt modulszekezete...4 Új projekt létrehozása...5 A számla megtervezése...5 Vezérlőelemek és paraméterezésük...6 Az

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. MDI alkalmazás II. (Számla) Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 Számla felépítése fejléc tábla 2 Az alkalmazás

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III C++/ Qt alapú SDI alkalmazás készítése III. Készítette: Szabóné Nacsa Rozália Steingart Ferenc 1 Ami már kész van: Készítettünk egy Qt SDI alkalmazást. 2 Ami már kész

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Grafikus felületű alkamazások készítése Bevezetés I. Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2009 1 www.trolltech.com

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III Egy ablakos alkalmazás készítése I. C++ / Qt felhasználásával készítette: Szabóné Nacsa Rozália 1 Ajánlott irodalom Qt dokumentáció online: www.trolltech.com lokális

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III SDI alkalmazás készítése Qt-ben III. Készítette: Szabóné Nacsa Rozália Steingart Ferenc Ami már kész van: Készítettünk egy Qt SDI alkalmazást. Ami már kész van: Megterveztük

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Bevezetés Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 A Qt assistant nyitó ablaka www.trolltech.com 2 Alkalmazás

Részletesebben

Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka

Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka Elemi alkalmazások fejlesztése III Ajánlott ir odalom Egy ablakos alkalmazás készítése I. C++ / Qt felhasználásával Qt dokumentáció online: www.trolltech.com lokális változat: Kdevelop help vagy /usr/share/doc...

Részletesebben

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 1/3

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 1/3 Tartalomjegyzék Feladat...2 A számla elemei...2 A dokumentumot tároló fájl felépítése...3 A számlakészítő program osztálydiagramja...4 Field osztály...4 field.h...4 field.cpp...5 Fields osztály...6 fields.h...6

Részletesebben

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 3/3

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 3/3 Tartalomjegyzék Feladat...2 Az alkalmazás osztálydiagramja...2 Űrlap elkészítése...3 Grafikus felület kialakítása...3 A felületen elhelyezett elemek...3 invoiceform.h...3 invoiceform.cpp...5 Főablak elkészítése...11

Részletesebben

Alkalmazások fejlesztése III. Qt 4 /C++ alapú grafikus alkalmazás Bevezetés I.

Alkalmazások fejlesztése III. Qt 4 /C++ alapú grafikus alkalmazás Bevezetés I. Tartalomjegyzék Alkalmazás készítés Qt osztályokkal...2 A qmake eszköz...2 Hello Qt (hello)...2 Objektumok közötti kommunikáció (quit)...3 Fordítás/futtatás...4 Grafikus felület létrehozása, vezérlők szinkronizálása

Részletesebben

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

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/eaf4/ Qt 4 2007

Részletesebben

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

Egységes és objektumközpontú adatbázis-kezelés (2. rész) Egységes és objektumközpontú adatbázis-kezelés (2. rész) A folytatásában a bemutatjuk, hogyan kezelhetünk Qt rendszer alatt SQL sormutatót, és készíthetünk grafikus felületet programoknak a Qt Designer

Részletesebben

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 2/3

Alkalmazások fejlesztése III. Qt 4 /C++ alapú MDI alkalmazás: Számlakészítő program 2/3 Tartalomjegyzék Feladat...2 Az alkalmazás osztálydiagramja...2 Modell-nézet (model-view) tervezési minta (bevezetés)...3 Számlatételek kezelése, karbantartása ( táblázat kezelés )...4 A táblázatkezelő

Részletesebben

MySql elindítása. Elemi alkalmazások fejlesztése IV. Feladat. Az alkalmazás adatbázisa

MySql elindítása. Elemi alkalmazások fejlesztése IV. Feladat. Az alkalmazás adatbázisa Elemi alkalmazások fejlesztése IV. C++/Qt adatbáziskezel ő alkalmazás készítése Kdevelop környezetben I. MySql elindítása [nacsa@localhost nacsa]$ su Password:jelszó [root@localhost nacsa]# /usr/bin/safe_mysqld

Részletesebben

Elemi alkalmazások fejlesztése IV.

Elemi alkalmazások fejlesztése IV. Elemi alkalmazások fejlesztése IV. C++/Qt adatbáziskezelő alkalmazás készítése Kdevelop környezetben I. Készítette: Szabóné Nacsa Rozália 1 MySql elindítása [nacsa@localhost nacsa]$ su Password:jelszó

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

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

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

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani. 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

Részletesebben

Eseményvezérelt alkalmazások

Eseményvezérelt alkalmazások Szabóné Nacsa Rozália nacsa@inf.elte.hu Eseményvezérelt alkalmazások A Windows alkalmazások eseményvezérelt alkalmazások Esemény: egér kattintás billenty leütés stb. Üzenetkezelés Operációs rendszer kódja

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Memóriajáték 1. Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 memorygame Játék közben 2 memorygame Kártyák kiválasztása

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

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

Elemi alkalmazások fejlesztése IV. Adatbáziskezel alkalmazás készítése QtDesignerben. Készítette: Szabóné Nacsa Rozália

Elemi alkalmazások fejlesztése IV. Adatbáziskezel alkalmazás készítése QtDesignerben. Készítette: Szabóné Nacsa Rozália Elemi alkalmazások fejlesztése IV. Adatbáziskezel ő alkalmazás készítése QtDesignerben Készítette: Szabóné Nacsa Rozália 1 Származtatásos modulszerkezet Q t form.ui U formbase.h Örökl ő dés form.h formbase.cpp

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

Budapest, 2007. március. ELTE Informatikai Kar

Budapest, 2007. március. ELTE Informatikai Kar Tartalomjegyzék Alkalmazás készítés Qt osztályokkal...2 A qmake eszköz...2 Hello Qt (hello)...2 A projekt elkészítésének lépései...3 Objektumok közötti kommunikáció (quit)...3 A projekt elkészítésének

Részletesebben

QLabel *label = new Qlabel("Hello Qt!",0);

QLabel *label = new Qlabel(Hello Qt!,0); #include #include int main(int argc,char **argv) QApplication app(argc,argv); QLabel *label = new Qlabel("Hello Qt!",0); app.setmainwidget(label); label->show(); return app.exec();

Részletesebben

3D-s számítógépes geometria és alakzatrekonstrukció

3D-s számítógépes geometria és alakzatrekonstrukció 3D-s számítógépes geometria és alakzatrekonstrukció 3a. Tesztkörnyezet I http://cg.iit.bme.hu/portal/node/312 https://portal.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Salvi Péter BME, Villamosmérnöki

Részletesebben

Elemi alkalmazások fejlesztése III

Elemi alkalmazások fejlesztése III Elemi alkalmazások fejlesztése III Egyablakos alkalmazás készítése I. Qt/X11 felhasználásával Kdevelop környezetben készítette: Steingart Ferenc Szabóné Nacsa Rozália Ajánlott irodalom Qt dokumentáció

Részletesebben

SDI ALKALMAZÁS I. Workspace / ResourceView / Toolbar / IDR_MAINFRAME. Workspace / ResourceView / Menu / IDR_MAINFRAME

SDI ALKALMAZÁS I. Workspace / ResourceView / Toolbar / IDR_MAINFRAME. Workspace / ResourceView / Menu / IDR_MAINFRAME SDI ALKALMAZÁS I. Feladat: Készítsünk egy olyan alkalmazást, amely az év végi adózás céljából rögzíti egyetlen évközi bevételnek az adatait: bruttó jövedelem adóel ı leg nettó bevétel jövedelem forrása

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Swing GUI készítése NetBeans IDE segítségével Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Bevezető Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi

Részletesebben

Tervezőeszközök, fejlesztőeszközök használata Qt alapú alkalmazásoknál. Saját vezérlő használata tervezőben (worldclocks)

Tervezőeszközök, fejlesztőeszközök használata Qt alapú alkalmazásoknál. Saját vezérlő használata tervezőben (worldclocks) Tartalomjegyzék Tervezőeszközök, fejlesztőeszközök használata Qt alapú alkalmazásoknál...1 Saját vezérlő használata tervezőben (worldclocks)...1 DigitalClock osztály (módosítás)...2 MyForm osztály...3

Részletesebben

HVK Adminisztrátori használati útmutató

HVK Adminisztrátori használati útmutató HVK Adminisztrátori használati útmutató Tartalom felöltés, Hírek karbantartása A www.mvfportal.hu oldalon a bejelentkezést követően a rendszer a felhasználó jogosultsági besorolásának megfelelő nyitó oldalra

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 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

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

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

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Egy ablakos alkalmazás készítése II. C++ / Qt / KDevelop felhasználásával készítette: Szabóné Nacsa Rozália lektorálta: Párniczky Krisztina 1 Fájlkezelés Olvasás 2 A

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

Grafikus Qt programok írása segédeszközök nélkül

Grafikus Qt programok írása segédeszközök nélkül Grafikus Qt programok írása segédeszközök nélkül Grafikus felületű Qt programokat ahogy láttuk, készíthetünk egy egyszerű szövegszerkesztővel is, bár a Qt jó támogatást ad a grafikus felület grafikus tervezésére

Részletesebben

Diákigazolvány. Belépés> Adminisztráció> Iskolai oktatás képes menü> diákigazolvány> diákigazolvány igénylés

Diákigazolvány. Belépés> Adminisztráció> Iskolai oktatás képes menü> diákigazolvány> diákigazolvány igénylés Tartalom Új diákigazolvány igénylés folyamata... 2 1. IAR feltöltéshez szükséges jogosultságok beállítása... 2 2. Token kérés... 2 3. Új igénylés feladása... 2 Igénylések keresése, szinkronizálása... 4

Részletesebben

Swing GUI készítése NetBeans IDE segítségével

Swing GUI készítése NetBeans IDE segítségével Programozási Swing e NetBeans IDE segítségével Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 2 Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi feladatunk volt az

Részletesebben

A slotfilequit() módosítása...18 Ami még hátra van...18 Projekt összeállítása Qt parancsokkal...19

A slotfilequit() módosítása...18 Ami még hátra van...18 Projekt összeállítása Qt parancsokkal...19 ...2 Feladat...2 Beviteli mezők ellenőrzése...2 Ellenőrző objektumok (Validátorok)...3 QValidator::State...3 QValidator::validate()...3 QValidator::fixup()...3 Az adatbevitel ellenőrzésének lépései...3

Részletesebben

3D-s számítógépes geometria és alakzatrekonstrukció

3D-s számítógépes geometria és alakzatrekonstrukció 3D-s számítógépes geometria és alakzatrekonstrukció Tesztkörnyezet I http://cg.iit.bme.hu/portal/node/312 https://portal.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Dr. Salvi Péter BME, Villamosmérnöki

Részletesebben

Adatbázis-kezelés API hívásokkal. Adatbázis-kezelés ODBC-vel. Adatbázis-kezelés SQL parancsokkal. Adatbázis-kezelés ODBC-vel.

Adatbázis-kezelés API hívásokkal. Adatbázis-kezelés ODBC-vel. Adatbázis-kezelés SQL parancsokkal. Adatbázis-kezelés ODBC-vel. Adatbázis-kezelés API hívásokkal hívások Adatbázis-kezelés -vel Készítette: Szabóné Nacsa Rozália 2004. november API 2 API 2 hívások Adatbázis-kezelés parancsokkal Adatbázis-kezelés -vel eljárások 1 parancsok

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

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

Az importálás folyamata Felhasználói dokumentáció verzió 2.1. Az importálás folyamata Felhasználói dokumentáció verzió 2.1. Budapest, 2008. Változáskezelés Verzió Dátum Változás Pont Cím Oldal 2.1. 2008.01.17. A teljes dokumentáció megváltozott Kiadás: 2008.01.17.

Részletesebben

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus

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

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

Vizuális és eseményvezérelt programozás , II. félév BMF NIK Vizuális és eseményvezérelt programozás 2006 2007, II. félév BMF NIK MDI szövegszerkesztő Az SDI és az MDI Szülő- és gyermekablakok Menürendszer MDI alkalmazáshoz A gyermekablakok elrendezése RichTextBox

Részletesebben

Tortoise SVN használata. Képes útmutató

Tortoise SVN használata. Képes útmutató Tortoise SVN használata Képes útmutató 0. lépés Checkout könyvtár létrehozása Hozzunk létre egy könyvtárat, ahova letöltjük első alkalommal a Repository tartalmát és ahol később dolgozni fogunk! 1. Checkout

Részletesebben

Integráció LadyBirddel

Integráció LadyBirddel Integráció LadyBirddel 1 A ShopRenter és a Ladybird integrációjához beállításokat kell eszközölnünk mind a ShopRenter, mind a LadyBird felületén. Elsőként a LadyBirdben kell elvégeznünk teendőinket, mert

Részletesebben

Adatbázis-kezelés ODBC-vel

Adatbázis-kezelés ODBC-vel Adatbázis-kezelés ODBC-vel Készítette: Szabóné Nacsa Rozália 2004. november Adatbázis-kezelés API hívásokkal Alkalmazás Adatbázis 1 API 1 API 1 hívások Adatbázis 2 API 2 Alkalmazás API 2 hívások Adatbázis-kezelés

Részletesebben

Felhasználói útmutató (Adott programverzióhoz érvényes)

Felhasználói útmutató (Adott programverzióhoz érvényes) CalcSystem Számlarendszer Felhasználói útmutató (Adott programverzióhoz érvényes) M City Kft. Miskolc Tel/fax: 46/ 560-268 Mobil: 30/9458-718 Felhasználói útmutató Menürendszer A mellékelt főmenü szerkezete

Részletesebben

Folyamatos teljesítésű számlák tömeges generálása időszakonként, egyedi tételek kezelésének lehetőségével

Folyamatos teljesítésű számlák tömeges generálása időszakonként, egyedi tételek kezelésének lehetőségével Tömeges számlázás Folyamatos teljesítésű számlák tömeges generálása időszakonként, egyedi tételek kezelésének lehetőségével Tömeges számlázáshoz tartozó alap beállítások Tömeges számlázási adatok megadása

Részletesebben

3. Beadandó feladat dokumentáció

3. Beadandó feladat dokumentáció 3. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk adatbázis alapú, grafikus felületű alkalmazást egy apartmanokkal foglalkozó utazási ügynökség

Részletesebben

Pénzintézetek jelentése a pénzforgalmi jelzőszám változásáról

Pénzintézetek jelentése a pénzforgalmi jelzőszám változásáról Pénzintézetek jelentése a pénzforgalmi jelzőszám változásáról Felhasználói Segédlet MICROSEC Kft. 1022 Budapest, Marczibányi tér 9. telefon: (1)438-6310 2002. május 4. Tartalom Jelentés készítése...3 Új

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

Adatbázis-kezelés ActiveX vezérl kkel 2.rész

Adatbázis-kezelés ActiveX vezérl kkel 2.rész Adatbázis-kezelés ActiveX vezérl kkel 2.rész Készítette: Szabóné Nacsa Rozália 2004. november Feladat Figyelmeztetés, Figyelmeztetés, ha ha betelt betelt a a csoport. csoport. Csoport Csoport kiválasztása

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

A jobboldalon a pnlright egy Stacked Widget Állítsuk be az első lapot és nevezzük el pnldraw-ra:

A jobboldalon a pnlright egy Stacked Widget Állítsuk be az első lapot és nevezzük el pnldraw-ra: A Rajzolás lap A rajzolás lap elemi rajzolási lehetőségek bemutatására szolgál. A rajzolás a jobboldali pnlright widget egyik lapjára rakott widgetre történik. A pnlright egy több lapot tartalmazó widget

Részletesebben

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"

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

Belépés a GroupWise levelező rendszerbe az Internet felől

Belépés a GroupWise levelező rendszerbe az Internet felől 1 Belépés a GroupWise levelező rendszerbe az Internet felől A GroupWise levelező szolgáltatás web felelületről, az Internet felől az Egyetem honlapjáról is elérhető, az alábbi linken: www.uni-nke.hu WEBMAIL-NKE

Részletesebben

ContractTray program Leírás

ContractTray program Leírás ContractTray program Leírás Budapest 2015 Bevezetés Egy-egy szerződéshez tartozó határidő elmulasztásának komoly gazdasági következménye lehet. Éppen ezért a Szerződés kezelő program főmenü ablakában a

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

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák A Portál rendszer felületének általános bemutatása Felhasználói útmutató Támogatott böngészők Internet Explorer 9+ Firefox (legújabb verzió) Chrome (legújabb verzió) Felületek felépítése Információs kártyák

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

Ü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

Órarendkészítő szoftver

Órarendkészítő szoftver SchoolTime Órarendkészítő szoftver 2.0 verzió Tartalomjegyzék: 1., Belépés a programba...3 2., Órarend főtábla...3 3., Tanátok...4 3.1., Új tanár felvitele, módosítása...4 3.2., Tanár törlése...4 3.3.,

Részletesebben

A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába

A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába A lista eleme 0 adat rész mutató rész Listaelem létrehozása p: Node 0 0 3 0 Az elemet nekünk kell bef zni a listába Deklarálás struct Node { int int value; Node* next; next; adattagok Létrehozás Node*

Részletesebben

Atlon 2 Utasbiztosítási Rendszer

Atlon 2 Utasbiztosítási Rendszer Atlon 2 Utasbiztosítási Rendszer (újdonságok) Megújult az Atlon Utasbiztosítási rendszer felülete. Ez a dokumentum röviden összefoglalja a változásokat és újdonságokat. Reméljük, hogy a fejlesztés nyomán

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

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

DebitTray program Leírás

DebitTray program Leírás DebitTray program Leírás Budapest 2015 Bevezetés Egy-egy kintlévőséghez tartozó határidő elmulasztásának komoly következménye lehet. Éppen ezért a Kintlévőség kezelő program főmenü ablakában a program

Részletesebben

Web-technológia PHP-vel

Web-technológia PHP-vel Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request

Részletesebben

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN B IT v: 2016.03.03 MAN Csomagok A DBMS csomagok a PL/SQL alkalmazások fejlesztését segítik, bennük tároljuk a létrehozott programok kódjait. A specifikációs

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

Adatbázis-kezelés ODBC driverrel

Adatbázis-kezelés ODBC driverrel ADATBÁZIS-KEZELÉS ODBC DRIVERREL... 1 ODBC: OPEN DATABASE CONNECTIVITY (NYÍLT ADATBÁZIS KAPCSOLÁS)... 1 AZ ODBC FELÉPÍTÉSE... 2 ADATBÁZIS REGISZTRÁCIÓ... 2 PROJEKT LÉTREHOZÁSA... 3 A GENERÁLT PROJEKT FELÉPÍTÉSE...

Részletesebben

Elemi alkalmazások fejlesztése IV. Adatbáziskezelő alkalmazás készítése C++/Qt ben I.

Elemi alkalmazások fejlesztése IV. Adatbáziskezelő alkalmazás készítése C++/Qt ben I. Tartalomjegyzék Adatbáziskezelő alkalmazás készítése C++/Qt ben I...3 A MySQL adatbáziskezelő használatba vétele...3 Az alkalmazás adatbázisa...4 A Qt/Sql modul...5 Az adatbázis és az alkalmazás összekapcsolása...5

Részletesebben

Vidux DVR and CMS Release Notes update from 4.2.0 to 4.2.1. Verziókövetési jegyzet

Vidux DVR and CMS Release Notes update from 4.2.0 to 4.2.1. Verziókövetési jegyzet Vidux DVR and CMS Release Notes update from 4.2.0 to 4.2.1 hu Verziókövetési jegyzet 2009. 05. v.4.2.1 Verziókövetés 2. oldal, összesen: 12 Vidux Technologies TARTALOMJEGYZÉK VÁLTOZÁSOK A VIDUX DVR FELÜLETEN

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 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

Dokumentum létrehozása/módosítása a portálon:

Dokumentum létrehozása/módosítása a portálon: Dokumentum létrehozása/módosítása a portálon: 1. Belépés a szerkesztőfelületre A következő webcímre belépve - http://www.zalaegerszeg.hu/licoms/login - megjelenik a szerkesztőfelület beléptető ablaka,

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

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

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008. Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008. Változáskezelés Verzió Dátum Változás Pont Cím Oldal Kiadás: 2008.10.30. Verzió: 2.0. Oldalszám: 2 / 11 Tartalomjegyzék 1.

Részletesebben

Elemi alkalmazások fejlesztése I.

Elemi alkalmazások fejlesztése I. Steingart Ferenc el adása alapján készítette: Szabóné Nacsa Rozália Integrált fejleszt környezet Linux MS Win* www.kdevelop.org www.bloodshed.net Bevezetés 1 A kdevelop f ablaka Editor és böngész Projektszerkezet

Részletesebben

Felhasználói segédlet a Scopus adatbázis használatához

Felhasználói segédlet a Scopus adatbázis használatához Felhasználói segédlet a Scopus adatbázis használatához Az adatbázis elérése, regisztrálás, belépés Az adatbázis címe: http://www.scopus.com Az adatbázis csak regisztrált, jogosultsággal rendelkező intézmények,

Részletesebben

Mobil informatika gyakorlat. 2. óra: NFC a gyakorlatban

Mobil informatika gyakorlat. 2. óra: NFC a gyakorlatban Mobil informatika gyakorlat 2. óra: NFC a gyakorlatban Mi az NFC? Near Field Communication Rövid hatótávolságú rádiófrekvenciás technológia (tipikusan 5-10 cm) 13,56 MHz frekvencia Az ISO/IEC 14443 szabvány

Részletesebben

Duál Reklám weboldal Adminisztrátor kézikönyv

Duál Reklám weboldal Adminisztrátor kézikönyv Duál Reklám weboldal Adminisztrátor kézikönyv Dokumentum Verzió: 1.0 Készítette: SysWork Szoftverház Kft. 1. oldal Felület elérése Az adminisztrációs felület belépés után érhető el. Belépés után automatikusan

Részletesebben

E-Freight beállítási segédlet

E-Freight beállítási segédlet E-Freight beállítási segédlet Az E-Freight rendszer működéséhez szükséges programok és beállítások v08 A legújabb verzióért kérjük, olvassa be az alábbi kódot: 1. Támogatott böngészők Az E-Freight az Internet

Részletesebben

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1 STL gyakorlat C++ Izsó Tamás 2016. május 9. Izsó Tamás STL gyakorlat/ 1 Komponensek kapcsolata Deklarálja az alábbi osztálydiagramon szereplő osztályok közül az A, AA és AB osztályokat! A konstruktorokat

Részletesebben

Oktatás. WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken. SZTE Egyetemi Számítóközpont

Oktatás. WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken. SZTE Egyetemi Számítóközpont Oktatás WiFi hálózati kapcsolat beállítása Windows XP és Windows 7-es számítógépeken SZTE Egyetemi Számítóközpont WLAN kapcsolat beállítása 1 Tartalom Windows XP... 2 Tanúsítvány telepítése... 2 WPA2 védett

Részletesebben

PAS számlázó szoftver Használati útmutató

PAS számlázó szoftver Használati útmutató PAS számlázó szoftver Használati útmutató 1 Bevezetés 1.1.1 A PAS számlázó szoftver (a továbbiakban számlázó ) a magyar jogszabályoknak megfelelő számla kibocsátására alkalmas, interneten keresztül használható

Részletesebben

GLS címke kezelő bővítmény GLS online-hoz

GLS címke kezelő bővítmény GLS online-hoz GLS címke kezelő bővítmény GLS online-hoz A bővítmény csak Opeancart 2.2 és 2.3 verziókhoz elérhető, csak magyar nyelven! Általános ismertető: A GLS Online a http://online.gls-hungary.com weboldalon elérhető

Részletesebben

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén Tartalomjegyzék 1. Az Internet Explorer 9 megfelelősségének

Részletesebben