C# - PROGRAMME MIT PLUGINS ERWEITERN

Größe: px
Ab Seite anzeigen:

Download "C# - PROGRAMME MIT PLUGINS ERWEITERN"

Transkript

1 C# - PROGRAMME MIT PLUGINS ERWEITERN Schreibt man ein Programm welches erweiterbar sein soll, dann gibt es häufig mehrere Möglichkeiten dies umzusetzen. Die Objektorientierung ist dabei der erste Schritt, da eine Erweiterbarkeit immer mit einer gut umgesetzten Modularisierung und Kapselung anfängt. Hat man eine Basis geschaffen wird sie in ein Programm gegossen und veröffentlicht. Damit ist der erste Schritt getan (vereinfacht gesprochen). Nun kommt der Zeitpunkt, an dem noch Funktionalität hinzugefügt werden soll z.b. Ein Report soll generiert werden, oder ein Diagramm soll angezeigt werden, oder irgend eine Berechnung soll durchgeführt werden. Normalerweise öffnet man nun sein Projekt, schreibt ein paar Klassen und Methoden drückt auf Kompilieren und die neue Version ist fertig. Nachteil bei der ganzen Sache nur der Programmierer, der das Programm geschrieben hat, bzw. den Quelltext hat, kann Funktionalität hinzufügen. Das ist der Punkt an dem Plugins ansetzen. Der Programmierer der eine Software entwickelt stellt eine Schnittstelle bereit um jedem (und sich selbst) zu ermöglichen Funktionen hinzuzufügen, ohne die eigentliche Programmbasis angreifen zu müssen. Darüber hinaus ist es nun möglich, dass der Nutzer nur die Funktionalität bekommt die er auch braucht, ohne lange konfigurieren zu müssen. Das Prinzip von Plugins ist z.b. vom Firefox-Browser gut bekannt bei dem Zusatzfunktionalität über das eigentliche Programm hinaus (jedoch auf ihm basierend) angeboten werden. Um diesen Ansatz in C# für einen selbst nutzbar zu machen gibt es ein einfaches Verfahren welches ich im Folgenden vorstellen möchte. Dabei sei gesagt, dass es sich nicht um eine Muster-Implementation handelt, sondern lediglich um eine Prinzip-Studie. Grundlage für die Erweiterbarkeit durch Plugins ist eine Programm-Basis welche Plugins verwenden kann. Nehmen wir an, wir schreiben ein Programm zur persönlichen Zeiterfassung in dem wir unsere Tätigkeiten mit Datum und Stundenaufwand erfassen können. Dieses Programm soll grundlegend erst einmal die Möglichkeit bieten eine Tätigkeit anzulegen, sie zu bearbeiten (korrigieren) und sie ggf. wieder zu löschen. Die Tätigkeiten sollen in einer Datenbank (z.b. SQLite) abgelegt werden. Nehmen wir an, wir hätten dieses Programm soweit, dass die Programmbasis steht und funktioniert. (siehe Abbildung 1) Nun fällt einem auf, dass die einzelnen Tage nicht sehr gut als zusammenhängender Block zu erkennen sind. An dieser Stelle nun wollen wir ein Plugin verwenden, welches zusammenhängende Tage (dem Datum nach) farblich voneinander abhebt. Wir gehen dabei wie folgt vor: 1. Im Hauptprogramm wird eine Schnittstelle bereitgestellt, welche später von jedem Plugin implementiert werden soll. Schnittstelle aus Punkt 1 implementiert. 2. Es wird neues Projekt für das Plugin erstellt dem eine Referenz auf die Assembly des Hauptprogramms hinzugefügt wird. In diesem Projekt wird nun eine Klasse erstellt, welche die 3. Im Hauptprogramm muss nun noch die Funktionalität implementiert werden, welche die fertige Assembly des Plugins lädt und eine Instanz davon erstellt und bedient.

2 using System; using System.Windows.Forms; using System.Data.SQLite; using System.Data; namespace Zeiterfassung /// <summary> /// Interface welches jedes Plugin implementieren muss /// um von der Zeiterfassung verwendet werden zu können /// </summary> public interface IZeitPlugin void Init(MainForm MainForm, SQLiteConnection Connection); void RefreshView(); void Shutdown(); später ermöglichen möchte, stelle ich entsprechende Informationen bereit. Beginnen wir bei Punkt 1 der Schnittstelle (Listing 1). Generell gibt es viele Möglichkeiten ein Interface für ein Plugin zu gestalten es kommt auf die Möglichkeiten an, welche ein Plugin später bieten können soll. Möchte ich einem Plugin ermöglichen die Oberfläche meine Applikation anzupassen oder zu verändern, langt es ihm die entsprechenden Informationen z.b. das MainForm oder das MainMenu zu übergeben. Möchte ich aber, dass es darüber hinaus noch mehr kann, so muss ich auch das Interface entsprechend gestalten. Je nach Umfang des Eingriffs, den ich den Plugins In unserem Fall habe ich vorgesehen, dass Plugins nicht nur auf die Oberfläche des Programms zugreifen können, sondern auch auf die SQLiteConnection welche im Programm verwendet wird. Mein Interface bietet daher die Methode Init welcher die eben genannten Referenzen übergeben werden. Sie wird aufgerufen, sobald ein Plugin geladen wird. Damit das Plugin wieder aus der Software auskoppelt kann (weil ich das Plugin z.b. abwähle oder die Software schließe gibt es eine Methode Shutdown welche dem Plugin die Möglichkeit gibt, auf diese Ereignisse zu reagieren. (z.b. Menüeinträge die mit Laden des Plugins angelegt wurden wieder auszublenden etc.) Zu Guter Letzt gibt es noch eine Methode RefreshView welche dem Plugin signalisieren soll, dass für die Anzeige relevante Daten aktualisiert werden müssen / sollen. Dieses Interface bildet so den Rahmen für alle Plugins und ich muss mir beim Entwurf im Klaren darüber sein, dass Dinge die hier fehlen später nur schwer hinzugefügt werden könne, da alle Plugins auf dieser Schnittstelle basieren. Ändere ich das Interface sind die Plugins nicht mehr kompatibel, da sie gegen das alte Interface kompiliert wurden und jetzt zuerst das neue implementieren müssen. Es ist also nötig große Vorsicht walten zu lassen und vorausschauend das Interface zu planen. Kommen wir nun zu Punkt 2 der Implementation des Plugin (Listing 2).

3 using System; using Zeiterfassung; using System.Windows.Forms; using System.Data.SQLite; using System.Data; using System.Drawing; namespace PluginBlockColor /// <summary> /// BlockColor. /// </summary> public class BlockColor : IZeitPlugin private MainForm mainform = null; private SQLiteConnection connection = null; public BlockColor() public void Init(MainForm MainForm, System.Data.SQLite.SQLiteConnection Connection) mainform = MainForm; connection = Connection; public void RefreshView() string columnvalue = null; Random rnd = new Random(DateTime.Now.Millisecond); bool bright = true; Color rowcolor = Color.FromArgb(220 + rnd.next(35), rnd.next(35), rnd.next(35)); foreach (DataGridViewRow row in mainform.dgvzeiten.rows) if (columnvalue == null) columnvalue = row.cells["columndatum"].value.tostring(); if (columnvalue!= row.cells["columndatum"].value.tostring()) columnvalue = row.cells["columndatum"].value.tostring(); if (bright) rowcolor = Color.FromArgb(220 + rnd.next(35), rnd.next(35), rnd.next(35)); bright = false; else rowcolor = Color.FromArgb(150 + rnd.next(35), rnd.next(35), rnd.next(35)); bright = true; foreach (DataGridViewCell cell in row.cells) cell.style.backcolor = rowcolor; public void Shutdown()

4 Unser Plugin nennt sich BlockColor und implementiert wie bereits geschildert unser Interface. Dabei werden die Referenzen auf das MainForm und die SQLiteConnection, die an Init übergeben werden, als Felder gespeichert und können anschließend in RefreshView angesprochen werden. Die Funktionsweise des Plugins werde ich nur kurz erläutern: wird RefreshView aufgerufen, so wird das als public deklarierte DataGridView auf dem MainForm durchlaufen und geprüft ob in der Zelle für das Datum, der gleiche Wert steht wie in der vorhergehenden Zeile wenn ja, so wird die gleiche Farbe wie in der vorhergehenden Zelle verwendet, ansonsten eine neue (zufällig erstellte). Was sich ergibt sind zusammenhängende mit der gleichen Farbe gekennzeichnete Blöcke (darum auch BlockColor). Die Methode Shutdown ist nicht implementiert obwohl hier denkbar wäre, dass sie alle Zellen / Zeilen wieder auf einen weißen Hintergrund zurücksetzt. Damit ist unser Plugin eigentlich schon fertig es muss nur noch geladen und angesprochen werden und damit sind wir am Punkt 3 angelangt. Der Lade- / Management-Funktionalität im Hauptprogramm (Listing 3). void LoadPlugins() if (Directory.Exists(pluginsPath)) DirectoryInfo dir = new DirectoryInfo(pluginsPath); FileInfo[] files = dir.getfiles("*.dll"); foreach (FileInfo file in files) Assembly pluginassembly = Assembly.LoadFrom(file.FullName); foreach (Type type in pluginassembly.gettypes()) if (type.getinterface("izeitplugin")!= null) IZeitPlugin plugin = (IZeitPlugin)Activator.CreateInstance(type); plugin.init(this, connection); plugins.add(plugin); IZeitPlugin (unser Plugin-Interface) implementieren. Hier passiert die eigentliche Arbeit: Es wird überprüft ob ein Plugin-Pfad existiert (aus dem die Assemblies für die Plugins geladen werden) Wenn ja werden alle *.dll-dateien aus diesem Verzeichnis der Reihe nach geladen (Assembly.LoadFrom). Aus der jeweiligen Assembly werden alle Typen (also Klassen) geladen der Reihe nach durchgeschaut ob sie ein Interface mit Namen Ist dies der Fall so wird von dem jeweiligen Typ / der jeweiligen Klasse eine Instanz erstellt (Activator.CreateInstance) welche dann über das Interface angesprochen werden kann (Basisklassen- Pointer bzw. Interface-Pointer). Sofort nach dem Erstellen einer Instanz deren Methode Init aufgerufen und die entsprechenden Informationen übergeben. Nun wird das Objekt nur noch in der Liste für geladene Plugins abgelegt und ist nun im Hauptprogramm aktiv. Diese Methode ist in MainForm selbst zu platzieren und natürlich sind die entsprechenden privaten Felder für die Plugin-Liste und den Plugin-Pfad anzulegen und zu konfigurieren. Um anschließend Plugins zu laden, einfach die Methode LoadPlugins im Event-Handler MainFormShown aufrufen. Starten wir so unsere Zeiterfassung sehen wir, dass wir nichts sehen denn die Methode RefreshView wird noch nirgendwo aufgerufen.

5 In meinem Fall habe ich eine Methode RefreshDB welche die Daten aus der Datenbank lädt und anzeigt, wenn Änderungen, Löschungen oder neue Einträge erfolgt sind. In dieser Methode durchlaufe ich einfach die Liste der Plugins und rufe für jedes die Methode RefreshView auf (Listing 4) foreach (IZeitPlugin plugin in plugins) plugin.refreshview(); Wenn jetzt noch die Shutdown -Methode auf die gleiche Weise im Event-Handler MainFormClosing aufruft, dann ist man mit dem Hauptprogramm fertig und kann sich immer neue Plugins ausdenken. Das Ergebnis des eben entworfenen Plugins soll natürlich auch betrachtet werden können: Ich hoffe ich konnte euch das Prinzip und auch die konkrete Implementierung etwas näher bringen. Es handelt sich bei dieser Zeiterfassung nicht um ein esoterisches Beispiel ich habe sie Tatsächlich in Gebrauch. Mittlerweile haben sich noch ein paar Plugins hinzugesellt: PluginSummen: Berechnet die Summe des Stundenaufwandes über alle in der Liste markierten Zeilen (Kontext-Menü-Eintrag) PluginÜberstunden: Zeigt mir für (m)eine Wochenarbeitszeit von 37 Stunden (Mo-Do = 8h, Fr = 5h) an, wie viele Überstunden ich schon gemacht habe. PluginSuchfunktionen: Da sagt der Name eigentlich alles. PluginReports: Erstellt mir verschiedene Reporte, angefangen von der einfachen Übersicht über die Stunden des Monats bis hin zur Tortengrafik über die Zeiten pro Tätigkeit in einem Monat.

6 Ihr könnt das fertige Programm, sowie auch die Solution bei mir hier downloaden. Eine kleine Entschuldigung vorab: das Programm ist ein bisschen Quick&Dirty implementiert, weil es von mir tatsächlich dringend gebraucht wurde. Ich bitte einfach darüber hinweg zu sehen in der Hauptsache geht es um den Plugin- Mechanismus.

VMscope GmbH. Plugins entwickeln für den VM Slide Explorer 2010. Daniel Heim, 17.08.2011 Seite 1/15

VMscope GmbH. Plugins entwickeln für den VM Slide Explorer 2010. Daniel Heim, 17.08.2011 Seite 1/15 Plugins entwickeln für den VM Slide Explorer 2010 Daniel Heim, 17.08.2011 Seite 1/15 Inhaltsverzeichnis 1 Allgemeines... 3 2 Ein Plugin schreiben... 4 3 Ein Plugin registrieren... 11 4 Aktivieren von Plugins...

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Objektorientierte Programmierung

Objektorientierte 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

Mehr

WCF Services in InfoPath 2010 nutzen

WCF Services in InfoPath 2010 nutzen WCF Services in InfoPath 2010 nutzen Abstract Gerade wenn man schreibend von InfoPath aus auf eine SQL-Server Datenbank zugreifen will, kommt man quasi um einen Web Service nicht herum. In diesem Post

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

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

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

GetName(), GetName(), GetGeschlecht() und AelterWerden().

GetName(), 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

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

Wo bekomme ich die benötigten Dateien?

Wo bekomme ich die benötigten Dateien? Dieser Artikel stammt aus dem Magazin von C++.de (http:magazin.c-plusplus.de) Wie kann man mit Nero und C# eine CD/DVD brennen??? Inhaltsverzeichnis 1. Einleitung 2. Was benötigen wir dazu? 3. Wo bekomme

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens

Mehr

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

DGNB System Software: Unterschiede zwischen Version 1 und Version 2

DGNB System Software: Unterschiede zwischen Version 1 und Version 2 DGNB System Software: Unterschiede zwischen Version 1 und Version 2 1 DGNB GmbH 2015 Inhaltsverzeichnis (1) 1. Aufteilung in Web-Oberfläche und Client 2. Anmeldung in der Web-Oberfläche 3. Installieren

Mehr

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Grundlagen von Python

Grundlagen 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

Mehr

Schritt 1 - Ein Spielfeld

Schritt 1 - Ein Spielfeld Schritt 1 - Ein Spielfeld Wir beginnen mit zwei einfachen Java-Klassen, dem eigentlichen Spielfeld und dem Applet zum Anzeigen des Spielfeldes (und später der Buttons und der anderen Bedienelemente). Hier

Mehr

Wirtschafts-Informatik-Wietzorek Ulmweg 7 73117 Wangen 31.10.2009. Programm zur komfortablen Datenauswertung der JTL-WAWI Betaversion

Wirtschafts-Informatik-Wietzorek Ulmweg 7 73117 Wangen 31.10.2009. Programm zur komfortablen Datenauswertung der JTL-WAWI Betaversion Cubeinfo Programm zur komfortablen Datenauswertung der JTL-WAWI Betaversion Kurzbeschreibung Diese Software ist Freeware und darf weitergegeben werden. Zum Öffen der ZIP- Files benötigen Sie ein Kennwort,

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Leseprobe. Jan Tittel. Office 2010 Programmierung mit VSTO und.net 4.0. Word, Excel und Outlook erweitern und anpassen

Leseprobe. Jan Tittel. Office 2010 Programmierung mit VSTO und.net 4.0. Word, Excel und Outlook erweitern und anpassen Leseprobe Jan Tittel Office 2010 Programmierung mit VSTO und.net 4.0 Word, Excel und Outlook erweitern und anpassen Herausgegeben von Holger Schwichtenberg ISBN: 978-3-446-42411-1 Weitere Informationen

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Aufgabe 1. »Programmieren«, WS 2006/2007. Nino Simunic M.A.

Aufgabe 1. »Programmieren«, WS 2006/2007. Nino Simunic M.A. »Programmieren«, WS 006/007 Nino Simunic (nino.simunic@uni-due.de) Übungsblatt 4 Aufgabe 1 OOP In dieser Aufgabe sollen Sie Autos als Klasse Car modellieren. Die Eigenschaften auf attributiver Ebene sind:

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Einführung in Javadoc

Einfü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:

Mehr

Druckanpassung von Mahnungen

Druckanpassung von Mahnungen Druckanpassung von Mahnungen Nur wenn Sie die faktura in der Einzelversion nutzen, steht Ihnen für die Druckanpassung der Mahnungen auch der Formularassistent zur Verfügung. Dort können Sie die gewünschten

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 15.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung Programmieraufwand für geübte

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Aufgabenblatt Nr. 5 Generizität und TicTacToe

Aufgabenblatt Nr. 5 Generizität und TicTacToe Aufgabenblatt Nr. 5 Generizität und TicTacToe 1 Generische Sortier-Methode 1.1 Aufgabe: Entwickeln einer generischen Sortiermethode für Objekte mit der Schnittstelle Comparable Ihnen ist aus der Vorlesung

Mehr

Delphi DLL Tutorial Wie exportiere ich Komponenten aus einer DLL?

Delphi DLL Tutorial Wie exportiere ich Komponenten aus einer DLL? Delphi DLL Tutorial Wie exportiere ich Komponenten aus einer DLL? Von Padmalcom (20.03.2009) www.jofre.de Nach dem Tutorial 1 von Leonardo M. Ramé 1 Ja, es geht wirklich! Im Internet sind tausende Forenbeinträge

Mehr

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April 2009. 1 Zielbestimmungen 2. 2 Produkteinsatz 2

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April 2009. 1 Zielbestimmungen 2. 2 Produkteinsatz 2 Lastenheft Inhaltsverzeichnis 1 Zielbestimmungen 2 2 Produkteinsatz 2 3 Produktübersicht 3 4 Produktfunktionen 4 4.1 Muss-Funktionen................................. 4 4.1.1 Benutzerfunktionen...........................

Mehr

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

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Praktikum Betriebssysteme 1. Aufgabe (1)

Praktikum Betriebssysteme 1. Aufgabe (1) FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten

Mehr

von Anja Austermann Drag and Drop

von Anja Austermann Drag and Drop von Anja Austermann Drag and Drop »Drag and Drop«ist die Bezeichnung für den Datentransfer zwischen unterschiedlichen Anwendungen mit grafischer Benutzeroberfläche. Zur Zeit arbeitet Drag and Drop in Java

Mehr

License Management 1.0 - SDK

License Management 1.0 - SDK License Management 1.0 - SDK Inhalt Allgemeine Beschreibung... 2 Vorbereitungen... 2 Download aller nötigen Dateien und Dokumentationen... 2 Beantragung eines ValidationKeys... 2 Beantantragung einer Development-Lizenz...

Mehr

Auszug aus. C sharp. Galileo Computing. Ein Service von. Tutorial und Referenz. von Eric Gunnerson

Auszug aus. C sharp. Galileo Computing. Ein Service von. Tutorial und Referenz. von Eric Gunnerson Auszug aus C sharp Tutorial und Referenz von Eric Gunnerson Galileo Computing 576 S., 2002, geb. 39,90 Euro, ISBN 3-89842-183-X Ein Service von Galileo Computing aus: Eric Gunnerson, C sharp - Tutorial

Mehr

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER Fakultät Informatik, Institut für Angewandte Informatik, Professur Technische Informationssysteme SCHNELLEINSTIEG ZUM TOOL NODEBUILDER Betreuer: Dipl.-Ing. A. Cemal Özlük Dipl.-Inf. Uwe Ryssel ALLGEMEINE

Mehr

Vorkurs C++ Programmierung

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

Mehr

Modul 8: Verwalten von Kunden, Artikeln und mehr - Datenlisten

Modul 8: Verwalten von Kunden, Artikeln und mehr - Datenlisten Excel 2003 - Grundkurs 85 Modul 8: Verwalten von Kunden, Artikeln und mehr - Datenlisten Wofür kann ich Datenlisten einsetzen? Worin liegt der Unterschied zu einer Datenbank? Wie gebe ich rationell Daten

Mehr

Erstellung von Bibliotheken in CoDeSys V3

Erstellung von Bibliotheken in CoDeSys V3 Dokument Version 2.0 3S - Smart Software Solutions GmbH Seite 1 von 10 INHALT 1 EINFÜHRUNG 3 2 BIBLIOTHEKSKONZEPT IM DETAIL 4 2.1 Kategorien von Bibliotheken 4 2.1.1 System 4 2.1.2 Internal 4 2.1.3 Application

Mehr

Der Museumsrollstuhl. Schüler experimentieren 2012 Adrian Lenkeit und Leonhard Decker St. Michael-Gymnasium Bad Münstereifel

Der Museumsrollstuhl. Schüler experimentieren 2012 Adrian Lenkeit und Leonhard Decker St. Michael-Gymnasium Bad Münstereifel Der Museumsrollstuhl Schüler experimentieren 2012 Adrian Lenkeit und Leonhard Decker St. Michael-Gymnasium Bad Münstereifel Inhaltsverzeichnis 1. Kurzfassung 2. Zielsetzung 3. Steuerung eines Computers

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 1. Aufgabe (Spielen mit Objekten) Gegeben sei der auch von der Veranstaltungsseite erhältliche Programmcode auf der rechten Seite, der im Detail zuerst nicht verstanden werden muss. a) Erzeugen Sie sich

Mehr

In dieser Aufgabe sollen Teile eines kleinen Pong-Spiels analysiert und implementiert werden. Gegeben sei dazu das folgende Szenario:

In dieser Aufgabe sollen Teile eines kleinen Pong-Spiels analysiert und implementiert werden. Gegeben sei dazu das folgende Szenario: IF1-Informatik Eph GK (GA) Bearbeitungszeit: 90 min. Seite 1 Aufgabe 1: Greenfoot mit Kara Ein Pong-Spiel In dieser Aufgabe sollen Teile eines kleinen Pong-Spiels analysiert und implementiert werden. Gegeben

Mehr

Ogre Einführung Teil 1

Ogre Einführung Teil 1 Inhalt -Einleitung -Installieren und Einrichten von Ogre -Die erste Anwendung Ogre Einführung Teil 1 Einleitung Eine 3D Engine ist eine sehr komplexe Software und besteht aus mehreren tausend Zeilen Programmcode.

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte 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

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren 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

Mehr

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

Mehr

Arbeiten mit BlueJ. Objektorientiertes Programmieren in Java mit BlueJ

Arbeiten mit BlueJ. Objektorientiertes Programmieren in Java mit BlueJ Arbeiten mit BlueJ Compilieren, Editieren, Objekte erzeugen, Methoden aufrufen, Objekte inspizieren, vorhandene Klassen benutzen, eigene Klassen und Methoden erstellen In BlueJ geht es einfach BlueJ durch

Mehr

Nachklausur Programmieren / Algorithmen und Datenstrukturen 1

Nachklausur Programmieren / Algorithmen und Datenstrukturen 1 Programmieren / Algorithmen und Datenstrukturen Autor: Prof. Dr. Bernhard Humm, FB Informatik, Hochschule Darmstadt Datum: 7. Oktober 200 Nachklausur Programmieren / Algorithmen und Datenstrukturen Spielregeln

Mehr

Ereignisbehandlung 21

Ereignisbehandlung 21 Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen

Mehr

Erstellen von speziellen Ereignissen in C#

Erstellen von speziellen Ereignissen in C# Erstellen von speziellen Ereignissen in C# Anhand eines Projekts, das demonstriert, wie spezielle Ereignisse ausgelöst werden und wie sie sich auf den verwendeten Code auswirken, zeigen wir Ihnen, wie

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

Mehr

Java Wireless Toolkit (JWT) Bei der Programmierung von Anwendungsprogrammen für mobile Endgeräte eignet sich die Verwendung des Java Wireless Toolkit.

Java Wireless Toolkit (JWT) Bei der Programmierung von Anwendungsprogrammen für mobile Endgeräte eignet sich die Verwendung des Java Wireless Toolkit. 1 Seminar zum Programmierprojekt Arbeitsbereich Technische Informatik Ausgabe: 30. April 2008 Anleitung B3 Einführung in die Entwicklungsumgebungen Allgemeines In dieser Aufgabe lernen wir die Entwicklungsumgebungen

Mehr

Visual C# 2008 Kochbuch

Visual C# 2008 Kochbuch Walter Doberenz, Thomas Gewinnus Visual C# 2008 Kochbuch ISBN-10: 3-446-41442-8 ISBN-13: 978-3-446-41442-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41442-6

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

Browser Grid Funktionalitäten

Browser Grid Funktionalitäten Browser Grid Funktionalitäten Die Browser Grid Funktionalitäten können durch rechts Klick auf dem Grid eines Browsers aufgerufen werden. Fig. 1 Die erste Option Gruppe (bis zur ersten linie in Fig.1) enthält

Mehr

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

Dropbox Verschlüsselung mit TrueCrypt

Dropbox Verschlüsselung mit TrueCrypt 1 von 8 19.04.2013 15:17 Datenbank Dropbox Verschlüsselung mit TrueCrypt http://www.hpier.de/wb» Software» Dropbox Verschlüsselung mit TrueCrypt Daten in der Dropbox Cloud mit TrueCrypt sicher verschlüsseln

Mehr

COPPER Best Practices

COPPER Best Practices COPPER Best Practices Version 1.0.1 Wann sollte man überhaupt COPPER verwenden? Allgemein genau dann, wenn man von der COPPER Notation oder den COPPER-Features profitieren kann. Ein wesentliches Feature

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Bedienungsanleitung EasyStechuhr

Bedienungsanleitung EasyStechuhr Thomas Schiffler Langestrasse 4 65366 Geisenheim http://www.thomasschiffler.de info@thomasschiffler.de Version 1.2 Inhaltsverzeichnis Inhaltsverzeichnis... 2 Einleitung... 3 Datenspeicherung... 3 Grundvoraussetzung...

Mehr

Arbeitsblatt: Aufgaben zur Vorbereitung

Arbeitsblatt: Aufgaben zur Vorbereitung Arbeitsblatt: Aufgaben zur Vorbereitung Dieses Arbeitsblatt enthält Aufgaben, die der Vorbereitung auf das Praktikum dienen. Die Aufgaben müssen bis zum 09.03.2011 bearbeitet werden. Die Ergebnisse werden

Mehr

4 Die FrontPage-Website

4 Die FrontPage-Website 4 Die FrontPage-Website Ziele dieses Kapitels A Sie lernen die Struktur einer Website kennen. A Sie können Websites verschachteln. A Sie können Websites konvertieren. Microsoft Office Frontpage 2003 Einführung

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Inhalt. Max Lini. ax. inie. Einleitung... VII

Inhalt. Max Lini. ax. inie. Einleitung... VII rst Inhalt Einleitung....................................................... VII 1 Schöne neue Welt: Objektorientierte Programmierung in PHP 5.............. 1 Klassen, Interfaces und Objekte...................................

Mehr

Mein erstes Tableau-Dashboard. Tableau Software Schritt für Schritt kennenlernen und ein erstes Dashboard erstellen

Mein erstes Tableau-Dashboard. Tableau Software Schritt für Schritt kennenlernen und ein erstes Dashboard erstellen Tableau Software Schritt für Schritt kennenlernen und ein erstes Dashboard erstellen Vorgehensweise 1) Datenaufbereitung in Microsoft Excel 2) Tableau - Datenimport 3) Erstellung verschiedener Tableau-Arbeitsblätter

Mehr

Inhaltsverzeichnis. 2 Abteilungsspezifische Banner 16 2.1 Austausch der Banner... 16 2.2 Hinweis für Entwickler... 17

Inhaltsverzeichnis. 2 Abteilungsspezifische Banner 16 2.1 Austausch der Banner... 16 2.2 Hinweis für Entwickler... 17 Inhaltsverzeichnis 1 Beiträge verwalten 2 1.1 Kategorie erstellen.............................. 2 1.2 Beitrag erstellen................................ 3 1.3 Beitragsberechtigungen verwalten......................

Mehr

Programmieren in Java

Programmieren 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

Mehr

12 Den Inhalt eines Ordners im fileadmin zum download anbieten (Filelist-Element)

12 Den Inhalt eines Ordners im fileadmin zum download anbieten (Filelist-Element) 12 Den Inhalt eines Ordners im fileadmin zum download anbieten (Filelist-Element) Inhaltsverzeichnis 12 Den Inhalt eines Ordners im fileadmin zum download anbieten (Filelist-Element) 1 12.1 Vorbereitungen......................................

Mehr

Applet Firewall und Freigabe der Objekte

Applet Firewall und Freigabe der Objekte Hauptseminar Applet Firewall und Freigabe der Objekte Nachweis von Sicherheitseigenschaften für JavaCard Jin Zhou Ein Überblick über diesen Vortrag Applet Firewall Kontext JCRE Entry Point Objekt Shareable

Mehr

Objektorientiertes JavaScript

Objektorientiertes JavaScript Objektorientiertes JavaScript Christoph Fabritz dm121506@fhstp.ac.at http://goo.gl/jzqxnw Inhalt JavaScript Objektorientierung OO in JavaScript Literatur JavaScript Interpretiert / gescriptet Dynamische

Mehr

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Projekte per DOM bearbeiten KAPITEL 5 5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Bisher haben wir uns angesehen, wie List & Label mit Ihren Daten bekannt gemacht werden kann und

Mehr

RÖK Typo3 Dokumentation

RÖK Typo3 Dokumentation 2012 RÖK Typo3 Dokumentation Redakteur Sparten Eine Hilfe für den Einstieg in Typo3. Innpuls Werbeagentur GmbH 01.01.2012 2 RÖK Typo3 Dokumentation Inhalt 1) Was ist Typo3... 3 2) Typo3 aufrufen und Anmelden...

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Die Projek*ools. Files, Git, Tickets & Time

Die Projek*ools. Files, Git, Tickets & Time Die Projek*ools Files, Git, Tickets & Time Agenda Die Abgabe von Dokumenten: Files Das Pflegen von Software: Versionskontrolle mit Git Management von Anforderungen: Tickets Management von Zeit: Time Files

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen

Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen Microsoft Outlook 1 Nutzung der Groupware mit Microsoft Outlook 1.1 Outlook - CommuniGate Pro Schnittstelle installieren 4 1.2 Outlook - Elemente freigeben 11 1.3 Outlook - Freigegebene Elemente öffnen

Mehr

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

Mehr

orgexterndoc31 Inhaltsverzeichnis Einleitung... 1 Installation... 3 Grundinstallation... 3 Installation pro Arbeitsplatz... 6 Lizenzierung... 7 Benutzung Einzeldokument... 9 1. Möglichkeit:... 9 2. Möglichkeit...

Mehr

Einkaufslisten verwalten. Tipps & Tricks

Einkaufslisten verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Grundlegende Informationen 3 1.2 Einkaufslisten erstellen 4 1.3 Artikel zu einer bestehenden Einkaufsliste hinzufügen 9 1.4 Mit einer Einkaufslisten einkaufen 12 1.4.1 Alle

Mehr

Programmierung einer Windows Store App mit C# und XAML

Programmierung einer Windows Store App mit C# und XAML Neuer Abschnitt 1 Seite 1 Programmierung einer Windows Store App mit C# und XAML Einleitung In diesem Fachbericht der im Rahmen meines 8 Wochen langem Praktikums entstand geht es um die Programmierung

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Email-Server: IMAP-Server

Email-Server: IMAP-Server 1 von 5 15.02.2007 13:31 Navigationsleiste Direktzugriff Software Home Email-Server: IMAP-Server Im zweiten Teil des Email-Servers [1] erfährst du wie die Benutzer die Emails von deinem Email-Server abholen.

Mehr

Reflection. Arthur Zaczek. Nov 2014

Reflection. Arthur Zaczek. Nov 2014 Arthur Zaczek Nov 2014 1 Einleitung 1.1 Definition Reflection ist das Auslesen von Metainformationen über Klassen, deren Methoden & Eigenschaften zur Laufzeit. 1.2 Anwendungsfälle Analyse von Programmen

Mehr

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P Wochenbericht Firas Zoabi Studienprojekt A: SIMPL 28. Dezember 2009 S I M P L Geplante Aufgaben und Tätigkeiten Erledigte Aufgaben und Tätigkeiten Übersicht Benötigte Arbeitszeit/Aufwände Gewonnene Erkenntnisse

Mehr

3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten

3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten O Reillys Taschenbibliothek 3. Auflage C# 5.0 kurz & gut O REILLY Joseph Albahari & Ben Albahari Aktualisierung von Lars Schulten Inhalt C# 5.0 kurz & gut... 1 Ein erstes C#-Programm... 2 Syntax... 5 Typgrundlagen...

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Visual Basic Express erstes Projekt anlegen

Visual Basic Express erstes Projekt anlegen Inhalt Dokument Beschreibung... 1 Erstes Projekt anlegen... 1 Verweise hinzufügen... 2 Imports setzen... 5 Public Class vorbereiten... 6 Mehrere Tools programmieren... 7 Dokument Beschreibung Nach der

Mehr