Hálózati alkalmazások
|
|
- Judit Csonka
- 6 évvel ezelőtt
- Látták:
Átírás
1 Hálózati alkalmazások
2 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- vagy helyekről letölteni. A QHttp osztály felhasználásával web szerverek számára lehet kéréseket megfogalmazni és az azokra kapott válaszokat feldolgozni. A Qt az alacsony szintű hálózat-kezeléshez a QTcpSocket és a QUdpSocket osztályokat biztosítja, amelyek a TCP és UDP protokollokat implementálják. Mindkettő alkalmas hálózati kliens-szerver alkalmazások létrehozására. Az alkalmazások.pro fájljában szükség van az alábbi kapcsolóra: QT += network 2
3 FTP kliens A QFtp osztály az FTP protokoll kliens oldali implementációját adja. Különféle metódusokat biztosít az FTP parancsok végrehajtásához. A connecttohost(), login(), close(), list(), cd(), get(), put(), remove(), mkdir(), rmdir(), rename() metódusok mindegyike egy FTP parancsot vált ki, és visszaadja az FTP parancs azonosítóját. Bármely más FTP parancs a rawcommand() metódus segítségével kiadható ftp.rawcommand("site CHMOD 755 fortune"); A QFtp kiváltja a commandstarted(int) szignált, amikor egy parancsot el kezd végrehajtani, és a commandfinished(int, bool) szignált, amikor egy parancs befejeződött. Az int paraméter a parancs azonosítója. A QFtp osztály az FTP parancsok aszinkron működését támogatja. Amikor az összes befejeződik az összes kérés, kiváltja a done(bool) szignált. 3
4 1.Feladat Készítsünk egy olyan alkalmazást, amely segítségével egy távoli fájlt tudunk letölteni FTP protokollt használva. A program legyen egy konzol alkalmazás. nincs szükség a QtGui könyvtárra int main(int argc, char *argv[]){ QCoreApplication app(argc, argv); parancssor argumentumai QStringList args = app.arguments(); if (args.count()!= 2) { cerr << "Usage: ftpget url" << endl << "Example:" << endl << " ftpget ftp://ftp.trolltech.com/mirrors" << endl; return 1; saját osztály elindítja a fájl-letöltés FtpGet getter; if (!getter.getfile(qurl(args[1]))) return 1; QObject::connect(&getter, SIGNAL(done()), &app, SLOT(quit())); return app.exec(); a fájl-letöltés befejezése leállítja az alkalmazást 4
5 1.Feladat: tervezés FtpGet QObject - _ftp :QFtp - _file :QFile + FtpGet(QObject*) + getfile(qurl) «slot» - ftpdone(bool) 5
6 1.Feladat: megoldás FtpGet::FtpGet(QObject *parent) : QObject(parent){ connect(&_ftp, SIGNAL(done(bool)), this, SLOT(ftpDone(bool))); void FtpGet::ftpDone(bool error){ fájl művelet befejezésének lekezelése if (error) { cerr << "Error: " << qprintable(_ftp.errorstring()) << endl; else { cerr << "File downloaded as " << qprintable(_file.filename()) << endl; _file.close(); emit done(); 6
7 1.Feladat: megoldás bool FtpGet::getFile(const QUrl &url){ if (!url.isvalid()) { URL ellenőrzése cerr << "Error: Invalid URL" << endl; return false; if (url.scheme()!= "ftp") { cerr << "Error: URL must start with 'ftp:'" << endl; return false; if (url.path().isempty()) { cerr << "Error: URL has no path" << endl; return false; 7
8 1.Feladat: megoldás bool FtpGet::getFile(const QUrl &url){ QString localfilename = QFileInfo(url.path()).fileName(); if (localfilename.isempty()) localfilename = "ftpget.out"; _file.setfilename(localfilename); if (!_file.open(qiodevice::writeonly)) { lokális fájl nevének beállítása cerr << "Error: Cannot open " << qprintable(_file.filename()) << " for writing: " << qprintable(_file.errorstring()) << endl; return false; lokális fájl megnyitása _ftp.connecttohost(url.host(), url.port(21)); _ftp.login(); _ftp.get(url.path(), &_file); FTP műveletek _ftp.close(); return true; 8
9 2.Feladat Készítsünk egy olyan command-line alkalmazást, amely minden fájlt letölt egy FTP könyvtárból, sőt rekurzív módon annak alkönyvtáraiból is. int main(int argc, char *argv[]) nincs szükség a QtGui könyvtárra { QCoreApplication app(argc, argv); parancssor argumentumai QStringList args = app.arguments(); if (args.count()!= 2) { cerr << "Usage: spider url" << endl << "Example:" << endl << "spider ftp://ftp.trolltech.com/freebies/leafnode" << endl; return 1; saját osztály elindítja a fájl-letöltés Spider spider; if (!spider.getdirectory(qurl(args[1]))) return 1; QObject::connect(&spider, SIGNAL(done()), &app, SLOT(quit())); return app.exec(); a fájl-letöltés befejezése leállítja az alkalmazást 9
10 2.Feladat: tervezés Spider - _ftp :QFtp - _pendingdirs : QString - _openedfiles : Qlist<Qfile*> - _currentdir : QString - _currentlocaldir : QString + Spider(QObject*) + getdirectory(qurl) - processnextdirectory() «signal» - done() «slot» - ftpdone(bool) - ftplistinfo(qurlinfo) QObject letöltésre váró könyvtárak nevei memória szivárgás elkerüléséhez ezt az FTP get műveletével elkezdett letöltés befejezése váltja ki connect(&_ftp, SIGNAL(done(bool)), this, SLOT(ftpDone(bool))); connect(&_ftp, SIGNAL(listInfo(const QUrlInfo &)), this, SLOT(ftpListInfo(const QUrlInfo &))); ezt az FTP list művelete minden egyes listázott tételre kiváltja 10
11 2.Feladat: megoldás bool Spider::getDirectory(const QUrl &url) { if (!url.isvalid()) { ez indítja az adott könyvtárbeli fájlok letöltését cerr << "Error: Invalid URL" << endl; return false; if (url.scheme()!= "ftp") { cerr << "Error: URL must start with 'ftp:'" << endl; return false; _ftp.connecttohost(url.host(), url.port(21)); _ftp.login(); QString path = url.path(); if (path.isempty()) path = "/"; _pendingdirs.append(path); processnextdirectory(); return true; 11
12 2.Feladat: megoldás void Spider::processNextDirectory() { if (!_pendingdirs.isempty()) { _currentdir = _pendingdirs.takefirst(); _currentlocaldir = "downloads/" + _currentdir; QDir(".").mkpath(_currentLocalDir); _ftp.cd(_currentdir); _ftp.list(); else { emit done(); Ha van már fellelt, de feldolgozatlan könyvtár, akkor annak elemeit listázza, és mindegyikre kiváltja a listinfo(qurlinfo) szignált. 12
13 2.Feladat: megoldás void Spider::ftpListInfo(const QUrlInfo &urlinfo) { valahányszor egy könyvtárbeli if (urlinfo.isfile()) { tétel listázásra kerül if (urlinfo.isreadable()) { QFile *file = new QFile(_currentLocalDir +"/"+ urlinfo.name()); if (!file->open(qiodevice::writeonly)) { cerr << "Warning: Cannot open file " << qprintable(qdir::convertseparators(file->filename())) << endl; return; _ftp.get(urlinfo.name(), file); _openedfiles.append(file); ha normális fájl, akkor elkezdjük a letöltését else if (urlinfo.isdir() &&!urlinfo.issymlink()) { _pendingdirs.append(_currentdir + "/" + urlinfo.name()); ha könyvtár, akkor feljegyezzük 13
14 2.Feladat: megoldás void Spider::ftpDone(bool error) { if (error) { cerr << "Error: " << qprintable(_ftp.errorstring()) << endl; else { cout << "Downloaded " << qprintable(_currentdir) << " to " << qprintable(qdir::convertseparators( QDir(_currentLocalDir).canonicalPath())); qdeleteall(_openedfiles); _openedfiles.clear(); processnextdirectory(); itt van a rekurzió amikor az eddig elindított fájl letöltések befejeződtek Eltároltuk az eddig letöltésre kijelölt fájlokat, ezért most a letöltések befejeződésekor törölni tudjuk őket, így elkerüljük a memória szivárgást. 14
15 HTTP kliens A QHttp osztály a HTTP protokoll kliens oldali implementációját adja. Különféle metódusokat biztosít az FTP parancsok végrehajtásához. A sethost(), get(), post(), remove(), head() metódusok mindegyike egy HTTP parancsot vált ki. Bármely más FTP parancs a rawcommand() metódus segítségével kiadható ftp.rawcommand("site CHMOD 755 fortune"); A QHttp kiváltja a requeststarted(int) szignált, amely egy kérés végrehajtásakor keletkezik, és a requestfinished(int, bool) szignált, amikor a kérés befejeződött. Az int paraméter a kérés azonosítója. Amikor a kérések sora kiürül, akkor kiváltódik a done(bool) szignál. 15
16 3.Feladat Készítsünk egy olyan alkalmazást, amely segítségével egy távoli fájlt tudunk letölteni HTTP protokollt használva. A program legyen egy konzol alkalmazás. nincs szükség a QtGui könyvtárra int main(int argc, char *argv[]){ QCoreApplication app(argc, argv); parancssor argumentumai QStringList args = app.arguments(); if (args.count()!= 2) { cerr << "Usage: httpget url" << endl << "Example:" << endl << "httpget << endl; return 1; saját osztály elindítja a fájl-letöltés HttpGet getter; if (!getter.getfile(qurl(args[1]))) return 1; QObject::connect(&getter, SIGNAL(done()), &app, SLOT(quit())); return app.exec(); a fájl-letöltés befejezése leállítja az alkalmazást 16
17 3.Feladat: tervezés HttpGet QObject - _http :QHttp - _file :QFile + HttpGet(QObject*) + getfile(qurl) «signal» - done() «slot» - httpdone(bool) 17
18 3.Feladat: megoldás HttpGet::HttpGet(QObject *parent) : QObject(parent){ connect(&_http, SIGNAL(done(bool)), this, SLOT(httpDone(bool))); fájl művelet befejezésének lekezelése void HttpGet::httpDone(bool error){ if (error) { cerr << "Error: " << qprintable(_http.errorstring()) << endl; else { cerr << "File downloaded as " << qprintable(_file.filename()) << endl; _file.close(); emit done(); 18
19 3.Feladat: megoldás bool HttpGet::getFile(const QUrl &url){ if (!url.isvalid()) { URL ellenőrzése cerr << "Error: Invalid URL" << endl; return false; if (url.scheme()!= "http") { cerr << "Error: URL must start with ' << endl; return false; if (url.path().isempty()) { cerr << "Error: URL has no path" << endl; return false; 19
20 3.Feladat: megoldás bool HttpGet::getFile(const QUrl &url){ QString localfilename = QFileInfo(url.path()).fileName(); if (localfilename.isempty()) localfilename = "httpget.out"; _file.setfilename(localfilename); lokális fájl nevének beállítása if (!_file.open(qiodevice::writeonly)) { cerr << "Error: Cannot open " << qprintable(_file.filename()) << " for writing: " << qprintable(_file.errorstring()) << endl; return false; lokális fájl megnyitása _http.sethost(url.host(), url.port(80)); _http.get(url.path(), &_file); _http.close(); HTTP műveletek return true; 20
21 TCP kliens-szerver alkalmazás A QTcpSocket és QTcpServer osztályok a TCP kliensek és szerverek implementációját adják. A TCP egy adatfolyam-orientált protokoll. A TCP-re épülő magasabb szintű protokollok tipikusan vagy sor-, vagy blokk-orientáltak. A sor-orientált protokollok soronként visznek át egy szöveget. A blokk-orientált protokollok bináris adatblokkokban. A QTcpSocket egy QDataStream vagy egy QTextStream felhasználásával végez írást illetve olvasás. A hálózatról történő olvasás esetén arra kell ügyelni, hogy szemben a szokásos fájlból olvasással a >> operator használata előtt meg kell győződni arról, hogy elegendő adatot fogunk-e letölteni. 21
22 4.Feladat Készítsünk egy utazást tervező alkalmazást. A Trip Planner kliens segítségével a felhasználó egy vonatútját tudja megtervezni. A Trip Server utazási információt nyújt a kliens számára az adott ország vasúti menetrendjéről. 22
23 4.Feladat: főprogramok int main(int argc, char *argv[]){ QApplication app(argc, argv); TripServer server; int main(int argc, char *argv[]){ QApplication app(argc, argv); TripPlanner tripplanner; tripplanner.show(); return app.exec(); if(!server.listen(qhostaddress::any, 6178)){ cerr << "Failed to bind to port" << endl; return 1; QPushButton quitbutton(tr("&quit")); quitbutton.setwindowtitle(tr("trip Server")); Connect(&quitButton, SIGNAL(clicked()), &app, SLOT(quit())); quitbutton.show(); return app.exec(); 23
24 4.Feladat: kliens tervezés Qdialog, Ui::TripPlanner TripPlanner - _tcpsocket :QTcpSocket - _nextblocksize :qint16 + TripPlanner(QWidget*) - closeconnection() «slot» - connecttoserver() - stopsearch() - updatetablewidget() - sendrequest() - connectionclosedbyserver() - error() felület két gombjának eseménykezelői szoket szignálok eseménykezelői 24
25 4.Feladat: kliens megoldás TripPlanner::TripPlanner(QWidget *parent): QDialog(parent) { setupui(this); QDateTime datetime = QDateTime::currentDateTime(); felület konfigurálása dateedit->setdate(datetime.date()); timeedit->settime(qtime(datetime.time().hour(), 0)); progressbar->hide(); progressbar->setsizepolicy(qsizepolicy::preferred,qsizepolicy::ignored); tablewidget->verticalheader()->hide(); tablewidget->setedittriggers(qabstractitemview::noedittriggers); connect(searchbutton,signal(clicked()), this, SLOT(connectToServer())); connect(stopbutton, SIGNAL(clicked()), this, SLOT(stopSearch())); connect(&_tcpsocket, SIGNAL(connected()), this, SLOT(sendRequest())); connect(&_tcpsocket, SIGNAL(disconnected()), this, SLOT(connectionClosedByServer())); connect(&_tcpsocket, SIGNAL(readyRead()), this, SLOT(updateTableWidget())); connect(&_tcpsocket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(error())); eseménykezelés 25
26 4.Feladat: kliens megoldás void TripPlanner::connectToServer() { _tcpsocket.connecttohost(" ", 6178); Vagy kiváltja a connected() szignált, és elindítja a sendrequest()-t kezelőt, vagy az error()-t. a Search gomb aszinkron módon indítja el a kapcsolatépítést; a kapcsolat majd később áll fel konkrét cím helyett a kipróbáláskor QHostAddress::LocalHost-ot használjuk tablewidget->setrowcount(0); searchbutton->setenabled(false); stopbutton->setenabled(true); statuslabel->settext(tr("connecting to server...")); progressbar->show(); A szervertől fogadott soron következő blokk hosszát még nem ismerjük. _nextblocksize = 0; 26
27 4.Feladat: TCP kérés formája A szerver felé megfogalmazunk egy blokként egy kérést QByteArray bináris formában, amely az alábbiakat tartalmazza: típus quint16 quint8 QString QString QDate QTime quint8 jelentés Blokk mérete byte-okban a blokkméret nélkül Kérés típusa (mindig S ) Indulási állomás Érkezési állomás Utazás dátuma Becsült utazási idő Az indulás ( D ) vagy érkezés ( A ) időpontja 27
28 4.Feladat: kliens megoldás Search gomb elindítja void TripPlanner::sendRequest() a keresést { QByteArray block; QDataStream out(&block, QIODevice::WriteOnly); out.setversion(qdatastream::qt_4_1); out << quint16(0) << quint8('s') << fromcombobox->currenttext() << tocombobox->currenttext() << dateedit->date() << timeedit->time(); if (departureradiobutton->ischecked()) out << quint8('d'); else out << quint8('a'); out.device()->seek(0); out << quint16(block.size() - sizeof(quint16)); _tcpsocket.write(block); statuslabel->settext(tr("sending request...")); 28
29 4.Feladat: szerver válasza A szerver blokk-sorozatként küldi a választ: 51 adatok 48 adatok 58 adatok 0xFFFF Egy blokk formája: 51 byte 48 byte 58 byte típus quint16 QDate QTime quint16 quint8 QString jelentés Blokk mérete byte-okban a blokkméret nélkül Indulási dátum Indulási időpont Utazási idő Átszállások száma Vonat típusa 29
30 4.Feladat: kliens megoldás void TripPlanner::updateTableWidget() { QDataStream in(&_tcpsocket); in.setversion(qdatastream::qt_4_1); forever { int row = tablewidget->rowcount(); if (_nextblocksize == 0) { if (_tcpsocket.bytesavailable() < sizeof(quint16)) break; in >> _nextblocksize; if (_nextblocksize == 0xFFFF) { closeconnection(); statuslabel->settext(tr("found %1 trip(s)").arg(row)); break; if (_tcpsocket.bytesavailable() < _nextblocksize) break; 30
31 4.Feladat: megoldás forever { QDate date; QTime departuretime, arrivaltime; quint16 duration, changes; QString traintype; in >> date >> departuretime >> duration >> changes >> traintype; arrivaltime = departuretime.addsecs(duration * 60); tablewidget->setrowcount(row + 1); QStringList fields; fields << date.tostring(qt::localdate) << departuretime.tostring(tr("hh:mm")) << arrivaltime.tostring(tr("hh:mm")) << tr("%1 hr %2 min").arg(duration / 60).arg(duration % 60) << QString::number(changes) << traintype; for (int i = 0; i < fields.count(); ++i) tablewidget->setitem(row, i, new QTableWidgetItem(fields[i])); _nextblocksize = 0; 31
32 4.Feladat: kliens megoldás void TripPlanner::stopSearch(){ statuslabel->settext(tr("search stopped")); closeconnection(); amikor a kliens a Stop gombbal megszakítja a kapcsolatot void TripPlanner::connectionClosedByServer(){ ha a szerver lezárja a kapcsolat, de nem if (_nextblocksize!= 0xFFFF) kaptuk meg az end-of-data jelet. statuslabel->settext(tr("error: Connection closed by server")); closeconnection(); void TripPlanner::error(){ sikertelen kapcsolat indítás esetén statuslabel->settext(_tcpsocket.errorstring()); closeconnection(); void TripPlanner::closeConnection(){ _tcpsocket.close(); searchbutton->setenabled(true); stopbutton->setenabled(false); progressbar->hide(); a szoket lezárása, felület módosítása 32
33 3.Feladat: szerver tervezés TripServer QTcpServer ClientSocket - _nextblocksize :qint16 QTcpSocket + TripServer(QObject*) - incomingconnection(socketid : int) + ClientSocket(QObject*) - generaterandomtrip( ) «slot» - readclient() skip ClientSocket *socket = new ClientSocket(this); socket->setsocketdescriptor(socketid); 33
34 4.Feladat: szerver megoldás ClientSocket::ClientSocket(QObject *parent) : QTcpSocket(parent) { connect(this, SIGNAL(readyRead()), this, SLOT(readClient())); connect(this, SIGNAL(disconnected()), this, SLOT(deleteLater())); _nextblocksize = 0; A klienstől fogadott soron következő blokk hosszát még nem ismerjük. 34
35 4.Feladat: szerver megoldás void ClientSocket::readClient() ha üzenet érkezett a klienstől { QDataStream in(this); in.setversion(qdatastream::qt_4_1); if (_nextblocksize == 0) { if (bytesavailable() < sizeof(quint16)) return; in >> _nextblocksize; if (bytesavailable() < _nextblocksize) return; quint8 requesttype; QString from, to; QDate date; QTime time; quint8 flag; 35
36 4.Feladat: szerver megoldás in >> requesttype; if (requesttype == 'S') { in >> from >> to >> date >> time >> flag; srand(from.length() * to.length() * 60 + time.hour()); int numtrips = rand() % 8; for (int i = 0; i < numtrips; ++i) generaterandomtrip(from, to, date, time); QDataStream out(this); a válasz generálása out << quint16(0xffff); close(); 36
37 4.Feladat: szerver megoldás A valódi szerver mock-olása void ClientSocket::generateRandomTrip(const QString & /* from */, const QString & /* to */, const QDate &date, const QTime &time) { QByteArray block; QDataStream out(&block, QIODevice::WriteOnly); out.setversion(qdatastream::qt_4_1); quint16 duration = rand() % 200; out << quint16(0) << date << time << duration << quint8(1) << QString("InterCity"); out.device()->seek(0); out << quint16(block.size() - sizeof(quint16)); write(block); 37
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
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
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
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
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
Esemé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
Számítógépes Hálózatok GY 3-4.hét
Számítógépes Hálózatok GY 3-4.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu 1 Teszt canvas.elte.hu Kód:
Kivételkezelés a C++ nyelvben Bevezetés
Kivételkezelés a C++ nyelvben Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Kivételkezelés a C++ nyelvben CPP9 / 1 Hagyományos hibakezelés Függvény visszatérési értéke (paramétere) hátrányai:
Programozá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
Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. május 6. Parancssori paraméterek Parancssorban történ programindításkor a program nevét követ en szóközökkel elválasztva paraméterek (command
Socket programozás Példák
Socket programozás Példák Áttekintés Client Server socket socket bind connect Connection request listen accept Client / Server Session write read read write close EOF read close 3 Select demo Beej s guide
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...
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
Számítógépes Hálózatok. 5. gyakorlat
Számítógépes Hálózatok 5. gyakorlat PYTHON ALAPOK V. Socket programozás, UDP 2 Óra eleji kiszh Elérés: https://canvas.elte.hu Számítógépes Hálózatok Gyakorlat 1 3 A kommunikációs csatorna kétféle típusa
Számítógépes Hálózatok. 4. gyakorlat
Számítógépes Hálózatok 4. gyakorlat Teszt canvas.elte.hu Számítógépes Hálózatok Gyakorlat 2 TCP Számítógépes Hálózatok Gyakorlat 3 TCP socket() bind() listen() accept() sock = socket.socket(socket.af_inet,
Számítógépes Hálózatok GY 4.hét
Számítógépes Hálózatok GY 4.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu Teszt 10 kérdés 10 perc canvas.elte.hu
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ó
Konkurens TCP Szerver
A gyakorlat célja: Konkurens TCP Szerver Megismerkedni a párhuzamos programozás és a konkurens TCP szerver készítésének az elméleti és gyakorlati alapjaival és egy egyidejűleg több klienst is kiszolgáló
Bevezetés Kiíratás Beolvasás Formázás Fájlkezelés Gyakorló feladatok C++ I/O. Bevezetés. Izsó Tamás február 20. Izsó Tamás C++ I/O / 1
C++ I/O Bevezetés Izsó Tamás 2014. február 20. Izsó Tamás C++ I/O / 1 Section 1 Bevezetés Izsó Tamás C++ I/O / 2 Irodalom Izsó Tamás C++ I/O / 3 Paraméter illesztés függvénynév túlterhelés esetén 1 Pontos
Feladat. 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
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
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étegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet
HTTP Hálózat Rétegezett architektúra felhasználók Alkalmazási Web, e-mail, file transfer,... Szállítási Internet Hálózat-elérési Végponttól végpontig terjedő átvitel, Megbízható átvitel, sorrendbe állítás,
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
Programozás II. ATM példa Dr. Iványi Péter
Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert
Informatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
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
7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.
7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while, select, case,
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
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
Számítógép labor V. Egyszer Web szerver. Dokumentáció. Készítette: Ács Gergely (K4C03M) 2003.04.29
Számítógép labor V. Egyszer Web szerver Dokumentáció (K4C03M) 2003.04.29 Egyszer Web szerver Feladat: Egyszer Web szerver Feladat sorszám: 17 Leírás: Készítsen egy egyszer Web szervert, amely képes statikus
Esemé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
Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás
Számítógépes Hálózatok. 3. gyakorlat
Számítógépes Hálózatok 3. gyakorlat Teszt canvas.elte.hu Számítógépes Hálózatok Gyakorlat 2 NC-NetCat (SoCat), avagy hálózati svájcibicska # szerver imitálása nc -l -p 1234 # kliens imitálása nc destination_host
Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer
1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek ----------------------------------------- Könyvtár szerkezet -----------------------------------------
A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.
Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód
Számítógépes Hálózatok GY 6.hét
Számítógépes Hálózatok GY 6.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu Teszt 10 kérdés 10 perc canvas.elte.hu
Hálózati architektúrák és Protokollok GI Kocsis Gergely
Hálózati architektúrák és Protokollok GI - 10 Kocsis Gergely 2015.11.30. FTP File Transfer Protocol Legegyszerűbb FTP parancsok: USER name PASS jelszo CD, RETRIEVE, STORE, MKDIR, RMDIR, HELP, BYE Feladat:
A C++ nyelvben a függvény nevek túlterhelésével biztonságosabbá tehetnénk az adatok kiírását és beolvasását.
1. Motiváció C nyelvben a printf és a scanf függvények használata a programozótól nagy körültekintést igényel. A változó számú argumentum miatt a fordító nem tudja ellenőrizni, hogy a formátum mezőben
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
Kommunikáció Androidon Mobilinternet Wifi
OE-NIK 2012. március 24. Sicz-Mesziár János sicz-mesziar.janos@ nik.uni-obuda.hu Kommunikáció Androidon Mobilinternet Wifi Kommunikációs eszközök Androidon Wi-Fi Ma már minimum: a / b / g szabványok, újabbakon
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
Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés
Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS
Hálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20
Hálózatkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés 2013 1 / 20 Tartalomjegyzék 1 Hálózati Alapismeretek 2 System.Net Namespace 3 Socket Kezelés 4 Példa Tóth Zsolt
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();
Programozá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
Számítógépes Hálózatok GY 7.hét
Számítógépes Hálózatok GY 7.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu Teszt 10 kérdés 10 perc canvas.elte.hu
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
Programozá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
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
Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
API tervezése mobil környezetbe. gyakorlat
API tervezése mobil környezetbe gyakorlat Feladat Szenzoradatokat gyűjtő rendszer Mobil klienssel Webes adminisztrációs felület API felhasználói Szenzor node Egyirányú adatküldés Kis számítási kapacitás
Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész
Java Programozás 9. Gy: Java alapok Adatkezelő 5.rész 15/1 B ITv: MAN 2018.04.22 A Keresés funkció Programlogika: 1. A keresés az etm táblamodellben fog keresni, és a találat rekordokat átmásolja egy másik
11. Gyakorlat: Certificate Authority (CA), FTP site-ok
11. Gyakorlat: Certificate Authority (CA), FTP site-ok 11.1. A CA szerver szerepkör telepítése a DC01-es szerverre 11.2. Az FTP szervíz telepítése a DC01-es szerverre 11.3. A szükséges DNS rekordok létrehozása
Szkriptnyelvek. 1. UNIX shell
Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek
Eseményvezérelt alkalmazások fejlesztése I 8. előadás. Adatbázis-kezelés modell/nézet architektúrában
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 8. előadás Adatbázis-kezelés modell/nézet architektúrában 2013.04.17. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
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ő
Pick Pack Pont kereső és boltválasztó alkalmazás
Pick Pack Pont kereső és boltválasztó alkalmazás www.pickpackpont.hu online.sprinter.hu/terkep Dokumentáció V5 2018. október Sprinter Futárszolgálat Kft. 2018. Minden jog fenntartva! Tartalomjegyzék Funkciók
Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Folyamok kezelése Fájlok írása/olvasása Folyamok kezelése Szabvány folyamok Eddig Kiírás a szöveges konzolra:
Az állományok kezelésére használt fontosabb parancsok
Függelék a 3 fejezethez Az állományok kezelésére használt fontosabb parancsok Tartalom Az ls parancs1 A mkdir parancs2 Az rmdir parancs2 A cp parancs3 A rm parancs4 Az mv parancs4 Az állományok kezeléséhez
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
Szövegek C++ -ban, a string osztály
Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string
Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE
Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE 2015-16 Classic Empire - A turn Based Wargame Classic Empire is a real time, multiplayer, Internet-based game, featuring military, diplomatic, and economic
OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.
OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Szimuláljuk különféle élőlények túlélési versenyét. A lények egy pályán haladnak végig, ahol váltakozó viszonyok vannak. Egy lénynek
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
osztá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 ) :
KIRA. KIRA rendszer. Telepítési útmutató v1
KIRA rendszer Telepítési útmutató v1 1. Bevezetés A dokumentáció, illetve a dokumentáció mellékleteként megtalálható állományok segítségével készíthető fel a kliens oldali számítógép a KIRA rendszer működtetésére.
CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )
Célok: a Java DB adatbázis-kezelő rendszer használatának ismertetése, adatbázisok használata Java alkalmazásokban - kétrétegű architektúra, egyszerű kliens-szerver architektúra használata hálózati alkalmazásokhoz.
Eseményvezérelt alkalmazások fejlesztése I 10. előadás. Adatbázis-kezelés modell/nézet architektúrában. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 10. előadás Adatbázis-kezelés modell/nézet architektúrában Giachetta Roberto http://people.inf.elte.hu/groberto
Kiszolgálók üzemeltetése FTP. Iványi Péter
Kiszolgálók üzemeltetése FTP Iványi Péter FTP File Transfer Protocol Abhay Bhushan, RFC 114, 1971 RFC 765, 1980 RFC 959, 1985 File-ok fel- és letöltése egy szerverről Két port-ot használ, out-of-band (sávon
Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte.
Programozási alapismeretek :: beadandó feladat Készítő adatai Név: Molnár Tamás EHA: MOTIABT.ELTE E-mail cím: motiabt@inf.elte.hu Gyakorlatvezető: Horváth László Feladat sorszáma: 23. Felhasználói dokumentáció
Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése
Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Készítette: Gregorics Tibor Szabóné Nacsa Rozália Alakítsunk át egy infix formájú aritmetikai kifejezést postfix
1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7
1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1.1. Új virtuális gép és Windows Server 2008 R2 Enterprise alap lemez létrehozása 1.2. A differenciális lemezek és a két új virtuális
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
Bevezeté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;
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK
WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI
ProFTPD. Molnár Dániel. 2005. október. 02. 1. oldal
ProFTPD Molnár Dániel 2005. október. 02 1. oldal Tartalomjegyzék 1.Telepítés és indítás...3 1.1.Telepítés Ubuntu Linux alatt:...3 1.2.Telepítés bináris csomagból...3 1.3.A program indítása...3 2.Konfiguráció...3
A belső hálózat konfigurálása
DHCP A belső hálózat konfigurálása Hozzuk létre a virtuális belső hálózatunkat. Szerver (Windows 2012) SWITCH Kliens gép (Windows 7) Hálózati kártya (LAN1) Hálózati kártya (LAN1) Állítsunk be egy lan1
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
Számítógépes Hálózatok. 7. gyakorlat
Számítógépes Hálózatok 7. gyakorlat Gyakorlat tematika Hibajelző kód: CRC számítás Órai / házi feladat Számítógépes Hálózatok Gyakorlat 7. 2 CRC hibajelző kód emlékeztető Forrás: Dr. Lukovszki Tamás fóliái
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
Elemi alkalmazások fejlesztése I. Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely
1.feladat (max02a) Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely maximális elemét. A tömb hosszát a fájl els ı eleme tartalmazza.a fájl nevét a szabványos bemeneten kérjük
C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat
C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat 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/12 Input-output
ISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
Az SQL*Plus használata
Az SQL*Plus használata Célkitűzés Bejelentkezés az SQL*Plus-ba SQL utasítások szerkesztése Az eredmény formázása SQL*Plus utasításokkal Szkriptfájlok használata Az SQL és az SQL*Plus kapcsolata SQL*Plus
Számítógépes hálózatok
Számítógépes hálózatok 7. gyakorlat: SOCKET programozás (C) Gyakorlatvezető: Ács Zoltán Hatodik házi-feladat 1/2 ADAPTÍV FA Tekintsünk 16 állomást, melyek adaptív fabejárás protokollal visznek át csomagokat.
BioAdmin 4.1 könnyű telepítés csak Kliens használatra
1 BioAdmin 4.1 könnyű telepítés csak Kliens használatra A BioAdmin 4.1 programot szerver-kliens működésre fejlesztették, de ennek a leírásnak a használatával feltelepíthető a számítógépre normál (csak
Teleoperáció Robot vezérlése IP-hálózaton
Teleoperáció Robot vezérlése IP-hálózaton Simon Csaba Z56IGL Konzulens: dr. Kiss Bálint Önálló laboratórium 1. Beszámoló 2009. MÁJUS. 17. 1. Bevezetés Önálló laboratóriumi feladatom alapgondolata az volt,
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
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 EAF3 Qt4 Bevezetés (mod01) 1 A Qt assistant nyitó ablaka www.trolltech.com
Hálózati architektúrák és Protokollok GI Kocsis Gergely
Hálózati architektúrák és Protokollok GI - 11 Kocsis Gergely 2015.12.06. FTP File Transfer Protocol Legegyszerűbb FTP parancsok: USER name PASS jelszo CD, RETRIEVE, STORE, MKDIR, RMDIR, HELP, BYE Feladat:
SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók
SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:
LINUX PMB2506-2 LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB
LINUX PMB2506-2 LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB LINUX PARANCSOK ÉS HASZNÁLATUK ls: listázás -l részletes lista -a rejtett fájlok megjelenítése cp: fájlok másolása -i Már létező cél felülírása előtt
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
Java és web programozás
Budapesti Műszaki Egyetem 2015. 04. 08. 9. Előadás Kivétel kezelés a kivétel (exception) egy esemény, mely futás közben megbontja a program normális futási folyamatát például kivétel dobódik amikor 0-val
MicroSigner Közvetítő Szerver fejlesztői dokumentáció
MICROSEC ZRT. MicroSigner Közvetítő Szerver fejlesztői dokumentáció verzió: 1.0 Ivicsics Sándor, Máté Norbert, Vanczák Gergely 2016.06.09. Tartalom Általános információk... 2 ESign munkamenet létrehozása...
20. Tétel 1.0 Internet felépítése, OSI modell, TCP/IP modell szintjenek bemutatása, protokollok Pozsonyi ; Szemenyei
Internet felépítése, OSI modell, TCP/IP modell szintjenek bemutatása, protokollok 28.Tétel Az Internet Felépítése: Megjegyzés [M1]: Ábra Az Internet egy világméretű számítógép-hálózat, amely kisebb hálózatok
Architektúra, megszakítási rendszerek
Architektúra, megszakítási ek Mirıl lesz szó? Megszakítás fogalma Megszakítás folyamata Többszintű megszakítási ek Koschek Vilmos Példa: Intel Pentium vkoschek@vonalkodhu Koschek Vilmos Fogalom A számítógép
II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK
Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot