This commit is contained in:
Hollowpoint186 2021-03-17 21:46:29 +01:00
parent 72459ca9dc
commit e9921a0260
1 changed files with 61 additions and 56 deletions

117
readme.md
View File

@ -17,22 +17,22 @@ Theorie:
3. Erläutern Sie den Unterschied zwischen einem Programm und einem Prozess! 3. Erläutern Sie den Unterschied zwischen einem Programm und einem Prozess!
- Ein Prozess kann bestandteil eines Programms sein, es ist die bestimmte Aufgabe die ausgeführt wird - Ein Prozess kann Bestandteil eines Programms sein, es ist die bestimmte Aufgabe, die ausgeführt wird
- Ein Programm ist eine Passive Entität, z.b. eine Ausführbare Datei - Ein Programm ist eine passive Entität, z.b. eine ausführbare Datei
- Ein Programm ist eine Bündelung vieler Prozesse um Funktionalität zu bieten - Ein Programm ist eine Bündelung vieler Prozesse um Funktionalität zu bieten
4. Was versteht man unter einer „Instanz eines Programms“? 4. Was versteht man unter einer „Instanz eines Programms“?
- Wenn ein bereits laufendes Programm (in einem 2. Fenster)nochmal gestartet wird, - Jedes mal beim ausführen eines Programms, wird eine "Instanz" des Programms gestartet
ist das z.B. eine 2. Instanz des selben Programms - Beispielsweise: Visual Studio 2x öffnen => 2 voneinander unabhängige Instanzen von Visual Studio laufen
5. Beschreiben Sie die Aufgaben des Windows Betriebssystems, wenn eine neue Anwendung gestartet wird! 5. Beschreiben Sie die Aufgaben des Windows Betriebssystems, wenn eine neue Anwendung gestartet wird!
- zuerst wird in WinMain eine Fensterklasse während der Initialisierung erstellt - zuerst wird in WinMain eine Fensterklasse während der Initialisierung erstellt
- Fensterklasse (als Structure vordefiniert) muss mit Infos zum Fenster und zu der Fensterfunktion gefüllt werden - Fensterklasse (als Structure vordefiniert) muss mit Infos zum Fenster und zu der Fensterfunktion gefüllt werden
- Fenster wird mit CreateWindow() erzeugt und mit ShowWindow() angezeigt - Fenster wird mit CreateWindow() erzeugt und mit ShowWindow() angezeigt
- UpdateWindow() aktualisiert die anzeige - UpdateWindow() aktualisiert die Anzeige
6. Beschreiben Sie die Aufgaben des Windows Betriebssystems, wenn eine Anwendung geschlossen wird! 6. Beschreiben Sie die Aufgaben des Windows Betriebssystems, wenn eine Anwendung geschlossen wird!
@ -62,26 +62,26 @@ Theorie:
Kooperatives Multitasking: Kooperatives Multitasking:
- gibt die volle CPU-Kontrolle an den auszuführenden Prozess ab und erhält sie erst - gibt die volle CPU-Kontrolle an den auszuführenden Prozess ab und erhält sie erst
nach erfolgreicher abarbeitung des Prozesses wieder. (Crash-Problem unter z.B. DOS) nach erfolgreicher abarbeitung des Prozesses wieder. (Crash-Problem z.B. unter DOS)
Preemptives Multitasking: Preemptives Multitasking:
- System kann jederzeit (nach Ausführung jedes CPU-Befehls) die Kontrolle - System kann jederzeit (nach Ausführung jedes CPU-Befehls) die Kontrolle
über die CPU entziehen. über die CPU entziehen
10. Warum können „abgestürzte“ DOS-Programme das ganze OS Lahmlegen? 10. Warum können „abgestürzte“ DOS-Programme das ganze OS Lahmlegen?
- wegen kooperativem Multitasking, das die volle Kontrolle der CPU an den Prozess abgibt. - wegen kooperativem Multitasking, das die volle Kontrolle der CPU an den Prozess abgibt
11. Abarbeitung einer Tastatureingabe über die Message Loop: 11. Abarbeitung einer Tastatureingabe über die Message Loop:
```
1. User drückt Taste 1. User drückt Taste
2. Eintrag des Ereignisses in die System-Queue 2. Eintrag des Ereignisses in die System-Queue
3. Eintrag in die Application-Queue 3. Eintrag in die Application-Queue
4. Message Loop verarbeitet das Ereignis 4. Message Loop verarbeitet das Ereignis
5. Windows wird angewiesen, die Fensterfunkton aufzurufen 5. Windows wird angewiesen, die Fensterfunkton aufzurufen
6. Fensterfunktion reagiert auf die Tastatureingabe 6. Fensterfunktion reagiert auf die Tastatureingabe
```
12. Welche Aufgabe erfüllt die Fensterfunktion WinProc()? 12. Welche Aufgabe erfüllt die Fensterfunktion WinProc()?
@ -92,8 +92,7 @@ Theorie:
13. Beschreiben Sie den grundsätzlichen Aufbau einer Fensterfuktion unter Win32? 13. Beschreiben Sie den grundsätzlichen Aufbau einer Fensterfuktion unter Win32?
- Einfach nur ein switch-case mit allen benötigten Botschaften die - Switch-Case mit verschiedenen Cases um die übergebenen Events zu verarbeiten
anfallen können bzw für das Programm wichtig sind.
14. Bedeutung von Botschaften in ereignisgesteuerten Systemen 14. Bedeutung von Botschaften in ereignisgesteuerten Systemen
@ -106,15 +105,15 @@ Theorie:
- WinInet - Windows Internet API - WinInet - Windows Internet API
- GDI - Graphics Device Interface - GDI - Graphics Device Interface
- WinSock - API zum zugriff auf Rechnernetzt über Sockets - WinSock - API zum Zugriff auf Rechnernetz über Sockets
- TAPI - Telephone API (Fax, ...) - TAPI - Telephone API (Fax, ...)
- COM-API - Für den zugriff auf com schnittstellen - COM-API - Für den Zugriff auf COM Schnittstellen
16. Welche Bedeutung hat die API für den Programmierer? 16. Welche Bedeutung hat die API für den Programmierer?
- Eine API bietet den zugriff auf bestimmte vorgefertigte Funktionen an - Eine API bietet den Zugriff auf bestimmte vorgefertigte Funktionen an
- z.b. die coinAPI zum abgreifen von Kryptowährungs-Daten - z.b. die CoinAPI zum Abgreifen von Kryptowährungs-Daten
17. Erläutern Sie, welches Wissen ein Windows - Anwendungsentwickler zusätzlich zur Kenntnis der Programmiersprache benötigt 17. Erläutern Sie, welches Wissen ein Windows - Anwendungsentwickler zusätzlich zur Kenntnis der Programmiersprache benötigt
@ -128,39 +127,42 @@ Theorie:
18. Die vier Parameter der WinMain() 18. Die vier Parameter der WinMain()
```
HINSTANCE hInstance, /* handle to current instance */ HINSTANCE hInstance, /* handle to current instance */
HINSTANCE hPrevInstance, /* handle to previous instance */ HINSTANCE hPrevInstance, /* handle to previous instance */
LPSTR lpCmdLine, /* pointer to command line */ LPSTR lpCmdLine, /* pointer to command line */
int nCmdShow /* show state of window */ int nCmdShow /* show state of window */
```
19. Die Windows API Fensterklasse: 19. Die Windows API Fensterklasse:
- wird zum beschreiben/stylen des Fensters benutzt - wird zum Beschreiben/Stylen des Fensters benutzt
20. Die Inhalte der Windows Fensterklasse 20. Die Inhalte der Windows Fensterklasse
```
- style Style des Fensters - style Style des Fensters
- lpfnWndProc Zeiger auf die Fensterfunktion (WndProc()) - lpfnWndProc Zeiger auf die Fensterfunktion (WndProc())
- hInstance Handle zur jetzigen Instanz - hInstance Handle zur jetzigen Instanz
- hCursor Handle zu einer Cursor-Resource für Mouse-Moves - hCursor Handle zu einer Cursor-Resource für Mouse-Moves
- hbrBackground Hintergrundfarbe des Fensters - hbrBackground Hintergrundfarbe des Fensters
- lpszClassName Pointer zum Klassennamen oder einem Alias dafür - lpszClassName Pointer zum Klassennamen oder einem Alias dafür
```
**Grundlagen des .NET Frameworks** **Grundlagen des .NET Frameworks**
21. Zweck der Common Language Runtime 21. Zweck der Common Language Runtime
```
- Die CLR übersetzt den MSIL-Code in nativen Code - Die CLR übersetzt den MSIL-Code in nativen Code
- Memory Mangement - Memory Mangement
- Code Access security - Code Access security
- Garbage Collection - Garbage Collection
- JIT Compilation - JIT Compilation
- Exception Handling - Exception Handling
```
22. Wozu dient Garbage Collection 22. Wozu dient Garbage Collection
@ -223,15 +225,15 @@ Theorie:
28. Zwei Arten von Datentypen unter .NET 28. Zwei Arten von Datentypen unter .NET
- String - Char
- Ganzzahl (int) - Ganzzahl (int)
29. Unterschied zwischen Reference und Value Types 29. Unterschied zwischen Reference- und Value-Types
- Ein value Type ist ein Datentyp, der die Werte direkt speichert - Ein Value-Type ist ein Datentyp, der die Werte direkt speichert
- Ein Referenztyp speichert nicht direkt Werte, sondern speichert die Adresse des Wertes im Arbeitsspeicher - Ein Reference-Type speichert nicht direkt Werte, sondern speichert die Adresse des Wertes im Arbeitsspeicher
z.B. Pointer z.B. Pointer oder String
30. Was ist Boxing/Unboxing 30. Was ist Boxing/Unboxing
@ -282,14 +284,14 @@ Theorie:
36. Was ist Probing im .NET Framework 36. Was ist Probing im .NET Framework
- Gibt Anwendungen das Basisberzeichnis für das Common Language Runtime an, - Gibt Anwendungen das Basisverzeichnis für die Common Language Runtime an,
das beim Laden des Assembly gesucht werden soll die beim Laden des Assembly gesucht werden soll
**ADO.NET** **ADO.NET**
37. Connected <> Disconnected Modell 37. Connected <> Disconnected Modell
```
Connected: Connected:
- Beständige Verbindung zur Datenbank - Beständige Verbindung zur Datenbank
@ -302,10 +304,10 @@ Theorie:
- Verbindung zur Datenbank nur bei Zugriff - Verbindung zur Datenbank nur bei Zugriff
- mehr Auslastung beim Client, da Daten im Arbeitsspeicher - mehr Auslastung beim Client, da Daten im Arbeitsspeicher
- Benutzen von DataSet beim Datenbankzugriff - Benutzen von DataSet beim Datenbankzugriff
```
38. DataProvider und DataSet aus ADO.NET 38. DataProvider und DataSet aus ADO.NET
```
DataProvider: DataProvider:
- wird zum Herstellen der Verbindung mit einer Datenbank benutzt - wird zum Herstellen der Verbindung mit einer Datenbank benutzt
- führt Befehle auf der Datenbank aus - führt Befehle auf der Datenbank aus
@ -316,7 +318,7 @@ Theorie:
- Bildet die Datenbank ab - Bildet die Datenbank ab
- Dient als Lokaler Speicher der Datenbank auf dem Client - Dient als Lokaler Speicher der Datenbank auf dem Client
- ist als Cache für die Daten zu betrachten - ist als Cache für die Daten zu betrachten
```
39. Nachteile der OLE-DB und ODBC.NET DataProvider 39. Nachteile der OLE-DB und ODBC.NET DataProvider
@ -327,7 +329,7 @@ Theorie:
40. Vor- und Nachteile des Connected- bzw Disconnected Modells 40. Vor- und Nachteile des Connected- bzw Disconnected Modells
```
Connected: Connected:
Vorteile: Vorteile:
- Daten sind immer aktuell - Daten sind immer aktuell
@ -346,10 +348,10 @@ Theorie:
- Daten sind nicht aktuell - Daten sind nicht aktuell
- Daten müssen beim Client im Arbeitsspeicher abgelegt werden - Daten müssen beim Client im Arbeitsspeicher abgelegt werden
- Konkurrierende Zugriffe - Konkurrierende Zugriffe
```
41. Einsatzbeispiele von Disconnected- und Connected Modells: 41. Einsatzbeispiele von Disconnected- und Connected Modells:
```
Connected: Connected:
- Warenwirtschaftssystem - Warenwirtschaftssystem
- Büro/Office Umgebungen - Büro/Office Umgebungen
@ -357,10 +359,10 @@ Theorie:
Disconnected: Disconnected:
- Smartphone Apps - Smartphone Apps
- Außendienstmitarbeiter - Außendienstmitarbeiter
```
42. Aufgaben des Connection Objects, Command Objects, Parameter Objects und des DataReader Objects 42. Aufgaben des Connection Objects, Command Objects, Parameter Objects und des DataReader Objects
```
Connection Object: Connection Object:
- stellt eindeutige Verbindung/Sitzung zum Datenbankserver/Datenquelle dar - stellt eindeutige Verbindung/Sitzung zum Datenbankserver/Datenquelle dar
- Verbindung mit Server - Verbindung mit Server
@ -374,7 +376,7 @@ Theorie:
DataReader Object: DataReader Object:
- stellt Verfahren zum Lesen eines Vorwärtsstreams von Zeilen in einer Datenbank bereit - stellt Verfahren zum Lesen eines Vorwärtsstreams von Zeilen in einer Datenbank bereit
```
43. Einschränkungen beim benutzen eines DataReaders: 43. Einschränkungen beim benutzen eines DataReaders:
@ -383,7 +385,7 @@ Theorie:
44. Zusammenarbeit von DataAdapter, DataSet und DataTables im Disconnected Modell: 44. Zusammenarbeit von DataAdapter, DataSet und DataTables im Disconnected Modell:
```
- DataAdapter verfügt über SELECT command - Object welches Daten aus der DB holt - DataAdapter verfügt über SELECT command - Object welches Daten aus der DB holt
- die Fill-Methode des DataAdapter erwartet als Parameter ein DataSet - die Fill-Methode des DataAdapter erwartet als Parameter ein DataSet
und einen Namen für das zu erstellende DataTable Objects und einen Namen für das zu erstellende DataTable Objects
@ -391,7 +393,7 @@ Theorie:
- beim Update der DB wird je nach Änderung das INSERT, UPDATE oder DELETE Command des DataAdapters aufgerufen - beim Update der DB wird je nach Änderung das INSERT, UPDATE oder DELETE Command des DataAdapters aufgerufen
- DataAdapter stellt das Bindeglied zwischen DataSet Tabelle und DB dar - DataAdapter stellt das Bindeglied zwischen DataSet Tabelle und DB dar
- pro DataTable eines DataSets gibt es idR. einen DataAdapter - pro DataTable eines DataSets gibt es idR. einen DataAdapter
```
45. Die 4 Command Objecte eines DataAdapters 45. Die 4 Command Objecte eines DataAdapters
@ -438,15 +440,15 @@ Theorie:
50. Parameter einer Handler - Methode: 50. Parameter einer Handler - Methode:
```
Object sender: Object sender:
- der sender des Events (der Button in unserem Beispiel) - der sender des Events (der Button in unserem Beispiel)
- Komplettes Button Objekt inkl seiner Eigenschaften usw. - Komplettes Button Objekt inkl seiner Eigenschaften usw.
System.EventArgs e: System.EventArgs e:
- Eigenschaften des Events - Eigenschaften des Events
- zB.: Koordinaten des Klick Events f - z.B.: Koordinaten des Klick Events f
```
51. Events eines Windows Forms: 51. Events eines Windows Forms:
@ -455,7 +457,7 @@ Theorie:
- Touch - Touch
52. Parameter der Show Methode von MessageBox 52. Parameter der Show Methode von MessageBox
```
- owner | Implementierung von IWin32Window, wird Besitzer des Dialogfeldes - owner | Implementierung von IWin32Window, wird Besitzer des Dialogfeldes
- text | Text im Fenster - text | Text im Fenster
- caption | Titel in der Fensterleiste - caption | Titel in der Fensterleiste
@ -465,7 +467,8 @@ Theorie:
- options | Anzeige- und Zuordnungsoptionen - options | Anzeige- und Zuordnungsoptionen
- helpFilePath | Pfad für die Hilfedatei, wenn auf "Hilfe" geklickt wird - helpFilePath | Pfad für die Hilfedatei, wenn auf "Hilfe" geklickt wird
- keyword | Hilfestichwort - keyword | Hilfestichwort
```
53. Einsatz der FileSystemWatcher Komponente 53. Einsatz der FileSystemWatcher Komponente
- Überwachung von Dateien bzw. Ordnerstrukturen - Überwachung von Dateien bzw. Ordnerstrukturen
@ -475,9 +478,9 @@ Theorie:
Beispielsweise Changed, Created, Deleted, Renamed Beispielsweise Changed, Created, Deleted, Renamed
54. Eigenschaften und Methoden eines Exception Objekt 54. Eigenschaften und Methoden eines Exception Objekt
```
- Das Exception Objekt wird in try - catch Blöcken verwendet - Das Exception Objekt wird in try - catch Blöcken verwendet
und wird zum behandeln von Ausnahmen in der Programmlogik verwendet und wird zum Behandeln von Ausnahmen in der Programmlogik verwendet
Eigenschaften: Eigenschaften:
- Stacktrace - Stacktrace
@ -488,7 +491,7 @@ Theorie:
- GetObjectData | Setzt die SerializationInfo - GetObjectData | Setzt die SerializationInfo
- GetType | Gibt den Typ der Exception zurück wie z.B. IOException - GetType | Gibt den Typ der Exception zurück wie z.B. IOException
- ToString | Gibt die Exception Message als String zurück - ToString | Gibt die Exception Message als String zurück
```
55. Exception Handling Erklärung 55. Exception Handling Erklärung
@ -501,7 +504,7 @@ Theorie:
56. Eigene Exception erstellen 56. Eigene Exception erstellen
- Klasse von Exception (oder abgeleiteter Exception Klasse) ableiten - Klasse von Exception (oder abgeleiteter Exception Klasse) ableiten
- Konstruktor der Basisklasse für Fehlermeldung nutzen - Konstruktor der Basisklasse für die Fehlermeldung nutzen
public class myException: System.Exception public class myException: System.Exception
{ {
@ -519,11 +522,13 @@ public class myException: System.Exception
- abfangen mehrerer Exceptions möglich - abfangen mehrerer Exceptions möglich
58. Serialisierung/Deserialisierung 58. Serialisierung/Deserialisierung
```
Unter Serialisierung versteht man das Speichern eines Objektes auf einem beständigen Speichermedium und das Wiederherstellen ders Objektes anhand seiner Daten im Programm. Unter Serialisierung versteht man das Speichern eines Objektes auf einem beständigen Speichermedium und das Wiederherstellen des Objektes anhand seiner Daten im Programm.
(Deserialisierung) (Deserialisierung)
-> https://stackoverflow.com/questions/3042665/what-is-the-meaning-of-serialization-in-programming-languages
```
59. Unterschiede zwischen Binary und XML Serialisierung 59. Unterschiede zwischen Binary und XML Serialisierung
@ -544,7 +549,7 @@ public class myException: System.Exception
public class SerializableClass { public class SerializableClass {
public int Aersche = 15; public int Aersche = 15;
public int x = 0; public int x = 0;
public String str = null; public String str = null;
} }
@ -716,13 +721,13 @@ DAO - Klasse (Data Access Object):
72. Einrichten von Seitenränder 72. Einrichten von Seitenränder
Seitenränder setzen Seitenränder setzen
-> PageSattings Objekt -> Margins… (Left, Rightt, Top, Bottom) setzen -> PageSettings Objekt -> Margins… (Left, Right, Top, Bottom) setzen
73. Vorgehensweise zum Ermitteln des bedruckbaren Bereichs 73. Vorgehensweise zum Ermitteln des bedruckbaren Bereichs
Bedruckbaren Bereich ermitteln Bedruckbaren Bereich ermitteln
-> PrintPageEventArgs e -> MarginBounds… (Left, Rightt, Top, Bottom) nutzen. -> PrintPageEventArgs e -> MarginBounds… (Left, Right, Top, Bottom) nutzen
74. Initialisierung einer Schriftart 74. Initialisierung einer Schriftart
@ -746,14 +751,14 @@ DAO - Klasse (Data Access Object):
76. DrawString Funktionsweise 76. DrawString Funktionsweise
Draws the specified text string at the specified location with the specified Brush and Font objects. Draws the specified text string at the specified location with the specified Brush and Font objects.
```
Parameter: Parameter:
String s | String der gezeichnet werden soll String s | String der gezeichnet werden soll
Font font | Text Format des Strings Font font | Text Format des Strings
Brush brush | Farbe und Textur des gezeichneten Text Brush brush | Farbe und Textur des gezeichneten Text
Single x | x Koordinate des Text Single x | x Koordinate des Text
Single y | Y Koordinate des Text Single y | Y Koordinate des Text
```
Legende: Legende: