Aufgaben und Lösungen zu

Größe: px
Ab Seite anzeigen:

Download "Aufgaben und Lösungen zu"

Transkript

1 Aufgaben und Lösungen zu

2 Richard Kaiser Aufgaben und Lösungen zu C++ mit dem Borland C++Builder Einführung in den ANSI/ISO-Standard und die objektorientierte Windows- Programmierung Version vom

3 Prof. Richard Kaiser Schwärzlocher Straße Tübingen Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Der Springer-Verlag ist nicht Urheber der Daten und Programme. Weder der Springer-Verlag noch der Autor übernehmen Haftung für die CD- ROM und das Buch, einschließlich ihrer Qualität, Handels- oder Anwendungseignung. In keinem Fall übernehmen der Springer-Verlag oder der Autor Haftung für direkte, indirekte, zufällige oder Folgeschäden, die sich aus der Nutzung der CD-ROM oder des Buches ergeben. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Bibliografische Angaben zu C++ mit dem Borland C++Builder ISSN ISBN Springer-Verlag Berlin Heidelberg New York Die Deutsche Bibliothek CIP-Einheitsaufnahme Kaiser, Richard: C++ mit dem Borland C++ Builder : Einführung in den ANSI/ISO-Standard und die objektorientierte Windows- Programmierung / Richard Kaiser. Berlin; Heidelberg; New York; Barcelona; Hongkong; London; Mailand; Paris; Tokio: Springer, 2002 (Xpert.press) ISBN Springer-Verlag Berlin Heidelberg New York ein Unternehmen der BertelsmannSpringer Science+Business Media GmbH Springer-Verlag Berlin Heidelberg 2002 Printed in Germany Umschlaggestaltung: KünkelLopka, Heidelberg Satz: Belichtungsfähige Daten vom Autor Gedruckt auf säurefreiem Papier SPIN: /3142 GF

4

5 Vorwort Dieser Text enthält alle Aufgaben und Lösungen zu meinem Buch C++ mit dem Borland C++Builer. Die Lösungen sind auch als vollständige Projekte auf der CD im Buch. Damit der Bezug zwischen dem Buchtext und den Aufgaben leichter hergestellt werden kann, habe ich alle Kapitelüberschriften aus dem Buch in diese Aufgabensammlung übernommen. Anregungen, Korrekturhinweise und Verbesserungsvorschläge sind willkommen. Bitte senden Sie diese an die Adresse Falls Sie Interesse an einer gedruckten Version dieser Aufgaben- und Lösungssammlung haben, bitte eine kurze . Der Verlag wird sie dann eventuell auch als Buch veröffentlichen. Tübingen, im November 2001 Richard Kaiser

6

7 Geleitwort zu C++ mit dem Borland C++Builder Das Programmieren unter C++ gilt als die Königsklasse der objektorientierten Applikations-Entwicklung: Anwender nutzen C++, um universell einsetzbare, modulare Programme zu erstellen. Wer diese Sprache beherrscht, profitiert von einem beispiellosen Funktionsumfang und von der Option, plattformunabhängig zu arbeiten. Das war anfangs nur hochgradig versierten Profis vorbehalten. Sie allein waren in der Lage, der Komplexität des C++-Quellcodes Herr zu werden. Längst aber stehen die Vorzüge von C++ auch all jenen zur Verfügung, die nur gelegentlich oder schlicht und ergreifend aus Freude am Tüfteln Applikationen erstellen. Einen wesentlichen Beitrag zur Demokratisierung der objektorientierten Programmierung leisten integrierte RAD-Systeme (Rapid Application Development) wie der C++Builder von Borland. Ganz gleich ob Profi oder Einsteiger: Die C++-Version der erfolgreichen Object Pascal-Lösung Borland Delphi bietet Programmierern eine visuelle Entwicklungsumgebung, mit der sie einfach und rasch objektorientierte Windows-Applikationen schreiben können. Der C++Builder verfügt über eine umfangreiche Palette an fertigen Komponenten und erleichtert seit der Version 5 auch die Entwicklung von Web-Applikationen. Wer grafische Benutzeroberflächen bauen will, stellt diese einfach mit wenigen Handgriffen per Maus zusammen. Das ist die Basis für ein schnelles, effizientes und komfortables Arbeiten. Kurzum: Mit dem C++Builder wird die Applikations-Entwicklung von der langwierigen Fleißaufgabe zur zielorientierten Kopfarbeit. Das vorliegende Buch ist eine systematische Einführung in die Arbeit mit C++ und dem Borland C++Builder. Ausführlich und praxisnah schildert Richard Kaiser die Konzepte und Elemente der Programmiersprache und der Entwicklungsumgebung. Mit zahlreichen Beispielen und Übungsaufgaben erschließt er auch Lesern ohne Vorkenntnisse die Logik objektorientierten Programmierens. Borland wünscht allen Nutzern dieses hervorragenden Lehrbuchs und Nachschlagewerks viel Spaß und Erfolg bei der Arbeit mit dem C++Builder. Jason Vokes European Product Line Manager - RAD Products and InterBase

8

9 Vorwort zu C++ mit dem Borland C++Builder Dieses Buch entstand ursprünglich aus dem Wunsch, in meinen Vorlesungen über C++ nicht nur Textfensterprogramme, sondern Programme für eine grafische Benutzeroberfläche zu entwickeln. Mit dem C++Builder von Borland stand 1997 erstmals ein Entwicklungssystem zur Verfügung, das so einfach zu bedienen war, dass man es auch in Anfängervorlesungen einsetzen kann, ohne dabei Gefahr zu laufen, dass die Studenten nur noch mit dem Entwicklungssystem kämpfen und gar nicht mehr zum Programmieren kommen. Angesichts der damals anstehenden Verabschiedung des ANSI/ISO-Standards von C++ lag es nahe, in diesem einführenden Lehrbuch auch gleich den gesamten Sprachumfang des Standards umfassend darzustellen. Mir war allerdings nicht klar, auf welche Arbeit ich mich damit eingelassen hatte. Ich hatte weder vor, vier Jahre an diesem Buch zu schreiben, noch einen Wälzer mit 1100 Seiten zu produzieren. Als ich dann die Möglichkeit bekam, Kurse für erfahrene Praktiker aus der Industrie zu halten, wurde ich mit einer Fülle von Anregungen aus ihrer täglichen Arbeit konfrontiert. Diese gaben dem Buch enorme Impulse. Die Programmiersprache C++ wurde als Obermenge der Programmiersprache C entworfen. Dieser Entscheidung verdankt C++ sicher seine weite Verbreitung. Sie hat aber auch dazu geführt, dass oft weiterhin wie in C programmiert wird und lediglich ein C++-Compiler anstelle eines C-Compilers verwendet wird. Dabei werden viele Vorteile von C++ verschenkt. Um nur einige zu nennen: In C++ werden die fehleranfälligen Zeiger viel seltener als in C benötigt. Die Stringklassen lassen sich wesentlich einfacher und risikoloser als die nullterminierten Strings von C verwenden. Die Containerklassen der C++-Standardbibliothek haben viele Vorteile gegenüber Arrays, selbstdefinierten verketteten Listen oder Bäumen. Exception-Handling bietet eine einfache Möglichkeit, auf Fehler zu reagieren. Objektorientierte Programmierung ermöglicht übersichtlichere Programme. Templates sind die Basis für eine außerordentlich vielseitige Standardbibliothek. Ich habe versucht, bei allen Konzepten nicht nur die Sprachelemente und ihre Syntax zu beschreiben, sondern auch Kriterien dafür anzugeben, wann und wie man sie sinnvoll einsetzen kann. Deshalb wurde z.b. mit der objektorientierten Programmierung eine Einführung in die objektorientierte Analyse und das objektorientierte Design verbunden. Ohne die Beachtung von Design-Regeln schreibt man leicht Klassen, die der Compiler zwar übersetzen kann, die aber kaum hilfreich sind. Man hört immer wieder die Meinung, dass C++ viel zu schwierig ist, um es als einführende Programmiersprache einzusetzen. Dieses Buch soll ein in mehreren Jahren erprobtes Gegenargument zu dieser Meinung sein. Damit will ich aber die Komplexität von C++ überhaupt nicht abstreiten. Zahlreiche Übungsaufgaben geben dem Leser die Möglichkeit, die Inhalte praktisch anzuwenden und so zu vertiefen. Da man Programmieren nur lernt, indem man es tut, möchte ich ausdrücklich dazu ermuntern, zumindest einen Teil der Aufgaben zu lösen und sich dann selbst neue Aufgaben zu stellen. Der Schwierigkeitsgrad der Aufgaben reicht von einfachen Wiederholungen des Textes bis zu kleinen Projektchen, die ein gewisses Maß an selbständiger Arbeit erfordern. Die Lösungen der meisten Aufgaben findet man auf der beiliegenden CD und auf meiner Internetseite Anregungen, Korrekturhinweise und Verbesserungsvorschläge sind willkommen. Bitte senden Sie diese an die Adresse bcb@rkaiser.de. Bei allen meinen Schulungskunden und ganz besonders bei Herrn Welsner und der Alcatel University der Alcatel SEL AG Stuttgart bedanke ich mich für die Möglichkeit, dieses Manuskript in zahlreichen Kursen mit erfahrenen Praktikern

10 weiterzuentwickeln. Ohne die vielen Anregungen aus diesen Kursen hätte es weder diesen Praxisbezug noch diesen Umfang erreicht. Peter Schwalm hat große Teile des Manuskripts gelesen und es in vielen Diskussionen über diffizile Fragen mitgestaltet. Mein Sohn Alexander hat als perfekter Systembetreuer dafür gesorgt, dass die Rechner immer liefen und optimal installiert waren. Die Unterstützung von Dr. Hans Wössner und seinem Team vom Springer-Verlag hätte nicht besser sein können. Seine Hilfsbereitschaft und seine überragende fachliche Kompetenz waren immer wieder beeindruckend. Meiner Lektorin Ruth Abraham verdankt dieses Buch eine in sich geschlossene Form, die ich allein nicht geschafft hätte. Die technische Herstellung war bei Gabi Fischer in erfahrenen guten Händen. Herrn Engesser danke ich für die gute Zusammenarbeit beim Abschluss des Projekts. Tübingen, im Oktober 2001 Richard Kaiser

11 Inhalt 1 Die Entwicklungsumgebung Visuelle Programmierung: Ein erstes kleines Programm Erste Schritte in C Der Quelltexteditor Projekte, Projektdateien und Projektoptionen Einige Tipps zur Arbeit mit Projekten Die Online-Hilfe Das lokale Menü Die Symbolleiste Programmierhilfen Packages und eigenständig ausführbare Programme Die Komponentenpalette Die Online-Hilfe zu den Komponenten Namen Labels und Datentypen Funktionen, Methoden und die Komponente TEdit Memos, ListBoxen, ComboBoxen und die Klasse TStrings Buttons und Ereignisse CheckBoxen, RadioButtons und einfache if-abfragen Die Container GroupBox, Panel und RadioGroup ScrollBar Hauptmenüs und Popup-Menüs Die Komponenten der Seite Dialoge Der Aufruf von eigenen Formularen und modale Fenster Die Komponenten der Seite Zusätzlich Einige Komponenten der Seiten Win32 und Win Mehrseitige Dialoge ImageList und ListView Komponenten zur Anzeige hierarchischer Datenstrukturen Komponenten zur Größenanpassung anderer Komponenten Formatierte Texte Statusanzeigen Weitere Komponenten Einige Komponenten der Seite System ActiveX-Komponenten Vordefinierte DialogBoxen Elementare Datentypen und Anweisungen Windows-Programme und Units Syntaxregeln Variablen und Bezeichner weniger wichtig - siehe den Hinweis auf Seite xx

12 xii Inhalt 3.4 Ganzzahldatentypen Die interne Darstellung von Ganzzahlwerten Der Datentyp von Ganzzahlliteralen Zuweisungen und Standardkonversionen bei Ganzzahlausdrücken Operatoren und die üblichen arithmetischen Konversionen Der Datentyp bool Die char-datentypen und der ASCII- und ANSI-Zeichensatz Der Datentyp int Kontrollstrukturen und Funktionen Die if- und die Verbundanweisung Wiederholungsanweisungen Funktionen und der Datentyp void Der integrierte Debugger Gleitkommadatentypen Die interne Darstellung von Gleitkommawerten Der Datentyp von Gleitkommaliteralen Implizite Konversionen Mathematische Funktionen Syntaxregeln für einfache Deklarationen Zeiger, Strings und dynamisch erzeugte Variablen Die Definition von Zeigern Der Adressoperator, Zuweisungen und generische Zeiger Dynamisch erzeugte Variablen: new und delete Zeiger als Parameter und die Zeigertypen der Windows-API Zeigerarithmetik Nullterminierte Strings und Zeiger auf char Zeiger auf Zeiger auf Zeiger auf Referenztypen und Referenzparameter Konstanten Deklarationen mit typedef und typeid-ausdrücke Aufzählungstypen Kommentare und interne Programmdokumentation Präprozessoranweisungen Die include-anweisung Makros Bedingte Kompilation Pragmas Strukturierte Datentypen und vordefinierte Klassen Die Stringklassen AnsiString und string Die Verwendung von Elementfunktionen vordefinierter Klassen Gemeinsamkeiten und Unterschiede der Stringklassen Funktionen für die Klasse AnsiString Einige Elementfunktionen der Klasse string Arrays und Container Eindimensionale Arrays Arrays als Container Mehrdimensionale Arrays Arrays, Zeiger und Zeigerarithmetik Arrays als Funktionsparameter Dynamisch erzeugte Arrays Array-Eigenschaften der VCL Sequenzielle Container der Standardbibliothek Die Container-Klasse vector Algorithmen der Standardbibliothek Die Container-Klassen list und deque Die Container-Adapter stack, queue und priority_queue Container mit Zeigern weniger wichtig - siehe den Hinweis auf Seite xx

13 Inhalt xiii Die Container-Klasse bitset Strukturen und Klassen Mit struct definierte Klassen Verkettete Listen Memory leaks und die Überwachung des Heap Datenstrukturen mit generischen Zeigern Mit union definierte Klassen Die Datentypen TVarRec und Variant Bitfelder Einige Klassen der VCL Ein wenig Grafik: TCanvas, TImage und TPrinter Die Steuerung von MS-Office: Word-Dokumente erzeugen Internet-Komponenten Visuell gestaltete Ausdrucke mit QuickReport Kaufmännische Rechnungen: Die Klassen Currency und BCD Klassen und Funktionen zu Uhrzeit und Kalenderdatum Die Klasse Set Dateien Stream-Variablen, ihre Verbindung mit Dateien und ihr Zustand Fehler und der Zustand von Stream-Variablen Lesen und Schreiben von Binärdaten mit read und write Lesen und Schreiben von Daten mit den Operatoren << und >> Manipulatoren und Funktionen zur Formatierung von Texten Textbildschirm-Anwendungen Stringstreams Dateibearbeitung im Direktzugriff Sortieren, Mischen und Gruppenverarbeitung C-Funktionen zur Dateibearbeitung Assoziative Container Die Container set und multiset Die Container map und multimap Iteratoren der assoziativen Container Die numerischen Klassen der Standardbibliothek Komplexe Zahlen Valarrays und Slices Anweisungen und Ausdrücke Die Ausdrucksanweisung Ausdrücke Primäre Ausdrücke Postfix-Ausdrücke Unäre Ausdrücke Typkonversionen in Typecast-Schreibweise Zeiger auf Klassenelemente Multiplikative Operatoren Additive Operatoren Shift-Operatoren Vergleichsoperatoren Gleichheitsoperatoren Bitweise Operatoren Logische Operatoren Der Bedingungsoperator Konstante Ausdrücke Zuweisungsoperatoren Der Komma-Operator L-Werte und R-Werte Die Priorität und Assoziativität der Operatoren weniger wichtig - siehe den Hinweis auf Seite xx

14 xiv Inhalt Alternative Zeichenfolgen Explizite Typkonversionen Ein wenig Programmierlogik: Symbolische Ausführung Die Deklarationsanweisung Die Verbundanweisung und die Blockstruktur von C Lebensdauer und Speicherklassenspezifizierer Auswahlanweisungen Die if-anweisung Die switch-anweisung Ein wenig Programmierlogik für Auswahlanweisungen Wiederholungsanweisungen Die while-anweisung Die do-anweisung Die for-anweisung Endlosschleifen, Abbruchbedingungen und Windows Ein wenig Programmierlogik für Schleifen Die Sprunganweisungen goto, break und continue Exception-Handling Die try-anweisung Exception-Handler und Exceptions der Standardbibliothek Vordefinierte Exceptions der VCL Der Programmablauf bei Exceptions Das vordefinierte Exception-Handling der VCL throw-ausdrücke und selbst definierte Exceptions Fehler, Exceptions und die Korrektheit von Programmen Die Freigabe von Ressourcen bei Exceptions Exceptions in <math.h> und die Funktion _matherr Die Klasse auto_ptr Exception-Spezifikationen Die Funktion terminate Das Win32-Exception-Handling mit try- except Funktionen Die Definition und der Aufruf von Funktionen Die Verwaltung von Funktionsaufrufen über den Stack Funktionen mit Parametern Werteparameter Call by reference mit Referenzparametern Zeiger als Parameter Konstante Parameter Seiteneffekte und die Reihenfolge von Auswertungen Default-Argumente Der Datentyp einer Funktion Zeiger auf Funktionen Unspezifizierte Anzahl von Argumenten Die Funktionen main bzw. WinMain und ihre Parameter Der Aufruf von Funktionen aus Delphi im C++Builder Traditionelle K&R-Funktionsdefinitionen Aufrufkonventionen Schrittweise Verfeinerung als Entwurfstechnik Etwas Programmierlogik und -stil für Funktionen Rekursion Quicksort Ein rekursiv absteigender Parser Rekursiv definierte Kurven Indirekte Rekursion Rekursive Datenstrukturen und binäre Suchbäume Rekursive Datenstrukturen in der Standardbibliothek von C weniger wichtig - siehe den Hinweis auf Seite xx

15 Inhalt xv 6.7 Inline-Funktionen Überladene Funktionen Überladene Operatoren mit globalen Operatorfunktionen Globale Operatorfunktionen Die Inkrement- und Dekrementoperatoren Referenzen als Funktionswerte Die Ein- und Ausgabe von selbst definierten Datentypen Modulare Programmierung und Namensbereiche Separate Kompilation und statische Bibliotheken Projekte im C++Builder Bindung Deklarationen und Definitionen Die One Definition Rule Header-Dateien und Bibliotheken Der Aufruf von in C geschriebenen Funktionen Dynamic Link Libraries (DLLs) DLLs erzeugen Implizit geladene DLLs Explizit geladene DLLs Hilfsprogramme zur Identifizierung von Funktionen in DLLs DLL-Funktionen mit visuell gestalteten Komponenten Projektgruppen Batch-Dateien Namensbereiche Die Definition von benannten Namensbereichen Die Verwendung von Namen aus Namensbereichen Aliasnamen für Namensbereiche Unbenannte Namensbereiche Module und das Geheimnisprinzip Objektorientierte Programmierung Klassen Datenelemente und Elementfunktionen Der Gültigkeitsbereich von Klassenelementen Objekte und die Zugriffsrechte private und public Der Aufruf von Elementfunktionen und der this-zeiger Konstruktoren und Destruktoren OO Analyse und Design: Der Entwurf von Klassen Ein wenig Programmierlogik: Klasseninvarianten und Korrektheit UML-Diagramme für Klassen und Objekte Klassen als Datentypen Der Standardkonstruktor Objekte als Klassenelemente und Elementinitialisierer friend-funktionen und -Klassen Überladene Operatoren als Elementfunktionen Der Copy-Konstruktor Der Zuweisungsoperator = für Klassen Benutzerdefinierte Konversionen Explizite Konstruktoren Statische Klassenelemente Konstante Klassenelemente und Objekte Weitere Deklarationsmöglichkeiten in Klassen Klassen und Header-Dateien Überladene Operatoren für new und delete Vererbung weniger wichtig - siehe den Hinweis auf Seite xx

16 xvi Inhalt Die Elemente von abgeleiteten Klassen Zugriffsrechte auf die Elemente von Basisklassen Die Bedeutung von Elementnamen in einer Klassenhierarchie using-deklarationen in abgeleiteten Klassen Konstruktoren, Destruktoren und implizit erzeugte Funktionen Vererbung bei Formularen im C++Builder OO Design: public Vererbung und ist ein -Beziehungen OO Design: Komposition und hat ein -Beziehungen Konversionen zwischen public abgeleiteten Klassen protected und private abgeleitete Klassen Mehrfachvererbung und virtuelle Basisklassen Virtuelle Funktionen, späte Bindung und Polymorphie Der statische und der dynamische Datentyp Virtuelle Funktionen Die interne Realisierung von virtuellen Funktionen: vptr und vtbl OO-Design: Der Einsatzbereich von virtuellen Funktionen Komposition und private Mehrfachvererbung Virtuelle Konstruktoren und Destruktoren Virtuelle Funktionen in Konstruktoren und Destruktoren Virtuelle Funktionen und Erweiterbarkeit Rein virtuelle Funktionen und abstrakte Klassen OO-Design: Virtuelle Funktionen und abstrakte Basisklassen Protokollklassen und Programmgerüste Muster (Patterns) UML-Diagramme für Vererbung und Komposition Zeiger auf Klassenelemente Laufzeit-Typinformationen Typinformationen mit dem Operator typeid Typkonversionen mit dynamic_cast Anwendungen von Laufzeit-Typinformationen static_cast mit Klassen Laufzeit-Typinformationen für die Klassen der VCL Die Bibliothek der visuellen Komponenten (VCL) Besonderheiten der VCL Visuelle Programmierung und Properties (Eigenschaften) Lesen und Schreiben von Eigenschaften Array-Properties Indexangaben Speicherangaben Überschriebene Eigenschaften Die Klassenhierarchie der VCL Selbst definierte Komponenten und ihre Ereignisse MDI-Programme Klassenreferenztypen und virtuelle Konstruktoren Botschaften (Messages) Die Message Queue und die Window-Prozedur Botschaften für eine Anwendung Die Behandlung von Botschaften in der VCL Selbst definierte Message-Handler für Windows-Steuerelemente Botschaften versenden Die Erweiterung der Komponentenpalette Templates und die STL Generische Funktionen: Funktions-Templates Die Deklaration von Funktions-Templates mit Typ-Parametern Spezialisierungen von Funktions-Templates weniger wichtig - siehe den Hinweis auf Seite xx

17 Inhalt xvii Funktions-Templates mit Nicht-Typ-Parametern Explizit instanziierte Funktions-Templates Explizit spezialisierte und überladene Templates Rekursive Funktions-Templates Generische Klassen: Klassen-Templates Die Deklaration von Klassen-Templates mit Typ-Parametern Spezialisierungen von Klassen-Templates Templates mit Nicht-Typ-Parametern Explizit instanziierte Klassen-Templates Partielle und vollständige Spezialisierungen Elemente und friend-funktionen von Klassen-Templates Ableitungen von Templates Exportierte Templates UML-Diagramme für parametrisierte Klassen Funktionsobjekte in der STL Der Aufrufoperator () Prädikate und arithmetische Funktionsobjekte Binder, Funktionsadapter und Negatoren Iteratoren und die STL-Algorithmen Die verschiedenen Arten von Iteratoren Umkehriteratoren Einfügefunktionen und Einfügeiteratoren Stream-Iteratoren Container-Konstruktoren mit Iteratoren STL-Algorithmen für alle Elemente eines Containers Die Algorithmen der STL Lineares Suchen Zählen Der Vergleich von Bereichen Suche nach Teilfolgen Minimum und Maximum Elemente vertauschen Kopieren von Bereichen Elemente transformieren und ersetzen Elementen in einem Bereich Werte zuweisen Elemente entfernen Die Reihenfolge von Elementen vertauschen Permutationen Partitionen Bereiche sortieren Binäres Suchen in sortierten Bereichen Mischen von sortierten Bereichen Mengenoperationen auf sortierten Bereichen Heap-Operationen Verallgemeinerte numerische Operationen Verschiedenes D-Grafik mit OpenGL Initialisierungen Grafische Grundelemente: Primitive Modelltransformationen Vordefinierte Körper Lokale Transformationen Beleuchtungseffekte Texturen Win32-Funktionen zur Dateibearbeitung Elementare Funktionen Der gleichzeitige Zugriff von mehreren Anwendern auf eine Datei weniger wichtig - siehe den Hinweis auf Seite xx

18 xviii Inhalt Record-Locking VCL-Funktionen zur Dateibearbeitung und die Klasse TFileStream Datenübertragung über die serielle Schnittstelle Grundbegriffe Standards für die serielle Schnittstelle: RS-232C bzw. V Win32-Funktionen zur seriellen Kommunikation Datenbank-Komponenten der VCL Tabellen und die Komponente TTable Die Anzeige von Tabellen mit der Komponente DBGrid Indizierte Tabellen Datenbanken mit mehreren Tabellen SQL-Abfragen Transaktionen und Cached Updates Die BDE am Beispiel von ODBC und MS Access Datenbanken Visuell gestaltete Datenbank-Ausdrucke mit QuickReport Lösungen Lösungen Kapitel Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Lösungen Kapitel Aufgabe Aufgaben Aufgaben Aufgabe Aufgaben Aufgaben Aufgabe Aufgabe Aufgabe Lösungen Kapitel Aufgaben Aufgaben Aufgaben Aufgaben Aufgaben Aufgaben Aufgaben Aufgaben Aufgabe a) Aufgaben Aufgabe Aufgabe Aufgabe Aufgabe Aufgaben Aufgabe Aufgaben Aufgaben 4.6.3, , und weniger wichtig - siehe den Hinweis auf Seite xx

19 Inhalt xix Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Lösungen Kapitel Aufgaben Aufgaben Aufgabe Aufgabe Aufgabe Aufgaben Aufgabe Aufgaben Aufgabe Aufgaben Aufgaben Lösungen Kapitel Aufgabe und Aufgabe Aufgabe Aufgaben und Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgaben Lösungen Kapitel Aufgaben Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Lösungen Kapitel Aufgabe und Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgaben Aufgaben Aufgabe Aufgabe Lösungen Kapitel Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Lösungen Kapitel Aufgabe Aufgabe weniger wichtig - siehe den Hinweis auf Seite xx

20 xx Inhalt Aufgabe Aufgabe Aufgabe Aufgabe Lösungen Kapitel Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Aufgabe Angesichts des Umfangs dieses Buches habe ich einige Abschnitte mit dem Zeichen in der Überschrift als weniger wichtig gekennzeichnet. Damit wollte ich dem Anfänger nur eine kleine Orientierung durch die Fülle des Stoffes geben. Eine solche Kennzeichnung soll aber überhaupt nicht bedeuten, dass dieser Teil unwichtig ist. Es kann sogar gut sein, dass gerade Sie diese Inhalte laufend benötigen.

21 1 Die Entwicklungsumgebung 1.1 Visuelle Programmierung: Ein erstes kleines Programm 1.2 Erste Schritte in C Der Quelltexteditor 1.4 Projekte, Projektdateien und Projektoptionen 1.5 Einige Tipps zur Arbeit mit Projekten 1.6 Die Online-Hilfe 1.7 Das lokale Menü 1.8 Die Symbolleiste 1.9 Programmierhilfen 1.10 Packages und eigenständig ausführbare Programme

22 2 Die Komponentenpalette 2.1 Die Online-Hilfe zu den Komponenten 2.2 Namen Aufgaben Schreiben Sie ein Programm, das ein Fenster mit folgenden Elementen anzeigt: Verwenden Sie dazu die Komponenten Label, Edit und Button von der Seite Standard der Komponentenpalette. 2. Ersetzen Sie alle vom C++Builder vergebenen Namen durch aussagekräftige Namen. Da in diesem Beispiel sowohl ein Label als auch ein Edit-Fenster für den Vornamen, Nachnamen usw. verwendet wird, kann es sinnvoll sein, den Typ der Komponente im Namen zu berücksichtigen, z.b. LVorname und LNachname für die Label und EVorname und ENachname für die Edit-Fenster. 3. Als Reaktion auf ein Anklicken des Buttons Eingabe löschen soll jedes Eingabefeld mit der Methode Clear gelöscht werden. Für den Button Daten speichern soll keine weitere Reaktion vorgesehen werden. Beim Anklicken des Buttons Programm beenden soll das Formular durch den Aufruf der Methode Close geschlossen werden. Die entsprechenden Funktionen finden Sie am einfachsten durch einen Doppelklick auf den jeweiligen Button im Formular.

23 2.3 Labels und Datentypen Labels und Datentypen Aufgabe 2.3 Schreiben Sie ein Programm, das nach dem Start folgendes Fenster anzeigt: Damit die Größe des Labels nicht dem Text angepasst wird, soll Autosize im Objektinspektor auf false gesetzt werden. Damit das ganze Label sichtbar ist, soll seine Farbe z.b. auf Gelb gesetzt werden. Durch Anklicken der Buttons für ausrichten soll der Text im Label mit Hilfe der Eigenschaft TAlignment (siehe Online-Hilfe) links bzw. rechts ausgerichtet werden, für sichtbar/unsichtbar soll das Label sichtbar bzw. unsichtbar gemacht werden, für links/rechts soll das Label so verschoben werden, dass sein linker bzw. rechter Rand auf dem linken bzw. rechten Rand des Formulars liegt. Informieren Sie sich dazu in der Online-Hilfe über die Eigenschaften Width und ClientWidth eines Formulars. 2.4 Funktionen, Methoden und die Komponente TEdit Aufgaben Schreiben Sie einen einfachen Taschenrechner, mit dem man zwei Ganzzahlen addieren kann. Nach dem Anklicken der Taste Löschen sollen sämtliche Eingabefelder gelöscht werden. Offensichtlich produziert dieser Taschenrechner für ganze Zahlen falsche Ergebnisse, wenn die Summe außerhalb des Bereichs ( ) liegt: Die Ursache für diese Fehler werden wir später kennen lernen.

24 4 2 Die Komponentenpalette 2. Ergänzen Sie den Taschenrechner um einen Button, mit dem auch Gleitkommazahlen addiert werden können. Verwenden Sie dazu die Funktionen extern Extended fastcall StrToFloat (const System::AnsiString S); extern System::AnsiString fastcall FloatToStr (Extended Value); // weitere Informationen dazu in der Online-Hilfe Dabei ist der Datentyp Extended einer der Datentypen, die der C++Builder für Gleitkommazahlen zur Verfügung stellt. Damit können Dezimalbrüche (Zahlen mit Nachkommastellen wie z.b. 3,1415) dargestellt werden. Gleitkommadatentypen haben einen wesentlich größeren Darstellungsbereich als der Ganzzahldatentyp int. Deshalb treten bei dieser Variante des Taschenrechners nicht so schnell Bereichsüberschreitungen auf. Speichern Sie das Projekt ab, z.b. die Unit unter dem Namen tr1 und die Projektdatei unter dem Namen tr1p. Die Lösung der nächsten Aufgabe kann dann unter tr2 und tr2p gespeichert werden. 3. Ändern Sie den Taschenrechner so ab, dass die Grundrechenarten +,, * und / über verschiedene Buttons aktiviert werden können. Die jeweils gewählte Rechenart soll in einem Label zwischen den ersten beiden Eingabefeldern angezeigt werden: 2.5 Memos, ListBoxen, ComboBoxen und die Klasse TStrings Aufgabe 2.5 Schreiben Sie ein Programm, dessen Formular ein Memo, eine ListBox, eine ComboBox, ein Edit-Fenster, zwei Buttons und zwei Labels enthält: a) Beim Anklicken von Button1 soll der aktuelle Text im Edit-Fenster in jede der drei TStrings-Listen eingetragen werden. b) Wenn ein Eintrag in der ListBox angeklickt wird, soll er auf Label1 angezeigt werden. c) Beim Anklicken von Button2 soll der in der ComboBox ausgewählte Text auf dem Label2 angezeigt werden.

25 2.6 Buttons und Ereignisse Buttons und Ereignisse Aufgabe 2.6 Schreiben Sie ein Programm, das in jeweils einem Edit-Fenster durch einen Text anzeigt, ob eines der Ereignisse (außer den Drag-Ereignissen) für einen Button (mit der Aufschrift Test) eingetreten ist: In den Feldern für die Key-Ereignisse soll die jeweils gedrückte Taste angezeigt werden. Beachten Sie dabei, dass der Parameter Key bei der Funktion void fastcall TForm1::Button1KeyPress(TObject *Sender, char &Key) den Datentyp char hat (der der Eigenschaft Text des Edit-Fensters direkt zugewiesen werden kann), während Key bei den Funktionen KeyDown und KeyUp void fastcall TForm1::Button1KeyDown(TObject *Sender, WORD &Key, TShiftState Shift) den Datentyp WORD hat. Dieser Datentyp kann mit IntToStr in einen String umgewandelt und dann der Eigenschaft Text des Edit-Fensters zugewiesen werden. Im Edit-Fenster zu MouseMove sollen die Mauskoordinaten angezeigt werden, die im Ereignis OnMouseMove unter den Werten X und Y zur Verfügung stehen. Die Aufschrift der Buttons soll beim Ereignis FormCreate gesetzt werden. Mit dem Button Clear sollen alle Anzeigen gelöscht werden können. 2.7 CheckBoxen, RadioButtons und einfache if-abfragen Aufgabe 2.7 Schreiben Sie ein Programm, das ein Fenster mit drei CheckBoxen, zwei RadioButtons, einem Label und zwei weiteren Buttons anzeigt: Beim Anklicken des Buttons Test sollen in Abhängigkeit von den Markierungen der CheckBoxen und der RadioButtons folgende Aktionen stattfinden: a) Die Markierung der CheckBox enable/disable soll entscheiden, ob die Eigenschaft Enabled von Button1 auf true oder false gesetzt wird. b) Die Markierung der CheckBox Aufschrift soll entscheiden, welchen von zwei beliebigen Texten Button1 als Aufschrift erhält.

26 6 2 Die Komponentenpalette c) Die Markierung der CheckBox show/hide soll entscheiden, ob Button1 angezeigt wird oder nicht. d) Falls der RadioButton extra Info markiert ist, soll in Label1 ein zusätzlicher Text (beliebig) angezeigt werden. 2.8 Die Container GroupBox, Panel und RadioGroup Aufgabe 2.8 Schreiben Sie ein Programm, das etwa das folgende Fenster anzeigt: Dabei sollen die Buttons OK, Hilfe und Abbruch zu einer Gruppe zusammengefasst werden, die optisch nicht erkennbar ist. Bei jedem Anklicken eines Buttons oder einer CheckBox soll ein Text in die ComboBox eingetragen werden (z.b. CheckBox 1 angeklickt ). 2.9 ScrollBar Aufgabe 2.9 In der frühen Steinzeit der Rechenmaschinen (bis ca. 1970) gab es nicht nur Digitalrechner (wie heute nahezu ausschließlich), sondern auch Analogrechner. Die Bezeichnung analog kommt daher, dass mathematische Zusammenhänge durch physikalische Geräte dargestellt wurden, bei denen aus Eingabewerten in Analogie zu den mathematischen Zusammenhängen Ausgabewerte erzeugt werden. Beispiele sind der Rechenschieber oder spezielle elektrische Geräte, bei denen man die Operanden an Drehreglern eingeben und das Ergebnis an Zeigerinstrumenten ablesen konnte. Analogrechner wurden oft für spezielle Aufgaben entwickelt, z.b. um mit den Kirchhoffschen Regeln Gleichungssysteme zu lösen. Sie arbeiteten oft wesentlich schneller als die damaligen Digitalrechner. Schreiben Sie ein Programm zur Lösung des symmetrischen linearen Gleichungssystems ax + by = 1 bx + dy = 1 bei dem man wie bei einem Analogrechner die Koeffizienten a, b und d an Schiebereglern einstellen kann: Diese Koeffizienten sowie die Ergebnisse sollen digital in einem Edit-Feld dargestellt werden, wenn einer der Schieberegler bewegt wird (Ereignis: OnChange). Die Lösung des obigen Gleichungssystems ist gegeben durch y = (b a)/(b*b a*d)

27 2.10 Hauptmenüs und Popup-Menüs 7 x = (b d)/(b*b a*d) Stellen Sie mit einer if-anweisung sicher, dass keine Division durch 0 stattfindet. In diesem Fall braucht kein neuer Wert für x bzw. y angezeigt werden, und im Feld für die Lösung soll Division durch 0 stehen Hauptmenüs und Popup-Menüs Aufgabe 2.10 Bei dieser Aufgabe soll nur der Umgang mit dem Menüdesigner und der Entwurf von Menüs geübt werden, ohne dass über die Menüs Funktionen aufgerufen werden können. Im nächsten Abschnitt werden dann einige Standarddialoge vorgestellt, die in den Menüs dieses Programms aufgerufen werden können. Entwerfen Sie ein Programm Menu1, in dessen Menüleiste die Optionen Datei, Bearbeiten und Drucken angeboten werden. Diese sollen die folgenden Unterpunkte enthalten: Unter der Option Datei: Datei öffnen und Datei speichern Unter der Option Bearbeiten: Suchen, Suchen und Ersetzen und nach einem Trennstrich Alles markieren, Kopieren und Ausschneiden. Unter der Option Drucken: Drucken und Drucker einrichten. Durch Drücken der rechten Maustaste auf einem freien Bereich des Fensters soll ein Popup-Menü aufgerufen werden können, das die Optionen Farben und Schriftart anbietet Die Komponenten der Seite Dialoge Aufgabe 2.11 Ergänzen Sie das Programm Menu1 aus der Aufgabe des letzten Abschnitts um ein Memo-Fenster, das den gesamten Client-Bereich ausfüllt (Eigenschaft Align= alclient). Als Reaktion auf die Auswahl der angebotenen Menüoption sollen die folgenden Aktionen stattfinden: Datei Datei öffnen: Falls ein Dateiname ausgewählt wird, soll diese Datei in das Memo-Fenster eingelesen werden. Dazu kann die Methode LoadFromFile von Memo1->Lines verwendet werden. In diesem OpenDialog sollen nur die Dateien mit der Endung.txt angezeigt werden. Datei Datei speichern: Falls ein Dateiname ausgewählt wird, soll der Text aus dem Memo mit der Methode SaveToFile von Memo1->Lines unter diesem Namen gespeichert werden. Auch hier kann man einen Filter setzen. Diese Option soll außerdem mit dem ShortCut Strg+S verfügbar sein. Dazu muss man nur diese Eigenschaft im Objektinspektor der entsprechenden Menüoption setzen. Bearbeiten Suchen: Ein FindDialog ohne jede weitere Aktion. Bearbeiten Suchen und Ersetzen: Ein ReplaceDialog ohne jede weitere Aktion. Nach einem Trennstrich in den Menüoptionen: Bearbeiten Alles Markieren: Ein Aufruf von Memo1->SelectAll. Bearbeiten Ausschneiden: Ein Aufruf von Memo1->CutToClipboard. Bearbeiten Kopieren: Ein Aufruf von Memo1->CopyToClipboard. Drucker Drucken. Falls hier Drucken ausgewählt wird, soll das Formular durch den Aufruf seiner Methode Print gedruckt werden. Mit den bisher vorgestellten Sprachelementen ist es noch nicht möglich, den Inhalt des Memos auszudrucken. Drucker Drucker einrichten: Ein PrinterSetupDialog ohne weitere Aktion. Popup-Menü Farben: Die ausgewählte Farbe (Eigenschaft Color des ColorDialogs) soll der Eigenschaft Brush- >Color des Memos zugewiesen werden. Popup-Menü Schriftart: Die ausgewählte Schriftart (Eigenschaft Font des FontDialogs) soll der Eigenschaft Font des Memos zugewiesen werden.

28 8 2 Die Komponentenpalette 2.12 Der Aufruf von eigenen Formularen und modale Fenster Aufgabe 2.12 Schreiben Sie ein Programm, das ein Fenster mit einem Button anzeigt. Beim Anklicken dieses Buttons soll ein zweites Formular modal angezeigt werden, das drei Buttons mit der Aufschrift Dialog mit Hilfe, Passwort-Dialog und Standard-Dialog enthält. Beim Anklicken dieser Buttons sollen die entsprechenden Dialoge aus Datei neu Dialoge modal angezeigt werden. Diese Dialoge sollen als Kopie übernommen werden Die Komponenten der Seite Zusätzlich Aufgabe 2.13 Schreiben Sie ein kleines Zeichenprogramm, das im Wesentlichen aus einem Formular mit einem Image besteht. Die Menüleiste soll die folgenden Optionen anbieten: Datei Öffnen: lädt ein Bild in das Image Farbe Pen: setzt im Canvas von Image die Farbe des Zeichenstiftes Farbe Brush: setzt im Canvas von Image die Füllfarbe von Flächen. Über drei SpeedButtons (die im Folgenden als Linie, Quadrat und Kreis bezeichnet werden) auf einem Panel soll die Art der gezeichneten Elemente festgelegt werden. Diese Buttons können mit fertigen Bitmaps, z.b. aus dem Verzeichnis Borland Shared\Images, verziert werden oder mit eigenen, die man mit dem Bildeditor (unter Tools in der Menüleiste des C++Builders) oder einem anderen Zeichenprogramm entworfen hat. Eine Textaufschrift reicht aber auch aus. Falls der SpeedButton Linie gedrückt ist, wird eine Linie von der Position gezeichnet, an der die linke Maustaste das letzte Mal gedrückt wurde, bis zu der Position, an der sie wieder losgelassen wird. Falls die SpeedButtons Quadrat oder Kreis gedrückt sind, soll ein Quadrat oder Kreis mit dem Durchmesser von 10 Pixeln ab der aktuellen Mausposition gezeichnet werden. Ein SpeedButton soll so lange gedrückt dargestellt werden, bis ein anderer SpeedButton gedrückt wird. Dieses Programm ist natürlich sehr primitiv. Es vermittelt aber einen Eindruck davon, wie Zeichenprogramme aufgebaut sind.

29 2.14 Einige Komponenten der Seiten Win32 und Win Einige Komponenten der Seiten Win32 und Win Mehrseitige Dialoge ImageList und ListView Komponenten zur Anzeige hierarchischer Datenstrukturen Komponenten zur Größenanpassung anderer Komponenten Formatierte Texte Statusanzeigen Weitere Komponenten Aufgaben Schreiben Sie ein Programm mit einem dreiseitigen Dialogfenster. a) Das erste Dialogfenster soll einen Button, ein Label und eine Statusleiste enthalten. Je nachdem, ob sich der Mauszeiger über dem Button oder über dem Label befindet, soll in der Statusleiste ein entsprechender Text angezeigt werden. Sie können dazu das Ereignis OnMouseMove verwenden. b) Das zweite Dialogfenster soll die Komponenten TrackBar und ProgressBar enthalten. Beim Verschieben des Reglers von TrackBar soll der Positionswert durch ProgressBar angezeigt werden. c) Das dritte Dialogfenster soll ein ListView enthalten, dem beim Anklicken eines Buttons mit der Aufschrift Add der Text eines Edit-Fensters als neuer Eintrag hinzugefügt wird. Außerdem sollen die Einträge von zwei weiteren Edit- Fenstern als neuer Untereintrag hinzugefügt werden (siehe die nächste Abbildung). Die Ansicht des ListViews soll über 4 RadioButtons zwischen vsicon, vslist, vssmallicon und vsreport umgeschaltet werden können: 2. Unter Datei neu Projekte findet man die Projektvorlage Win95/98-Logo-Anwendung. Sie enthält ein RichEdit als Editor und Menüoptionen zum Öffnen und Speichern von Dateien. Ergänzen Sie eine solche Anwendung um einen FontDialog, mit dem die Schriftart gewählt werden kann. Damit in diesem FontDialog die Eigenschaften des aktuellen Fonts angezeigt werden, kann man die Eigenschaft SelAttributes mit der Methode Assign als Ganzes dem FontDialog zuweisen. Ebenso kann man mit Assign den Font des FontDialogs dem RichEdit zuweisen. FontDialog1->Font->Assign(RichEdit1->SelAttributes); if (FontDialog1->Execute()) RichEdit1->SelAttributes->Assign(FontDialog1->Font);

30 10 2 Die Komponentenpalette 2.15 Einige Komponenten der Seite System Aufgaben Schreiben Sie ein Programm mit den folgenden beiden Funktionen: a) Die Hintergrundfarbe eines Edit-Fensters soll gelb blinken, wenn es den Fokus hat. Sie können dazu die Ereignisse OnEnter und OnExit verwenden. b) Prüfen Sie Genauigkeit von Timer-Ereignissen, indem Sie jede Sekunde einen Timer-Tick auslösen und dabei den Wert FloatToStr(double(Now())*24*60*60) in einem Memo-Fenster ausgeben. Hier ist Now() die aktuelle Systemzeit als Gleitkommazahl. Die Stellen vor dem Komma geben die Anzahl der Tage seit dem und die Stellen nach dem Komma die aktuelle Uhrzeit an. Vergleichen Sie die angezeigten Werte mit den erwarteten Werten. 2. Schreiben Sie ein Programm, mit dem man WAV-, MIDI-, AVI- und ähnliche Dateien abspielen kann, die mit einem OpenDialog geöffnet wurden: 2.16 ActiveX-Komponenten 2.17 Vordefinierte DialogBoxen

31 3 Elementare Datentypen und Anweisungen 3.1 Windows-Programme und Units 3.2 Syntaxregeln 3.3 Variablen und Bezeichner Aufgabe 3.3 Begründen Sie für jede der folgenden Definitionen, ob sie zulässig ist oder nicht: int Preis_in_$, x kleiner y, Zinssatz_in_%, x/y, this, Einwohner_von_Tübingen; 3.4 Ganzzahldatentypen Die interne Darstellung von Ganzzahlwerten Der Datentyp von Ganzzahlliteralen Aufgaben Stellen Sie mit 8 Bits a) die Zahl 37 im Binärsystem dar b) die Zahl -37 im Zweierkomplement dar c) die Zahlen 37 und -37 im Hexadezimalsystem dar. 2. Welchen Wert stellt der Hexadezimalwert ab a) im Zweierkomplement dezimal dar b) im Binärsystem dezimal dar. 3. Welche Werte werden durch die folgenden Anweisungen ausgegeben: Memo1->Lines->Add(IntToStr(030)); // Vorwahl Berlin Memo1->Lines->Add(IntToStr(017+15)); Memo1->Lines->Add(IntToStr(0x12+10));

32 12 3 Elementare Datentypen und Anweisungen Zuweisungen und Standardkonversionen bei Ganzzahlausdrücken Operatoren und die üblichen arithmetischen Konversionen Aufgaben Welchen Wert haben die Variablen unsigned char b = 255; unsigned char c = 0; short i = 20000; nach den Zuweisungen b = b + 1; c = c 1; short j = i/8; short k = i/ 8; short l = i%8; short m = i% 8; 2. Im C++Builder werden die Koordinaten einer visuellen Komponente immer absolut in Pixeln angegeben. Das hat zur Folge, dass eine Komponente (z.b. ein Button), die beim Entwurf des Formulars in der Mitte platziert ist, nach einer Vergrößerung des Fensters zur Laufzeit nicht mehr zentriert ist. Bei jeder Änderung der Größe eines Fensters tritt das Ereignis OnResize ein. In der zugehörigen Ereignisbehandlungsroutine OnResize kann die Position einer Komponente an die neue Größe des Formulars angepasst werden: void fastcall TForm1::FormResize(TObject *Sender) Button1->Left = (Form1->Width Button1->Width)/2; Überarbeiten Sie die Funktion FormResize so, dass zwei Komponenten Button1 und Button2 nach einer Änderung der Größe des Formulars horizontal symmetrisch auf das Formular verteilt werden. Dabei kann der Fall unberücksichtigt bleiben, dass das Fenster für alle drei Komponenten zu klein wird. 3. Beschreiben Sie für beliebige positive Werte von i und j (beide Ganzzahldatentypen) das Ergebnis von (i/j)*(j/i) Der Datentyp bool Die char-datentypen und der ASCII- und ANSI-Zeichensatz Aufgaben Für die Variable c (Datentyp char) soll eine boolesche Variable a) Grossbuchstabe genau dann den Wert true erhalten, wenn c ein Großbuchstabe ist. b) Buchstabe genau dann den Wert true erhalten, wenn c ein Buchstabe ist. c) alphanumerisch genau dann den Wert true erhalten, wenn c ein Buchstabe oder eine Ziffer ist. 2. Schaltjahre Die Umlaufzeit der Erde um die Sonne bezeichnet man als ein Jahr. Ein Tag ist der Zeitraum, in dem sich die Erde einmal um ihre Achse dreht (Abstand zwischen zwei Mittagen). Misst man ein Jahr als den Zeitraum zwischen den so genannten Frühlingspunkten, an denen ein Tag und eine Nacht genau gleich lang sind, war am ein Jahr 365 Tage, 48 Minuten und 46,0 Sekunden oder 365,24220 Tage lang. Dass ein Jahr in einem Jahrtausend 5,6 Sekunden kürzer wird, soll im Folgenden nicht berücksichtigt werden. Der von Julius Cäsar 46 v. Chr. festgelegte Julianische Kalender ging von durchschnittlich 365,25 Tagen pro Jahr aus. Dieser Fehler ist bis in das 16. Jahrhundert auf ca. 10 Tage angewachsen.

1 Die Entwicklungsumgebung...1

1 Die Entwicklungsumgebung...1 Inhalt 1 Die Entwicklungsumgebung...1 1.1 Visuelle Programmierung: Ein erstes kleines Programm... 2 1.2 Erste Schritte in C++... 6 1.3 Der Quelltexteditor... 9 1.4 Projekte, Projektdateien und Projektoptionen...12

Mehr

C++ mit. Microsoft Visual C++ 2008. Richard Kaiser. Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows.

C++ mit. Microsoft Visual C++ 2008. Richard Kaiser. Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows. Richard Kaiser C++ mit Microsoft Visual C++ 2008 Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows.NET-Programmierung Mit CD-ROM Geleitwort Wenn man heute nach Literatur über Programmiersprachen

Mehr

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden mitp Inhaltsverzeichnis Einleitung 19 Grundlagen 21 Entwicklung und Eigenschaften von C++ 22 Objektorientierte Programmierung 24 Erstellen

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Object Pascal mit Delphi

Object Pascal mit Delphi Richard Kaiser 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Object Pascal mit Delphi Eine Einführung in die objektorientierte

Mehr

Object Pascal mit Delphi

Object Pascal mit Delphi Object Pascal mit Delphi Springer-Verlag Berlin Heidelberg GmbH Richard Kaiser Object Pascal mit Delphi Eine Einführung in die objektorientierte Windows-Programmierung Mit zahlreichen Abbildungen und Tabellen

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Seit meinem letzten Buch über Visual C++ 2008 hat sich viel verändert:

Seit meinem letzten Buch über Visual C++ 2008 hat sich viel verändert: Vorläufiges Vorwort Dieses Buch entstand aus zahlreichen Vorlesungen und Industrieseminaren, die im Laufe der Jahre immer weiterentwickelt und an die C++11/C++14-Erweiterungen von Visual Studio angepasst

Mehr

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch Einfache und effiziente Zusammenarbeit in der Cloud EASY-PM Office Add-Ins Handbuch Inhaltsverzeichnis 1. Einführung... 3 2. Ribbonmenü... 4 3. Dokument... 5 3.1 Öffnen... 5 3.2 Speichern... 6 3.3 Speichern

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

QTTabBar Einrichtung, ein Tutorial

QTTabBar Einrichtung, ein Tutorial QTTabBar Einrichtung, ein Tutorial Von Heiko Schulze Eines der ganz entscheidenden Dinge, das im Explorer fehlt ist das tabunterstützte Navigieren. Dafür gibt es bereits seit Jahren die QTTabBar. Sie wurde

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4. Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! 9 TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! An den SeniorNETclub 50+ Währinger Str. 57/7 1090 Wien Und zwar gleich in doppelter Hinsicht:!"Beantworten Sie die folgenden Fragen und vertiefen Sie damit Ihr

Mehr

Leere Zeilen aus Excel-Dateien entfernen

Leere Zeilen aus Excel-Dateien entfernen Wissenselement Leere Zeilen aus Excel-Dateien entfernen Betrifft: CODE.3, Report/LX (Explorer/LX) Stand: 2012-09-12 1. Hintergrund ibeq Für den Excel-Export setzen wir fertige Libraries des Herstellers

Mehr

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet.

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet. 5.6. Der HTML-Editor Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet. Bild 33: Der Editor 5.6.1. Allgemeine

Mehr

Tipps und Tricks zu den Updates

Tipps und Tricks zu den Updates Tipps und Tricks zu den Updates Grundsätzlich können Sie Updates immer auf 2 Wegen herunterladen, zum einen direkt über unsere Internetseite, zum anderen aus unserer email zu einem aktuellen Update. Wenn

Mehr

So gehts Schritt-für-Schritt-Anleitung

So gehts Schritt-für-Schritt-Anleitung So gehts Schritt-für-Schritt-Anleitung Software WISO Mein Büro Thema Eigene Auswertungen, Tabellenauswertungen Version/Datum V 13.00.05.101 Über die Tabellen-Auswertungen ist es möglich eigene Auswertungen

Mehr

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN 978-3-86249-544-3

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN 978-3-86249-544-3 ECDL Europäischer Computer Führerschein Jan Götzelmann 1. Ausgabe, Juni 2014 Modul Präsentation Advanced (mit Windows 8.1 und PowerPoint 2013) Syllabus 2.0 ISBN 978-3-86249-544-3 ECDLAM6-13-2 3 ECDL -

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

Informatik mit Delphi

Informatik mit Delphi Eckart Modrow Informatik mit Delphi Band 2 für Unterricht und Selbststudium Zeiger und dynamische Datenstrukturen objektorientierte Programmierung abstrakte Datentypen Komplexität Dateien SQL-Datenbanken

Mehr

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen 1. Einführung Über die Tabellen-Auswertungen können Sie eigene Auswertungen nach Ihren Wünschen erstellen. Diese Auswertungen werden immer anhand der aktuellen Daten aus orgamax ermittelt, Sie können also

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

Mehr

Rettungsdienst am Limit: Gesundheit von Einsatzkräften im Rettungsdienst (GERD )

Rettungsdienst am Limit: Gesundheit von Einsatzkräften im Rettungsdienst (GERD ) Heiko Schumann Rettungsdienst am Limit: Gesundheit von Einsatzkräften im Rettungsdienst (GERD ) Ein Vergleich zwischen der Berufsfeuerwehr und den Hilfsorganisationen Diplomica Verlag Heiko Schumann Rettungsdienst

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Anzeige von eingescannten Rechnungen

Anzeige von eingescannten Rechnungen Anzeige von eingescannten Rechnungen Wenn Sie sich zu einer Eingangsrechnung die eingescannte Originalrechnung ansehen möchten, wählen Sie als ersten Schritt aus Ihrem Benutzermenü unter dem Kapitel Eingangsrechnung

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Verwalten und Organisieren von Fotos,

Verwalten und Organisieren von Fotos, Verwalten und Organisieren von Fotos, Datensicherung auf einen externen Datenträger durchführen, Datensicherung auf externe Datenträger - Datensicherheit Grundsätze 02 - Sicherungsmethode / FreeCommander

Mehr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

Fallbeispiel: Eintragen einer Behandlung

Fallbeispiel: Eintragen einer Behandlung Fallbeispiel: Eintragen einer Behandlung Im ersten Beispiel gelernt, wie man einen Patienten aus der Datenbank aussucht oder falls er noch nicht in der Datenbank ist neu anlegt. Im dritten Beispiel haben

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Franz Käppeler Leitfaden für Existenzgründer

Franz Käppeler Leitfaden für Existenzgründer Franz Käppeler Leitfaden für Existenzgründer Springer Berlin Heidelberg NewYork Barcelona Budapest Hongkong London Mailand Paris Santa Clara Singapur Tokio Franz Käppeler Leitfaden für Existenzgründer

Mehr

netdocx Virtuelles Prüfbuch

netdocx Virtuelles Prüfbuch netdocx Virtuelles Prüfbuch Innovative Systeme netdocx-handbuch Stand: 11/2014 Seite 1 von 17 1. ANMELDUNG / LOGIN... 3 1.1. ANMELDUNG ÜBER DIE EQUIPMENTNUMMER ALS KENNUNG ZUR VERIFIZIERUNG DES PRÜFBERICHTS...

Mehr

Stefan Kundelov. Balanced Scorecard. Anwendung in der stationären Altenpflege. Diplomica Verlag

Stefan Kundelov. Balanced Scorecard. Anwendung in der stationären Altenpflege. Diplomica Verlag Stefan Kundelov Balanced Scorecard Anwendung in der stationären Altenpflege Diplomica Verlag Stefan Kundelov Balanced Scorecard: Anwendung in der stationären Altenpflege ISBN: 978-3-8428-3523-8 Herstellung:

Mehr

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Bedienungsanleitung Anlassteilnehmer (Vereinslisten) Bedienungsanleitung Anlassteilnehmer Dieses Programm ist speziell für Vereine entworfen. Es ist lizenzfrei verwendbar und gratis. Das Programm ist mit Excel 2010 erstellt worden und enthält VBA Programmierungen,

Mehr

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007. PocketPC.ch_Review_iLauncher.

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007. PocketPC.ch_Review_iLauncher. PocketPC.ch Review SBSH ilauncher 3.1 Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007 Autor: Dateiname: PocketPC.ch_Review_iLauncher.doc Inhaltsverzeichnis SBSH ilauncher 3.1...3 Übersicht...

Mehr

Einzel-E-Mails und unpersönliche Massen-Mails versenden

Einzel-E-Mails und unpersönliche Massen-Mails versenden Einzel-E-Mails und unpersönliche Massen-Mails versenden Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe

Mehr

Kurzdokumentation AO Bodenbuch Serienbrief Land-Data Eurosoft GmbH & Co.KG Rennbahnstr. 7 84347 Pfarrkirchen

Kurzdokumentation AO Bodenbuch Serienbrief Land-Data Eurosoft GmbH & Co.KG Rennbahnstr. 7 84347 Pfarrkirchen Kurzdokumentation AO Bodenbuch Serienbrief Land-Data Eurosoft GmbH & Co.KG Rennbahnstr. 7 84347 Pfarrkirchen Serienbriefe erleichtern den Briefverkehr. Mit Hilfe dieser Funktion erstellen Sie einen Brief,

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003 Nicht kopieren Der neue Report von: Stefan Ploberger 1. Ausgabe 2003 Herausgeber: Verlag Ploberger & Partner 2003 by: Stefan Ploberger Verlag Ploberger & Partner, Postfach 11 46, D-82065 Baierbrunn Tel.

Mehr

Datei Erweiterungen Anzeigen!

Datei Erweiterungen Anzeigen! Einleitung Beim Kauf eines PCs werden die Dateierweiterungen sowie einige Dateien nicht angezeigt. Grund: Es gibt sehr viele Dateien die für das System ganz wichtig sind. Diese Dateien und auch Ordner

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

MS Access 2010 Kompakt

MS Access 2010 Kompakt 2 ABFRAGEN Eine Abfrage ist im Wesentlichen der Filterung eines Datenbestandes sehr ähnlich. Auch hier werden aus einer Menge von Informationen nur jene Datensätze ausgewählt, die einem vorher definierten

Mehr

FH-SY Chapter 2.4 - Version 3 - FH-SY.NET - FAQ -

FH-SY Chapter 2.4 - Version 3 - FH-SY.NET - FAQ - FH-SY Chapter 2.4 - Version 3 - FH-SY.NET - FAQ - Version vom 02.02.2010 Inhaltsverzeichnis 1. KANN ICH BEI EINER EIGENEN LEKTION NACHTRÄGLICH NOCH NEUE LERNINHALTE ( WAS WURDE BEHANDELT? ) EINFÜGEN?...

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

Einfärbbare Textur erstellen in GIMP (benutzte Version: 2.6.7)

Einfärbbare Textur erstellen in GIMP (benutzte Version: 2.6.7) Tutorial Einfärbbare Textur erstellen in GIMP (benutzte Version: 2.6.7) Vorbereiten: Ebenenfenster sichtbar Farben auf schwarz/weiß setzen (Einfach nur die Taste D drücken) Die Datei nach den Erstellen

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Dokumentation. estat Version 2.0

Dokumentation. estat Version 2.0 Dokumentation estat Version 2.0 Installation Die Datei estat.xla in beliebiges Verzeichnis speichern. Im Menü Extras AddIns... Durchsuchen die Datei estat.xla auswählen. Danach das Auswahlhäkchen beim

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen Menü Macro WinIBW2-Macros unter Windows7?... 1 Macros aufnehmen... 1 Menübefehle und Schaltflächen in Macros verwenden... 4 Macros bearbeiten... 4 Macros löschen... 5 Macro-Dateien... 5 Macros importieren...

Mehr

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Informatik Kurs 12 André Hoffmann. Delphi. Einführung in die Windows- Programmierung

Informatik Kurs 12 André Hoffmann. Delphi. Einführung in die Windows- Programmierung Informatik Kurs 12 André Hoffmann Delphi Einführung in die Windows- Programmierung Grundlagen Entwicklung von Windows-Programmen Relativ unkompliziert durch typische, vorgefertigte Elemente Programmiertechnische

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Gelassenheit gewinnen 30 Bilder für ein starkes Selbst

Gelassenheit gewinnen 30 Bilder für ein starkes Selbst Gelassenheit gewinnen 30 Bilder für ein starkes Selbst Barbara Burghardt Gelassenheit gewinnen 30 Bilder für ein starkes Selbst Wie Sie Ihren inneren Reichtum neu entdecken 2., verbesserte Auflage Barbara

Mehr

Schritt für Schritt Anleitung zur Installation des Programmpaketes HBS + EASYHBS + KSL

Schritt für Schritt Anleitung zur Installation des Programmpaketes HBS + EASYHBS + KSL HBS 6.0 Installation F. Pommerenke 1 Schritt für Schritt Anleitung zur Installation des Programmpaketes HBS + EASYHBS + KSL Es wird vorausgesetzt, dass: der Rechner ein CD Laufwerk hat und das Betriebssystem

Mehr

Textgestaltung mit dem Editor TinyMCE Schritt für Schritt

Textgestaltung mit dem Editor TinyMCE Schritt für Schritt Textgestaltung mit dem Editor TinyMCE Schritt für Schritt Folgender Artikel soll veröffentlicht und mit dem Editor TinyMCE gestaltet werden: Eine große Überschrift Ein Foto Hier kommt viel Text. Hier kommt

Mehr

cardetektiv.de GmbH Kurzanleitung Version 4.0 Software Cardetektiv Zukauf, Preisfindung, Marktanalyse Autor Christian Müller

cardetektiv.de GmbH Kurzanleitung Version 4.0 Software Cardetektiv Zukauf, Preisfindung, Marktanalyse Autor Christian Müller cardetektiv.de GmbH Kurzanleitung Version 4.0 Software Cardetektiv Zukauf, Preisfindung, Marktanalyse Autor Christian Müller Stand 15.08.2011 Sehr geehrte Anwender, diese Anleitung soll Ihnen helfen, alle

Mehr

Handbuch für Redakteure

Handbuch für Redakteure Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Trennen der Druck- und der Online-Version.. 4 Grunddaten ändern... 5 Weitere Artikel-eigenschaften...

Mehr

X.systems.press ist eine praxisorientierte Reihe zur Entwicklung und Administration von Betriebssystemen, Netzwerken und Datenbanken.

X.systems.press ist eine praxisorientierte Reihe zur Entwicklung und Administration von Betriebssystemen, Netzwerken und Datenbanken. X. systems.press X.systems.press ist eine praxisorientierte Reihe zur Entwicklung und Administration von Betriebssystemen, Netzwerken und Datenbanken. Rafael Kobylinski MacOSXTiger Netzwerkgrundlagen,

Mehr

Handbuch für Redakteure

Handbuch für Redakteure Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Grunddaten ändern... 5 Weitere Artikeleigenschaften... 5 Der WYSIWYG-Editor... 6

Mehr

PowerPoint: Text. Text

PowerPoint: Text. Text PowerPoint: Anders als in einem verarbeitungsprogramm steht in PowerPoint der Cursor nicht automatisch links oben auf einem Blatt in der ersten Zeile und wartet auf eingabe. kann hier vielmehr frei über

Mehr

Nützliche Tipps für Einsteiger

Nützliche Tipps für Einsteiger Nützliche Tipps für Einsteiger Zusätzliche Browsertabs - effizienter Arbeiten Ein nützlicher Tipp für das Arbeiten mit easysys ist das Öffnen mehrerer Browsertabs. Dies kann Ihnen einige Mausklicks ersparen.

Mehr

Kurzanleitung JUNG Beschriftungs-Tool

Kurzanleitung JUNG Beschriftungs-Tool So erstellen Sie Ihr erstes Etikett: Wählen Sie eine Vorlage aus. Klicken Sie dazu in der Auswahlliste auf die entsprechende Artikel-Nr. (Wie Sie eigene Vorlagen erstellen erfahren Sie auf Seite.) Klicken

Mehr

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Lieferschein Lieferscheine Seite 1 Lieferscheine Seite 2 Inhaltsverzeichnis 1. STARTEN DER LIEFERSCHEINE 4 2. ARBEITEN MIT DEN LIEFERSCHEINEN 4 2.1 ERFASSEN EINES NEUEN LIEFERSCHEINS 5 2.1.1 TEXTFELD FÜR

Mehr

Vermarktung der FIFA Frauen-Weltmeisterschaft 2011

Vermarktung der FIFA Frauen-Weltmeisterschaft 2011 Stefan D. Gärtner Vermarktung der FIFA Frauen-Weltmeisterschaft 2011 Analyse des Zuschauererfolges, der Ambush Marketing-Aktivitäten und des Sponsor-Fit Diplomica Verlag Stefan D. Gärtner Vermarktung der

Mehr

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung zur Verwendung der VVW-Word-Vorlagen Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Jun-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

1. Allgemein 2. 2. Speichern und Zwischenspeichern des Designs 2. 3. Auswahl der zu bearbeitenden Seite 2. 4. Text ergänzen 3. 5. Textgrösse ändern 3

1. Allgemein 2. 2. Speichern und Zwischenspeichern des Designs 2. 3. Auswahl der zu bearbeitenden Seite 2. 4. Text ergänzen 3. 5. Textgrösse ändern 3 Inhaltsverzeichnis 1. Allgemein 2 2. Speichern und Zwischenspeichern des Designs 2 3. Auswahl der zu bearbeitenden Seite 2 4. Text ergänzen 3 5. Textgrösse ändern 3 6. Schriftart ändern 3 7. Textfarbe

Mehr

Inventarverwaltung mit Access 2007/10

Inventarverwaltung mit Access 2007/10 Inventarverwaltung mit Access 2007/10 Version 1.0 kostenlose Vollversion Autor: sbduss Beat Duss Schweiz http://www.sbduss.com letzte Änderung 21.06.2015 Inhaltsverzeichnis Installation... 3 Hauptfenster...

Mehr

Drucken aus der Anwendung

Drucken aus der Anwendung Drucken aus der Anwendung Drucken aus der Anwendung Nicht jeder Großformatdruck benötigt die volle Funktionsvielfalt von PosterJet - häufig sind es Standarddrucke wie Flussdiagramme und Organigramme die

Mehr

Lukas Hechl. Bilanzrechtliche Probleme des Jahresabschlusses einer GmbH & Co KG. Diplomica Verlag

Lukas Hechl. Bilanzrechtliche Probleme des Jahresabschlusses einer GmbH & Co KG. Diplomica Verlag Lukas Hechl Bilanzrechtliche Probleme des Jahresabschlusses einer GmbH & Co KG Diplomica Verlag Lukas Hechl Bilanzrechtliche Probleme des Jahresabschlusses einer GmbH & Co KG ISBN: 978-3-8428-3178-0 Herstellung:

Mehr

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Mit Anleitung zur Erstellung einer FTP Verbindung unter Windows 7 Matthias Lange

Mehr

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die

Mehr

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Die Textvorlagen in Microsoft WORD und LibreOffice Writer Die Textvorlagen in Microsoft WORD und LibreOffice Writer Liebe Teilnehmer(-innen) am Landeswettbewerb Deutsche Sprache und Literatur Baden- Württemberg, Diese Anleitung soll Ihnen helfen Ihren Wettbewerbsbeitrag

Mehr

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Wie erzeugt man ein Fotobuch im Internet bei Schlecker Seite Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Punkt 12 bis 24: -Wir arbeiten mit der Software 8-16 -Erstellung

Mehr

Antolin-Titel jetzt automatisch in WinBIAP kennzeichnen

Antolin-Titel jetzt automatisch in WinBIAP kennzeichnen & Antolin-Titel jetzt automatisch in WinBIAP kennzeichnen Immer mehr Schulen setzen das erfolgreiche Leseförderungsprojekt "Antolin" ein - und die Bibliotheken verzeichnen große Nachfrage nach den Kinderbüchern,

Mehr

Delphi eine Einführung

Delphi eine Einführung Delphi eine Einführung 1. Die Entwicklungsumgebung Delphi ist ein sogenanntes RAD Werkzeug. RAD = Rapid Application Development = schnelle Anwendungsentwicklung Merkmale: - es gibt vorgefertigte Komponenten

Mehr

Sobald Sie in Moodle einen Textbeitrag verfassen möchten, erhalten Sie Zugang zu folgendem HTML- Texteditor:

Sobald Sie in Moodle einen Textbeitrag verfassen möchten, erhalten Sie Zugang zu folgendem HTML- Texteditor: Texteditor Sobald Sie in Moodle einen Textbeitrag verfassen möchten, erhalten Sie Zugang zu folgendem HTML- Texteditor: Anmerkung für Mac-User: Da der Safari-Browser evtl. Probleme mit dem Editor von Moodle

Mehr

Masterarbeit. Führungsinstrumente im Ehrenamt. Anforderungen und Möglichkeiten. Lars Meyer. Bachelor + Master Publishing

Masterarbeit. Führungsinstrumente im Ehrenamt. Anforderungen und Möglichkeiten. Lars Meyer. Bachelor + Master Publishing Masterarbeit Lars Meyer Führungsinstrumente im Ehrenamt Anforderungen und Möglichkeiten Bachelor + Master Publishing Lars Meyer Führungsinstrumente im Ehrenamt Anforderungen und Möglichkeiten Originaltitel

Mehr

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten. Personenverzeichnis Ab dem Wintersemester 2009/2010 wird das Personenverzeichnis für jeden Mitarbeiter / jede Mitarbeiterin mit einer Kennung zur Nutzung zentraler Dienste über das LSF-Portal druckbar

Mehr

Vollversion: http://vereine.kot-dreisbe.de

Vollversion: http://vereine.kot-dreisbe.de Vollversion: Im Startfenster bekommen Sie alle Termina angezeigt, die in der Datenbank aufgenommen sind. Diese können nach den orange gekennzeichneten Titeln sortiert werden. (siehe oben: Verein, Priorität)

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Anleitung zur Erstellung einer Gefährdungsbeurteilung

Anleitung zur Erstellung einer Gefährdungsbeurteilung Anleitung zur Erstellung einer Gefährdungsbeurteilung 1 Vorbereiten der Gefährdungsbeurteilung 1.1 Richten Sie mit Hilfe des Windows-Explorers (oder des Windows-Arbeitsplatzes) einen neuen Ordner ein,

Mehr