Das C++Builder Rezeptbuch, Teil 2
Eine Praxisnahe Arbeitshilfe für die Entwicklung von C++-Programmen mit dem c++Builder
Das C++Builder Rezeptbuch, Teil 2
Eine Praxisnahe Arbeitshilfe für die Entwicklung von C++-Programmen mit dem c++Builder
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
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…mehr
- Gordon ForsythePractical PHP & Flex 4 Projects: Building Powerful Applications with PHP and Flash Builder52,99 €
- Stefan LuckhausBuchreihe: Produktivitätssteigerung in der Softwareentwicklung, Teil 1: Produktivitäts- und Leistungsmessung ¿ Messbarkeit und Messmethoden29,99 €
- Steven PeetersFlash Builder and Flash Catalyst30,99 €
- Jana HeinrichSuchmaschinen-Marketing als Teil des Online-Marketings47,95 €
- Rakesh GuptaLearning Salesforce Visual Workflow and Process Builder - Second Edition59,99 €
- Sten VesterliOracle Visual Builder Cloud Service Revealed31,99 €
- Christian LenzeRelease Management als Teil des Softwarelebenszyklus17,95 €
-
-
-
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
- Produktdetails
- informatik-ganz-einfach Nr.4
- Verlag: Koch, Wilfried / Oberkochener Medienverlag
- Seitenzahl: 236
- Erscheinungstermin: 11. Dezember 2020
- Deutsch
- Abmessung: 220mm x 170mm x 17mm
- Gewicht: 419g
- ISBN-13: 9783945899168
- ISBN-10: 3945899168
- Artikelnr.: 60726441
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
- informatik-ganz-einfach Nr.4
- Verlag: Koch, Wilfried / Oberkochener Medienverlag
- Seitenzahl: 236
- Erscheinungstermin: 11. Dezember 2020
- Deutsch
- Abmessung: 220mm x 170mm x 17mm
- Gewicht: 419g
- ISBN-13: 9783945899168
- ISBN-10: 3945899168
- Artikelnr.: 60726441
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
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 Datenbankanwendungen 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
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 Datenbankanwendungen 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