0

Das C++Builder Rezeptbuch, Teil 2

Eine Praxisnahe Arbeitshilfe für die Entwicklung von C++-Programmen mit dem c++Builder, informatik-ganz-einfach 4

Erschienen am 11.12.2020, 1. Auflage 2020
17,99 €
(inkl. MwSt.)

Lieferbar innerhalb 1 - 2 Wochen

In den Warenkorb
Bibliografische Daten
ISBN/EAN: 9783945899168
Sprache: Deutsch
Umfang: 236 S., 2 farbige Illustr.
Format (T/L/B): 1.7 x 22 x 17 cm
Einband: kartoniertes Buch

Beschreibung

In diesem Band werden u. a. die folgenden Themen behandelt: Eingriffe in den Programmablauf Erstellung von Geschäftsgrafiken mit der Komponente TChart Einführung in die Programmierung relationaler Datenbanken Erstellung von DatenbankBerichten mit Rave Reports Dynamische LinkBibliotheken Ankopplung von Moduln aus anderen Programmiersprachen Verbindung zum Internet mit den INDYKomponenten Durch zahlreiche charakteristische Anwendungsbeispiele wird der Leser rasch in die Lage versetzt, individuelle Anwendungen mit dem C++Builder selbst zu erstellen. Selbstverständlich wird dabei auf typische Fallstricke deutlich hingewiesen. Weitere Bände, die sich u. a. mit fortgeschrittenen Datenbanktechniken, Data Snap - Client/Server-Lösungen und der Nutzung in integrierter Softwareentwicklung befassen sind geplant.

Produktsicherheitsverordnung

Hersteller:
BoD - Books on Demand
info@bod.de
In de Tarpen 42
DE 22848 Norderstedt

Autorenportrait

Autor: Prof. Dr.Ing. Wilfried Koch lehrt an der Hochschule RavensburgWeingarten SoftwareEngineering und Künstliche Intelligenz. Außerdem leitet er das SteinbeisTransferzentrums Software und Systemtechnik in Oberkochen. Erfahrungen aus seinen Lehrveranstaltungen sowie zahlreichen kommerziellen Projekten bilden die Basis dieses Buchs.

Inhalt

Inhaltsverzeichnis 8. Eingriffe in den Programmablauf 14 8.1. Abbruch einer laufenden Berechnung zu einem beliebigen Zeitpunkt 14 8.1.1. Aufgabenstellung 14 8.1.2. Erster Lösungsversuch 14 8.1.2.1. Bedienoberfläche 14 8.1.2.2. Berechnungsschleife 14 8.1.2.3. Abbruchmechanismus 15 8.1.2.4. Testergebnis 15 8.1.3. Endgültige Lösung 15 8.1.3.1. Schritthaltende Resultatsanzeige 16 8.1.3.2. Zeitnaher Berechnungsabbruch durch Schaltflächenbetätigung 16 8.1.3.3. Berechnungsabbruch mittels Tastatureingabe 16 8.1.3.4. Zusammenfassung 17 8.1.4. Programmcode: Abbruch von Berechnungen (ProAbbruch) 18 8.1.4.1. Hauptformular FormMainAbbruch 18 8.1.5. Reduzierung der Prozessorbelastung 20 8.2. Abbruch einer laufenden Berechnung nach Ablauf einer vorgegebenen Zeit (Realisierung eines Timeouts) 21 8.2.1. Aufgabenstellung 21 8.2.2. Lösung 21 8.2.2.1. Bedienoberfläche 21 8.2.2.2. Berechnungsschleife 22 8.2.2.3. Zeitlicher Abbruchmechanismus 22 8.2.3. Programmcode: Programmabbruch durch Zeitablauf (ProTimeOut) 22 8.2.3.1. Hauptformular FormMainTimeOut 22 8.2.4. Reduzierung der Prozessorbelastung 24 8.3. Laufende Anzeige von Datenänderungen 24 8.3.1. Aufgabenstellung 24 8.3.2. Elementare Lösung 25 8.3.2.1. Anwendung und Bedienoberfläche in der selben Unit 25 8.3.2.2. Verteilung von Anwendung und Bedienoberfläche auf zwei verschiedene Units 26 8.3.3. Systematische Lösung 28 8.3.3.1. Bedienoberfläche 28 8.3.3.2. Anwendungsmodul 29 8.3.3.3. Ereignisbehandlung im Hauptformular 30 8.3.4. Programmcode: Ereignisgesteuerte Anzeige veränderlicher Daten (ProEreignis) 31 8.3.4.1. Hauptformular FrmMainEreignis 31 8.3.4.2. Unit UAnwendung 33 8.4. Gleiche Fachaufgabe – geändertes Gesicht 34 8.4.1. Lösung zur variierten Aufgabenstellung 34 8.4.2. Programmcode zur variierten Aufgabenstellung 35 8.4.2.1. Hauptformular FrmMainEreignisVar 35 9. Anspruchsvolle Geschäftsgrafiken problemlos erstellen (Einsatz von TChart) 37 9.1. Aufgabenstellung 38 9.1.1. Fachaufgabe 38 9.1.2. Aufbau und Vorgehen 38 9.2. Lösung mit dem TeeChart-Framework 39 9.2.1. Wichtige Methoden und Eigenschaften im Umfeld der Klasse TChart 39 9.2.1.1. Wichtige Eigenschaften und Methoden des Diagramms (TChart) 39 9.2.1.2. Wichtige Eigenschaften und Methoden von Datenreihen (TChartSeries) 42 9.2.1.3. Wichtige Eigenschaften und Methoden von Liniendiagrammen (TLineSeries) 42 9.2.1.4. Wichtige Eigenschaften und Methoden von Kreisdiagrammen (TPieSeries) 43 9.2.1.5. Wichtige Eigenschaften und Methoden von Blasendiagrammen (TBubbleSeries) 44 9.2.2. Formulare 44 9.2.2.1. Hauptformular FrmChartMain 44 9.2.2.2. Diagrammformulare 45 9.2.3. Interaktive Handhabung der Komponente TChart 46 9.2.4. Elemente der Diagrammgestaltung 46 9.2.5. Darstellung der Wahlergebnisse 47 9.2.5.1. Darstellung der Wahlergebnisse im Dialogverfahren 48 9.2.5.2. Darstellung der Wahlergebnisse durch Programmierung 55 9.2.5.3. Berechnung und Darstellung der Differenz zweier Datenreihen 55 9.2.5.4. Variationsmöglichkeiten für die Darstellung 60 9.2.5.5. Diagrammexport in Dateien 61 9.2.5.6. Diagrammdruck 61 9.2.6. Programmcode: Erstellung von Geschäftsgrafiken 62 9.2.6.1. Hauptformular FrmChartMain 62 9.2.6.2. Formular FrmChartStat für die statische Diagrammerstellung 63 9.2.6.3. Formular FrmChartDyn für die dynamische Diagrammerstellung 70 10. Borland Database Engine (BDE) – Der schnelle Weg zur Erstellung einfacher Daten­bankanwendungen 74 10.1. Die Architektur von Datenbankanwendungen 74 10.1.1. Datenbanklösung und Dateilösung 75 10.1.2. Die Beispielanwendung 76 10.2. Erstellung von Datenbanktabellen 77 10.2.1. Interaktive Erstellung der Datenbanktabelle Kunden.db mit dem Programm Datenbankoberfläche (Database Desktop) 77 10.2.1.1. Erstellen der Datenbanktabelle 77 10.2.1.2. Felder der Datenbanktabelle erstellen 78 10.2.1.3. Bearbeiten / Ändern 80 10.2.2. Erstellen der Datenbanktabelle Waren.db zur Laufzeit mittels eines individuell erstellten Programms 80 10.2.2.1. Aufgabenstellung 81 10.2.2.2. Lösungsweg 81 10.2.2.3. Der Alias 84 10.2.2.4. Definitionen für die gesamte Datenbanktabelle 85 10.2.2.5. Programmcode: Erstellung einer Datenbanktabelle 89 10.3. Programme zur Anzeige und Manipulation von Datenbanktabellen 92 10.3.1. Datenbanktabelle Waren.db 92 10.3.1.1. Aufgabenstellung 92 10.3.1.2. Löungsweg 92 10.3.1.3. Programmcode: Manipulation der Warendatentabelle. 96 10.3.2. Datenbanktabelle Rechnungen.db 97 10.3.3. Datenbanktabelle Rechnungspositionen.db 97 10.4. Verknüpfung von Datenbanktabellen 99 10.4.1. Verbindung von Kunden- und Rechnungsdaten 99 10.4.1.1. Einbau der Lookup-ComboBox 99 10.4.2. Verbindung von Waren- und Rechnungsdaten 100 10.4.2.1. Die zu einer bestimmten Rechnung gehörige Rechnungspositionen finden 101 10.4.2.2. Statt einer Warennummer die kompletten Wareninformationen in die Rechnungsposition einfügen 102 10.4.3. Programmcode: Erstellung und Manipulation von Rechnungen 105 10.4.3.1. Hauptformular FrmRechTabDialog 105 10.5. Berichtserstellung mit Rave Reports 115 10.5.1. Gestaltung des Berichts 117 10.5.1.1. Seiteneinrichtung 117 10.5.1.2. Fest positionierte Elemente 118 10.5.1.3. Flexible Berichtselemente 120 10.5.2. Verbindung von Datenbank (Datenmengen) und Bericht 121 10.5.2.1. Bereitstellung von Datenmengen für das Rave-Projekt 121 10.5.2.2. Nutzung der Datenmengen im Rave-Projekt 122 10.5.2.3. Datenanschluss der datensensitiven Komponenten im Rave-Report 122 10.5.2.4. Der Rave Reports Projektbaum 122 10.5.3. Programmierung der Berichtsausgabe 124 10.5.4. Programmcode: Ausdrucken von Datenbankberichten (Rechnungen) 125 10.5.4.1. Programmaufbau 125 10.5.4.2. Hauptformular FrmRechTabDialog 126 10.5.4.3. Berichtsformular FrmBerichtRech 126 10.6. Datenbanktabellen und Textdateien 129 10.6.1. Aufgabenstellung 129 10.6.2. Lösungsweg 130 10.6.2.1. CSV-Export 130 10.6.2.2. CSV-Import 131 10.6.3. Programmcode: Verbindung von Textdateien (CSV) und Datenbanken 133 10.6.3.1. Hauptformular FrmMainKunCSVImpExp 133 11. Nutzen Sie die Möglichkeiten Dynamischer Link-Bibliotheken (DLLs) 137 11.1. Ein bisschen Theorie 137 11.1.1. Möglichkeiten der DLL 137 11.1.1.1. Nutzung einer DLL durch mehrere Programme 138 11.1.1.2. Realisierung hybrider Programmkonzepte 138 11.1.1.3. Skalierung von Programmen 138 11.1.1.4. Verbesserung der Wartbarkeit 138 11.2. Sie erstellen eine DLL 139 11.2.1. Aufgabenstellung 139 11.2.2. Die Lösung 139 11.2.2.1. Die DLL – ein C++Builder-Projekt 139 11.2.2.2. Schnittstellen der DLL 141 11.2.3. Monolithische DLL 141 11.2.3.1. Programmcode für die monolithische DLL 142 11.2.4. Modulare DLL 142 11.2.4.1. Programmcode für die modulare DLL 143 11.2.5. Statische Bindung der DLL 144 11.2.5.1. Projekt ProMainStat_D 144 11.2.5.2. Hauptprogramm ProMainStatDLL_D 144 11.2.5.3. Probleme beim Verbinden von EXE-Datei und DLL 144 11.2.5.4. Hauptformular UFrmMain_D - Direkteinbau der Importschnittstelle 145 11.2.5.5. Hauptformular UFrmMain_Z - Zentrale Anordnung der Importschnittstelle in einer Schnittstellendatei 146 11.2.6. Testen von DLL-Funktionen 147 11.2.7. Trennung der Datenbereiche 148 11.2.8. Dynamische Bindung 149 11.2.8.1. Aufbau des Hauptprogramms (DLL-benutzendes Programm) 149 11.2.8.2. Aufbau des Schnittstellenmoduls UDLLImp 149 11.2.8.3. ProgrammCode für die Dynamische Einbindung von DLLs 151 11.3. Auch das geht: DLLs und VCL 152 11.3.1. Aufgabenstellung 152 11.3.1.1. Realisierung eines Formulars mittels einer DLL 152 11.3.1.2. Hauptprogramm ProDLLVCL 153 11.3.2. Lösungsweg 153 11.3.2.1. Die DLL VCLFormDLL zur Realisierung des Formulars 153 11.3.2.2. Hauptprogramm 154 11.3.3. Programmcode: Verwendung von VCL-Komponenten in DLLs 155 11.3.3.1. DLL VCLFormDLL.dll 155 11.3.3.2. Hauptprogramm 158 11.4. Noch ein Beispiel: DLL mit Objektschnittstelle 160 11.4.1. Aufgabenstellung 160 11.4.2. Lösung 160 11.4.2.1. Basisklasse TMWSt0 160 11.4.2.2. DLL ProDLLObjBeispiel 161 11.4.2.3. Hauptprogramm ProMainObjDLL 161 11.4.3. Programmcode: DLL zur Kapselung von Klassen 163 11.4.3.1. Basisklasse TMWSt0 163 11.4.3.2. DLL ProDLLObjBeispiel 164 11.4.3.3. Hauptprogramm ProMainObjDLL 165 11.4.3.4. Hauptformular FrmMainObjDLL 165 11.5. Zugang zu fremden Sprachwelten: Verwendung von Delphi-DLLs in C++Builder-Programmen 167 11.5.1. Aufgabenstellung 167 11.5.2. Lösungsweg 169 11.5.2.1. Funktion 169 11.5.2.2. Schnittstelleninformation 170 11.5.3. Programmcode: Verbindung eines C++-Hauptprogramms mit einer Delphi-DLL 172 11.5.3.1. Hauptformular 172 12. Internetanwendungen 174 12.1. Das (Open-Source-) Projekt Indy 174 12.2. Spezielle Indy-Datentypen 176 12.3. E-Mail aus einer Anwendung senden (Entwicklung eines SMTP-Clients) 179 12.3.1. Aufgabenstellung 179 12.3.2. Lösungsweg 180 12.3.2.1. Sendemethode BtnSMTPSendenClick 183 12.3.3. Programmcode: Senden von E-Mail-Nachrichten (SMTP-Client) 186 12.3.3.1. Hauptprogramm ProSMTPClient 186 12.3.3.2. Formularunit UFrmMainSMTPClient 186 12.4. E-Mail in einer Anwendung empfangen (Entwicklung eines POP3-Clients) 190 12.4.1. Aufgabenstellung 190 12.4.2. Lösungsweg 192 12.4.2.1. Empfangsmethode BtnPOP3EmpfangenClick 193 12.4.2.2. Auflistung der eingegangenen Nachrichten 194 12.4.2.3. Anzeige der Textnachrichten und Auflistung der Anhänge 198 12.4.2.4. Abspeichern der Nachrichten und Anhänge 200 12.4.2.5. Löschen von Nachrichten 201 12.4.2.6. Trennen der Verbindung 202 12.4.3. Programmcode: Empfangen von E-Mail-Nachrichten (POP3-Client) 202 12.4.3.1. Hauptprogramm ProPOP3Client 202 12.4.3.2. Formularunit UFrmMainPOP3Client 202 12.5. Dateiverkehr mit dem Internet (Erstellung eines FTP-Clients) 208 12.5.1. Was ist FTP? 208 12.5.2. Aufgabenstellung 208 12.5.3. Installation eines Testservers 208 12.5.3.1. Installation von Filezilla 209 12.5.3.2. Installation von FreeFTPd 211 12.5.3.3. Installation von ftpsrv110 213 12.5.4. Vorgehen bei der Lösung 213 12.5.5. Entwicklungsstufe 1 214 12.5.5.1. Bedienoberfläche 214 12.5.5.2. Verbinden 214 12.5.5.3. Anmelden (LogIn) 216 12.5.5.4. Trennen 216 12.5.5.5. Ereignismethoden zur Verfolgung des Betriebszustandes des FTP-Clients 217 12.5.6. Entwicklungsstufe 2 217 12.5.6.1. Bedienoberfläche 218 12.5.6.2. Darstellung der Verzeichnisliste 218 12.5.7. Entwicklungsstufe 3 219 12.5.7.1. Navigation im Server-Verzeichnis 220 12.5.7.2. Wechsel auf das übergeordnete Verzeichnis 220 12.5.8. Entwicklungsstufe 4 220 12.5.8.1. Bedienoberfläche 220 12.5.8.2. Download 222 12.5.8.3. Upload 223 12.5.9. Programmcode: Realisierung eines FTP-Clients 223 12.5.9.1. Hauptformular FrmMainFTPClient4 223 Literaturverzeichnis 230 Stichwortverzeichnis 232

Weitere Artikel aus der Kategorie "Informatik, EDV/Programmiersprachen"

Alle Artikel anzeigen