ebook img

C++ mit dem Borland C++Builder 2007: Einführung in den C++-Standard und die objektorientierte Windows-Programmierung PDF

1198 Pages·2008·9.602 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview C++ mit dem Borland C++Builder 2007: Einführung in den C++-Standard und die objektorientierte Windows-Programmierung

Xpert.press DieReiheXpert.pressvermitteltProfessionals indenBereichenSoftwareentwicklung, InternettechnologieundIT-Managementaktuell undkompetentrelevantesFachwissenüber TechnologienundProduktezurEntwicklung undAnwendungmodernerInformationstechnologien. Richard Kaiser C++ mit dem Borland C++Builder 2007 Einführung in den C++-Standard und die objektorientierte Windows-Programmierung 2.überarbeiteteAuflage MitCD-ROM 123 Prof.RichardKaiser SchwärzlocherStr.53 72070Tübingen www.rkaiser.de ISBN978-3-540-69575-2 e-ISBN978-3-540-69773-2 DOI10.1007/978-3-540-69773-2 ISSN1439-5428 BibliografischeInformationderDeutschenNationalbibliothek DieDeutscheNationalbibliothekverzeichnetdiesePublikationinderDeutschen Nationalbibliografie;detailliertebibliografischeDatensindimInternetüber http://dnb.d-nb.deabrufbar. ©2002,2008Springer-VerlagBerlinHeidelberg DiesesWerkisturheberrechtlichgeschützt.DiedadurchbegründetenRechte,insbesondere diederÜbersetzung,desNachdrucks,desVortrags,derEntnahmevonAbbildungenund Tabellen,derFunksendung,derMikroverfilmungoderderVervielfältigungaufanderenWe- genundderSpeicherunginDatenverarbeitungsanlagen,bleiben,auchbeinurauszugsweiser Verwertung,vorbehalten.EineVervielfältigungdiesesWerkesodervonTeilendiesesWerkes istauchimEinzelfallnurindenGrenzendergesetzlichenBestimmungendesUrheberrechts- gesetzesderBundesrepublikDeutschlandvom9.September1965inderjeweilsgeltenden Fassungzulässig.Sieistgrundsätzlichvergütungspflichtig.Zuwiderhandlungenunterliegen denStrafbestimmungendesUrheberrechtsgesetzes. DieWiedergabevonGebrauchsnamen,Handelsnamen,Warenbezeichnungenusw.indiesem WerkberechtigtauchohnebesondereKennzeichnungnichtzuderAnnahme,dasssolche NamenimSinnederWarenzeichen-undMarkenschutz-Gesetzgebungalsfreizubetrachten wärenunddahervonjedermannbenutztwerdendürften.TextundAbbildungen wurden mitgrößterSorgfalterarbeitet.VerlagundAutorkönnenjedochfüreventuellverbliebene fehlerhafteAngabenundderenFolgenwedereinejuristischeVerantwortungnochirgendeine Haftungübernehmen. SpringeristnichtUrheberderDatenundProgramme.WederSpringernochderAutorüber- nehmendieHaftungfürdieCD-ROMunddasBuch,einschließlichihrerQualität,Handels- undAnwendungseignung.InkeinemFallübernehmenSpringeroderderAutorHaftungfür direkte,indirekte,zufälligeoderFolgeschäden,diesichausderNutzungderCD-ROModer desBuchesergeben. Einbandgestaltung:KünkelLopkaWerbeagentur,Heidelberg GedrucktaufsäurefreiemPapier 987654321 springer.com Für Ruth Geleitwort 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 ge- legentlich oder schlicht und ergreifend aus Freude am Tüfteln Applikationen er- stellen. Einen wesentlichen Beitrag zur „Demokratisierung“ der objektorientierten Programmierung leisten integrierte RAD-Systeme (Rapid Application Develop- ment) 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 Entwick- lungsumgebung, mit der sie einfach und rasch objektorientierte Windows-Applika- tionen 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 Nach- schlagewerks viel Spaß und Erfolg bei der Arbeit mit dem C++Builder. Jason Vokes European Product Line Manager – RAD Products and InterBase Vorwort zur 2. Auflage Nach nunmehr fünf Jahren liegt jetzt die zweite Auflage des „Builder-Buches“ vor. In dieser Zeit habe ich zahlreiche Vorlesungen und Industrieseminare auf der Basis der ersten Auflage gehalten. Dabei ergaben sich immer wieder Ansatzpunkte für Verbesserungen, Fehlerkorrekturen, Präzisierungen, Erweiterungen und Straffun- gen des Textes. Das Ergebnis ist eine komplette Überarbeitung der ersten Auflage. Folgende Themen wurden für die zweite Auflage zusätzlich aufgenommen bzw. grundlegend erweitert: – Änderungen gegenüber dem C++Builder 5 – systematische Tests und Unit Tests (Abschnitt 3.5) – Programmierlogik und die Programmverifikation (Abschnitt 3.7) – Objektorientierte Analyse und Design (Kapitel 6) Die meisten Ausführungen gelten für den C++Builder 2007 ebenso wie für den C++Builder 2006 oder noch ältere Versionen (C++Builder 5 und 6). Dabei ist es auch unerheblich, dass Borland den C++Builder inzwischen in eine eigene Firma mit dem Namen CodeGear ausgelagert hat. Da sich auch die meisten Screenshots und Verweise (z.B. unter Projekt|Optionen) bei den verschiedenen Versionen nur wenig unterscheiden, wurden nur die wichtigsten auf den kurz vor der Fertig- stellung des Buches erschienenen C++Builder 2007 angepasst. Tübingen, im August 2007 Richard Kaiser Vorwort zur 1. Auflage 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 Indus- trie 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 ge- genü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 Standardbiblio- thek. 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 ob- jektorientierte 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 prak- tisch 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 Schwie- rigkeitsgrad 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 http://www.rkaiser.de. Anregungen, Korrekturhinweise und Verbesserungsvorschläge sind willkommen. Meine EMail-Adresse finden Sie auf meiner Internetseite. 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ög- lichkeit, dieses Manuskript in zahlreichen Kursen mit erfahrenen Praktikern wei- terzuentwickeln. 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 mit- gestaltet. 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 Inhalt 1 Die Entwicklungsumgebung................................................................1 1.1 Visuelle Programmierung: Ein erstes kleines Programm............................1 1.2 Erste Schritte in C++...................................................................................5 1.3 Der Quelltexteditor.....................................................................................7 1.4 Kontextmenüs und Symbolleisten (Toolbars)...........................................11 1.5 Projekte, Projektdateien und Projektoptionen...........................................13 1.6 Einige Tipps zur Arbeit mit Projekten......................................................16 1.7 Die Online-Hilfe.......................................................................................20 1.8 Projektgruppen und die Projektverwaltung (cid:2)...........................................22 1.9 Hilfsmittel zur Gestaltung von Formularen (cid:2)...........................................24 1.10 Packages und eigenständig ausführbare Programme (cid:2).............................25 1.11 Win32-API und Konsolen-Anwendungen (cid:2).............................................27 1.11.1 Konsolen-Anwendungen (cid:2)...............................................................27 1.11.2 Der Start des Compilers von der Kommandozeile (cid:2)........................28 1.11.3 Win32-API Anwendungen (cid:2)............................................................28 1.12 Windows-Programme und Units (cid:2)...........................................................29 2 Komponenten für die Benutzeroberfläche......................................31 2.1 Die Online-Hilfe zu den Komponenten.....................................................31 2.2 Namen.......................................................................................................35 2.3 Labels, Datentypen und Compiler-Fehlermeldungen................................38 2.4 Funktionen, Methoden und die Komponente TEdit..................................43 2.5 Memos, ListBoxen, ComboBoxen und die Klasse TStrings.....................47 2.6 Buttons und Ereignisse..............................................................................53 2.6.1 Parameter der Ereignisbehandlungsroutinen....................................54 2.6.2 Der Fokus und die Tabulatorreihenfolge..........................................55 2.6.3 BitButtons und einige weitere Eigenschaften von Buttons...............56 2.7 CheckBoxen, RadioButtons und einfache if-Anweisungen.......................58 2.8 Die Container GroupBox, Panel und PageControl....................................60 2.9 Hauptmenüs und Kontextmenüs................................................................63

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.