Elemi alkalmazások fejlesztése III
|
|
- Géza Lakatos
- 4 évvel ezelőtt
- Látták:
Átírás
1 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
2 Ajánlott irodalom Qt dokumentáció online: lokális változat: Kdevelop help vagy /usr/share/doc... Nyomtatható változat: ról PDF formátumban 2
3 A Qt assistant elindítása Alt F2 vel behívjuk a parancsablakot, majd kiadjuk az assistant parancsot. 3
4 A Qt assistant nyitó ablaka 4
5 5
6 GUI alkalmazás Qt osztályokkal 6
7 QObject Hello Qt alkalmazás QLabel QApplication #include <qapplication.h> #include <qlabel.h> hello.cpp 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(); } 7
8 Fordítás/futtatás parancs sorból Linux qmake project qmake hello.pro make./hello 8
9 Fordítás/futtatás parancs sorból Windows qmake project qmake hello.pro nmake hello 9
10 QObject QPushButton Quit alkalmazás QApplication #include <qapplication.h> #include <qpushbutton.h> quit.cpp int main(int argc, char *argv[]) { QApplication app(argc,argv); QPushButton *button = new QPushButton("Quit",0); QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit())); app.setmainwidget(button); button >show(); return app.exec(); } 10
11 Signal / slot mechanizmus Slotok Slotok Signálok button clicked() Signálok quit() app connect( button, SIGNAL( clicked() ), &app, SLOT( quit() ) ); A gomb clicked() szignált küld. Ezt a szignált hozzákötjük az alkalmazás quit() slotjához (speciálisan kezelt műveletéhez). 11
12 Fordítás/futtatás parancs sorból Linux qmake project qmake quit.pro make./quit 12
13 Numbers alkalmazás form.h form.cpp main.cpp Form: főablakot reprezentáló osztály 13
14 Form ablak látvány terve Caption QVBox QHBox QSpinBox QSlider QLineEdit 14
15 Form osztály definíció #ifndef FORM_H #define FORM_H #include <qwidget.h> #include <qvbox.h> form.h class QHBox; class QSpinBox; class QSlider; class QLineEdit; class Form: public QVBox { public: Form(QWidget *parent=0, const char *name=0); private: QHBox *hbox; QSpinBox *spinbox; QSlider *slider; QLineEdit *lineedit; }; #endif Caption QVBox QHBox QSpinBox QSlider QLineEdit 15
16 Form osztály implementáció 1 #include <qhbox.h> #include <qspinbox.h> #include <qslider.h> #include <qlineedit.h> #include "form.h"... form.cpp Caption QVBox QHBox QSpinBox QSlider QLineEdit 16
17 Form osztály implementáció 2... Form::Form(QWidget *parent, const char *name) :QVBox(parent,name) { setmargin(6); Caption setspacing(6); hbox = new QHBox(this); lineedit = new QLineEdit(this); hbox >setmargin(6); hbox >setspacing(6); spinbox = new QSpinBox(hbox); slider = new QSlider(Qt::Horizontal,hbox); slider >setrange(0,10); spinbox >setrange(0,10); form.cpp QVBox QHBox QSpinBox QSlider QLineEdit spinbox >setvalue(5); connect(slider,signal(valuechanged(int)),spinbox,slot(setvalue(int))); connect(spinbox,signal(valuechanged(int)),slider,slot(setvalue(int))); } 17
18 Signal / slot mechanizmus Slotok Signálok slider valuechanged(int) Slotok Signálok setvalue(int) spinbox connect(slider,signal(valuechanged(int)),spinbox,slot(setvalue(int))); A csúszka értékváltozás esetén valuechanged(int) szignált küld. Ezt a szignált hozzákötjük a számkijelző setvalue(int) slotjához (speciálisan kezelt műveletéhez). 18
19 Saját slot kezelése definíció... class Form: public QVBox { Q_OBJECT form.h A Q_OBJECT makróban vannak a moc számára a függvénydeklarációk. public: Form(QWidget *parent=0, const char *name=0); private: QHBox *hbox; QSpinBox *spinbox; QSlider *slider; QLineEdit *lineedit; QString words[11]; void initwords(); public slots: void sayasword(int i); };... moc: meta object compiler Nem szabványos C++ elem. A moc készíti el a szabványos C++ kódot. 19
20 Saját slot kezelése implementáció 1... Form::Form(QWidget *parent, const char *name) :QVBox(parent,name) { setmargin(6); setspacing(6); form.cpp... connect(slider,signal(valuechanged(int)),spinbox,slot(setvalue(int))); connect(spinbox,signal(valuechanged(int)),slider,slot(setvalue(int))); connect(slider,signal(valuechanged(int)),this,slot(sayasword(int))); initwords(); spinbox >setvalue(5); } Saját slot A kezdőértéket a kapcsolat kiépítése után kell beállítani 20
21 Saját slot kezelése implementáció 2... void Form::sayAsWord(int i) { lineedit >settext(words[i]); } form.cpp void Form::initWords() { words[0] = "null"; words[1] = "one";... words[10] = "ten"; } 21
22 Numbers projekt fájl TEMPLATE = app INCLUDEPATH +=. # Input HEADERS += form.h SOURCES += form.cpp main.cpp qmake project qmake numbers.pro make./numbers 22
23 Memória gazdálkodás (widget) Form(QVBOX) Caption gyerek lista QVBox QHBox QSpinBox QHBox(hbox) QSlider QSpinBox(spinBox) QLineEdit QSilder(slider) QLineEdit(lineEdit) Csak azokat a widget eket kell törölni, amelyeket new operátorral hozunk létre és nincs szülője. 23
24 Widget Layout Manager Caption Caption mainlayout QVBox QHBox QSpinBox QSlider QLineEdit toplayout QSpinBox QSlider QLineEdit 24
25 Memória gazdálkodás (layout) mainlayout Form Caption QSpinBox(spinBox) QSlider(slider) QSpinBox QSlider QLineEdit(lineEdit) QLineEdit QVBoxLayout(mainLayout) toplayout QVBoxLayout(topLayout) Csak azokat a widget eket kell törölni, amelyeket new operátorral hozunk létre és nincs szülője. 25
26 Form osztály definíció #include <qwidget.h> form.h class QSpinBox; class QSlider; class QLineEdit; class Form: public QWidget { Q_OBJECT public: Form(QWidget *parent=0, const char *name=0); private: QSpinBox *spinbox; QSlider *slider; QLineEdit *lineedit; QString words[11]; void initwords(); public slots: void sayasword(int i); }; Caption QSpinBox QSlider QLineEdit 26
27 Form osztály implementáció 1 #include <qlayout.h> #include <qspinbox.h> #include <qslider.h> #include <qlineedit.h> #include "form.h"... form.cpp Caption QSpinBox QSlider QLineEdit 27
28 Form osztály implementáció 2... Form::Form(QWidget *parent, const char *name):qwidget(parent,name) { spinbox = new QSpinBox(this); slider = new QSlider(Qt::Horizontal,this); slider >setrange(0,10); Caption spinbox >setrange(0,10); lineedit = new QLineEdit(this); QHBoxLayout *toplayout = new QHBoxLayout; toplayout >addwidget(spinbox); toplayout >addwidget(slider); QVBoxLayout *mainlayout = new QVBoxLayout(this); QSpinBox form.cpp QSlider QLineEdit mainlayout >addlayout(toplayout); mainlayout >addwidget(lineedit); mainlayout >setmargin(11); mainlayout >setspacing(6); connect(slider,signal(valuechanged(int)),spinbox,slot(setvalue(int))); connect(spinbox,signal(valuechanged(int)),slider,slot(setvalue(int))); connect(spinbox,signal(valuechanged(int)),this,slot(sayasword(int))); initwords(); spinbox >setvalue(5); } 28
29 Layout projekt fájl form.h TEMPLATE = app INCLUDEPATH +=. # Input HEADERS += form.h SOURCES += form.cpp main.cpp form.cpp main.cpp qmake project qmake layout.pro make./layout 29
30 GUI alkalmazás Qt Designerrel 30
31 A.ui fájl és a generált kód Qt designer form.ui UIC Írás, olvasás Olvasás Generálás #includes Eszköz (tool) Generált forráskód Felhasználó forráskódja form.h form.cpp main.cpp 31
32 Származtatásos modulszerkezet form.ui UIC Írás, olvasás Olvasás Generálás #includes Eszköz (tool) Generált forráskód Felhasználó forráskódja Öröklődés Qt designer formbase.h form.h formbase.cpp form.cpp main.cpp A formbase.h és a formbase.cpp minden módosításnál újra generálódik. Az alkalmazás specifikus funkciókat a származtatott osztályban adjuk meg. 32
33 ui.h s modulszerkezet form.ui.h Qt designer form.ui Az alkalmazásspecifius funkciókat a form.ui.h implementációs fájlban adjuk meg. Írás, olvasás Olvasás Generálás #includes Eszköz (tool) Generált forráskód Felhasználó forráskódja UIC form.h form.cpp main.cpp 33
34 Qt Designer indítása 34
35 A QtDesigner ablakai ProjectOverview Toolbox ObjectExplorer Properties Editor/ Signal Handlers 35
36 File/New/C++ Project 36
37 File/New/C++ Project 37
38 38
39 Elrendezés 39
40 Edit/Connections <connections> form.ui <connection> <sender>slider</sender> <signal>valuechanged(int)</signal> <receiver>spinbox</receiver> <slot>setvalue(int)</slot> </connection> <connection> <sender>spinbox</sender> <signal>valuechanged(int)</signal> <receiver>slider</receiver> <slot>setvalue(int)</slot> </connection> </connections> 40
41 Változó deklarálása 41
42 Saját slot létrehozása Edit/Slots... /New Function Edit/Connections 42
43 void Form::sayAsWord( int i) { lineedit >settext(words[i]); } 43
44 Saját függvény és konstruktor létrehozása Edit/Slots... /New Function void Form::init() { spinbox >setmaxvalue(10); slider >setmaxvalue(10); initwords(); spinbox >setvalue(5); } A Form konstruktora után automatikusan végrehajtódik az init() metódus. void Form::initWords() { words[0] = "null";... words[10] = "ten"; } 44
45 main függvény beillesztése Edit/Slots... /C++ Main file 45
46 Generált main.cpp program #include <qapplication.h> #include "form.h" int main( int argc, char ** argv ) { QApplication a( argc, argv ); Form w; w.show(); a.connect( &a, SIGNAL( lastwindowclosed() ), &a, SLOT( quit() ) ); return a.exec(); } 46
47 Fordítás/futtatás qmake project qmake words.pro make 47
48 Words projekt fájl TEMPLATE = app INCLUDEPATH +=. # Input HEADERS += form.ui.h INTERFACES += form.ui SOURCES += main.cpp qmake project qmake o Makefile words.pro make./words 48
49 Gyakorló feladat Feladat: Egészítse ki a projektet úgy, hogy a szám szöveges begépelésére, ha van az adott szöveghez szám, akkor a SpinBox és a Slider automatikusan álljon be a megadott értékre. Gépelés 49
50 Saját slot deklarációja 50
51 Saját slot implementálása void Form::slotTextChanged_( const QString & s ) { bool l=false; for (int i=0; i< (int) sizeof(words)/sizeof(words[0]) &&!l;i++) { if(words[i]==s) { l=true; slider >setvalue(i); } } } 51
52 Saját slot összekapcsolása eseménnyel 52
53 Legyen Ön is milliomos példa Gomb + kép Szerkeszthető szöveg LCD kijelző Gomb csoport Gomb + szöveg Radio Button 53
54 Szövegdoboz elhelyezése A Qt eszköztárából válasszuk ki a TextEdit eszközt Kattintsunk a szövegdoboz tervezett helyére. 54
55 Pixmap gomb elhelyezése PushButton Kattintsunk a vezérlőelem tervezett helyére. 4 Válaszunk képet a gomb felirata helyett. 55
56 LCDNumber Számkijelző elhelyezése
57 Távtartó (spacer) elhelyezése Spacer Az endbutton és az LCD kijelző közé elhelyezhetünk egy távtartót. 57
58 Elrendezés szabályozása 2 Kattintsunk a Lay Out Vertically gombra. Jelöljük ki egyszerre mindhárom elemet. 1 58
59 Layout toolbar Ezzel a gombbal lehet megszüntetni a csoportot. A piros keret jelzi az elemek összetartozását 59
60 TextLabel Kérdés elhelyezése 60
61 ButtonGroup Válasz keret elhelyezése 61
62 Radio Button Válaszok elhelyezése 1 62
63 Válaszok elhelyezése 2 63
64 A Következő gomb elhelyezése 64
65 65
66 Grid Layout A szabályos elrendezéshez kattintson a Lay Out in a Grid gombra Ne legyen elem kiválasztva. 66
67 Főprogram beillesztése 67
68 #include <qapplication.h> #include "millmain.h" int main( int argc, char ** argv ) { QApplication a( argc, argv ); MillMain w; w.show(); a.connect( &a, SIGNAL( lastwindowclosed() ), &a, SLOT( quit() ) ); return a.exec(); } 68
69 Viselkedés tesztelése Ctrl T Itt léphet ki a tesztelésből. A szövegek elrendezése változik az ablak méretével. 69
70 Tennivalók az alkalmazásunkban Következő kérdés feladása nextquestion() Válasz ellenőrzése checkanswer() Kilépés endbutton() 70
71 Tennivalók az alkalmazásunkban Következő kérdés feladása nextquestion() Válasz ellenőrzése checkanswer() Kilépés endbutton() connect( nextbutton, SIGNAL( clicked() ), this, SLOT( nextquestion() ) ); connect( ansgroup, SIGNAL( clicked(int) ), this, SLOT( checkanswer(int) ) ); connect( endbutton, SIGNAL( clicked() ), this, SLOT( endgame() ) ); 71
72 Saját slotok beillesztése Edit/Slots void MillMain::nextQuestion( ) millmain.ui.h { qwarning( tr("millmain::nextquestion(): Not implemented yet" )); } void MillMain::checkAnswer(int ) millmain.ui.h { qwarning( tr("millmain::nextquestion(): Not implemented yet" )); } 72
73 Edit/Connections connect( nextbutton, SIGNAL( clicked() ), this, SLOT( nextquestion() ) ); connect( ansgroup, SIGNAL( clicked(int) ), this, SLOT( checkanswer(int) ) ); connect( endbutton, SIGNAL( clicked() ), this, SLOT( endgame() ) ); 73
74 millmain.ui.h Qt designer millmain.ui form.ui UIC Írás, olvasás Olvasás Generálás #includes Eszköz (tool) Generált forráskód Felhasználó forráskódja millmain.h millmain.cpp main.cpp 74
75 millmain.ui.h void MillMain::nextQuestion() { qwarning( tr("millmain::nextquestion(): Not implemented yet" )); } void MillMain::checkAnswer( int ) { qwarning( tr("millmain::nextquestion(): Not implemented yet" )); } void MillMain::endGame() { qwarning( tr("millmain::nextquestion(): Not implemented yet" )); } 75
76 Fordítás/futtatás 76
77 Vége, de... A munkafüzet programjai letölthetők a people.inf.elte.hu/nacsa/eaf3/projects címről. 77
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észletesebbenQLabel *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észletesebbenElemi 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észletesebbenElemi 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észletesebbenElemi 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észletesebbenElemi 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észletesebbenAlkalmazá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észletesebbenBudapest, 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észletesebbenElemi 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észletesebbenGrafikus 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észletesebbenEgysé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észletesebbenFeladat. Tervezés és implementálás
Tartalomjegyzék FELADAT...2 Elvárások...2 TERVEZÉS ÉS IMPLEMENTÁLÁS...2 Megjelenési terv...2 Grafikus felület készítése...3 Modulszerkezet...3 Osztály diagram...3 MillMain form...4 Vezérlő k elrendezése...4
RészletesebbenMySql 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észletesebbenElemi 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észletesebbenTervező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észletesebbenElemi 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észletesebbenElemi alkalmazások fejlesztése
Egyablakos alkalmazás készítése II...2 Osztályszerkezet...3 Modulszerkezet...3 A kérdés rekord felépítése: Question...4 A kérdéssor típus: QuestionIterator...4 A QuestionIterator osztály beillesztése a
RészletesebbenElemi 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észletesebben3D-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észletesebbenElemi 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észletesebbenElemi 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 EAF3 Qt4 Bevezetés (mod01) 1 A Qt assistant nyitó ablaka www.trolltech.com
Részletesebben3D-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észletesebbenEseménykezelés. Aszinkron kommunikáció
Eseménykezelés Aszinkron kommunikáció Feladat Készítsünk egy stoppert, amely másodpercenként jelzi a múló időt. Ez a folyamat egy adott jelzés hatására induljon el; ugyanezen jelzés ismétléseinek hatására
RészletesebbenElemi 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észletesebbenElemi 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észletesebbenQt rajzolás munkafüzet. Elemi Alkalmazások fejlesztése 3.
Qt rajzolás munkafüzet Elemi Alkalmazások fejlesztése 3. 1. fejezet Impresszum Qt rajzolás munkafüzet (C)2006 Zimler Attila Tamás Visszajelzéseket szivesen fogadok. A munkafüzet
RészletesebbenProgramozás II gyakorlat. 4. Öröklődés
Programozás II gyakorlat 4. Öröklődés Feladat Egy játékfejlesztő cég olyan programot fejleszt, amely nyilvántartja az alkalmazottai adatait. Tároljuk minden személy: Nevét (legfeljebb 50 karakter) Születési
RészletesebbenProgramozá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észletesebbenGrafikus Felhasználói Felületű (GUI) program készítése a QT Creatorral, illetve a Microsoft Visual Studio-val
Grafikus Felhasználói Felületű (GUI) program készítése a QT Creatorral, illetve a Microsoft Visual Studio-val A feladat A feladat egy kis számológép elkészítése. A számológép a következőképpen néz majd
RészletesebbenSwing 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észletesebbenEseménykezelés. Aszinkron kommunikáció
Eseménykezelés Aszinkron kommunikáció Feladat Készítsünk egy stoppert, amely másodpercenként jelzi a múló időt. Ez a folyamat egy adott jelzés hatására induljon el; ugyanezen jelzés ismétléseinek hatására
RészletesebbenQT Grafika Az alap alkalmazás felhasználói felülete
QT Grafika Az alap alkalmazás felhasználói felülete Az alábbiakban létrehozzuk azt a GUI-t, amit a továbbiakban használni fogunk. Ennek során áttekintünk néhány hasznos GUI elemet és azok használatát.
RészletesebbenJohanyá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észletesebbenAlkalmazá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észletesebbenProgramozás C++ -ban
Programozás C++ -ban 4. Bevezetés az osztályokba 4.1 Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több
RészletesebbenElemi 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észletesebbenJava 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észletesebbenDinamikus felületű alkalmazások. Stílusok, időzítő, képek
Dinamikus felületű alkalmazások Stílusok, időzítő, képek Felhasználói felület fajtái Az alkalmazásaink grafikus felülete alapvetően kétféle lehet: statikus: az alkalmazás felületén lévő vezérlőket induláskor
RészletesebbenAccess 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észletesebbenProgramozás C++ -ban 2007/4
Programozás C++ -ban 2007/4 1. Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több szempontból is hasznos
RészletesebbenOsztály és objektum fogalma
Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály
RészletesebbenElemi 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észletesebbenProgramozás I. 5. Előadás: Függvények
Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény
RészletesebbenA 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észletesebbenC++/Qt alapú SDI alkalmazás készítése II...2
...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
RészletesebbenProgramozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
Részletesebbenosztályok kapcsolata Származtatatás C++ Izsó Tamás 2014. március 19. Izsó Tamás Származtatatás/ 1
Származtatatás C++ Izsó Tamás 2014. március 19. Izsó Tamás Származtatatás/ 1 Dinamikus tagváltozó az osztályban class RVektor { i n t n ; R a c i o n a l i s p ; p u b l i c : RVektor ( i n t n=10 ) :
RészletesebbenAlkalmazá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észletesebbenEsemé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észletesebbenHálózati alkalmazások
Hálózati alkalmazások Hálózati alkalmazások QT osztályai A Qt támogatja az FTP és HTTP alapú hálózati alkalmazások készítését. A QFtp osztály segítségével lehet fájlokat megadott hálózati helyekre fel-
RészletesebbenBevezetés a programozásba Előadás: A const
Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout
RészletesebbenAlkalmazá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észletesebbenEseményvezérelt alkalmazások fejlesztése I 2. előadás. Egyszerű, egyablakos alkalmazások
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 2. előadás Egyszerű, egyablakos alkalmazások 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenEseményvezérelt alkalmazások fejlesztése I 3. előadás. Dinamikus felületű alkalmazások. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 3. előadás Dinamikus felületű alkalmazások Giachetta Roberto http://people.inf.elte.hu/groberto A felhasználói
RészletesebbenDinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése
FEJLETT PROGRAMOZÁSI NYELVEK, 2009 2. GYAKORLAT - Linux alatti C/C++ programozás Cél: Dinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése
RészletesebbenAdatbázis-kezelés ActiveX vezérl kkel
Adatbázis-kezelés ActiveX vezérl kkel Készítette: Szabóné Nacsa Rozália 2004. november Saját vezérl Feladat: Készítsünk kört kört rajzoló rajzológrafikus vezérl vezérl t. t. Figyelem!! Most Most az az
RészletesebbenBevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
RészletesebbenESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés. Készítette: Gregorics Tibor
ESEMÉNY VEZÉRELT ALKALMAZÁSOK FEJLESZTÉSE I. Bevezetés Készítette: Gregorics Tibor Előfeltétel: OAF (EAF2) Kötelező házi feladatok: 4 darab feladat max. 5-5 pontért Feltételek 2 hét késés: legfeljebb 3
RészletesebbenMobil 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észletesebben4. Öröklődés. Programozás II
4. Öröklődés Programozás II Mielőtt belevágunk Egy Tárgy típusú objektumokat tároló tömb i. elemében tároljunk el egy új tárgyat Rossz módszer: tomb[i].setnev( uj.getnev() ); tomb[i].setertek( uj.getertek()
RészletesebbenHardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt
BME Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt Visual Studio, SystemC, SDL Tóth Gergely Endre 2013.03.18. 1 Bevezetés Ebben a dokumentumban leírom, hogy hogyan lehet
RészletesebbenA feladat lényege egy felhasználói típusnak a zsák típusnak a megvalósítása.
Feladat Készítsen egy egész számokat tartalmazó zsák típust! A zsákot dinamikusan lefoglalt tömb segítségével ábrázolja! Implementálja a szokásos műveleteket (elem betevése, kivétele, üres-e a halmaz,
Részletesebben3. 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észletesebbenStatikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
RészletesebbenSzéchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenAdatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben
Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Java GUI készítése, Oracle kapcsolódás JDBC-vel A jelen anyagban egy egyszerűsített megközelítéssel vizsgáljuk
RészletesebbenElemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1
ADATBÁZIS-KEZELÉS ACTIVEX VEZÉRLİK ALKALMAZÁSÁVAL I.... 1 ACTIVEX... 1 ACTIVEX CONTROL... 1 SAJÁT ACTIVEX VEZÉRLİ LÉTREHOZÁSA... 1 circctrl.cpp... 2 Háttérszín tulajdonság hozzárendelése a vezérlıhöz...
RészletesebbenC#, OOP. Osztályok tervezése C#-ban
C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat
Részletesebben2. Beadandó feladat dokumentáció
2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a következő memóriajátékhoz. A játéktáblán mező foglal helyet, amelyek különböző
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
RészletesebbenC programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
RészletesebbenBevezetés a programozásba Előadás: Fordítási egység
Bevezetés a programozásba 2 5. Előadás: Fordítási egység ISMÉTLÉS Tagfüggvény kiemelése struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; void Particle::rajzol() { gout
RészletesebbenUgráló gomb oktatási segédlet Ugráló gomb
Ugráló gomb Készítsünk egy egyszerű játékprogramot, ami egy mozgó nyomógombot tartalmaz. A nyomógomb beállított ideig marad egy helyben, majd az ablakon számára elhatárolt terület (panel) egy véletlenszerűen
RészletesebbenA 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észletesebbenProgramozás C és C++ -ban
Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új
RészletesebbenSzoftvergyártás: gyártásvezérlés kód-figyeléssel
Szoftvergyártás: gyártásvezérlés kód-figyeléssel Előadó: Banai Miklós és Rakyta Péter Pályázatok: TECH_08-A2/2-2008-0089-SZOMIN08; KMOP-1.1.1-08/1-2008-0019; KMOP-1.1.2-08/1-2008-0002 Vízió: Szoftvergyártás
RészletesebbenSDI 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észletesebbenMechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
RészletesebbenEseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 11. előadás Szoftverek tesztelése 2014 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenGrafikus felület programozása Qt-ban (1. rész)
Grafikus felület programozása Qt-ban (1. rész) Írásunkkal a grafikus felhasználói felülettel rendelkezõ programok készítésének rejtelmeibe kívánunk betekintést nyújtani. Készítsünk egyszerû szövegszerkesztõ
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok
RészletesebbenMiutá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észletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
Részletesebben3. 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 programot a közismert Tic-Tac-Toe játékra. Ebben a játékban a játékosok egy -as játékmezőn
RészletesebbenStateless Session Bean
Stateless Session Bean Készítsünk egy stateless session bean-t, amellyel összeadhatunk két számot. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket kell választani: Web Dynamic
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális
RészletesebbenAlkalmazások fejlesztése III. Qt 4 /C++ alapú grafikus alkalmazás - Memóriajáték 1/2
Tartalomjegyzék Memóriajáték...2 A memóriajáték osztálydiagramja...2 A projektben használt segéd függvények (Utils)...3 utils.h...3 utils.cpp...3 CardButton osztály...4 cardbutton.h...4 cardbutton.cpp...5
Részletesebben1. feladat. Szabóné Nacsa Rozália
1. feladat Készítsünk programot kisdiákoknak összeadás gyakorlására. Legyenek az operandusok 0-10 véletlen számok. Az = jel utáni szövegdobozban a kisdiáknak kell begépelni a megoldást. Az Értékelés gomb
RészletesebbenProgramozás 6. Dr. Iványi Péter
Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak
RészletesebbenProgramozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter
Programozás(A szakirány) II. beadandó feladat 2014.05.05. Farkas András HP6S15 fafee@fafeecorp.com 1. csoport Veszprémi Anna / Hudoba Péter Feladat: Egy szöveges állományban bekezdésekre tördelt szöveg
RészletesebbenSzá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észletesebbenAdabá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észletesebbenJava Programozás 8. Gy: Java alapok. Adatkezelő 4.rész
Java Programozás 8. Gy: Java alapok Adatkezelő 4.rész 37/1 B ITv: MAN 2018.04.15 A feladat Feladat: folytassuk a panel életre keltését! - Készítsük el a Módosítás funkciót - A Lista panelt másoljuk le,
RészletesebbenBevezetés a Programozásba II 4. előadás. Adattípusok hordozhatósága
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 4. előadás 2014.03.03. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Programok
Részletesebben2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
RészletesebbenInformatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
RészletesebbenJava Programozás 9. Gy: Java alapok. Adatkezelő 5.rész
Java Programozás 9. Gy: Java alapok Adatkezelő 5.rész 15/1 B ITv: MAN 2018.04.22 A Keresés funkció Programlogika: 1. A keresés az etm táblamodellben fog keresni, és a találat rekordokat átmásolja egy másik
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 8. előadás Visszatekintés A Windows Console alkalmazások egy karakteres képernyőt biztosítottak, ahol a kimenet a kiírt szöveg, míg a bemenet a billentyűzet volt.
Részletesebben