5. Programmierung von Benutzerschnittstellen
|
|
- Brit Kalb
- vor 8 Jahren
- Abrufe
Transkript
1 5. Programmierung von Benutzerschnittstellen Inhalt: Rolle des Betriebssystems Win32 Programmierung mit Fenstern und Grafikausgabe Objektorientierte Programmierung von Benutzerschnittstellen mit Qt weitere Aspekte Peter Sobe 1
2 Qt Qt ist ein s.g. Widget-Toolkit zur Programmierung grafischer Benutzeroberflächen (engl. GUI) GUI: Graphical User Interface Widget: Komponente in einem grafischen Fenstersystem (vgl. Gadget, als kleines tragbares technisches Gerät) Qt ist als C++ Klassenbibliothek mit zusätzlichen Dienstprogrammen, z.b. MOC-Compiler, QT-Designer realisiert Peter Sobe 2
3 Qt Ein QT-Programm ist wesentlich übersichtlicher als ein Win32-Programm. Mini-Beispiel: #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication a(argc, argv); QPushButton *button = new QPushButton("Ende"); button->show(); } QObject::connect(button, SIGNAL (clicked()), QApplication::instance(), SLOT (quit())); return a.exec(); Peter Sobe 3
4 Qt Qt-Designer als eigene Entwicklungsumgebung Die Qt-Bibliothek kann auch in Visual-Studio integriert werden. Peter Sobe 4
5 Qt Prinzipien: GUI-Komponenten sind Objekte, die zum Teil aus vorgefertigten Klassen instanziiert werden können. Neue Klassen d.h. neue GUI-Komponenten durch abgeleitete Klassen und durch neu erstellte Klassen, die mehrere GUI- Komponenten (Objekte) enthalten (Komposition) Die Bedienoberfläche besteht aus hierarchisch ineinander platzierten GUI-Komponenten (Widgets) MyWindow (public QMainWindow) QTextEdit QPushButton QPushButton Peter Sobe 5
6 Qt Prinzipien (Fortsetzung): Signal-Slot-Prinzip. Bedienereignisse (Button-Click, Scrollen) lösen Ereignisse (Signals) aus. Für diese Ereignisse werden Slotsprogrammiert, die Methoden aufrufen können Peter Sobe 6
7 Qt: Signal/Slot-Prinzip Signale werden von Widget-Objekten ausgesendet (emittiert, engl. emit) Die Entgegennahme erfolgt durch s.g. Slots, von denen ausgehend Methoden von QT-Klassen aufgerufen werden. Beispiel: QPushButton clicked() QApplication quit() Im Quellcode: QApplication appl(argc,argv); QPushButton button = new QPushButton( Beenden ); // QObject::connect(button, SIGNAL (clicked()), &appl, SLOT (quit()) ); Peter Sobe 7
8 Qt: Signal/Slot-Prinzip Signal/Slot-Prinzip: SIGNAL() und SLOT() sind C-Makros, die als Argumente Methoden der beteiligten Objekte erwarten. Ein Signal kann mit mehreren Slots verbunden werden. Mehrere Signale können mit einem Slot verbunden werden Frühere GUI-Bibliotheken nutzen die klassische Variante mit Callback- Funktionen, die an Bedienelemente gebunden wurden. Das von Qt benutze Signal/Slot-Prinzip ist flexibler und weniger fehleranfällig. Beispielsweise erfolgt beim Freigeben von Instanzen eine automatische Deaktivierung deren Slots; damit werden Programmabstürze vermieden. Peter Sobe 8
9 Qt: Klassen mit Signalen und Slots Signale und Slots werden an Klassen gebunden: Slot: Eine Methode die z. B. als public slot: void incrvalue(); deklariert wird. Ähnlich wie public, protected, private kann public slot verwendet werden. Die programmierte Methode (hier incrvalue()) wird aufgerufen, wenn ein Signal für den Slot vorliegt. Hinweis: public slot ist keine C++ Syntax und verlangt, dass der MOC eine Vorverarbeitung durchführt, die das Programm in Standerd-C++-Syntax überführt. Peter Sobe 9
10 Qt: Klassen mit Signalen und Slots Signal deklarieren und emittieren: In der Klassendeklaration muss eine Methode wie folgt enthalten sein: signals: void signalcarry(); // signalsiert einen Übertrag Die Methode signalcarry() wird nicht implementiert, sondern automatisch vom MOC erzeugt. In anderen Methoden der Klasse wird anwendungsspezifisch emit signalcarry(); aufgerufen. Hinweis: Auch die Verwendung von signals und emit ist keine Standard C++ Syntax und setzt die Umwandlung in C++ durch den MOC voraus Peter Sobe 10
11 Qt: Klassen mit Signalen und Slots Klasse cntr mit Slot für Incr und Signal für Carry: #include <QObject> class cntr :public QObject { Q_OBJECT public: cntr(int nvalues); int value(); public slots: void slot_incr(); signals: void carry(); private: int z; int nv; }; Zähler (cntr) soll von n bis nvalues-1 zählen und danach wieder auf Null springen. Übertrag soll durch die Signal- Methode carry() signalisiert werden. Peter Sobe 11
12 Qt: Klassen mit Signalen und Slots Nutzung der Klasse cntr: cntr counter(10); // im Hauptfenster connect(incrbutton, SIGNAL (clicked()), &counter, SLOT (slot_incr())); connect(&counter, SIGNAL(carry()), this, SLOT(slotShowCarry())); Die Slot-Methode des Hauptfensters zeigt den Übertrag an: void MyWindow::slotShowCarry() { QMessageBox msg(qmessagebox::information, QString("Information"), QString("Carry"),QMessageBox::Ok); msg.exec(); } Peter Sobe 12
13 Qt: Anordnung mehrerer Widgets Wie im Beispiel rechts sollen drei Knöpfe (Objekte des Klassentyps PushButton) untereinander angeordnet werden. Manuell programmiert: int main(int argc, char *argv[]) { QApplication a(argc, argv); QMainWindow *win = new QMainWindow(); QPushButton* b1 = new QPushButton("Max",win); QPushButton* b2 = new QPushButton("Min",win); QPushButton* b3 = new QPushButton("Quit",win); win->resize(120,180); b1->setgeometry(10,10,100,50); b2->setgeometry(10,65,100,50); b3->setgeometry(10,120, 100,50); // } win->show(); return a.exec(); x-pos.,y-pos., x-ausdehnung, y-ausdehnung Peter Sobe 13
14 Qt: Anordnung mehrerer Widgets Nutzung eines Layout-Manager-Objekts: int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *win = new QWidget; win->resize(120,180); QVBoxLayout *layout_obj = new QVBoxLayout(win); QPushButton* b1 = new QPushButton("Max"); QPushButton* b2 = new QPushButton("Min"); QPushButton* b3 = new QPushButton("Quit"); b1->resize(100,50); b2->resize(100,50); b3->resize(100,50); } layout_obj->addwidget(b1); layout_obj->addwidget(b2); layout_obj->addwidget(b3); win->show(); return a.exec(); Peter Sobe 14
15 Qt: Anordnung mehrerer Widgets Nutzung eines Layout-Manager-Objekts: VBoxLayout und HBoxLayout QHBoxLayout *layout_obj = new QHBoxLayout(win); QPushButton* b1 = new QPushButton("Max"); QPushButton* b2 = new QPushButton("Min"); QPushButton* b3 = new QPushButton("Quit"); Peter Sobe 15
16 Einzelne Klassen in Qt Klassenhierarchie QObject QThread QWidget QAbstractButton QFrame QProgressBar QCheckBox QPushButton QRadioButton QAbstractScroll Area QGraphicsView QLabel QTextEdit Peter Sobe 16
17 Einzelne Klassen in Qt QMainWindow Wird als Hauptfenster einer Qt-Anwendung benutzt. Typischerweise leitet ein Programmierer eine neue Klasse, z.b. mywinwow von QMainWindow ab und platziert eigene Elemente im Fenster. Beispiel: MyWindow::MyWindow(){ addbutton = new QPushButton( Berechnen",this); addbutton->setgeometry(10, 110, 50, 40); Dokumentation unter: Peter Sobe 17
18 Einzelne Klassen in Qt QMainWindow QMainWindow enthält eine Menu Bar und eine Status Bar als untergeordnete Widgets. Datei Modell abc.mod geladen QMainWinwod *win = new QMainWindow(); QMenu *filemenu = win>menubar()->addmenu("&datei"); filemenu->addaction("&beenden", myapp, SLOT(quit())); win->show(); win->statusbar()->showmessage(tr( Modell geladen"), 2000); Peter Sobe 18
19 Einzelne Klassen in Qt QLineEdit QLineEdit stellt eine einzeilige Ein- und Ausgabe-Box bereit MyWindow::MyWindow(){ lab = new QLabel(tr( Ein und Ausgabe"),this); eingabebox= new QLineEdit(this); ausgabebox = new QLineEdit(this); void MyWindow::ButtonClicked() // eine Slot-Methode { Qstring e,a; e = eingabebox()->text(); a.sprintf( %lf, e.todouble() * 2.0); ausgabebox->settext(a); // hier wird der Wert der Eingabe verdoppelt //ausgegeben Peter Sobe 19
20 Einzelne Klassen in Qt QTextEdit QTextEdit stellt eine mehrzeilige Editorfläche für Text bereit. Der Text kann durch einen Konstruktorparameter gesetzt werden. Konstruktoren: QTextEdit(QWidget *parent = 0); explicit QTextEdit(const QString &text, QWidget *parent = 0); Weitere Methoden (public slots): void settext(const QString &text); QString toplaintext() const; Auswahl vordefinierter Signale: void selectionchanged(); void textchanged(); Peter Sobe 20
21 Einzelne Klassen in Qt QTextEdit Beispiel eines einfachen Texteditors: #include <QApplication> #include <QTextEdit> QTextEdit *tedit = new QTextEdit(); // Setzen des Inhalts Qstring str; str.append(tr("das ist ein netter Text.")); tedit->settext(str); // Lesen und Weiterverarbeiten des Inhalts QByteArray asciistr; str = tedit->toplaintext(); asciistr = str.tolocal8bit(); Peter Sobe 21
22 Einzelne Klassen in Qt QCheckBox QCheckBox stellt eine einfache Auswahloption (angekreuzt oder nicht) mit einer typischerweise rechteckigen Box mit oder ohne Häkchen dar. #include <QCheckBox> QCheckBox *cb1 = new QCheckBox( Fensterplatz gewünscht ); QCheckBox *cb2 = new QCheckBox( Gepäck aufgeben ); cb2->setcheckstate(qt::checked); // Platzieren cb1 und cb1 in Window, Dialog oder Layout // Verbinden des Signals statechanged(int) mit einer Slot-Methode, die // z.b. von der Fensterklasse bereitgestellt wird connect(cb1, SIGNAL(stateChanged(int), this, SLOT(auswertung(int))); // void MyWindow::auswertung(int state) { if (state==qt::checked) fenster=true; else fenster=false; } Hier wird über die Siglnal- Slot-Verbindung ein Parameter (Typ int) übertragen. Peter Sobe 22
23 QRadioButton Einzelne Klassen in Qt QRadioButton stellt einen Knopf innerhalb einer Knopfgruppe dar, in der nur der zuletzt gesetzte ausgewählt ist (vgl. Radio-Knöpfe UKW/MW/LW) #include <QRadioButton> #include <QGroupBox> QGroupBox* group = new QGroupBox( Wellenbereiche ); QRadioButtion *rb1 = new QRadioButton( UKW ); QRadioButtion *rb2 = new QRadioButton( MW ); rb1->setchecked(true); QVBoxLayout *vbox= new QVBoxLayout; vbox->addwidget(rb1); vbox->addwidget(rb2); group->setlayout(vbox); QVBoxLayout *vvbox = new QVBoxLayout; vvbox-> addwidget(group); setlayout(vvbox); // Umgebendes Fenster nimmt hier die Knopf-Gruppe auf Jedes RadioButton-Objekt stellt eine Signal-Methode toggled(bool) bereit. Peter Sobe 23
24 Einzelne Klassen in Qt QFileDialog QFileDialog erlaubt die Auswahl eines Dateinamens zum Laden oder Speichern einer Datei. Der Dateiauswahldialog wird vom Betriebssystem (Windows) oder dem Fenstermanager (KDE/Linux) bereitgestellt. QString filename; QFileDialog *fdlg = new QFileDialog(this, Wählen Sie ); fdlg->setfilemode(qfiledialog::existingfiles); // if (fdlg->exec()) // exec() ergibt false, wenn Auswahl abgebrochen filename = fdlg->selectedfiles(); Peter Sobe 24
25 Static-Methoden Oft stellen Klassen Methoden bereit, die man auch ohne eine Instanziierung eines Objekt benutzen kann Beispiel: Qstring fn; fn = QFileDialog::getOpenFileName( Bitte Datei auswählen, Qdir::homePath(), Alle Dateien (*.*) ); // Weiterverarbeitung fn Peter Sobe 25
26 Static-Methoden Oft stellen Klassen Methoden bereit, die man auch ohne eine Instanziierung eines Objekt benutzen kann Beispiel: Qstring fn; fn = QFileDialog::getOpenFileName( Bitte Datei auswählen, Qdir::homePath(), Alle Dateien (*.*) ); // Weiterverarbeitung fn Peter Sobe 26
27 Static-Methoden class constants { public: static double e() { return ; } static double pi() { return ; } }; // eine 'normale' Methode double zweimal_pi_mal_freq(double f) { return 2.0 * constants::pi() *f;} Aufruf der Static-Methoden ohne Objekt: cout << "e="<<constants::e() << endl; cout << "pi="<<constants::pi() << endl; Aufruf normaler Methoden: constants ccc; double wert = ccc.zweimal_pi_mal_freq(120.55); Peter Sobe 27
28 Elementobjekte als Static Member Elementobjekte werden normalerweise in jedem Objekt instanziiert. Ein Beispiel ist die Klasse Linie mit zwei Punkt-Objekten. Static-Member: Ein als static deklariertes Elementobjekt führt zu einer einzigen gemeinsamen Instanz für alle Objekte einer Klasse. Beispiel einer Instanz-Nr., die unter allen Instanzen geteilt wird. class element { private: static int inr; }; element e1, e2, e3, e4; // Es entstehen vier Instanzen der Klasse element, aber nur eine Integer-Variable inr. Peter Sobe 28
29 Elementobjekte als Static Member class element { private: }; public: char bezeichung[100]; static int inr; element(char *bez) { strcpy(bezeichung, bez); inr++; } char * get_bezeichung() { return bezeichung;} static int get_instanz_nr(){ return inr;} int element::inr = 0; // ausserhalb der Klasse zu deklarieren Peter Sobe 29
Grundlagen der Informatik Entwicklung von Anwendungen mit dem Qt-Framework
Grundlagen der Informatik Entwicklung von Anwendungen mit dem Qt-Framework Prof. Dr.-Ing. habil. Peter Sobe Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Qt Benutzerschnittstellen
Mehr5. Programmierung von Benutzerschnittstellen mit Qt
5. Programmierung von Benutzerschnittstellen mit Qt Eine kurzer Überblick zur objektorientierten Programmierung von Benutzerschnittstellen mittels C++ und Qt. Alternativen zur Realisierung von Benutzerschnittstellen:
Mehr5. Programmierung von Benutzerschnittstellen mit Qt
5. Programmierung von Benutzerschnittstellen mit Qt Eine kurzer Überblick zur objektorientierten Programmierung von Benutzerschnittstellen mittels C++ und Qt. Alternativen zur Realisierung von Benutzerschnittstellen:
MehrWas ist QT? Beispiele: KDE Google Earth Mathematika
Einführung in QT Was ist QT? QT ist eine Klassenbibliothek für plattformübergreifende Programmierung graphischer Benutzeroberflächen QT ist für verschiedene Graphikplattformen wie X11 (Unix), Windows,
MehrQt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse
Qt Programmierung Teil 1 Fenster erstellen by NBBN (http://nbbn.wordpress.com) CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse Wie man in C++ mit Hilfe von Qt GUI-Anwendungen programmieren kann.
MehrPraktikum IKT 3. Semester
Praktikum IKT 3. Semester Dr. Andreas Müller, TU Chemnitz, Fakultät für Informatik Inhaltsverzeichnis 1 1 Einführung in QT 1.1 Die QT-Bibliothek Informationen: http://www.trolltech.com Lehner, B: KDE-
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Was ist eine GUI? Was ist QT? Erste Schritte:
MehrGUI Programmierung mit Qt
GUI Programmierung mit Qt C++ vs. JAVA Norman Wolf 22.04.05 GUI Programmierung mit Qt 1 Einleitung Qt wird von der norwegischen Firma Trolltech entwickelt Es ist kommerzielle Software, die aber von Trolltech
MehrFunktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
MehrInteraktive Simulationen Lektion 1/3: Event-Driven Design und Signals
MÜNSTER Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals Prof. Dr. Christian Engwer & Andreas Buhr 16. April 2014 MÜNSTER Interaktive Simulationen 2 /22 Normales C++ Programm Programmstruktur
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrEinführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : GUI-Programmierung Inhalt Was ist eine GUI? Was
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
Mehrd:\c++\semesterarbeit\lottosix\lottosix.cpp /* ======================================================================== Dateiname: lottosix.
/* ======================================================================== Dateiname: lottosix.cpp 1 Zweck: Semesterarbeit ============== Erstellt ein QWidget in welchem Lottozahlen gezogen und verglichen
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrAutomatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)
HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrAnwenderdokumentation PersoSim
Anwenderdokumentation PersoSim Die nachfolgende Anwenderdokumentation soll dem Anwender bei der Installation und den ersten Schritten im Umgang mit PersoSim helfen. Installation Grundvoraussetzung für
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrEinführung in die Programmierung (EPR)
Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.
MehrDokumentation zum Spielserver der Software Challenge
Dokumentation zum Spielserver der Software Challenge 10.08.2011 Inhaltsverzeichnis: Programmoberfläche... 2 Ein neues Spiel erstellen... 2 Spielfeldoberfläche... 4 Spielwiederholung laden... 5 Testdurchläufe...
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrNative Zeichenketten (C-Strings)
Native Zeichenketten (C-Strings)... sind in C/C++ char-arrays. D.h. die Deklaration char msg[80]; kann Zeichenketten bis zur Länge 79 enthalten. (Direkte Zuweisungen wie msg="hallo!" sind jedoch nicht
MehrInformatik 2 Labor 2 Programmieren in MATLAB Georg Richter
Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrLISP. Eine Einführung
LISP Eine Einführung 5. OBERFLÄCHLICHES Übersicht 2 5.1 Verschiedenes zum letzten Aufgabenblatt 5.2 Geschwister und Komponenten oder wie finde ich was 5.3 on-click-methoden und on-change-methoden 5.1 Musterlösung
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrTel.: 040-528 65 802 Fax: 040-528 65 888 Email: support_center@casio.de. Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.
Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen. Die auf dem PC geschriebene Texte oder Programme können über dem ClassPad Manager zu ClassPad 300 übertragen werden. Dabei kann
MehrInstallation und Inbetriebnahme von Microsoft Visual C++ 2010 Express
Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrC++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet
C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrGrafische Benutzeroberfläche mit Glade und Python
Grafische Benutzeroberfläche mit Glade und Python Grundsätzliches Die grafische Benutzeroberfläche (GUI) wird getrennt von dem Programm erstellt und gespeichert. Zu dieser GUI-Datei wird ein passendes
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrKurzanleitung So geht s
Kurzanleitung So geht s MDT IP Interface SCN IP000.01 MDT IP Router SCN IP100.01 IP Interface IP Router einrichten Es wurden keine Einträge für das Inhaltsverzeichnis gefunden.falls Sie Basis Informationen
MehrTutorial - www.root13.de
Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
MehrSelbststudium OOP4 Auftrag
Selbststudium OOP4 Auftrag Kapitel 3.6 1. Wie deklarieren Sie eine Referenzvariable? Mit new z.b. Student studenta = new Stundent( Meier ); 2. Zeichnen Sie das Objektdiagramm zum BlueJ Picture Projekt
MehrBedienung von BlueJ. Klassenanzeige
Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument
MehrErstellen einer PostScript-Datei unter Windows XP
Erstellen einer PostScript-Datei unter Windows XP Sie möchten uns Ihre Druckvorlage als PostScript-Datei einreichen. Um Fehler in der Herstellung von vorneherein auszuschließen, möchten wir Sie bitten,
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
Mehr5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
MehrGetName(), GetName(), GetGeschlecht() und AelterWerden().
11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
MehrErstellen eines Screenshot
Blatt 1 von 5 Erstellen eines Screenshot Einige Support-Probleme lassen sich besser verdeutlichen, wenn der Supportmitarbeiter die aktuelle Bildschirmansicht des Benutzers sieht. Hierzu bietet Windows
Mehrtentoinfinity Apps 1.0 EINFÜHRUNG
tentoinfinity Apps Una Hilfe Inhalt Copyright 2013-2015 von tentoinfinity Apps. Alle Rechte vorbehalten. Inhalt der online-hilfe wurde zuletzt aktualisiert am August 6, 2015. Zusätzlicher Support Ressourcen
Mehrefa elektronisches Fahrtenbuch im Berliner Ruder-Club
efa elektronisches Fahrtenbuch im Berliner Ruder-Club Bedienungsanleitung Allgemeine Hinweise: Das Papier-Fahrtenbuch wird ab 01. Januar 2006 im Berliner Ruder-Club durch das elektronische Fahrtenbuch
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrBenutzeroberflächen. Java Teil 4
Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in
MehrBenutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.
Benutzerhandbuch Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer. 1 Startseite Wenn Sie die Anwendung starten, können Sie zwischen zwei Möglichkeiten wählen 1) Sie können eine Datei für
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrDieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.
CLIENT INSTALLATION DES ENIQ ACCESSMANAGEMENTS Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren. Ein Client kann in drei
MehrSichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben
Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
MehrStepperfocuser 2.0 mit Bootloader
Stepperfocuser 2.0 mit Bootloader Info Für den Stepperfocuser 2.0 gibt es einen Bootloader. Dieser ermöglicht es, die Firmware zu aktualisieren ohne dass man ein spezielles Programmiergerät benötigt. Die
MehrTEAMWORK-Uploader. Dokumentenaustausch mit dem PC
TEAMWORK-Uploader Dokumentenaustausch mit dem PC Inhalt 1. Upload Ordner einrichten... 3 2. TEAMWORK mit lokalem Ordner verknüpfen... 3 3. Verwendung der Dokumentenarten... 5 3.1 Standarddokumente...5
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.
Track in Route umwandeln ACHTUNG: Ein Track kann nur dann in eine Route umgewandelt werden, wenn der Track auf Wegen gefahren wurde. Ein Querfeldein-Track kann nicht in eine Route umgewandelt werden, da
MehrSeite - 1 - 8. Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung
8. Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung Sie konfigurieren den OOBA, um die Webzugriffe mit HTTP ins Internet zu kontrollieren. Das Aufrufen von Webseiten ist nur authentifizierten Benutzern
MehrWir wünschen Ihnen viel Freude und Erfolg mit Ihrem neuen X-PRO-USB-Interface. Ihr Hacker-Team
Installationsanleitung Hacker X-PRO-USB-Controller V2 Software + Interface Sehr geehrter Kunde, wir freuen uns, dass Sie sich für das X-PRO-USB-V2-Interface aus unserem Sortiment entschieden haben. Sie
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrIhr CMS für die eigene Facebook Page - 1
Ihr CMS für die eigene Facebook Page Installation und Einrichten eines CMS für die Betreuung einer oder mehrer zusätzlichen Seiten auf Ihrer Facebook Page. Anpassen der "index.php" Installieren Sie das
MehrIn diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.
Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem
MehrInhaltstyp: Fotoalbum - Bilder in einer ansprechenden Form präsentieren. Erstellen eines Bildergalerieordners mit Bildern im Workplace
1 Inhaltstyp: Fotoalbum - Bilder in einer ansprechenden Form präsentieren Der Typ Fotoalbum kann Bilder anschaulich auf der Webseite als Bildergalerie darstellen. Dabei werden die Bilder als kleine Vorschaubilder
MehrDatensicherung und Wiederherstellung
Dokumentation Datensicherung und Wiederherstellung Versionsverzeichnis Version: Datum: Revisionsgrund: Version 1.0 Januar 2011 Erste Ausgabe www.babe-informatik.ch 1/7 Datensicherung von Voraussetzung
Mehr2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem
2 DAS BETRIEBSSYSTEM Themen in diesem Kapitel: Das Betriebssystem Die Windows-Oberfläche Elemente eines Fensters 2.1 Wozu dient das Betriebssystem Das Betriebssystem (engl.: operating system, kurz: OS)
MehrJürgen Bayer. MDI-Anwendungen in C#
Jürgen Bayer MDI-Anwendungen in C# Inhaltsverzeichnis 1 Grundlagen 2 1.1 Einrichten der Formulare 2 1.2 Öffnen von MDI-Childformularen 3 2 Menüs 4 2.1 Erstellen eines Menüs 4 2.2 Programmierung der Menüpunkte
MehrFastViewer Remote Edition 2.X
FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrAnleitung zum erstellen einer PDF-Datei aus Microsoft Word
Anleitung zum erstellen einer PDF-Datei aus Microsoft Word 1. Vorbereitung des PCs Um dem Tutorial folgen zu können müssen folgende Programme auf Ihrem PC installiert sein: Ghostskript 8.64: Ghostskript
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrQt-Projekte mit Visual Studio 2005
Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrKapitel 2 SAP Easy Access
Kapitel 2 SAP Easy Access The way to get started is to quit talking and begin doing. Walt Disney Zusammenfassung Dieses Kapitel präsentiert das SAP Easy Access, wobei einige Aspekte aus der täglichen Arbeit
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrKleines Handbuch zur Fotogalerie der Pixel AG
1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link
MehrHilfe zur Urlaubsplanung und Zeiterfassung
Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,
MehrTeamSpeak3 Einrichten
TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen
MehrInstallationsleitfaden kabelsafe backup home unter MS Windows
Installationsleitfaden kabelsafe backup home unter MS Windows Installationsanleitung und Schnelleinstieg kabelsafe backup home (kabelnet-acb) unter MS Windows Als PDF herunterladen Diese Anleitung können
MehrGraphische Benutzungsoberflächen
Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen
MehrVersion 0.3. Installation von MinGW und Eclipse CDT
Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2
Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung
Mehr