Das C++ Builder-Rezeptbuch - Wilfried Koch

Das C++ Builder-Rezeptbuch

Band 2

(Autor)

Buch | Softcover
236 Seiten
2020 | 2. Inahltlich unveränderte, redaktionell geringfügig übearbeitete Neuauflage
Oberkochener Medienverlag
978-3-945899-16-8 (ISBN)
17,99 inkl. MwSt
  • Titel nicht im Sortiment
  • Artikel merken
Inhalt:
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 Datenbank-Berichten mit Rave Reports
• Dynamische Link-Bibliotheken
• Ankopplung von Moduln aus anderen Programmiersprachen
• Verbindung zum Internet mit den INDY-Komponenten
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. Weitere Informationen zum Buch finden Sie unter www.informatik-ganz-einfach.d

Inhaltsverzeichnis
8. Eingriffe in den Programmablauf14
8.1. Abbruch einer laufenden Berechnung zu einem beliebigen Zeitpunkt14
8.1.1. Aufgabenstellung14
8.1.2. Erster Lösungsversuch14
8.1.2.1. Bedienoberfläche14
8.1.2.2. Berechnungsschleife14
8.1.2.3. Abbruchmechanismus15
8.1.2.4. Testergebnis15
8.1.3. Endgültige Lösung15
8.1.3.1. Schritthaltende Resultatsanzeige16
8.1.3.2. Zeitnaher Berechnungsabbruch durch Schaltflächenbetätigung16
8.1.3.3. Berechnungsabbruch mittels Tastatureingabe16
8.1.3.4. Zusammenfassung17
8.1.4. Programmcode: Abbruch von Berechnungen (ProAbbruch)18
8.1.4.1. Hauptformular FormMainAbbruch18
8.1.5. Reduzierung der Prozessorbelastung20
8.2. Abbruch einer laufenden Berechnung nach Ablauf einer vorgegebenen Zeit (Realisierung eines Timeouts)21
8.2.1. Aufgabenstellung21
8.2.2. Lösung21
8.2.2.1. Bedienoberfläche21
8.2.2.2. Berechnungsschleife22
8.2.2.3. Zeitlicher Abbruchmechanismus22
8.2.3. Programmcode: Programmabbruch durch Zeitablauf (ProTimeOut)22
8.2.3.1. Hauptformular FormMainTimeOut22
8.2.4. Reduzierung der Prozessorbelastung24
8.3. Laufende Anzeige von Datenänderungen24
8.3.1. Aufgabenstellung24
8.3.2. Elementare Lösung25
8.3.2.1. Anwendung und Bedienoberfläche in der selben Unit25
8.3.2.2. Verteilung von Anwendung und Bedienoberfläche auf zwei verschiedene Units26
8.3.3. Systematische Lösung28
8.3.3.1. Bedienoberfläche28
8.3.3.2. Anwendungsmodul29
8.3.3.3. Ereignisbehandlung im Hauptformular30
8.3.4. Programmcode: Ereignisgesteuerte Anzeige veränderlicher Daten (ProEreignis)31
8.3.4.1. Hauptformular FrmMainEreignis31
8.3.4.2. Unit UAnwendung33
8.4. Gleiche Fachaufgabe – geändertes Gesicht34
8.4.1. Lösung zur variierten Aufgabenstellung34
8.4.2. Programmcode zur variierten Aufgabenstellung35
8.4.2.1. Hauptformular FrmMainEreignisVar35
9. Anspruchsvolle Geschäftsgrafiken problemlos erstellen (Einsatz von TChart)37
9.1. Aufgabenstellung38
9.1.1. Fachaufgabe38
9.1.2. Aufbau und Vorgehen38
9.2. Lösung mit dem TeeChart-Framework39
9.2.1. Wichtige Methoden und Eigenschaften im Umfeld der Klasse TChart39
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. Formulare44
9.2.2.1. Hauptformular FrmChartMain44
9.2.2.2. Diagrammformulare45
9.2.3. Interaktive Handhabung der Komponente TChart46
9.2.4. Elemente der Diagrammgestaltung46
9.2.5. Darstellung der Wahlergebnisse47
9.2.5.1. Darstellung der Wahlergebnisse im Dialogverfahren48
9.2.5.2. Darstellung der Wahlergebnisse durch Programmierung55
9.2.5.3. Berechnung und Darstellung der Differenz zweier Datenreihen55
9.2.5.4. Variationsmöglichkeiten für die Darstellung60
9.2.5.5. Diagrammexport in Dateien61
9.2.5.6. Diagrammdruck61
9.2.6. Programmcode: Erstellung von Geschäftsgrafiken62
9.2.6.1. Hauptformular FrmChartMain62
9.2.6.2. Formular FrmChartStat für die statische Diagrammerstellung63
9.2.6.3. Formular FrmChartDyn für die dynamische Diagrammerstellung70
10. Borland Database Engine (BDE) – Der schnelle Weg zur Erstellung einfacher Daten­bankanwendungen74
10.1. Die Architektur von Datenbankanwendungen74
10.1.1. Datenbanklösung und Dateilösung75
10.1.2. Die Beispielanwendung76
10.2. Erstellung von Datenbanktabellen77
10.2.1. Interaktive Erstellung der Datenbanktabelle Kunden.db mit dem Programm Datenbankoberfläche (Database Desktop)77
10.2.1.1. Erstellen der Datenbanktabelle77
10.2.1.2. Felder der Datenbanktabelle erstellen78
10.2.1.3. Bearbeiten / Ändern80
10.2.2. Erstellen der Datenbanktabelle Waren.db zur Laufzeit mittels eines individuell erstellten Programms80
10.2.2.1. Aufgabenstellung81
10.2.2.2. Lösungsweg81
10.2.2.3. Der Alias84
10.2.2.4. Definitionen für die gesamte Datenbanktabelle85
10.2.2.5. Programmcode: Erstellung einer Datenbanktabelle89
10.3. Programme zur Anzeige und Manipulation von Datenbanktabellen92
10.3.1. Datenbanktabelle Waren.db92
10.3.1.1. Aufgabenstellung92
10.3.1.2. Löungsweg92
10.3.1.3. Programmcode: Manipulation der Warendatentabelle.96
10.3.2. Datenbanktabelle Rechnungen.db97
10.3.3. Datenbanktabelle Rechnungspositionen.db97
10.4. Verknüpfung von Datenbanktabellen99
10.4.1. Verbindung von Kunden- und Rechnungsdaten99
10.4.1.1. Einbau der Lookup-ComboBox99
10.4.2. Verbindung von Waren- und Rechnungsdaten100
10.4.2.1. Die zu einer bestimmten Rechnung gehörige Rechnungspositionen finden101
10.4.2.2. Statt einer Warennummer die kompletten Wareninformationen in die Rechnungsposition einfügen102
10.4.3. Programmcode: Erstellung und Manipulation von Rechnungen105
10.4.3.1. Hauptformular FrmRechTabDialog105
10.5. Berichtserstellung mit Rave Reports115
10.5.1. Gestaltung des Berichts117
10.5.1.1. Seiteneinrichtung117
10.5.1.2. Fest positionierte Elemente118
10.5.1.3. Flexible Berichtselemente120
10.5.2. Verbindung von Datenbank (Datenmengen) und Bericht121
10.5.2.1. Bereitstellung von Datenmengen für das Rave-Projekt121
10.5.2.2. Nutzung der Datenmengen im Rave-Projekt122
10.5.2.3. Datenanschluss der datensensitiven Komponenten im Rave-Report122
10.5.2.4. Der Rave Reports Projektbaum122
10.5.3. Programmierung der Berichtsausgabe124
10.5.4. Programmcode: Ausdrucken von Datenbankberichten (Rechnungen)125
10.5.4.1. Programmaufbau125
10.5.4.2. Hauptformular FrmRechTabDialog126
10.5.4.3. Berichtsformular FrmBerichtRech126
10.6. Datenbanktabellen und Textdateien129
10.6.1. Aufgabenstellung129
10.6.2. Lösungsweg130
10.6.2.1. CSV-Export130
10.6.2.2. CSV-Import131
10.6.3. Programmcode: Verbindung von Textdateien (CSV) und Datenbanken133
10.6.3.1. Hauptformular FrmMainKunCSVImpExp133
11. Nutzen Sie die Möglichkeiten Dynamischer Link-Bibliotheken (DLLs)137
11.1. Ein bisschen Theorie137
11.1.1. Möglichkeiten der DLL137
11.1.1.1. Nutzung einer DLL durch mehrere Programme138
11.1.1.2. Realisierung hybrider Programmkonzepte138
11.1.1.3. Skalierung von Programmen138
11.1.1.4. Verbesserung der Wartbarkeit138
11.2. Sie erstellen eine DLL139
11.2.1. Aufgabenstellung139
11.2.2. Die Lösung139
11.2.2.1. Die DLL – ein C++Builder-Projekt139
11.2.2.2. Schnittstellen der DLL141
11.2.3. Monolithische DLL141
11.2.3.1. Programmcode für die monolithische DLL142
11.2.4. Modulare DLL142
11.2.4.1. Programmcode für die modulare DLL143
11.2.5. Statische Bindung der DLL144
11.2.5.1. Projekt ProMainStat_D144
11.2.5.2. Hauptprogramm ProMainStatDLL_D144
11.2.5.3. Probleme beim Verbinden von EXE-Datei und DLL144
11.2.5.4. Hauptformular UFrmMain_D - Direkteinbau der Importschnittstelle145
11.2.5.5. Hauptformular UFrmMain_Z - Zentrale Anordnung der Importschnittstelle in einer Schnittstellendatei146
11.2.6. Testen von DLL-Funktionen147
11.2.7. Trennung der Datenbereiche148
11.2.8. Dynamische Bindung149
11.2.8.1. Aufbau des Hauptprogramms (DLL-benutzendes Programm)149
11.2.8.2. Aufbau des Schnittstellenmoduls UDLLImp149
11.2.8.3. ProgrammCode für die Dynamische Einbindung von DLLs151
11.3. Auch das geht: DLLs und VCL152
11.3.1. Aufgabenstellung152
11.3.1.1. Realisierung eines Formulars mittels einer DLL152
11.3.1.2. Hauptprogramm ProDLLVCL153
11.3.2. Lösungsweg153
11.3.2.1. Die DLL VCLFormDLL zur Realisierung des Formulars153
11.3.2.2. Hauptprogramm154
11.3.3. Programmcode: Verwendung von VCL-Komponenten in DLLs155
11.3.3.1. DLL VCLFormDLL.dll155
11.3.3.2. Hauptprogramm158
11.4. Noch ein Beispiel: DLL mit Objektschnittstelle160
11.4.1. Aufgabenstellung160
11.4.2. Lösung160
11.4.2.1. Basisklasse TMWSt0160
11.4.2.2. DLL ProDLLObjBeispiel161
11.4.2.3. Hauptprogramm ProMainObjDLL161
11.4.3. Programmcode: DLL zur Kapselung von Klassen163
11.4.3.1. Basisklasse TMWSt0163
11.4.3.2. DLL ProDLLObjBeispiel164
11.4.3.3. Hauptprogramm ProMainObjDLL165
11.4.3.4. Hauptformular FrmMainObjDLL165
11.5. Zugang zu fremden Sprachwelten: Verwendung von Delphi-DLLs in C++Builder-Programmen167
11.5.1. Aufgabenstellung167
11.5.2. Lösungsweg169
11.5.2.1. Funktion169
11.5.2.2. Schnittstelleninformation170
11.5.3. Programmcode: Verbindung eines C++-Hauptprogramms mit einer Delphi-DLL172
11.5.3.1. Hauptformular172
12. Internetanwendungen174
12.1. Das (Open-Source-) Projekt Indy174
12.2. Spezielle Indy-Datentypen176
12.3. E-Mail aus einer Anwendung senden (Entwicklung eines SMTP-Clients)179
12.3.1. Aufgabenstellung179
12.3.2. Lösungsweg180
12.3.2.1. Sendemethode BtnSMTPSendenClick183
12.3.3. Programmcode: Senden von E-Mail-Nachrichten (SMTP-Client)186
12.3.3.1. Hauptprogramm ProSMTPClient186
12.3.3.2. Formularunit UFrmMainSMTPClient186
12.4. E-Mail in einer Anwendung empfangen (Entwicklung eines POP3-Clients)190
12.4.1. Aufgabenstellung190
12.4.2. Lösungsweg192
12.4.2.1. Empfangsmethode BtnPOP3EmpfangenClick193
12.4.2.2. Auflistung der eingegangenen Nachrichten194
12.4.2.3. Anzeige der Textnachrichten und Auflistung der Anhänge198
12.4.2.4. Abspeichern der Nachrichten und Anhänge200
12.4.2.5. Löschen von Nachrichten201
12.4.2.6. Trennen der Verbindung202
12.4.3. Programmcode: Empfangen von E-Mail-Nachrichten (POP3-Client)202
12.4.3.1. Hauptprogramm ProPOP3Client202
12.4.3.2. Formularunit UFrmMainPOP3Client202
12.5. Dateiverkehr mit dem Internet (Erstellung eines FTP-Clients)208
12.5.1. Was ist FTP?208
12.5.2. Aufgabenstellung208
12.5.3. Installation eines Testservers208
12.5.3.1. Installation von Filezilla209
12.5.3.2. Installation von FreeFTPd211
12.5.3.3. Installation von ftpsrv110213
12.5.4. Vorgehen bei der Lösung213
12.5.5. Entwicklungsstufe 1214
12.5.5.1. Bedienoberfläche214
12.5.5.2. Verbinden214
12.5.5.3. Anmelden (LogIn)216
12.5.5.4. Trennen216
12.5.5.5. Ereignismethoden zur Verfolgung des Betriebszustandes des FTP-Clients217
12.5.6. Entwicklungsstufe 2217
12.5.6.1. Bedienoberfläche218
12.5.6.2. Darstellung der Verzeichnisliste218
12.5.7. Entwicklungsstufe 3219
12.5.7.1. Navigation im Server-Verzeichnis220
12.5.7.2. Wechsel auf das übergeordnete Verzeichnis220
12.5.8. Entwicklungsstufe 4220
12.5.8.1. Bedienoberfläche220
12.5.8.2. Download222
12.5.8.3. Upload223
12.5.9. Programmcode: Realisierung eines FTP-Clients223
12.5.9.1. Hauptformular FrmMainFTPClient4223
Literaturverzeichnis230
Stichwortverzeichnis232

Erscheinungsdatum
Reihe/Serie informatik-ganz-einfach ; 4
Verlagsort Oberkochen
Sprache deutsch
Maße 170 x 220 mm
Gewicht 453 g
Themenwelt Informatik Programmiersprachen / -werkzeuge C / C++
Mathematik / Informatik Informatik Software Entwicklung
Schlagworte FreePascal • Lazarus • Programmentwicklung • Programmieren
ISBN-10 3-945899-16-8 / 3945899168
ISBN-13 978-3-945899-16-8 / 9783945899168
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Torsten T. Will

Buch | Hardcover (2024)
Rheinwerk (Verlag)
49,90
das umfassende Handbuch

von Jürgen Wolf; René Krooß

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90