Einstieg in Visual C# 2012
|
|
|
- Berthold Busch
- vor 8 Jahren
- Abrufe
Transkript
1 Galileo Computing Einstieg in Visual C# 2012 Ideal für Programmieranfänger geeignet. Inkl. Windows Store Apps Bearbeitet von Thomas Theis erweitert Taschenbuch. 581 S. Paperback ISBN Format (B x L): 17,2 x 23 cm Weitere Fachgebiete > EDV, Informatik > Programmiersprachen: Methoden > Microsoft Programmierung schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, ebooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.
2 Thomas Theis Einstieg in Visual C# 2012
3 Auf einen Blick Auf einen Blick 1 Einführung Grundlagen Fehlerbehandlung Erweiterte Grundlagen Objektorientierte Programmierung Wichtige Klassen in.net Weitere Elemente eines Windows-Programms Datenbank-Anwendungen mit ADO.NET Internet-Anwendungen mit ASP.NET Zeichnen mit GDI Beispielprojekte Windows Presentation Foundation Windows Store-Apps für Windows
4 Inhalt Inhalt 1 Einführung Aufbau dieses Buches Visual Studio Mein erstes Windows-Programm Visual C# 2012-Entwicklungsumgebung Ein neues Projekt Einfügen von Steuerelementen Arbeiten mit dem Eigenschaftenfenster Speichern eines Projekts Das Codefenster Schreiben von Programmcode Kommentare Starten, Ausführen und Beenden des Programms Ausführbares Programm Projekt schließen, Projekt öffnen Übung Empfehlungen für Zeilenumbrüche Arbeiten mit Steuerelementen Steuerelemente formatieren Steuerelemente kopieren Eigenschaften zur Laufzeit ändern Vergabe und Verwendung von Namen Verknüpfung von Texten, mehrzeilige Texte Eigenschaft BackColor, Farben allgemein Grundlagen Variablen und Datentypen Namen, Werte Deklarationen Datentypen
5 Inhalt Gültigkeitsbereich Konstanten Enumerationen Operatoren Rechenoperatoren Vergleichsoperatoren Logische Operatoren Verkettungsoperator Zuweisungsoperatoren Rangfolge der Operatoren Einfache Steuerelemente Panel Zeitgeber Textfelder Zahlenauswahlfeld Verzweigungen if else switch case Übungen Verzweigungen und Steuerelemente Kontrollkästchen Optionsschaltfläche Mehrere Ereignisse in einer Methode behandeln Mehrere Gruppen von Optionsschaltflächen Methode ohne Ereignis, Modularisierung Schleifen for-schleife while und do-while-schleife Übungen Schleifen und Steuerelemente Listenfeld Listenfeld füllen Wichtige Eigenschaften Wechsel der Auswahl Wichtige Methoden Mehrfachauswahl Kombinationsfelder
6 Inhalt 3 Fehlerbehandlung Fehlerarten Syntaxfehler und IntelliSense Laufzeitfehler und Exception Handling Programm mit Laufzeitfehlern Einfaches Exception-Handling Erweitertes Exception Handling Logische Fehler und Debugging Einzelschrittverfahren Haltepunkte Überwachungsfenster Erweiterte Grundlagen Steuerelemente aktivieren Ereignis Enter Eigenschaften Enabled und Visible Bedienung per Tastatur Eigenschaften TabIndex und TabStop Tastenkombination für Steuerelemente Ereignisgesteuerte Programmierung Eine Ereigniskette Endlose Ereignisketten Textfelder koppeln Datenfelder Eindimensionale Datenfelder Ein Feld durchsuchen Weitere Feld-Operationen Mehrdimensionale Datenfelder Datenfelder initialisieren Verzweigte Datenfelder Datenfelder sind dynamisch Datenstruktur ArrayList
7 Inhalt 4.6 foreach-schleife Methoden Einfache Methoden Übergabe per Referenz Methoden mit Rückgabewerten Optionale Argumente Benannte Argumente Beliebig viele Argumente Rekursiver Aufruf Übungen zu Methoden Konsolenanwendung Anwendung erzeugen Ein- und Ausgabe von Text Eingabe einer Zahl Erfolgreiche Eingabe einer Zahl Ausgabe formatieren Aufruf von der Kommandozeile Objektorientierte Programmierung Was ist Objektorientierung? Klasse, Eigenschaft, Methode, Objekt Eigenschaftsmethode Konstruktor Referenzen, Vergleiche und Typen Objekte vergleichen Typ eines Objekts ermitteln Typ eines Objekts durch Vergleich ermitteln Delegates Statische Elemente Vererbung Konstruktoren bei Vererbung Polymorphie
8 Inhalt 5.11 Schnittstellen Strukturen Mehrere Formulare Wichtige Klassen in.net Klasse String für Zeichenketten Eigenschaften der Klasse String Trimmen Splitten Suchen Einfügen Löschen Teilzeichenkette ermitteln Zeichen ersetzen Ausgabe formatieren Datum und Uhrzeit Eigenschaften von DateTime Rechnen mit Datum und Uhrzeit DateTimePicker Dateien und Verzeichnisse Lesen aus einer Textdatei Schreiben in eine Textdatei Sicheres Lesen aus einer Textdatei Sicheres Schreiben in eine Textdatei Die Klassen File und Directory Das aktuelle Verzeichnis Eine Liste der Dateien Eine Liste der Dateien und Verzeichnisse Informationen über Dateien und Verzeichnisse Bewegen in der Verzeichnishierarchie Rechnen mit der Klasse Math Zugriff auf MS Office MS Word Datei erstellen MS Excel Datei erstellen
9 Inhalt 6.6 Formular drucken Druck und Seitenvorschau Druckeinstellungen Weitere Elemente eines Windows-Programms Hauptmenü Erstellung des Hauptmenüs Code des Hauptmenüs Klasse Font Schriftart Schriftgröße Schriftstil Kontextmenü Erstellung des Kontextmenüs Code des Kontextmenüs Symbolleiste Erstellung der Symbolleiste Code der Symbolleiste Statusleiste Erstellung der Statusleiste Code der Statusleiste Eingabe-Dialogfeld Ausgabe-Dialogfeld Standard-Dialogfelder Datei öffnen Datei speichern unter Verzeichnis auswählen Farbe auswählen Schrifteigenschaften auswählen Steuerelement ListView Steuerelement Chart Steuerelement DataGridView
10 Inhalt 8 Datenbank-Anwendungen mit ADO.NET Was sind relationale Datenbanken? Beispiel»Lager« Indizes Relationen Übungen Anlegen einer Datenbank in Microsoft Access Aufbau von Access Datenbank-Entwurf in Access Übungen Datenbankzugriff mit Visual C# Beispieldatenbank Ablauf eines Zugriffs Verbindung SQL-Befehl OleDb Auswahlabfrage Aktionsabfrage SQL-Befehle Auswahl mit select Ändern mit update Löschen mit delete Einfügen mit insert Typische Fehler in SQL Ein Verwaltungsprogramm Initialisierung Alle Datensätze sehen Datensatz einfügen Datensatz ändern Datensatz löschen Datensatz suchen Abfragen über mehrere Tabellen Verbindung zu MySQL NET-Treiber
11 Inhalt 8.8 Arbeiten mit DataSets Tabelle in Detailansicht Schließen ohne Speichern verhindern Programmcode des DataSets Tabelle in DataGrid-Ansicht Mehrere Tabellen mit Relationen Internet-Anwendungen mit ASP.NET Grundlagen von Internet-Anwendungen Statische Internet-Anwendungen Dynamische Internet-Anwendungen Vorteile von ASP.NET Ein lokaler Webserver Eine erste Internet-Anwendung Eine erste ASP.NET Anwendung Fehlerhafte Programmierung Formatierung von Internetseiten Senden und Auswerten von Formulardaten Kontrolle der Benutzer-Eingaben Weitere Formularelemente Ein Kalenderelement ASP.NET und ADO.NET Datenbank im Internet ändern Zeichnen mit GDI Grundlagen von GDI Linie, Rechteck, Polygon und Ellipse zeichnen Grundeinstellungen Linie Rechteck
12 Inhalt Polygon Ellipse Dicke und Farbe ändern, Zeichnung löschen Text schreiben Bilder darstellen Dauerhaft zeichnen Zeichnen einer Funktion Beispielprojekte Spielprogramm Tetris Spielablauf Programmbeschreibung Steuerelemente Initialisierung des Programms Erzeugen eines neuen Panels Der Zeitgeber Panels löschen Panels seitlich bewegen Panels nach unten bewegen Pause Lernprogramm Vokabeln Benutzung des Programms Erweiterung des Programms Initialisierung des Programms Ein Test beginnt Zwei Hilfsmethoden Die Antwort prüfen Das Benutzermenü Windows Presentation Foundation Layout Steuerelemente
13 Inhalt 12.3 Frame-Anwendung Datenbindung Zweidimensionale Grafik Dreidimensionale Grafik Animation WPF und Windows Forms Windows Forms in WPF WPF in Windows Forms Windows Store-Apps für Windows Projektvorlagen für Windows Store-Apps Projektvorlage Blank Steuerelemente Seitenvorlagen für Windows Store-Apps Eine Reihe von Seiten Eine geteilte Seite Seitenvorlage Standardseite Projektvorlage Grid Projektvorlage Split Prüfen einer App Anhang 533 A Installation und technische Hinweise A.1 Inhalt des Datenträgers zu diesem Buch A.2 Installation der Express-Versionen von Visual Studio A.3 Arbeiten mit einer Formularvorlage A.4 Arbeiten mit einer Projektvorlage
14 Inhalt A.5 Weitergabe eigener Windows-Programme A.6 Konfigurationsdaten A.7 Datenbankzugriff unter Vista 64-Bit-Version B Lösungen der Übungsaufgaben B.1 Lösung der Übungsaufgabe aus Kapitel B.2 Lösungen der Übungsaufgaben aus Kapitel B.3 Lösungen der Übungsaufgaben aus Kapitel B.4 Lösungen der Übungsaufgaben aus Kapitel C Der Autor Index
15 Kapitel 1 Einführung 1 In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung und den Steuerelementen. Anschließend werden Sie in der Lage sein, Ihr erstes eigenes Windows-Programm zu erstellen. C# ist eine objektorientierte Programmiersprache, die von Microsoft im Zusammenhang mit dem.net-framework eingeführt wurde. Mithilfe der Entwicklungsumgebung Visual Studio 2012 können Sie unter anderem in der Sprache C# programmieren. Visual Studio 2012 ist der Nachfolger von Visual Studio Innerhalb von Visual Studio stehen Ihnen noch weitere Sprachen zur Programmentwicklung zur Verfügung. C# 1.1 Aufbau dieses Buches Dieses Buch vermittelt Ihnen zunächst einen einfachen Einstieg in die Programmierung mit Visual C# Die Bearbeitung der Beispiele und das selbstständige Lösen der vorliegenden Übungsaufgaben helfen dabei. Dadurch werden Sie schnell erste Erfolgserlebnisse haben, die Sie zum Weitermachen motivieren. In späteren Kapiteln werden Ihnen auch die komplexen Themen vermittelt. Von Anfang an wird mit anschaulichen Windows-Anwendungen gearbeitet. Die Grundlagen der Programmiersprache und die Standardelemente einer Windows-Anwendung, wie Sie sie schon von anderen Windows-Programmen her kennen, werden gemeinsam vermittelt. Die Anschaulichkeit einer Windows-Anwendung hilft dabei, den eher theoretischen Hintergrund der Programmiersprache leichter zu verstehen. Beispiele Grundlagen 17
16 1 Einführung 1.2 Visual Studio 2012 Express Edition Es werden mehrere Express-Versionen von Visual Studio 2012 unter Windows 7 mit Service Pack 1 und unter Windows 8 eingesetzt. Diese freien Versionen von Visual Studio 2012 liegen dem Buch bei, Sie können sie aber auch bei Microsoft herunterladen. Die Express-Versionen von Visual Studio 2012 bieten jeweils eine komfortable Entwicklungsumgebung. Sie umfassen einen Editor zur Erstellung des Programmcodes, einen Compiler zur Erstellung der ausführbaren Programme, einen Debugger zur Fehlersuche und vieles mehr. Auf dem Datenträger zum Buch finden Sie die folgenden Express-Versionen von Visual Studio 2012, mit unterschiedlichen Einsatzbereichen: Visual Studio Express 2012 für Desktop zur Programmierung der Windows Forms-Anwendungen sowie der Konsolen-Anwendungen, die Sie in Kapitel 1 bis 8 sowie 10 und 11 sehen werden. Außerdem dient diese Version zur Umsetzung der WPF-Anwendungen in Kapitel 12. Mit der Desktop-Version werden wir beginnen. Visual Studio Express 2012 für das Web zur Programmierung der Internet-Anwendungen mit C# in Kapitel 9. Visual Studio Express 2012 für Windows 8 zur Programmierung der Windows-Store-Apps, die nur in Windows 8 laufen und die Sie in Kapitel 13 sehen werden. Zur Installation der Express-Versionen verweise ich auf den Anhang. Noch eine Anmerkung in eigener Sache: Für die Hilfe bei der Erstellung dieses Buches bedanke ich mich beim Team von Galileo Press, besonders bei Anne Scheibe. Thomas Theis 1.3 Mein erstes Windows-Programm Anhand eines ersten Projekts werden Sie die Schritte durchlaufen, die zur Erstellung eines einfachen Programms mithilfe von Visual C# 2012 notwendig sind. Das Programm soll nach dem Aufruf zunächst aussehen wie in Abbildung
17 1.4 Visual C# 2012-Entwicklungsumgebung 1 Abbildung 1.1 Erstes Programm nach dem Aufruf Nach Betätigung des Buttons Hallo soll sich der Text in der obersten Zeile verändern, siehe Abbildung 1.2. Abbildung 1.2 Nach Betätigung des Buttons»Hallo«1.4 Visual C# 2012-Entwicklungsumgebung Während der Projekterstellung lernen Sie Schritt für Schritt die Visual Studio 2012-Entwicklungsumgebung kennen Ein neues Projekt Nach dem Aufruf des Programms Visual Studio Express 2012 für Windows Desktop müssen Sie zur Erstellung eines neuen C#-Projekts den Menüpunkt Datei Neues Projekt Installiert Vorlagen Visual C# Windows Forms-Anwendung auswählen. Als Projektname bietet die Entwicklungsumgebung den Namen WindowsFormsApplication1 an, dieser sollte geändert werden, zum Beispiel in MeinErstes. Es erscheinen einige Elemente der Entwicklungsumgebung. Folgende Elemente sind besonders wichtig: Das Benutzerformular (engl.: Form) enthält die Oberfläche für den Benutzer des Programms (siehe Abbildung 1.3). Form 19
18 1 Einführung Abbildung 1.3 Benutzerformular Toolbox Die Werkzeugsammlung (engl.: Toolbox) enthält die Steuerelemente für den Benutzer, mit denen er den Ablauf des Programms steuern kann. Sie werden vom Programm-Entwickler in das Formular eingefügt (siehe Abbildung 1.4). Abbildung 1.4 Toolbox mit verschiedenen Kategorien von Steuerelementen Eigenschaftenfenster Projektmappen- Explorer Das Eigenschaftenfenster (engl.: Properties Window) dient zum Anzeigen und Ändern der Eigenschaften von Steuerelementen innerhalb des Formulars durch den Programm-Entwickler (siehe Abbildung 1.5). Ich empfehle Ihnen, sich die Eigenschaften in alphabetischer Reihenfolge anzeigen zu lassen. Dazu einfach das zweite Symbol von links, unter Form1, betätigen. Der Projektmappen-Explorer (engl.: Solution Explorer) zeigt das geöffnete Projekt und die darin vorhandenen Elemente (siehe Abbildung 1.6). 20
19 1.4 Visual C# 2012-Entwicklungsumgebung 1 Abbildung 1.5 Eigenschaftenfenster Abbildung 1.6 Projektmappen-Explorer Sollten die Toolbox, das Eigenschaftenfenster oder der Projektmappen-Explorer einmal nicht sichtbar sein, so können Sie das betreffende Element über das Menü Ansicht einblenden. Sollte das Formular einmal nicht sichtbar sein, so können Sie es über einen Doppelklick auf den Namen (Form1.cs) im Projektmappen-Explorer einblenden. Anfangs schreiben Sie nur einfache Programme mit wenigen Elementen, daher benötigen Sie den Projektmappen-Explorer noch nicht. Es empfiehlt sich, das Eigenschaftenfenster nach oben zu vergrößern Einfügen von Steuerelementen Zunächst sollen drei Steuerelemente in das Formular eingefügt werden: ein Bezeichnungsfeld (Label) und zwei Befehlsschaltflächen (Buttons). Ein Bezeichnungsfeld dient im Allgemeinen dazu, feste oder veränderliche Label, Button 21
20 1 Einführung Texte auf der Benutzeroberfläche anzuzeigen. In diesem Programm soll das Label einen Text anzeigen. Ein Button dient zum Starten bestimmter Programmteile oder, allgemeiner ausgedrückt, zum Auslösen von Ereignissen. In diesem Programm sollen die Buttons dazu dienen, den Text anzuzeigen bzw. das Programm zu beenden. Allgemeine Steuerelemente Um ein Steuerelement einzufügen, ziehen Sie es mithilfe der Maus von der Toolbox an die gewünschte Stelle im Formular. Alle Steuerelemente finden sich in der Toolbox unter Alle Windows Forms. Übersichtlicher ist der Zugriff über Allgemeine Steuerelemente (engl.: Common Controls), siehe Abbildung 1.7. Abbildung 1.7 Toolbox, Allgemeine Steuerelemente Steuerelement auswählen Ein Doppelklick auf ein Steuerelement in der Toolbox fügt es ebenfalls in die Form ein. Anschließend können Ort und Größe noch verändert werden. Dazu wählen Sie das betreffende Steuerelement vorher durch Anklicken aus, siehe Abbildung 1.8. Ein überflüssiges Steuerelement können Sie durch Auswählen und Drücken der Taste (Entf) entfernen. Abbildung 1.8 Ausgewählter Button Die Größe und andere Eigenschaften des Formulars selbst können Sie auch verändern. Dazu wählen Sie es vorher durch Anklicken auf einer freien Stelle aus. 22
21 1.4 Visual C# 2012-Entwicklungsumgebung Arbeiten mit dem Eigenschaftenfenster Die eingefügten Steuerelemente haben zunächst einheitliche Namen und Aufschriften, diese sollten Sie allerdings zur einfacheren Programmentwicklung ändern. Es haben sich bestimmte Namenskonventionen eingebürgert, die die Lesbarkeit erleichtern. Diese Namen beinhalten den Typ (mit drei Buchstaben abgekürzt) und die Aufgabe des Steuerelements (mit großem Anfangsbuchstaben). 1 Ein Button (eigentlich: Command Button), der die Anzeige der Zeit auslösen soll, wird beispielsweise mit cmdzeit bezeichnet. Weitere Vorsilben sind txt (Textfeld/TextBox), lbl (Bezeichnungsfeld/Label), opt (Optionsschaltfläche/RadioButton), frm (Formular/Form) und chk (Kontrollkästchen/ CheckBox). cmd, txt, lbl,... Zur Änderung des Namens eines Steuerelements muss es zunächst ausgewählt werden. Das können Sie entweder durch Anklicken des Steuerelements auf dem Formular oder durch Auswahl aus der Liste am oberen Ende des Eigenschaftenfensters tun. Im Eigenschaftenfenster werden alle Eigenschaften des ausgewählten Steuerelements angezeigt. Die Liste ist zweispaltig: In der linken Spalte steht der Name der Eigenschaft, in der rechten Spalte ihr aktueller Wert. Die Eigenschaft (Name) steht am Anfang der Liste der Eigenschaften. Die betreffende Zeile wählen Sie durch Anklicken aus und geben hier den neuen Namen ein. Nach Bestätigung mit der Taste ( ) ist die Eigenschaft geändert, siehe Abbildung 1.9. Eigenschaftenfenster Abbildung 1.9 Button, nach der Namensänderung Die Aufschrift von Buttons, Labels und Formularen ist in der Eigenschaft Text angegeben. Sobald diese Eigenschaft verändert wird, erscheint die veränderte Aufschrift in dem betreffenden Steuerelement. Auch der Name Text 23
22 1 Einführung und die Aufschrift des Formulars sollten geändert werden. Im Folgenden sind die gewünschten Eigenschaften für die Steuerelemente dieses Programms in Tabellenform angegeben, siehe Tabelle 1.1. Typ Eigenschaft Einstellung Formular Text Mein erstes Programm Button Name cmdhallo Text Hallo Button Name cmdende Text Ende Label Name lblanzeige Text BorderStyle (leer) FixedSingle Tabelle 1.1 Steuerelemente mit Eigenschaften Startzustand Zu diesem Zeitpunkt legen Sie den Startzustand fest, also die Eigenschaften, die die Steuerelemente zu Beginn des Programms bzw. eventuell während des gesamten Programms haben sollen. Viele Eigenschaften können Sie auch während der Laufzeit des Programms durch den Programmcode verändern. Bei einem Label ergibt die Einstellung der Eigenschaft BorderStyle auf FixedSingle einen Rahmen. Zur Änderung auf FixedSingle klappen Sie die Liste bei der Eigenschaft auf und wählen den betreffenden Eintrag aus, siehe Abbildung Zur Änderung einiger Eigenschaften müssen Sie gegebenenfalls ein Dialogfeld aufrufen. Im Label soll zunächst der Text (leer) erscheinen. Hierzu wählen Sie den vorhandenen Text durch Anklicken aus und ändern ihn. Liste der Steuerelemente Sie finden alle in diesem Formular vorhandenen Steuerelemente in der Liste, die sich am oberen Ende des Eigenschaftenfensters öffnen lässt. Dabei zeigt sich ein Vorteil der einheitlichen Namensvergabe: Die Steuerelemente des gleichen Typs stehen direkt untereinander. 24
23 1.4 Visual C# 2012-Entwicklungsumgebung 1 Abbildung 1.10 Label, nach der Änderung von Name und BorderStyle Speichern eines Projekts Die Daten eines Visual C#-Projekts werden in verschiedenen Dateien gespeichert. Zum Speichern des gesamten Projekts verwenden Sie den Menüpunkt Datei Alle Speichern. Diesen Vorgang sollten Sie in regelmäßigen Abständen durchführen, damit keine Änderungen verloren gehen können. Alles speichern Die in diesem Skript angegebenen Namen dienen als Empfehlung, um die eindeutige Orientierung und das spätere Auffinden von alten Programmen zu erleichtern Das Codefenster Der Ablauf eines Windows-Programms wird im Wesentlichen durch das Auslösen von Ereignissen durch den Benutzer gesteuert. Er löst z. B. die Anzeige des Texts Hallo aus, indem er auf den Button Hallo klickt. Der Entwickler muss dafür sorgen, dass aufgrund dieses Ereignisses der gewünschte Text angezeigt wird. Zu diesem Zweck schreibt er Programmcode und ordnet diesen Code dem Ereignis zu. Der Code wird in einer Ereignismethode abgelegt. Zum Schreiben einer Ereignismethode führen Sie am besten einen Doppelklick auf das betreffende Steuerelement aus. Es erscheint das Codefenster. Zwischen der Formularansicht und der Codeansicht können Sie Ereignis Ereignismethode 25
24 1 Einführung anschließend über die Menüpunkte Ansicht Code bzw. Ansicht Designer hin- und herschalten. Dies ist auch über die Registerkarten oberhalb des Formulars bzw. des Codefensters möglich, siehe Abbildung Abbildung 1.11 Registerkarten Nach erfolgtem Doppelklick auf den Button Hallo erscheinen im Codefenster folgende Einträge: using System; using System.Drawing; using System.Windows.Forms; namespace MeinErstes public partial class Form1 : Form public Form1() InitializeComponent(); private void cmdhallo_click( object sender, EventArgs e) Listing 1.1 Projekt»MeinErstes«, Button»Hallo«, ohne Code Zur Erläuterung: Sie sollten sich nicht von der Vielzahl der automatisch erzeugten Zeilen und den noch unbekannten Inhalten verwirren lassen. 26
25 1.4 Visual C# 2012-Entwicklungsumgebung Zunächst das Wichtigste: Innerhalb der geschweiften Klammern der Ereignismethode cmdhallo_click() wird später Ihr eigener Programmcode hinzugefügt. 1 Zu den anderen Bestandteilen (die für das eigene Programmieren erst später wichtig sind): C# ist eine objektorientierte Sprache. Ein wichtiges Element objektorientierter Sprachen sind Klassen. Klassen eröffnen weitere Programmiermöglichkeiten. Namensräume beinhalten zusammengehörige Klassen. In obigem Listing können Sie erkennen, dass einige Programmzeilen, die mit using beginnen, bereits entfernt wurden. Das Schlüsselwort using dient zum Einbinden von Namensräumen in das aktuelle Projekt. Da wir die Klassen in diesen Namensräumen nicht benötigen, wurden die betreffenden Zeilen entfernt. Dieses erste Projekt verfügt über einen eigenen Namensraum (engl. namespace), daher namespace MeinErstes. Alle Elemente des aktuellen Formulars Form1 stehen innerhalb der öffentlich zugänglichen Klasse Form1, daher public class Form1. Ein Teil der Elemente steht in dieser Datei, ein anderer Teil, der ebenfalls automatisch erzeugt wurde, steht in einer anderen, hier nicht sichtbaren Datei; daher der Zusatz partial (dt. teilweise). Die Methode InitializeComponent() beinhaltet Programmzeilen, die für das Aussehen und Verhalten der Steuerelemente des Programms sorgen. Der Zusatz private bedeutet, dass die Ereignismethode cmdhallo- Click() nur in dieser Klasse bekannt ist. Mit void wird gekennzeichnet, dass diese Methode nur etwas ausführt, aber kein Ergebnis zurückliefert. Auf weitere Einzelheiten dieser automatisch erzeugten Bestandteile wird zu einem späteren Zeitpunkt eingegangen, da es hier noch nicht notwendig ist und eher verwirren würde. Namensraum using namespace public partial class private void Wie bereits erwähnt: Die Ereignismethode für den Klick auf den Button Hallo heißt cmdhallo_click(). Der Kopf der Methode ist sehr lang, daher wurde er für den Druck in diesem Buch auf mehrere Zeilen verteilt, wodurch auch die Lesbarkeit von Programmen erhöht wird: private void cmdhallo_click( object sender, EventArgs e) 27
26 1 Einführung Der anfänglich ausgeführte Doppelklick führt immer zu dem Ereignis, das am häufigsten mit dem betreffenden Steuerelement verbunden wird. Click Dies ist beim Button natürlich das Ereignis Click. Zu einem Steuerelement gibt es aber auch noch andere mögliche Ereignisse. Bei den nachfolgenden Programmen werden nicht mehr alle Teile des Programmcodes im Buch abgebildet, sondern nur noch die Teile, die vom Entwickler per Code-Eingabe erzeugt werden, und die Teile des automatisch erzeugten Codes, die wichtig für das Verständnis sind. Den vollständigen Programmcode können Sie jederzeit betrachten, wenn Sie die Beispiel-Projekte laden bzw. ausprobieren Schreiben von Programmcode In der Methode cmdhallo_click() soll eine Befehlszeile eingefügt werden, so dass sie anschließend wie folgt aussieht: private void cmdhallo_click( object sender, EventArgs e) lblanzeige.text = "Hallo"; Listing 1.2 Projekt»MeinErstes«, Button»Hallo«, mit Code Der Text muss in Anführungszeichen gesetzt werden, da C# sonst annimmt, dass es sich um eine Variable mit dem Namen Hallo handelt. Anweisung Zuweisung Der Inhalt einer Methode setzt sich aus einzelnen Anweisungen zusammen, die nacheinander ausgeführt werden. Die vorliegende Methode enthält nur eine Anweisung; in ihr wird mithilfe des Gleichheitszeichens eine Zuweisung durchgeführt. Bei einer Zuweisung wird der Ausdruck rechts vom Gleichheitszeichen ausgewertet und der Variablen, der Objekt-Eigenschaft oder der Steuerelement-Eigenschaft links vom Gleichheitszeichen zugewiesen. Die Zeichenkette Hallo wird der Eigenschaft Text des Steuerelements lblanzeige mithilfe der Schreibweise Steuerelement.Eigenschaft = Wert zugewiesen. Dies führt zur Anzeige des Werts. 28
27 1.4 Visual C# 2012-Entwicklungsumgebung Nach dem Wechsel auf die Formularansicht können Sie das nächste Steuerelement auswählen, für das eine Ereignismethode geschrieben werden soll. 1 Innerhalb des Codefensters kann Text mit den gängigen Methoden der Textverarbeitung editiert, kopiert, verschoben und gelöscht werden. Code editieren In der Ereignismethode cmdende_click() soll der folgende Code stehen: private void cmdende_click( object sender, EventArgs e) Close(); Listing 1.3 Projekt»MeinErstes«, Button»Ende«Die Methode Close() dient zum Schließen eines Formulars. Da es sich um das einzige Formular dieses Projekts handelt, wird dadurch das Programm beendet und die gesamte Windows-Anwendung geschlossen. Close() Dies waren Beispiele zur Änderung der Eigenschaften eines Steuerelements zur Laufzeit des Programms durch Programmcode. Sie erinnern sich: Zu Beginn hatten wir die Start-Eigenschaften der Steuerelemente im Eigenschaftenfenster eingestellt Kommentare Bei längeren Programmen mit vielen Anweisungen gehört es zum guten Programmierstil, Kommentarzeilen zu schreiben. In diesen Zeilen werden einzelne Anweisungen oder auch längere Blöcke von Anweisungen erläutert, damit Sie selbst oder auch ein anderer Programmierer sie später leichter verstehen. Alle Zeichen innerhalb eines Kommentars werden nicht übersetzt oder ausgeführt. Ein Kommentar beginnt mit der Zeichenkombination /*, endet mit der Zeichenkombination */ und kann sich über mehrere Zeilen erstrecken. Eine andere Möglichkeit ergibt sich durch die Zeichenkombination //. Ein solcher Kommentar erstreckt sich nur bis zum Ende der Zeile. /* Kommentar */ // Kommentar Der folgende Programmcode wurde um einen Kommentar ergänzt: 29
28 1 Einführung private void cmdende_click( object sender, EventArgs e) /* Diese Anweisung beendet das Programm */ Close(); Listing 1.4 Projekt»MeinErstes«, Button»Ende«, mit Kommentar Code auskommentieren Ein kleiner Trick: Sollen bestimmte Programmzeilen für einen Test des Programms kurzfristig nicht ausgeführt werden, können Sie sie auskommentieren, indem Sie die Zeichenkombination // vor die betreffenden Zeilen setzen. Dies geht sehr schnell, indem Sie die betreffende(n) Zeile(n) markieren und anschließend das entsprechende Symbol im linken Bereich der Symbolleiste anklicken, siehe Abbildung Rechts daneben befindet sich das Symbol, das die Auskommentierung nach dem Test wieder rückgängig macht. Abbildung 1.12 Kommentar ein/aus Starten, Ausführen und Beenden des Programms Programm starten Programm beenden Fehler Nach dem Einfügen der Steuerelemente und dem Erstellen der Ereignismethoden ist das Programm fertig und kann gestartet werden. Dazu betätigen Sie den Start-Button in der Symbolleiste (dreieckiger Pfeil nach rechts). Alternativ starten Sie das Programm über die Funktionstaste (F5) oder den Menüpunkt Debuggen Debugging Starten. Das Formular erscheint, das Betätigen der Buttons führt zum programmierten Ergebnis. Zur regulären Beendigung eines Programms ist der Button mit der Aufschrift Ende vorgesehen. Möchten Sie ein Programm während des Verlaufs abbrechen, können Sie auch den End-Button in der Symbolleiste (Quadrat) betätigen. Tritt während der Ausführung eines Programms ein Fehler auf, so werden Sie hierauf hingewiesen, und das Codefenster zeigt die entsprechende Ereignismethode sowie die fehlerhafte Zeile an. In diesem Fall beenden Sie das Programm, korrigieren Sie den Code und starten Sie das Programm wieder. 30
29 1.4 Visual C# 2012-Entwicklungsumgebung Es ist empfehlenswert, das Programm bereits während der Entwicklung mehrmals durch Aufruf zu testen und nicht erst, wenn das Programm vollständig erstellt worden ist. Geeignete Zeitpunkte sind zum Beispiel: Programm testen 1 nach dem Einfügen der Steuerelemente und dem Zuweisen der Eigenschaften, die Sie zu Programmbeginn benötigen nach dem Erstellen jeder Ereignismethode Ausführbares Programm Nach erfolgreichem Test des Programms können Sie die ausführbare Datei (.exe-datei) auch außerhalb der Entwicklungsumgebung aufrufen. Haben Sie an den Grundeinstellungen nichts verändert und die vorgeschlagenen Namen verwendet, so findet sich die zugehörige.exe-datei des aktuellen Projekts im Verzeichnis Eigene Dateien\Visual Studio 2012\Projects\Mein- Erstes\MeinErstes\bin\Debug. Das Programm kann also im Windows- Explorer direkt über Doppelklick gestartet werden..exe-datei Die Weitergabe eines eigenen Windows-Programms auf einen anderen PC ist etwas aufwendiger. Der Vorgang wird in Abschnitt A.5 beschrieben Projekt schließen, Projekt öffnen Sie können ein Projekt schließen über den Menüpunkt Datei Projektmappe schliessen. Falls Sie Veränderungen vorgenommen haben, werden Sie gefragt, ob Sie diese Änderungen speichern möchten. Projekt schließen Möchten Sie die Projektdaten sicherheitshalber zwischendurch speichern, so ist dies über den Menüpunkt Datei Alle speichern möglich. Dies ist bei längeren Entwicklungsphasen sehr zu empfehlen. Zum Öffnen eines vorhandenen Projekts wählen Sie den Menüpunkt Datei Projekt öffnen. Im darauf folgenden Dialogfeld Projekt öffnen wählen Sie zunächst das gewünschte Projektverzeichnis aus und anschließend die gleichnamige Datei mit der Endung.sln. Projekt öffnen Übung Erstellen Sie ein Windows-Programm mit einem Formular, das zwei Buttons und ein Label beinhaltet, siehe Abbildung Bei Betätigung des ers- Übung ÜName 31
30 1 Einführung ten Buttons erscheint im Label Ihr Name. Bei Betätigung des zweiten Buttons wird das Programm beendet. Namensvorschläge: Projektname ÜName, Buttons cmdmyname und cmdende, Label lblmyname. Abbildung 1.13 Übung ÜName Empfehlungen für Zeilenumbrüche Zeilenumbruch Zeilenumbrüche erhöhen die Lesbarkeit des Programmcodes. Sie können nicht an jeder Stelle einer Anweisung durchgeführt werden. Nachfolgend werden einige Stellen empfohlen: nach einer öffnenden Klammer, wie bereits gezeigt vor einer schließenden Klammer nach einem Komma nach den meisten Operatoren, also auch nach dem Zuweisungsoperator (=) hinter lblanzeige.text, siehe Abschnitt 2.2 nach einem Punkt hinter einem Objektnamen, also auch nach dem Punkt hinter dem Objektnamen lblanzeige Auf keinen Fall dürfen Sie einen Zeilenumbruch innerhalb einer Zeichenkette durchführen. 1.5 Arbeiten mit Steuerelementen Steuerelemente formatieren Hilfslinien Zur besseren Anordnung der Steuerelemente auf dem Formular können Sie sie mithilfe der Maus nach Augenmaß verschieben. Dabei erscheinen automatisch Hilfslinien, falls das aktuelle Element horizontal oder vertikal parallel zu einem anderen Element steht. 32
31 1.5 Arbeiten mit Steuerelementen Weitere Möglichkeiten bieten die Menüpunkte im Menü Format. In vielen Fällen müssen vorher mehrere Steuerelemente auf einmal markiert werden, siehe Abbildung Mehrere Steuerelemente markieren 1 Abbildung 1.14 Mehrere markierte Elemente Dies geschieht entweder durch Umrahmung der Elemente mit einem Rechteck, nachdem Sie zuvor das Steuerelement Zeiger ausgewählt haben, oder durch Mehrfachauswahl, indem Sie ab dem zweiten auszuwählenden Steuerelement die (ª)-Taste (wie für Großbuchstaben) oder die (Strg)- Taste gedrückt halten. Über das Menü Format haben Sie anschließend folgende Möglichkeiten zur Anpassung der Steuerelemente: Menü»Format«Die ausgewählten Steuerelemente können horizontal oder vertikal zueinander ausgerichtet werden (Menü Format Ausrichten). Die horizontalen und/oder vertikalen Dimensionen der ausgewählten Steuerelemente können angeglichen werden (Menü Format Grösse angleichen). Die horizontalen und vertikalen Abstände zwischen den ausgewählten Steuerelementen können angeglichen, vergrößert, verkleinert oder entfernt werden (Menü Format Horizontaler Abstand/Vertikaler Abstand). Die Steuerelemente können horizontal oder vertikal innerhalb des Formulars zentriert werden (Menü Format auf Formular zentrieren). Einheitliche Abstände 33
32 1 Einführung Sollten sich die Steuerelemente teilweise überlappen, können Sie einzelne Steuerelemente in den Vorder- bzw. Hintergrund schieben (Menü Format Reihenfolge). Sie können alle Steuerelemente gleichzeitig gegen versehentliches Verschieben absichern (Menü Format Steuerelemente Sperren). Diese Sperrung gilt nur während der Entwicklung des Programms. Abbildung 1.15 zeigt ein Formular mit drei Buttons, die alle links ausgerichtet sind und im gleichen vertikalen Abstand voneinander stehen. Abbildung 1.15 Nach der Formatierung Übung Laden Sie das Projekt MeinErstes aus Abschnitt 1.3, markieren Sie darin mehrere Steuerelemente, und testen Sie die einzelnen Möglichkeiten des Format-Menüs Steuerelemente kopieren Steuerelemente kopieren Zur schnelleren Erzeugung eines Projekts können vorhandene Steuerelemente einschließlich aller ihrer Eigenschaften kopiert werden. Markieren Sie hierzu die gewünschten Steuerelemente und kopieren Sie sie entweder über das Menü Bearbeiten Kopieren und das Menü Bearbeiten Einfügen oder mit den Tasten (Strg) + (C) und (Strg) + (V). Anschließend sollten Sie die neu erzeugten Steuerelemente direkt umbenennen und an der gewünschten Stelle anordnen. 34
33 1.5 Arbeiten mit Steuerelementen Übung Laden Sie das Projekt MeinErstes aus Abschnitt 1.3 und kopieren Sie einzelne Steuerelemente. Kontrollieren Sie anschließend die Liste der vorhandenen Steuerelemente im Eigenschaftenfenster auf einheitliche Namensgebung Eigenschaften zur Laufzeit ändern Steuerelemente haben die Eigenschaften Size (mit den Komponenten Width und Height) und Location (mit den Komponenten X und Y) zur Angabe von Größe und Position. X und Y geben die Koordinaten der oberen linken Ecke des Steuerelements an, gemessen von der oberen linken Ecke des umgebenden Elements (meist das Formular). Alle Werte werden in Pixeln gemessen. Size, Location Alle diese Eigenschaften können sowohl während der Entwicklungszeit als auch während der Laufzeit eines Projekts verändert werden. Zur Änderung während der Entwicklungszeit können Sie die Eigenschaftswerte wie gewohnt im Eigenschaftenfenster eingeben. Als Beispiel für Änderungen während der Laufzeit soll das folgende Programm (Projekt Steuerelemente) dienen, siehe Abbildung Abbildung 1.16 Position und Größe bestimmen Es wird nachfolgend generell nur der Teil des Programmcodes angezeigt, der verändert wurde: private void cmdpositionrel_click(...) cmdtest.location = new Point( cmdtest.location.x + 20, 35
34 1 Einführung cmdtest.location.y); private void cmdpositionabs_click(...) cmdtest.location = new Point(100, 200); private void cmdgrößerel_click(...) cmdtest.size = new Size( cmdtest.size.width + 20, cmdtest.size.height); private void cmdgrößeabs_click(...) cmdtest.size = new Size(50, 100); Listing 1.5 Projekt»Steuerelemente«Zur Erläuterung: Verkürzte Darstellung Der Kopf der einzelnen Methoden wurde aus Gründen der Übersichtlichkeit jeweils in verkürzter Form abgebildet. Dies wird bei den meisten nachfolgenden Beispielen ebenfalls so sein, außer wenn es genau auf die Inhalte des Methodenkopfs ankommt. Das Formular enthält fünf Buttons. Die oberen vier Buttons dienen zur Veränderung von Position und Größe des fünften Buttons. Die Position eines Elements kann relativ zur aktuellen Position oder auf absolute Werte eingestellt werden. Das Gleiche gilt für die Größe eines Elements. Bei beiden Angaben handelt es sich um Wertepaare (X/Y bzw. Breite/ Höhe). new Point Zur Einstellung der Position dient die Struktur Point. Ein Objekt dieser Struktur liefert ein Wertepaar. In diesem Programm wird mit new jeweils ein neues Objekt der Struktur Point erzeugt, um das Wertepaar bereitzustellen. 36
35 1.5 Arbeiten mit Steuerelementen Bei Betätigung des Buttons Position Abs wird die Position des fünften Buttons auf die Werte X=100 und Y=200 gestellt, gemessen von der linken X, Y 1 oberen Ecke des Formulars. Bei Betätigung des Buttons Position Rel wird die Position des fünften Buttons auf die Werte X = cmdtest.location.x + 20 und Y = cmdtest.location.y gestellt. Bei X wird also der alte Wert der Komponente X um 20 erhöht, das Element bewegt sich nach rechts. Bei Y wird der alte Wert der Komponente Y nicht verändert, das Element bewegt sich nicht nach oben oder unten. Zur Einstellung der Größe dient die Struktur Size. Size Bei Betätigung des Buttons Grösse Abs wird die Größe des fünften But- Width, Height tons auf die Werte Width = 50 und Height = 100 gestellt. Bei Betätigung des Buttons Grösse Rel wird die Größe des fünften Buttons auf die Werte Width = cmdtest.size.width + 20 und Height = cmdtest. Size.Height gestellt. Bei Width wird also der alte Wert der Komponente Width um 20 erhöht, das Element wird breiter. Bei Height wird der alte Wert der Komponente Height nicht verändert, das Element verändert seine Höhe nicht. Nach einigen Klicks sieht das Formular aus wie in Abbildung Abbildung 1.17 Veränderung von Eigenschaften zur Laufzeit Vergabe und Verwendung von Namen Beachten Sie in allen Programmen, dass jedes Steuerelement seinen eigenen, eindeutigen Namen hat und immer mit diesem Namen angesprochen werden muss. Es passiert erfahrungsgemäß besonders am Anfang häufig, dass ein Programm nicht zum gewünschten Erfolg führt, weil ein nicht vor- 37
36 1 Einführung handener Name verwendet wurde. In diesem Zusammenhang weise ich noch einmal auf die Namenskonventionen hin: Buttons sollten Namen, wie z. B. cmdende, cmdanzeigen, cmdberechnen usw., haben. Labels sollten Namen, wie z. B. lblanzeige, lblname, lbluhrzeit, lbl- BeginnDatum, haben. Diese Namen liefern eine eindeutige Information über Typ und Funktion des Steuerelements. Falls Sie beim Schreiben von Programmcode anschließend diese Namen z. B. vollständig in Kleinbuchstaben eingeben, werden sie nach Verlassen der Zeile darauf aufmerksam gemacht. Sie können schnell erkennen, ob Sie tatsächlich ein vorhandenes Steuerelement verwendet haben Verknüpfung von Texten, mehrzeilige Texte + und \n Es können mehrere Texte in einer Ausgabe mithilfe des Zeichens + miteinander verknüpft werden. Falls Sie eine mehrzeilige Ausgabe wünschen, können Sie einen Zeilenvorschub mithilfe des Textes "\n" (für new line) erzeugen. Nachfolgend wird das Projekt Steuerelemente ergänzt um ein Label, in dem die aktuelle Position und Größe des Buttons angezeigt werden. Dies soll nach Betätigung des Buttons Anzeige geschehen: private void cmdanzeige_click(...) lblanzeige.text = "Position: X: " + cmdtest.location.x + ", Y: " + cmdtest.location.y + "\n" + "Größe: Breite: " + cmdtest.size.width + ", Höhe: " + cmdtest.size.height; Listing 1.6 Projekt»Steuerelemente«, mit Anzeige Nach einigen Klicks und der Betätigung des Buttons Anzeige sieht das Formular aus wie in Abbildung
37 1.5 Arbeiten mit Steuerelementen 1 Abbildung 1.18 Anzeige der Eigenschaften Eigenschaft BackColor, Farben allgemein Die Hintergrundfarbe eines Steuerelements wird mit der Eigenschaft Back- Color festgelegt. Dabei können Sie die Farbe zur Entwicklungszeit leicht mithilfe einer Farbpalette oder aus Systemfarben auswählen. Hintergrundfarben und andere Farben können Sie auch zur Laufzeit einstellen. Dabei bedienen Sie sich der Farbwerte, die Sie über die Struktur Color auswählen. BackColor Color Ein Beispiel, ebenfalls im Projekt Steuerelemente: private void cmdfarbe_click(...) BackColor = Color.Yellow; lblanzeige.backcolor = Color.FromArgb(192, 255, 0); Listing 1.7 Projekt»Steuerelemente«, mit Farben Zur Erläuterung: Diese Struktur bietet vordefinierte Farbnamen als Eigenschaften, z. B. Yellow. Der Wert kann der Eigenschaft BackColor des Steuerelements zugewiesen werden, hier ist dies das Formular selbst. Außerdem bietet die Struktur die Methode FromArgb(). Diese können Sie auf verschiedene Arten aufrufen. Eine dieser Arten erwartet genau drei Parameter, nämlich die Werte für Rot, Grün und Blau, jeweils zwischen 0 und 255. FromArgb() Das Formular sieht nach der Änderung der Eigenschaft Farbe aus wie in Abbildung
38 1 Einführung Abbildung 1.19 Nach Änderung der Eigenschaft»Farbe«40
39 Kapitel 11 Beispielprojekte Als weiterführende Übungsaufgaben werden in diesem Kapitel zwei lauffähige Beispielprojekte vorgeführt. Haben Sie den geschilderten Aufbau verstanden, können Sie später eigene Verbesserungen oder Erweiterungen einbringen. Bei den beiden Beispielprojekten handelt es sich zum einen um das bekannte Tetris-Spiel und zum anderen um einen Vokabeltrainer Spielprogramm Tetris Im Folgenden wird das bekannte Spielprogramm Tetris in einer vereinfachten, nachvollziehbaren Version für Visual C# realisiert und erläutert. Das Programm beinhaltet: ein zweidimensionales Feld einen Timer einen Zufallsgenerator die Erzeugung und Löschung von Steuerelementen zur Laufzeit die Zuordnung von Ereignismethoden zu Steuerelementen, die erst zur Laufzeit erzeugt werden Abbildung 11.1 zeigt die Benutzeroberfläche des Programms Spielablauf Nach Programmstart fällt ein Steuerelement vom Typ Panel in einer von acht möglichen Farben so weit herunter, bis es auf den Rand des Spielfelds oder auf ein anderes Panel trifft. Es kann mithilfe der drei Buttons»Links«(Li),»Rechts«(Re) und»drop«(dr) bewegt werden.»drop«bewirkt ein sofortiges Absenken des Panels auf die unterste mögliche Position. Panel fällt herunter 457
40 11 Beispielprojekte Abbildung 11.1 Tetris Nächstes Level Ende Falls sich drei gleichfarbige Panels untereinander oder nebeneinander befinden, so verschwinden sie. Panels, die sich eventuell darüber befinden, rutschen nach. Anschließend wird die Fallgeschwindigkeit der Panels erhöht, das heißt, die Schwierigkeitsstufe wird gesteigert, man gelangt zum nächsten Level. Sobald ein Panel nur noch in der obersten Zeile platziert werden kann, ist das Spiel zu Ende. Ziel des Spiels ist es, so viele Panels wie möglich zu platzieren. Mit dem Button Pause kann das Spiel unterbrochen werden, eine erneute Betätigung des Buttons lässt das Spiel weiterlaufen Programmbeschreibung Hilfsfeld Der Kasten, in dem sich die fallenden Panels befinden, ist 8 Spalten breit und 13 Zeilen hoch. Als Hilfskonstruktion steht das zweidimensionale Feld F mit 10 Spalten und 15 Zeilen zur Verfügung, in dem jedes existierende Panel mit seiner laufenden Nummer vermerkt ist. 458
41 11.1 Spielprogramm Tetris Ze / Sp Tabelle 11.1 Spielfeld Im Beispiel in Tabelle 11.1 wird der Inhalt des Felds F nach den Panels 0 bis 11, also nach zwölf gefallenen Panels angezeigt. Die Panels 1, 6 und 7 hatten die gleiche Farbe, standen über- oder nebeneinander und sind deshalb schon verschwunden. Die Randelemente werden zu Spielbeginn mit dem Wert der Konstanten Rand=-2 besetzt. Alle Elemente des Felds F, die kein Panel enthalten, also leer sind, haben den Wert der Konstanten Leer= Steuerelemente Es gibt zu Beginn des Programms folgende Steuerelemente: vier Buttons für Links, Rechts, Drop und Pause drei Panels als Begrenzungslinien des Spielfelds 459
42 11 Beispielprojekte Timer einen Timer, der das aktuelle Panel automatisch weiter fallen lässt (Startwert für den Zeitintervall: 500ms) Im Verlauf des Programms werden weitere Steuerelemente vom Typ Panel hinzugefügt bzw. wieder entfernt Initialisierung des Programms Sie müssen die Namensräume System.Collections (für eine ArrayList) und System.Drawing (für Positionsänderungen von Steuerelementen) einbinden. Zu Beginn des Programms werden die klassenweit gültigen Variablen und Konstanten vereinbart und die Form1_Load-Methode durchlaufen: public partial class Form1 : Form... /* Index des aktuellen Panels */ int PX; /* Gesamtes Spielfeld inkl. Randfelder */ int[,] F = new int[15, 10]; /* Zeile und Spalte des aktuellen Panels */ int PZ, PS; /* Schwierigkeitsstufe */ int Stufe; /* Eine zunächst leere Liste von Spiel-Panels */ ArrayList PL = new ArrayList(); /* Ein Feld von Farben für die Panels */ Color[] FarbenFeld = Color.Red, Color.Yellow, Color.Green, Color.Blue, Color.Cyan, Color.Magenta, Color.Black, Color.White; /* Konstanten für Status eines Feldpunktes */ const int Leer = 1; const int Rand = 2; 460
43 11.1 Spielprogramm Tetris /* Zufallsgenerator erzeugen und initialisieren */ Random r = new Random(); private void Form1_Load(...) int Z, S; /* Feld besetzen */ for (Z=1; Z<14; Z++) F[Z, 0] = Rand; for (S=1; S<9; S++) F[Z, S] = Leer; F[Z, 9] = Rand; 11 for (S=0; S<10; S++) F[14, S] = Rand;... /* Initialisierung */ Stufe = 1; NächstesPanel(); Listing 11.1 Projekt»Tetris«, Variablen, Konstanten, Start Zur Erläuterung der klassenweit gültigen Variablen und Konstanten: Die laufende Nummer (der Index) des aktuell fallenden Panels wird in der Variablen PX festgehalten. Das gesamte Spielfeld, das in Abschnitt schematisch dargestellt wurde, wird im zweidimensionalen Feld F gespeichert. Die Variablen PZ und PS beinhalten die Zeilen- und Spalten-Position des aktuell fallenden Panels innerhalb des Spielfelds. Die Variable Stufe kennzeichnet den Schwierigkeitsgrad des Spiels. Jedes Mal, wenn drei Panels, die untereinander oder nebeneinander lagen, gelöscht wurden, wird die Stufe um 1 erhöht. Dies sorgt für ein kürzeres Timer-Intervall, die Panels werden schneller. Hilfsfeld Level 461
44 11 Beispielprojekte Liste von Panels PL ist eine ArrayList von Steuerelementen vom Typ Panel. ArrayLists können beliebige Objekte enthalten. Dies können Variablen, Objekte eigener Klassen oder, wie hier, Steuerelemente, also Objekte vorhandener Klassen, sein. Zu Beginn ist die ArrayList leer. Das Feld FarbenFeld enthält insgesamt acht Farben. Die Farben der Panels werden per Zufallsgenerator ermittelt. Die Konstanten Leer und Rand werden erzeugt. Die Namen der Konstanten sind im Programm leichter lesbar als die Werte 1 bzw. 2. Für die Farbauswahl wird der Zufallsgenerator bereitgestellt. Zur Erläuterung der Form1_Load-Methode: Die Elemente des oben beschriebenen Hilfsfelds F werden mit Leer bzw. Rand besetzt. Die Schwierigkeitsstufe wird auf 1 gesetzt. Erstes Panel Es wird die Methode NächstesPanel() aufgerufen. Sie ist in diesem Fall für die Erzeugung des ersten fallenden Panels zuständig Erzeugen eines neuen Panels Die Methode NächstesPanel() dient zur Erzeugung eines neuen fallenden Panels. Dies geschieht zu Beginn des Spiels und nachdem ein Panel auf dem unteren Rand des Spielfelds oder auf einem anderen Panel zum Stehen gekommen ist. Der Code lautet: private void NächstesPanel() int Farbe; Panel p = new Panel(); /* Neues Panel zur ArrayList hinzufügen */ PL.Add(p); /* Neues Panel platzieren */ p.location = new Point(100, 80); p.size = new Size(20, 20); /* Farbauswahl für neues Panel */ Farbe = r.next(0,8); p.backcolor = FarbenFeld[Farbe]; 462
45 11.1 Spielprogramm Tetris /* Neues Panel zum Formular hinzufügen */ Controls.Add(p); /* Index für späteren Zugriff ermitteln */ PX = PL.Count 1; /* Aktuelle Zeile, Spalte */ PZ = 1; PS = 5; Listing 11.2 Projekt»Tetris«, Methode NächstesPanel Zur Erläuterung: Es wird ein Objekt vom Typ Panel neu erzeugt. 11 Damit darauf auch außerhalb der Methode zugegriffen werden kann, wird ein Verweis auf dieses Panel mithilfe der Methode Add() der Array- List PL hinzugefügt. Es werden die Eigenschaften Ort, Größe und Farbe des neuen Panels bestimmt. Das Panel wird mithilfe der Methode Add() zu der Collection Controls hinzugefügt. Dies ist eine Liste der Steuerelemente des Formulars. Dadurch wird das Panel sichtbar. Seine laufende Nummer (der Index) wird mithilfe der Eigenschaft Count ermittelt. Diese Nummer wird für den späteren Zugriff benötigt. Die Variablen PZ und PS, die die Position des aktuell fallenden Panels im Spielfeld F angeben, werden gesetzt. Neues Listenelement Neues Steuerelement Der Zeitgeber In regelmäßigen Zeitabständen wird das Timer-Ereignis erzeugt und damit die Ereignismethode timt_tick() aufgerufen. Diese sorgt dafür, dass sich das aktuelle Panel nach unten bewegt, falls dies noch möglich ist: private void timt_tick(...) /* Falls es nicht mehr weiter geht */ if (F[PZ + 1, PS]!= Leer) 463
46 11 Beispielprojekte /* Oberste Zeile erreicht */ if (PZ == 1) timt.enabled = false; MessageBox.Show("Das war's"); return; F[PZ, PS] = PX; // Belegen AllePrüfen(); NächstesPanel(); else /* Falls es noch weiter geht */ Panel p = (Panel) PL[PX]; p.top = p.top + 20; PZ = PZ + 1; Listing 11.3 Projekt»Tetris«, Zeitgeber Zur Erläuterung: Zunächst wird geprüft, ob sich unterhalb des aktuellen Panels noch ein freies Feld befindet. Ist dies nicht der Fall, so hat das Panel seine Endposition erreicht. Endposition Befindet sich diese Endposition in der obersten Zeile, so ist das Spiel zu Ende. Der Timer wird deaktiviert, anderenfalls würden weitere Panels erzeugt. Es erscheint eine Meldung, und die Methode wird unmittelbar beendet. Will der Spieler erneut beginnen, so muss er das Programm beenden und neu starten. Befindet sich die Endposition nicht in der obersten Zeile, so wird die Panelnummer im Feld F mit der aktuellen Zeile und Spalte vermerkt. Dies dient zur Kennzeichnung eines belegten Feldelements. Prüfen Die Methode AllePrüfen() wird aufgerufen (siehe unten), um festzustellen, ob es drei gleichfarbige Panels über- oder nebeneinander gibt. Anschließend wird das nächste Panel erzeugt. 464
47 11.1 Spielprogramm Tetris Befindet sich unterhalb des Panels noch ein freies Feld, so kann das Panel weiter fallen. Seine Koordinaten und die aktuelle Zeilennummer werden verändert. Weiter fallen Panels löschen Die Methode AllePrüfen() ist eine rekursive Methode, mit deren Hilfe festgestellt wird, ob es drei gleichfarbige Panels nebeneinander oder übereinander gibt. Ist dies der Fall, werden diese Panels entfernt und die darüberliegenden Panels rutschen nach. Rekursive Methode Möglicherweise befinden sich nun wieder drei gleichfarbige Panels nebeneinander oder übereinander, es muss also wiederum geprüft werden. Dies geschieht so lange, bis keine drei gleichfarbigen Panels nebeneinander oder übereinander gefunden werden. 11 Die Methode AllePrüfen() bedient sich intern der beiden Methoden Neben- Prüfen() und ÜberPrüfen(): private void AllePrüfen() int Z, S; bool Neben, Über; Neben = false; Über = false; /* Drei gleiche Panels nebeneinander? */ for(z=13; Z>0; Z--) for(s=1; S<7; S++) Neben = NebenPrüfen(Z, S); if (Neben) break; if (Neben) break; /* Drei gleiche Panels übereinander? */ for(z=13; Z>2; Z--) for(s=1; S<9; S++) 465
48 11 Beispielprojekte Über = ÜberPrüfen(Z, S); if (Über) break; if (Über) break; if (Neben Über) /* Schneller */ Stufe = Stufe + 1; timt.interval = 5000 / (Stufe + 9); /* Eventuell kann jetzt noch eine Reihe entfernt werden */ AllePrüfen(); /* Falls 3 Felder nebeneinander besetzt */ private bool NebenPrüfen(int Z, int S) int ZX, SX; bool ergebnis = false; if (F[Z, S]!= Leer && F[Z, S + 1]!= Leer && F[Z, S + 2]!= Leer) Panel p = (Panel) PL[F[Z, S]]; Panel p1 = (Panel) PL[F[Z, S + 1]]; Panel p2 = (Panel) PL[F[Z, S + 2]]; /* Falls drei Farben gleich */ if (p.backcolor == p1.backcolor && p.backcolor == p2.backcolor) for(sx=s; SX<S+3; SX++) /* PL aus dem Formular löschen */ Control c = (Control) PL[F[Z, SX]]; Controls.Remove(c); 466
49 11.1 Spielprogramm Tetris /* Feld leeren */ F[Z, SX] = Leer; /* Panels oberhalb des entladenen Panels absenken */ ZX=Z 1; while (F[ZX, SX]!= Leer) Panel px = (Panel) PL[F[ZX, SX]]; px.top = px.top + 20; /* Feld neu besetzen */ F[ZX + 1, SX] = F[ZX, SX]; F[ZX, SX] = Leer; ZX = ZX 1; 11 ergebnis = true; return ergebnis; /* Falls drei Felder übereinander besetzt */ private bool ÜberPrüfen(int Z, int S) int ZX; bool ergebnis = false; if (F[Z, S]!= Leer && F[Z 1, S]!= Leer && F[Z 2, S]!= Leer) Panel p = (Panel) PL[F[Z, S]]; Panel p1 = (Panel) PL[F[Z 1, S]]; Panel p2 = (Panel) PL[F[Z 2, S]]; /* Falls drei Farben gleich */ if (p.backcolor == p1.backcolor && p.backcolor == p2.backcolor) 467
50 11 Beispielprojekte /* 3 Panels entladen */ for (ZX=Z; ZX>Z-3; ZX--) /* PL aus dem Formular löschen */ Control c = (Control) PL[F[ZX, S]]; Controls.Remove(c); /* Feld leeren */ F[ZX, S] = Leer; ergebnis = true; return ergebnis; Listing 11.4 Projekt»Tetris«, Panels löschen Zur Erläuterung: Die Variablen Neben und Über kennzeichnen die Tatsache, dass drei gleichfarbige Panels neben- oder übereinander gefunden wurden. Sie werden zunächst auf false gesetzt. Nebeneinander Zunächst wird geprüft, ob sich drei gleichfarbige Panels nebeneinander befinden. Dies geschieht, indem für jedes einzelne Feldelement in der Methode NebenPrüfen() geprüft wird, ob es selbst und seine beiden rechten Nachbarn mit einem Panel belegt sind, und ob diese Panels gleichfarbig sind. Die Prüfung beginnt beim Panel unten links und setzt sich bis zum drittletzten Panel der gleichen Zeile fort. Anschließend werden die Panels in der Zeile darüber geprüft usw. Panels löschen Sobald eine Reihe gleichfarbiger Panels gefunden wurde, werden alle drei Panels mithilfe der Methode Remove() aus der Collection der Steuerelemente des Formulars gelöscht, d. h., sie verschwinden aus dem Formular. Ihre Position im Feld F wird mit 1 (= Leer) besetzt. Nun müssen noch alle Panels, die sich eventuell oberhalb der drei Panels befinden, um eine Position abgesenkt werden. Die Variable Neben wird auf true gesetzt. Die doppelte Schleife wird sofort verlassen. Übereinander Analog wird nun in der Methode ÜberPrüfen() geprüft, ob sich drei gleichfarbige Panels übereinander befinden. Ist dies der Fall, so werden 468
51 11.1 Spielprogramm Tetris sie aus der Collection der Steuerelemente des Formulars gelöscht. Ihre Positionen im Feld F werden mit 1 besetzt. Über den drei Panels können sich keine weiteren Panels befinden, die entfernt werden müssten. Falls durch eine der beiden Prüfungen eine Reihe gefunden und entfernt wurde, so wird die Schwierigkeitsstufe erhöht und das Timer-Intervall verkürzt. Nun muss geprüft werden, ob sich durch das Nachrutschen von Panels wiederum ein Bild mit drei gleichfarbigen Panels über- oder nebeneinander ergeben hat. Die Methode AllePrüfen() ruft sich also so lange selbst auf (rekursive Methode), bis keine Reihe mehr gefunden wird. Rekursiv Panels seitlich bewegen Mithilfe der beiden Ereignismethoden cmdlinks_click() und cmdrechts_ Click() werden die Panels nach links bzw. rechts bewegt, falls dies möglich ist: private void cmdlinks_click(...) if (F[PZ, PS 1] == Leer) Panel p = (Panel) PL[PX]; p.left = p.left 20; PS = PS 1; private void cmdrechts_click(...) if (F[PZ, PS + 1] == Leer) Panel p = (Panel) PL[PX]; p.left = p.left + 20; PS = PS + 1; 11 Listing 11.5 Projekt»Tetris«, Panels seitlich bewegen Zur Erläuterung: Es wird geprüft, ob sich links bzw. rechts vom aktuellen Panel ein freies Feldelement befindet. Ist dies der Fall, so wird das Panel nach links bzw. rechts verlegt und die aktuelle Spaltennummer verändert. Seitlich 469
52 11 Beispielprojekte Panels nach unten bewegen Die Ereignismethode cmdunten_click() dient zur wiederholten Bewegung der Panels nach unten, falls dies möglich ist. Diese Bewegung wird so lange durchgeführt, bis das Panel auf die Spielfeldbegrenzung oder auf ein anderes Panel stößt. Der Code lautet: private void cmdunten_click(...) while (F[PZ + 1, PS] == Leer) Panel p = (Panel) PL[PX]; p.top = p.top + 20; PZ = PZ + 1; F[PZ, PS] = PX; // Belegen AllePrüfen(); NächstesPanel(); Listing 11.6 Projekt»Tetris«, Panels nach unten bewegen Zur Erläuterung: Nach unten Es wird geprüft, ob sich unter dem aktuellen Panel ein freies Feldelement befindet. Ist dies der Fall, so wird das Panel nach unten verlegt und die aktuelle Zeilennummer verändert. Dies geschieht so lange, bis das Panel auf ein Hindernis stößt. Anschließend wird das betreffende Feldelement belegt. Es wird geprüft, ob nun eine neue Reihe von drei gleichfarbigen Panels existiert und das nächste Panel wird erzeugt Pause Spiel anhalten Abhängig vom aktuellen Zustand wird durch Betätigen des Buttons Pause in den Zustand Pause geschaltet oder wieder zurück: 470
53 11.2 Lernprogramm Vokabeln private void cmdpause_click(...) timt.enabled =!timt.enabled; Listing 11.7 Projekt»Tetris«, Pause Zur Erläuterung: Der Zustand des Timers wechselt zwischen Enabled = true und Enabled = false Lernprogramm Vokabeln In diesem Abschnitt wird ein kleines, erweiterungsfähiges Vokabel-Lernprogramm (Projekt Vokabeln) vorgestellt. Es beinhaltet: 11 eine Datenbank als Basis ein Hauptmenü die Nutzung einer ArrayList einen Zufallsgenerator eine Benutzerführung, abhängig vom Programmzustand Lesen einer Textdatei Benutzung des Programms Nach dem Start erscheint die Benutzeroberfläche, siehe Abbildung Abbildung 11.2 Projekt»Vokabeln«, Benutzeroberfläche 471
54 Index Index! != # , 250 %... 52, 371 %= &... 56, 134, 293 &&... 55, 74 (int)... 51, 71 * *= , 52, =... 57, 58 / /* // /= <... 54, 370 <=... 54, 370 <> = =... 57, 370 == >... 54, 370 >=... 54, 265 [ ] [ ] [ ] [,] ^... 55, 75, 300 _ , , 74 1:1-Relation :n-Relation , 348 3D-Körper bit-Version , 541 A Abfrage accdb Access , ConnectionString Acos() Add() ArrayList , 380, 463 Columns Controls Datum und Uhrzeit Documents Items Listenfeld Paragraphs Series SubItems Tables Worksheets AddHours() Addition AddMilliseconds() AddMinutes() AddMonths() AddSeconds() AddXY() Points AddYears() ADO.NET Aktionsabfrage Aktivierungsreihenfolge Alt-Taste and Anführungszeichen Angle LabelStyle Animation Anweisung im Block mehrfach durchlaufen Anwendung abbrechen
55 Index Anwendung (Forts.) weitergeben Anwendungskonfigurationsdatei App.config Append appsettings ArcSegment Arcus Cosinus Arcus Sinus Arcus Tangens args Argument beliebig viele benannt optional ArgumentOutOfRangeException Array, Klasse , 155 ArrayList , 377, 462 füllen leeren as Asin() asp Calendar asp Label ASP.NET Development Server Programmierfehler Atan() Attached Event Attached Property Aufzählung Ausgabe Dialogfeld formatieren mehrzeilig Auskommentierung Austauschformat Auswahlabfrage Axis AxisX ChartArea AxisY ChartArea B BackColor base base() Basisklasse Methode erreichen Bedingung Befehlsschaltfläche Bericht Bezeichnungsfeld Beziehung , 346 erstellen Bézier-Kurve Bild in Zeichnung Bildlaufleiste BindingNavigator BindingSource Bitmap body Bookmarks Document bool Border Style Borders Table break... 77, 92, 96 Breakpoint Browser Brush Button byte C Calendar Cancel, Eigenschaft Canvas Canvas.Left Canvas.Top Cascading Style Sheets case Cast... 51, 71, 221, 231 catch Ceiling() Cell Table Cells Worksheet char... 42, 236 Chart
56 Index ChartAreas Chart ChartImageFormat ChartType Series CheckBox... 80, 425, 488 Checked... 81, 83 in Menü CheckedChanged... 80, 83 class Clear() , 447 Series ClickOnce-Verteilung Clone() , 219 Close()... 29, 229, 261, 362, 401 Document Workbook Code Ansicht auskommentieren editieren Code-Ansicht Collection Color... 39, 326, 327, 447 ColorDialog ColumnIndex Columns ListView COM-Anwendung Combobox CommandText Common Controls ConfigurationManager Connection ConnectionString , 366, 396, 433 Connector/NET Console Container... 59, 413 ContextMenuStrip continue... 92, 96 Controls , 463 Add() Remove() ControlToValidate Convert ToDouble() ToInt32() Copies PrinterSettings Cos() Cosinus Count Items count() Create , 262 CreateGraphics() cs-datei CSS CSV-Datei D Data Source , 396 DataBind() DataContext DataGrid , 493 DataGridView , 403 Konfigurationsmenü DataGridViewCellEventArgs DataGridViewColumnCollection DataGridViewRowCollection DataSet füllen wurde geändert zurückschreiben DataSource DataTable Datei Änderungszeitpunkt Erzeugungszeitpunkt Information über , 266 lesen öffnen öffnen, Dialog schließen speichern, Dialog Zugriffszeitpunkt Daten speichern Datenbank , 493 Anzahl Datensätze Datensätze gruppieren erstellen Navigations-Symbolleiste Summe über Datensätze verknüpfte Abfrage ,
57 Index Datenbankdatei Datenbanksystem Datenbindung Datenfeld Dimensionsgröße durchsuchen , 146 dynamisch verändern eindimensional initialisieren Klasse kopieren mehrdimensional nicht rechteckig Referenz auf sortieren übergeben Verweis auf verzweigt Datenkapselung , 212 Datenpuffer Datenpunkt Datenquellen anzeigen Datenreihe Datensatz ändern auswählen einfügen löschen sortieren Datenträger zum Buch Datentyp benutzerdefiniert DateTimePicker DateTimePickerFormat Datum berechnen Bestandteil Datum und Uhrzeit eingeben Day DayOfWeek... 51, 251 DayOfYear Debug beenden... 67, 119 Debug-Modus decimal... 42, 71 DecimalPlaces default default.aspx DefaultPageSettings PrinterSettings Deklaration in Schleife Delegate delete delete from DeleteCommand desc Description Design-Ansicht Desktop Detailtabelle Dezimaltrennzeichen Diagramm DialogResult , 320 DialogResultOk Directory Display DivideByZeroException Klasse Division do while Documents Application Doppelklick double DrawEllipse() DrawImage() DrawLine() DrawPolygon() DrawRectangle() DrawString() dreidimensionale Grafik DropDown DropDownList DropDownStyle Druck Einstellungen Drucken Formular
58 Index E E Eigenschaft ändern... 20, 35 statisch Eigenschaftenfenster... 20, 23, 86 Eigenschaftsmethode Ein- und Ausgabe nur Text Eingabe Dialogfeld einer Zahl Eingabeformular Eingabekontrolle Einzelschrittverfahren ElementHost ElementPosition Ellipse else Enabled... 61, 130, 471 endofdoc Textmarke Enter Enumeration Environment Equals() Ereignis... 22, 25 Ansicht mehrere Ereigniskette endlos Ereignismethode Verweis auf Ereignisprozedur erzeugen Eulersche Zahl Event Routing Event Trigger Exception Klasse Exception Handling ExecuteNonQuery() , 368 ExecuteReader() exe-datei... 31, 186 Exists() , 267 Exp() extensible Application Markup Language F F11-Taste F5-Taste F9-Taste false Farbe wählen, Dialog Fehler logische Feld Datenbank siehe Datenfeld Feldname f-format File , 266 FileMode FileNames FileStream FileSystemEntries() Fill() FillEllipse() FillPolygon() FillRectangle() Filter firma.mdb Fixed Single float Floor() FolderBrowserDialog Font , 296, 327 Font.Style FontDialog FontFamily FontStyle.Bold FontStyle.Italic for foreach Form PrintForm form Form_Activated Form_Load Format DateTimePicker Format()
59 Index FormatException Klasse Formatvorlage FormClosing FormClosingEventArgs Formular... 19, 355 aktivieren anzeigen drucken hinzufügen löschen mehrere schließen wird geladen Formularansicht Formularvorlage Fortschrittsbalken Frame Navigate() Page , 523 Frames FromArgb() FromFile() Bitmap FromPage PrinterSettings FullRowSelect ListView Funktion zeichnen Funktion, mathematische G GDI get-accessor GetCreationTime() GetCurrentDirectory() GetFiles() GetLastAccessTime() GetLastWriteTime() GetType() GetUpperBound() Gleich... 54, 370 Gleichheitszeichen... 28, 57 goto case Grafik , 499 Graphics Grid Größer als... 54, 370 group by Groupbox Gültigkeitsbereich... 45, 163 H Haltepunkt entfernen HasChanges() Hauptmenü , 471 head Headertext Height Hilfslinien Hilfstabelle Hoch Hour HTML html HTML-Markierung Hyperlink I ICloneable id if IIS Image , 331, 450 ImageList Implementation Imports , 286 Increment Index Datenbank , 347 eindeutig index.htm IndexOf() , 239 IndexOfAny() IndexOutOfRangeException Initial Catalog InitialDirectory InitializeComponent() Inkonsistenz input InputBox()
60 Index insert insert into Insert() , 242 ArrayList InsertCommand InsertParagraphAfter() Range InsideLineStyle Borders Installationsdatei Installationsprogramm Instanziierung int Integrität referentielle IntelliSense Interaction Interface , 219 Internet Information Services Internet-Anwendung Daten senden dynamisch erstellen Internet-Datenbank ändern Internetseite formatieren Interval... 62, 309 is IsLoaded IsPostBack IsValid Item Bookmarks Items ListView ItemsSource Iterator J Jahr JavaScript K Kachel Kalender Kamera Klammer geschweift... 27, 70, 92 rund Klasse abgeleitet Definition ermitteln , 202 statisches Element Klassenhierarchie Kleiner als... 54, 370 Kombinationsfeld in Menü Kommandozeile Kommandozeilenparameter Kommentarzeile Konfigurationsdaten Konfigurations-Manager Konsolenanwendung Konstante integriert Konstruktor , 212 Kontextmenü Kontrollkästchen in Menü Kontrollstruktur Koordinatensystem Kreiszahl L Label... 21, 488 LabelStyle Axis LargeImageList ListView LastIndexOf() Laufbedingung Laufzeitfehler Layout Legends Chart Length Licht like LineSegment Linie ListBox ,
61 Index ListBoxItem Listenansicht mit Bild Listenfeld ListView ListViewItem localhost Location... 35, 60 Log() Log10() Logarithmus Lokal long M m:n-relation Main() MainPage , 524 MainWindow.xaml MainWindow.xaml.cs Margin Markierungssprache Mastertabelle Material Math MaxDate DateTimePicker Maximum... 68, 143, 309 MaxLength MaxSize Me Mehrfachauswahl... 33, 76, 109 Mehrfachvererbung Menü MenuStrip MeshGeometry3D Message MessageBox MessageBoxButtons MessageBoxIcon Methode , 188 gekapselt mit Rückgabewert ohne Ereignis ohne Rückgabewert statisch überladen Methode (Forts.) verdecken verlassen m-format Microsoft.ACE.OLEDB Microsoft.Interop.Excel Microsoft.Interop.Word Microsoft.VisualBasic Microsoft.VisualBasic.PowerPacks. Printing Microsoft.VisualBasic.PowerPacks.Vs Millisecond Millisekunde MinDate DateTimePicker Minimum... 68, 143, 309 MinSize Minute Modal Modularisierung... 91, 161 Modulo Monat Month MS Excel Arbeitsmappe erstellen MS Office MS Word Dokument erstellen MultiExtended MultiLine Multiplikation MultiSelect MySQL MySQL.Data MySqlClient MySqlCommand MySqlConnection MySqlDataReader N Nachkommastellen... 44, 68 Name Namenskonvention... 23, 38 Namensraum importieren , 286 namespace
62 Index NameValueCollection Navigate() Frame NavigationWindow NET-Treiber new... 36, 142, 191, 210 new line Next() NextDouble() Nicht-Operator Nicht-proportionale Schriftart not Now NumericUpDown O object... 42, 199, 307 Objekt erzeugen identisch Verweis auf Objekthierarchie MS Office Objektorientierung Objektverweis dasselbe Objekt vergleichen Oder-Operator Öffnungsmodus OleDb OleDbAdapter OleDbCommand OleDbCommandBuilder OleDbConnection , 495 OleDbReader OnSelectionChanged Open Open() OpenFileDialog Operator für Berechnungen logisch... 55, 370 Priorität Rangfolge Vergleich Zuweisung option Optionsschaltfläche mehrere Gruppen or order by out OutsideLineStyle Borders override P Page , 491, 514 Frame , 523 Page_Load Page-Direktive Paint-Ereignis PaintEventArgs Panel... 59, 457 PaperSize DefaultPageSettings Paragraphs Document Parameter beliebig viele benannt optional params partial PasswordChar Passwort-Abfrage Path PathFigure PathGeometry Peek() Pen Pfadangabe relativ Pfadgeometrie PI Pinsel Farbe Pixel Platzhalter Point... 36, 445, 455 Points Series Polygon Polymorphie
63 Index Position Legends Pow() Primärindex Primärschlüssel erstellen Print() PrintForm Printing PrintAction PrintForm PrinterName PrinterSettings PrinterSettings PrintForm PrintForm Printing Chart PrintingManager Chart PrintPreview() Printing private... 27, 46 Program.cs Programm beenden starten testen Programmierung clientseitig ereignisgesteuert serverseitig ProgressBar Projekt Datenbank hinzufügen neu erzeugen neues... 19, 512 öffnen schließen speichern Verweis hinzufügen Projektmappen-Explorer Alles anzeigen Projektvorlage , 537 Blank Grid Split Properties Window property protected Provider public... 27, 46, 190, 212 Q Quit() Application , 285 R Radio-Button... 83, 425 Random Range Document Rangfolge Read() Reader ReadLine() , 261 Rechenoperator Rechteck Rectangle Redundanz ref , 164, 197 ReferenceEquals() , 307, 368 Referenztyp Rekursion Relation erstellen relational Release-Modus Remove() , 468 ArrayList RemoveAt() , 479 ArrayList Replace() , 382 RequiredFieldValidator Resize() Array Ressource return mit Rückgabewert Ringtausch RootFolder Rotationstransformation Round() RowIndex
64 Index Rows Rückgabewert runat runden S SampleDataSource.cs SaveAs() Document Workbook SaveFileDialog SaveImage() Chart Schalter Schleife Endlos , 98 geschachtelt mit Bedingung nächster Durchlauf verlassen Schleifenvariable Schnittstelle Schrift auswählen Schriftart nicht-proportional Schriftgröße Schriftstil Schrittweite script Scrollbalken ScrollBars... 65, 302 Second Seiten in Frames Seitenvorlage Elementdetails Elemente Geteilte Seite Gruppendetails Gruppierte Elemente Standardseite Sekundärindex Sekunde select , 365, 368, 428 SelectAll() Selected DataGridView SelectedDate SelectedIndex , 299 SelectedIndexChanged SelectedIndices SelectedItem SelectedItems SelectedPath SelectionMode , 110 Semikolon sender Separator Series Chart SeriesChartType Server-Steuerelement , 428 set-accessor SetCurrentDirectory() Setup-Datei short Show() ShowColor ShowDialog() , 320 ShowNewFolderButton Simple Sin() Sinus Size... 35, 37, 297 Slider sln-datei SmallImageList ListView SolidBrush Solution Explorer Sort() SpecialFolder Spin-Button SplashScreen Split() SQL typische Fehler Sqrt() StackPanel Startausdruck Startbildschirm Startformular Startmethode
65 Index Startparameter Startzustand static Statusleiste StatusStrip Steuerelement Abstand einstellen aktivieren... 61, 130 ausrichten auswählen Collection von einfügen Größe Hintergrundfarbe Kontextmenü kopieren Liste von markieren Position... 35, 60 sichtbar zur Laufzeit erzeugen , 457 zur Laufzeit löschen , 468 Steuerelemente Stift Dicke Farbe Storyboard StreamReader StreamWriter Strg+C Strg+F String string struct Structured Query Language Struktur... 42, 222 Stunde Style , 299 SubItems ListViewItem submit Substring() Subtract() Subtraktion sum() Summe berechnen SupportsColor PrinterSettings switch Symbolleiste Syntaxfehler System.Collections System.Collections.Specialized System.Configuration System.Data.OleDb System.Drawing System.Drawing.Printing System.IO , 474 Systemton , 319, 320 T Tabelle darstellen Tabellenausgabe Tabellenentwurf TabIndex TableAdapter TableAdapterManager Tables Document Tablet-PC TabStop Tag der Woche Tag des Jahres Tag des Monats Tan() Tangens Tastaturbedienung Tasten-Key Tastenkombination Tetris Text... 23, 65, 235 in Zeichnung mehrzeilig Range umwandeln verketten TextBox TextBox in Menü TextChanged , 243, 299 Textfeld alles auswählen Änderung kopieren koppeln
66 Index this , 229 TimeOfDay Timer... 61, 309, 457 TimeSpan Title (C#) title (HTML) TitleAlignment Axis Today TodayDayStyle ToDouble() ToInt32() Toolbox ToolStrip ToPage PrinterSettings ToShortDateString() , 430 Touchscreen Transformation Trennzeichen Trim() TrimEnd() TrimStart() true Truncate() try Typ ermitteln , 202 Type Converter typeof typeof() U Übergabe Ausgabeparameter per Referenz , 198 per Wert Überladen Überschreiben Überwachungsfenster Uhrzeit , 251 berechnen UID Umwandlung in ganze Zahl in Zahl Und-Operator Ungleich... 54, 370 Unterformular Untermenü Unterstrich (Platzhalter) update , 368, 373 Update() UpdateCommand Up-Down-Button using... 27, 363 V Validate() Validierung Value... 68, 309, 340, 421 DateTimePicker value ValueChanged DateTimePicker values Variable ausblenden Gültigkeitsbereich Kontrolle Name öffentlich Startwert Verbindung Datenbank Vererbung Vergleichsoperator Verknüpfung erstellen Verweis auf Ereignismethode hinzufügen , 285 umwandeln Verweistyp Verzeichnis Datei- und Verzeichnisliste Dateiliste ermitteln Existenz Information über setzen wählen, Dialog wechseln Verzweigung
67 Index Vieleck Vielgestaltigkeit View ListView virtual Visible Application , 284 Vista , 541 void Vokabel-Lernprogramm Vorlage WPF-Anwendung W Wahrheitswert WdLineStyle WdWindowState Webserver lokaler WeekendDayStyle Werkzeugsammlung Wertebereich Werttyp , 198 Struktur where while Width... 35, 447 Window Windows , 511 Windows App Cert Kit Windows Forms in WPF Windows Phone Windows Presentation Foundation 483 Windows Store-App beenden Navigation , 522 prüfen Styles Windows Store-Apps WindowsFormsHost WindowState Application , 284 Wochentag Worksheets Application WPF WPF in Windows Forms WPF-Buch WrapPanel Write() , 262 WriteLine() , 184, 262 Wurzel X x Class Name X (Location) XAML mit Programmiercode XlWindowState XML-Datei xmlns x=http Y Y (Location) Year Z Zahlenauswahlfeld... 68, 243 Zeichen prüfen Zeichenkette... 42, 233 durchsuchen einfügen ersetzen Index Länge löschen mit Backslash Teilzeichenkette trimmen zerlegen Zeichnen dauerhaft Zeichnung löschen
68 Index Zeile lesen Zeilenumbruch Regeln Zeit Zeitgeber Zeitintervall Zufallsgenerator... 96, 142, 457, 471 Zuweisung Zweidimensionale Grafik
Einstieg in Visual C# 2010 Galileo Press
Thomas Theis Einstieg in Visual C# 2010 Galileo Press Auf einen Blick 1 Einführung 15 2 Grundlagen 37 \ 3 Fehlerbehandlung 105 4 Erweiterte Grundlagen 117 5 Objektorientierte Programmierung 175 6 Wichtige
1 Einführung Grundlagen Fehlerbehandlung Erweiterte Grundlagen Objektorientierte Programmierung 185
Auf einen Blick Auf einen Blick 1 Einführung 15 2 Grundlagen 39 3 Fehlerbehandlung 115 4 Erweiterte Grundlagen 129 5 Objektorientierte Programmierung 185 6 Wichtige Klassen in.net 245 7 Weitere Elemente
1 Einführung Grundlagen Fehlerbehandlung Erweiterte Grundlagen Objektorientierte Programmierung 191
Auf einen Blick 1 Einführung 17 2 Grundlagen 41 3 Fehlerbehandlung 115 4 Erweiterte Grundlagen 129 5 Objektorientierte Programmierung 191 6 Wichtige Klassen in.net 237 7 Weitere Elemente eines Windows-Programms
Einstieg in Visual Basic 2015
Thomas Theis Einstieg in Visual Basic 2015 Rheinwerk (. o;rtp; it inq 1 Einführung 17 1.1 Aufbau dieses Buchs 17 1.2 Visual Studio 2015 17 1.3 Mein erstes Windows-Programm 18 1.4 Visual-Basic-Entwicklungsumgebung
Einstieg in Visual Basic 2008
Thomas Theis Einstieg in Visual Basic 2008 Galileo Press 1.1 Aufbau dieses Buches 15 1.2 Mein erstes Windows-Programm 16 1.3 Visual Basic 2008-Entwicklungsumgebung 16 1.3.1 Ein neues Projekt 16 1.3.2 Einfügen
Thomas Theis. Einstieg in Visual C# 2012
Thomas Theis Einstieg in Visual C# 2012 Auf einen Blick Auf einen Blick 1 Einführung... 17 2 Grundlagen... 41 3 Fehlerbehandlung... 115 4 Erweiterte Grundlagen... 127 5 Objektorientierte Programmierung...
Einstieg in Visual Basic 2012
Galileo Computing Einstieg in Visual Basic 2012 Ideal für Programmieranfänger geeignet. Inkl. Windows Store Apps Bearbeitet von Thomas Theis erweitert 2012. Buch. ca. 579 S. ISBN 978 3 8362 1959 4 Format
Auf einen Blick. 1 Einführung... 17. 2 Grundlagen... 39. 3 Fehlerbehandlung... 107. 4 Erweiterte Grundlagen... 119
Auf einen Blick Auf einen Blick 1 Einführung... 17 2 Grundlagen... 39 3 Fehlerbehandlung... 107 4 Erweiterte Grundlagen... 119 5 Objektorientierte Programmierung... 185 6 Wichtige Klassen in.net... 223
Windows Forms Projekte mit C++ in Visual Studio 2017
Windows Forms Projekte mit C++ in Visual Studio 2017 In diesem kleinen Auszug aus dem Buch wird kurz gezeigt, wie man mit Visual Studio 2017 und früheren Versionen Windows- Programme mit einer grafischen
Leseprobe. »Visual Studio 2017 installierenvariablen, Operatoren, SteuerelementeLösungen der Übungsaufgaben« Inhaltsverzeichnis. Index.
Wissen, wie s geht. Leseprobe Wenn Sie auf schnelle und praktische Weise lernen möchten, wie Sie Windows-Programme mit C# entwickeln, sind Sie hier genau richtig. Dieser Buchauszug zeigt, wie Sie Visual
Leseprobe. »EinführungProgrammiergrundlagen für Visual BasicLösungen zu den Übungen« Inhaltsverzeichnis. Index. Der Autor. Leseprobe weiterempfehlen
Wissen, wie s geht. Leseprobe Jeder kann programmieren lernen, und am besten geht das mit Visual Basic und diesem Einsteigerbuch! Thomas Theis führt Sie gekonnt in die Grundlagen von Visual Basic ein,
Einstieg in VBA mit Excel Galileo Press
Thomas Theis Einstieg in VBA mit Excel Galileo Press Geleitwort des Fachgutachters 15 loooodoooooooockx)ock90000000aqoc^oc}ooaooooooooocx>c)ooocxx3ao 1 1 Was wird besser durch Makros und VBA? 17 12 Arbeiten
Formulare. Datenbankanwendung 113
Formulare Wenn Sie mit sehr umfangreichen Tabellen arbeiten, werden Sie an der Datenblattansicht von Access nicht lange Ihre Freude haben, sind dort doch immer zu wenig Felder gleichzeitig sichtbar. Um
Kapitel 1 Einführung. 1.1 Aufbau dieses Buchs
Kapitel 1 Einführung 1 In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung und den Steuerelementen. Anschließend werden Sie in der Lage sein, Ihr erstes
Schnellübersichten. Visual Basic 2015 Grundlagen Programmierung
Schnellübersichten Visual Basic 2015 Grundlagen Programmierung Kap. 3 Projekte in Visual Studio 2 4 Anwendungen erstellen 3 5 Benutzeroberfläche gestalten 4 7 Kontrollstrukturen 5 11 Polymorphismus 6 3
Microsoft Access Arbeiten mit Tabellen. Anja Aue
Microsoft Access Arbeiten mit Tabellen Anja Aue 10.11.16 Tabellen in der Datenblattansicht Ansicht des Anwenders. Eingabe von neuen Daten. Bearbeiten von vorhandenen Informationen. Microsoft Access Einführung
Wichtige Standardaktionen durchführen
Anhang A Wichtige Standardaktionen durchführen Die Themen dieses Anhangs So geht es mit Access 2013 So geht es mit Access 2010 So geht es mit Access 2007 So geht es mit Access 2003 In diesem Anhang wird
InDesign CS6. Grundlagen. Peter Wies, Linda York. 1. Ausgabe, 2. Aktualisierung, November 2013 INDCS6
InDesign CS6 Peter Wies, Linda York. Ausgabe, 2. Aktualisierung, November 203 Grundlagen INDCS6 2 InDesign CS6 - Grundlagen 2 Einstieg in InDesign In diesem Kapitel erfahren Sie wie Sie InDesign starten
Microsoft Access 2010 Bilder
Microsoft Access 2010 Bilder Hyperlinks... arbeiten ähnlich wie ein Link in einer Webseite. sind ein Verweis auf eine Datei (access2010\material\beispiel\tabledevelop\automat.accdb). können ein Verweis
Access Programmierung. Ricardo Hernández García. 1. Ausgabe, November 2013 ACC2013P
Access 2013 Ricardo Hernández García 1. Ausgabe, November 2013 Programmierung ACC2013P Die VBA-Entwicklungsumgebung 5 Weitere Eingabehilfen Im Menü Bearbeiten finden Sie noch weitere Hilfen, die Ihnen
Einstieg in VBA mit Excel Galileo Press
Thomas Theis Einstieg in VBA mit Excel Galileo Press Auf einen Blick 1 Einführung 15 2 Grundlagen von Objekten und Ereignissen 45 3 Grundlagen der Programmierung mit VBA 93 4 Fehlerbehandlung 125 5 Mehr
1 Einführung Grundlagen von Objekten und Ereignissen Grundlagen der Programmierung mit VBA Fehlerbehandlung...
Auf einen Blick Auf einen Blick 1 Einführung... 17 2 Grundlagen von Objekten und Ereignissen... 49 3 Grundlagen der Programmierung mit VBA... 101 4 Fehlerbehandlung... 137 5 Mehr über die Programmierung
3.1 PowerPoint starten
Grundlagen der Handhabung MS Powerpoint 2007 - Einführung 3.1 PowerPoint starten Um mit PowerPoint zu arbeiten, müssen Sie das Programm zunächst starten. Sie starten PowerPoint. Klicken Sie nach dem Starten
Kurzanleitung für den MyDrive Client
Kurzanleitung für den MyDrive Client Hinweis: Prüfen Sie bei Problemen zuerst, ob eine neuere Version vorhanden ist und installieren Sie diese. Version 1.3 für MAC und Linux (29.06.2017) - Hochladen mit
Inhaltsverzeichnisse. 1. Überschriften zuweisen. 2. Seitenzahlen einfügen. 3. Einen Seitenwechsel einfügen
Inhaltsverzeichnisse 1. Überschriften zuweisen Formatieren Sie die Überschriften mit Hilfe der integrierten Formatvorlagen als Überschrift. Klicken Sie dazu in die Überschrift und dann auf den Drop- Down-Pfeil
1 Einführung Grundlagen von Objekten und Ereignissen Grundlagen der Programmierung mit VBA Fehlerbehandlung 137
Auf einen Blick Auf einen Blick 1 Einführung 17 2 Grundlagen von Objekten und Ereignissen 49 3 Grundlagen der Programmierung mit VBA 101 4 Fehlerbehandlung 137 5 Mehr über die Programmierung mit VBA 147
1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139
Auf einen Blick 1 Einführung... 13 2 Erste Schritte... 19 3 Programmierkurs... 33 4 Datentypen... 81 5 Weiterführende Programmierung... 139 6 Objektorientierte Programmierung... 191 7 Verschiedene Module...
Medizinische Statistik mit R und Excel
Springer-Lehrbuch Medizinische Statistik mit R und Excel Einführung in die RExcel- und R-Commander-Oberflächen zur statistischen Auswertung Bearbeitet von Rainer Muche, Stefanie Lanzinger, Michael Rau
Arbeiten mit Acrobat. Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit
Arbeiten mit Acrobat Vorstellung von Adobe Acrobat Bearbeitung des Dokuments Präsentationen erstellen Teamarbeit Kommentare geben ein Feedback zu einem Dokument, welches von mehreren Personen bearbeitet
DAS EINSTEIGERSEMINAR
DAS EINSTEIGERSEMINAR Microsoft Office Excel 2010 Gudrun Rehn-Göstenmeier LERNEN ÜBEN ANWENDEN Teil I: Lernen L1 Dateiorganisation Bevor wir uns mit den Excel-spezifischen Befehlen und Funktionen befassen
Handbuch ECDL 2003 Modul 5: Datenbank Formulare anpassen
Handbuch ECDL 2003 Modul 5: Datenbank Formulare anpassen Dateiname: ecdl5_04_02_documentation Speicherdatum: 24.11.2004 ECDL 2003 Modul 5 Datenbank - Formulare anpassen Inhaltsverzeichnis 1 EINLEITUNG...
Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona
DAS EINSTEIGERSEMINAR Datenbankprogrammierung mit MySQL 5 und PHP 5 von Helma Spona Neuausgabe Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona schnell und portofrei erhältlich bei beck-shop.de DIE
Programmieren lernen in ASP.NET mit C#
Programmieren lernen in ASP.NET mit C# von Patrick A. Lorenz, Christoph A. Müller 1. Auflage Hanser München 2003 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22311 0 Zu Leseprobe schnell und
Richtig einsteigen: Access 2010 VBA-Programmierung
Richtig einsteigen: Access 2010 VBA-Programmierung Von den Grundlagen bis zur professionellen Entwicklung von Lorenz Hölscher 1. Auflage Richtig einsteigen: Access 2010 VBA-Programmierung Hölscher schnell
Microsoft PowerPoint 2016 Tabellen animieren
Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2016 Tabellen animieren Tabellen animieren in PowerPoint 2016 Seite 1 von 8 Inhaltsverzeichnis Einleitung... 2 Tabelle erstellen...
Inhalt. Dokument Beschreibung. Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Visual Basic Express PST_Bearbeitung_Dialog
Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Inhalt Dokument Beschreibung... 1 Windows Form einfügen... 2 Steuerelemente einfügen... 2 Steuerelemente Titel und Name... 3 Dialog Laden
Microsoft PowerPoint 2016 Tabellen animieren
Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2016 Tabellen animieren Tabellen animieren in PowerPoint 2016 Seite 1 von 8 Inhaltsverzeichnis Einleitung... 2 Tabelle erstellen...
1 Einführung Was macht eine Datenbank? Entwickler und Benutzer Warum sollten Sie mit Datenbanken arbeiten?
Inhalt 1 Einführung 19 1.1 Was macht eine Datenbank? 19 1.2 Entwickler und Benutzer 20 1.3 Warum sollten Sie mit Datenbanken arbeiten? 20 1.4 Wer sollte dieses Buch lesen? 21 1.5 Wie sind relationale Datenbanken
Kopf-/Fußzeilen und Seitenzahlen
Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz Datei Neu... Datei öffnen Datei schließen Beenden Suchen Suchen & Ersetzen Verknüpfungen Optionen Einfügen Inhalte einfügen Format
Microsoft 2010 Express/Beispiel für Grafische Oberflächen
I Vorbereitung wie Konsolanwendung Rechner hochfahren - Visual C++ 2010 Express aufrufen Datei/neu/Projekt im Menue wählen II Projekt und Projektmappe anlegen Vorlage CLR markieren Projekttyp Windows Forms-Anwendung
2.3.2 Fenster verschieben Fenster überlappen
PC EINSTEIGER Das Betriebssystem 2.3.2 Fenster verschieben Wenn das Fenster nicht durch MAXIMIEREN in den Vollbildmodus gestellt wurde, können Sie das Fenster auf Ihrem Desktop frei verschieben. Platzieren
ProMaSoft.de WordPDFFormular Version (1.083) Seite 1 von 7
ProMaSoft.de WordPDFFormular Version (1.083) Seite 1 von 7 Beschreibung Mit dem Modul WordPDFFormular können Sie Ihre eigenen PDF-Formulare in Word erstellen. Nutzen Sie alle Funktionen und Möglichkeiten
Microsoft Visual Studio Community 2015
Microsoft Visual Studio Community 2015 Visual Studio Community 2015 ist eine kostenlose IDE mit leistungsfähigen Programmier- und Entwicklungswerkzeugen für Windows, ios und Android. Sie ist für einzelne
Access Verbrecherdatenbank Teil 1
Access Verbrecherdatenbank Teil 1 Allgemeines In dieser Übung erstellst du mit Microsoft Access eine Verbrecherdatenbank. Dabei lernst du die wesentlichen Elemente einer Datenbank wie Tabellen, Formulare
Microsoft Access Abfragen: Informationen anzeigen und sortieren
Microsoft Access Abfragen: Informationen anzeigen und sortieren Alle Kunden Die Namen der Mitarbeiter und deren E-Mail-Adresse Bestellungen, nach dem Datum sortiert Anja Aue 16.11.16 Abfragen Zusammenstellung
Netzlaufwerk-Verbindung auf den Server se-1ug w2k.makro.privat. im Computerraum für die Daten der Chemikaliendatenbank
Netzlaufwerk-Verbindung auf den Server se-1ug-01008-05.w2k.makro.privat im Computerraum für die Daten der Chemikaliendatenbank Verwendung nur für geschäftliche Belange, ablegen oder Missbrauch durch private
Visual Basic.NET mit Methode
Heinrich Rottmann Visual Basic.NET mit Methode Software entwickeln mit der.net Klassenbibliothek- Grundlagen, Windows, ADO.NET, ASP.NET, Webservices und Remoting vieweg Inhaltsverzeichnis JL Grundlegende
Microsoft PowerPoint 2013 Layouts
Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 Layouts Layouts in PowerPoint 2013 Seite 1 von 8 Inhaltsverzeichnis Einleitung... 2 Layout auswählen... 2 Arbeiten mit
Office 2016 für Mac Das Profibuch
Edition SmartBooks Office 2016 für Mac Das Profibuch Mehr herausholen aus Word, Excel, PowerPoint, OneNote und Outlook Bearbeitet von Horst-Dieter Radke 1. Auflage 2015. Taschenbuch. XIV, 380 S. Paperback
Richtig einsteigen: Access 2007 VBA-Programmierung
Lorenz Hölscher Richtig einsteigen: Access 2007 VBA-Programmierung Miaosott Teill Erste Schritte 1 Einleitung 9 1.1 Die Themenschwerpunkte dieses Buches 9 Visual Basic for Applications 9 Die Beispiel-Datenbank
Programmieren lernen mit Perl
Xpert.press Programmieren lernen mit Perl Bearbeitet von Joachim Ziegler 1. Auflage 2002. Buch. XIV, 400 S. Hardcover ISBN 978 3 540 42685 1 Format (B x L): 15,5 x 23,5 cm Gewicht: 783 g Weitere Fachgebiete
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
Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager
Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager Homepage-Manager Navigation Home Der Homepage-Manager bietet die Möglichkeit im Startmenü unter dem Punkt Home einfach und schnell
PowerPoint Unterrichtsskript WIHOGA Dortmund. 1 Einführung und Formatierung Verschiedenes Folienmaster Animationen...
PowerPoint 2007 Unterrichtsskript WIHOGA Dortmund 1 Einführung und Formatierung... 2 1.1 Start und Anwendungsfenster... 2 1.2 Folienlayouts... 2 1.3 Entwurfsvorlagen und Farbschema... 3 1.4 Texte und Grafiken
Desktop Schultz Informatik 1
Desktop Schultz Informatik 1 Welche Laufwerke sind eingerichtet? Systemübersicht Führen Sie einen Doppelklick auf das Desktopsymbol Arbeitsplatz aus und Sie erhalten diese Übersicht. Sie sehen sofort,
Hochschulrechenzentrum Justus-Liebig-Universität Gießen. CorelDRAW X7. Zoomen
Hochschulrechenzentrum Justus-Liebig-Universität Gießen CorelDRAW X7 Zoomen Zoomen in CorelDRAW Seite 1 von 11 Inhaltsverzeichnis Einleitung... 2 Die Standardzoomgröße... 2 Zoomgröße ändern... 2 Einstellungen
Trainingsmanagement Gutschein Management. Beschreibung
Trainingsmanagement Beschreibung www.dastm.de [email protected] 1. Einführung... 2 2. Gutschein Funktionen... 3 2.1. Gutschein Menü... 3 2.2. Gutscheine anlegen... 4 Gutschein Kassenwirksam erfassen... 6 Gutschein
Hilfe zur Dokumentenverwaltung
Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente
Word für Windows 2010
Word für Windows 2010 - Eine Einführung in die Standard-Textverarbeitung Grundlagen: Durch einen Doppelklick auf das Symbol wird WinWord gestartet Es erscheint die Oberfläche von WinWord: Das WinWord-Layout
Windows mit Gesten steuern
Windows 10 und Office 2016: Windows mit Gesten steuern Windows mit Gesten steuern Wenn Sie einen Touchscreen oder ein Tablet nutzen, benötigen Sie für Ihre Arbeit mit Windows weder Maus noch Tastatur.
Rezepte in der Klammer-Strich-Methode schreiben
Rezepte in der Klammer-Strich-Methode schreiben LibreOffice 4.0.4 In diesem Text wird Schritt für Schritt erklärt, wie ein Rezept in der Klammer-Strich-Methode mit dem Programm LibreOffice Version 4.0.4
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte
Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten
Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten SMART BOOKS Inhaltsverzeichnis..««... Vorwort 13 Kapitel 1 - Einführung 17 Crashkurs: FileMaker Pro 7 anwenden 19 Eine
Kurzanleitung Hama Photokalender v
Inhalt 1. Vorwort / Installation 2. Software- / Druckereinstellungen 3. Symbole und Objekte 1. Vorwort / Installation Hama Photokalender ist ein einfaches, leicht anzuwendendes Programm zum erstellen individueller
jetzt lerne ich тш^шш Visual C# 2008 Das komplette Starterkit für den erfolgreichen Einstieg Markt+Technik
jetzt lerne ich тш^шш Visual C# 2008 Das komplette Starterkit für den erfolgreichen Einstieg Markt+Technik Vorwort 1 1.1 1.2 1.3 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5 1.5.1 1.5.2 1.6 1.7 1.8 2 2.1 2.1.1
Arbeitsmappe. Die Arbeitsblatt-Register. 31 Die Arbeitsblatt-Register 32 Der Umgang mit Arbeitsmappen 34 Mustervorlagen. ADer Einstieg in Excel 2000
2 Die Arbeitsmappe 31 Die Arbeitsblatt-Register 32 Der Umgang mit Arbeitsmappen 34 Mustervorlagen Abbildung 2.1: Die einzelnen Blätter können Sie auf den Registern anwählen Mehrere Blätter markieren: Umschalt-Taste
Werkzeuge für die Dateneingabe
3 Werkzeuge für die Dateneingabe In diesem Kapitel: n Eingabeverfahren kennenlernen n Touchscreen-Gesten im Überblick n Verborgene Elemente in Ecken und an Rändern auskundschaften n Die Darstellung vergrößern
Objekte zeichnen, formatieren, anordnen
In diesem Kapitel erlernen Sie die Arbeit mit Zeichenwerkzeugen wie etwa Linien, Ellipsen, aber auch AutoFormen und 3D-Objekten. Der Begriff des Objekts ist in PowerPoint sehr zentral. Ob Text, Grafik,
zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt
Serienbriefe Wie Sie einen Serienbrief mittels Calc und Writer erstellen zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt Inhaltsverzeichnis 1. Erzeugen einer Quelldatei 2. Erzeugung
Bedienungsanleitung für MEEM-Kabel-Desktop-App Mac
Bedienungsanleitung für MEEM-Kabel-Desktop-App Mac Installation und Bedienungsanleitung - v0.9 Bevor Sie diese Anleitung lesen, sollten Sie bitte die Bedienungsanleitung für MEEM-Kabel und Handy-App für
Informatik für Elektrotechnik und Informationstechnik
Informatik für Elektrotechnik und Informationstechnik Praktikum 1 Wintersemester 2013/14 1 Kennenlernen der Entwicklungsumgebung Netbeans Netbeans ist eine moderne Entwicklungsumgebung für mehrere Programmiersprachen,
PowerPoint Kapitel 1 Lektion 2 Benutzeroberfläche
PowerPoint Kapitel 1 Lektion 2 Benutzeroberfläche Benutzeroberfläche Öffnen Sie Microsoft PowerPoint 2010 und lernen Sie die Benutzeroberfläche kennen. Aufgabe Übungsdatei: - 1. Benutzeroberfläche Öffnen
Kennen, können, beherrschen lernen was gebraucht wird
Inhaltsverzeichnis Inhaltsverzeichnis... 1 Mit Diagrammen arbeiten... 2 Grundlagen zu Diagrammen... 2 Vorteile von Diagrammen... 2 Diagramme erstellen... 3 Schnell ein Säulendiagramm erstellen... 3 Diagramme
Aufgabe 2 (Musterlösung) CorelDRAW
Aufgabe 2 (Musterlösung) CorelDRAW Seite 1 von 9 Aufgabe 2 (Musterlösung) CorelDRAW Inhaltsverzeichnis Einleitung... 2 Musterlösung... 2 Nachtrag... 9 Abbildungsverzeichnis Abb. 1: Linie und Dreieck (vorher
3.4.1 Anlegen zusätzlicher Worte
3.4.1 Anlegen zusätzlicher Worte Nach Auswahl des Menüpunktes Wortdatenbank Worte bearbeiten... öffnet sich das in der Abbildung links dargestellte Fenster Wortdatenbank. Es enthält drei Karteikartenreiter
3 Geoverarbeitung mit dem ModelBuilder
3.1 Der ModelBuilder in ArcGIS Mit dem ModelBuilder können schematisch und mithilfe von Grafiken Arbeitsabläufe mit den Werkzeugen von ArcGIS erstellt und bearbeitet werden. Ein solcher Arbeitsablauf (Workflow)
Der Serienbrief bzw. Seriendruck
Der Serienbrief bzw. Seriendruck Sie lernen einen Serienbrief zu erstellen. In Word 2010 wird der Serienbrief unter der allgemeinen Bezeichnung Seriendruck geführt. Er besteht aus einem Hauptdokument (dem
manchen Situationen bei der Fehlersuche und bei der Erzeugung von Anwendungen mit C# und.net helfen wird.
Einleitung C# Ein weiterer Buchstabe im Programmiersprachen-ABC. Diese Sprache wurde von Microsoft entwickelt, um die Vorteile der Programmiersprachen Java und C++ zu vereinen, ohne die damit verbundenen
Wichtige Standardaktionen durchführen
Anhang Wichtige Standardaktionen durchführen Die Themen dieses Anhangs So geht es mit Access 2000/2003 So geht es mit Access 2007 In diesem Anhang wird dargestellt, wie verschiedene Standardaktionen in
Aufgabe 3 Word 2013 (Musterlösung)
Aufgabe 3 Word 2013 (Musterlösung) Seite 1 von 6 Aufgabe 3 Word 2013 (Musterlösung) In dieser Musterlösung wird lediglich die Entstehung der Tabelle 6 (Kreuzworträtsel) gezeigt. Inhaltsverzeichnis Schritt
bea Client-Security herunterladen und installieren unter Windows
bea Client-Security herunterladen und installieren unter Windows Die Links zum Download der bea Client-Security finden Sie auf der Startseite unter https:// www.bea-brak.de. Das Installationsprogramm für
Thomas Theis. Einstieg in Visual Basic 2012
Thomas Theis Einstieg in Visual Basic 2012 Auf einen Blick Auf einen Blick 1 Einführung... 17 2 Grundlagen... 39 3 Fehlerbehandlung... 107 4 Erweiterte Grundlagen... 119 5 Objektorientierte Programmierung...
10.2 Grafische QM-Verfahren 1
.2 1.2 Grafische QM-Verfahren 1 Anpassen von Excel 0.0 0.0..2.0. Da alle QM-Verfahren mit den Originalfunktionen von Excel erstellt wurden, können Sie einschlägige Literatur von unterschiedlichen Verlagen
Bedienungsanleitung der Wissensdatenbank
Bedienungsanleitung der Wissensdatenbank Die Wissensdatenbank ist mit Hilfe des Content-Management-Systems TYPO3 erstellt worden. Man unterscheidet prinzipiell zwischen dem Frontend (FE) und dem Backend
In diesem ersten Kapitel erhalten Sie einen Überblick über das Programm Microsoft PowerPoint 2003.
In diesem ersten Kapitel erhalten Sie einen Überblick über das Programm Microsoft PowerPoint 2003. Was erfahren Sie in diesem Kapitel? Wozu man PowerPoint verwenden kann Wie man PowerPoint startet und
Kennen, können, beherrschen lernen was gebraucht wird
Inhaltsverzeichnis Inhaltsverzeichnis... 1 Bestandteile des Word-2013-Anwendungsfensters... 2 Die Word-Befehle nutzen... 3 Das Menüband... 3 Anzeigeoptionen für das Menüband ändern... 3 Aufgabenbereiche...
Kennen, können, beherrschen lernen was gebraucht wird
Objekte in PowerPoint bearbeiten Inhaltsverzeichnis Objekte in PowerPoint bearbeiten... 1 Inhaltsverzeichnis... 1 Visualisierungen... 2 Formen erzeugen... 2 Beachte beim Erstellen von Formen... 2 Eine
Auf einen Blick. Vorwort 11. 1 Einführung 13. 2 Sprachgrundlagen von VBScript 37. 3 Objektorientierte Programmierung mit. dem Windows Script Host 115
Information zur Konzeptberatungs-Schnittstelle
Information zur Konzeptberatungs-Schnittstelle Mit dieser Schnittstelle können Kundendaten vom Coffee CRM System für die Excel Datei der Konzeptberatung zur Verfügung gestellt werden. Die Eingabefelder
Inhaltsverzeichnis. jetzt lerne ich
Inhaltsverzeichnis jetzt lerne ich Vorwort 17 1 Ein wenig Theorie vorab 21 1.1 Was ist ein Programm? 22 1.2 Wie wird ein Programm erstellt? 23 1.3 C#, IL-Code und JIT-Compiler 25 1.3.1 Erstellung und Ausführung
