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!
- 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 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 Bündelung vieler Prozesse um Funktionalität zu bieten
4. Was versteht man unter einer „Instanz eines Programms“?
- Wenn ein bereits laufendes Programm (in einem 2. Fenster)nochmal gestartet wird,
ist das z.B. eine 2. Instanz des selben Programms
- Jedes mal beim ausführen eines Programms, wird eine "Instanz" des Programms gestartet
- 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!
- 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
- 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!
@ -62,26 +62,26 @@ Theorie:
Kooperatives Multitasking:
- 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:
- 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?
- 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:
```
1. User drückt Taste
2. Eintrag des Ereignisses in die System-Queue
3. Eintrag in die Application-Queue
4. Message Loop verarbeitet das Ereignis
5. Windows wird angewiesen, die Fensterfunkton aufzurufen
6. Fensterfunktion reagiert auf die Tastatureingabe
```
12. Welche Aufgabe erfüllt die Fensterfunktion WinProc()?
@ -92,8 +92,7 @@ Theorie:
13. Beschreiben Sie den grundsätzlichen Aufbau einer Fensterfuktion unter Win32?
- Einfach nur ein switch-case mit allen benötigten Botschaften die
anfallen können bzw für das Programm wichtig sind.
- Switch-Case mit verschiedenen Cases um die übergebenen Events zu verarbeiten
14. Bedeutung von Botschaften in ereignisgesteuerten Systemen
@ -106,15 +105,15 @@ Theorie:
- WinInet - Windows Internet API
- GDI - Graphics Device Interface
- WinSock - API zum zugriff auf Rechnernetzt über Sockets
- WinSock - API zum Zugriff auf Rechnernetz über Sockets
- 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?
- Eine API bietet den zugriff auf bestimmte vorgefertigte Funktionen an
- z.b. die coinAPI zum abgreifen von Kryptowährungs-Daten
- Eine API bietet den Zugriff auf bestimmte vorgefertigte Funktionen an
- 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
@ -128,39 +127,42 @@ Theorie:
18. Die vier Parameter der WinMain()
```
HINSTANCE hInstance, /* handle to current instance */
HINSTANCE hPrevInstance, /* handle to previous instance */
LPSTR lpCmdLine, /* pointer to command line */
int nCmdShow /* show state of window */
```
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
```
- style Style des Fensters
- lpfnWndProc Zeiger auf die Fensterfunktion (WndProc())
- hInstance Handle zur jetzigen Instanz
- hCursor Handle zu einer Cursor-Resource für Mouse-Moves
- hbrBackground Hintergrundfarbe des Fensters
- lpszClassName Pointer zum Klassennamen oder einem Alias dafür
```
**Grundlagen des .NET Frameworks**
21. Zweck der Common Language Runtime
```
- Die CLR übersetzt den MSIL-Code in nativen Code
- Memory Mangement
- Code Access security
- Garbage Collection
- JIT Compilation
- Exception Handling
```
22. Wozu dient Garbage Collection
@ -223,15 +225,15 @@ Theorie:
28. Zwei Arten von Datentypen unter .NET
- String
- Char
- 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 Referenztyp speichert nicht direkt Werte, sondern speichert die Adresse des Wertes im Arbeitsspeicher
z.B. Pointer
- Ein Value-Type ist ein Datentyp, der die Werte direkt speichert
- Ein Reference-Type speichert nicht direkt Werte, sondern speichert die Adresse des Wertes im Arbeitsspeicher
z.B. Pointer oder String
30. Was ist Boxing/Unboxing
@ -282,14 +284,14 @@ Theorie:
36. Was ist Probing im .NET Framework
- Gibt Anwendungen das Basisberzeichnis für das Common Language Runtime an,
das beim Laden des Assembly gesucht werden soll
- Gibt Anwendungen das Basisverzeichnis für die Common Language Runtime an,
die beim Laden des Assembly gesucht werden soll
**ADO.NET**
37. Connected <> Disconnected Modell
```
Connected:
- Beständige Verbindung zur Datenbank
@ -302,10 +304,10 @@ Theorie:
- Verbindung zur Datenbank nur bei Zugriff
- mehr Auslastung beim Client, da Daten im Arbeitsspeicher
- Benutzen von DataSet beim Datenbankzugriff
```
38. DataProvider und DataSet aus ADO.NET
```
DataProvider:
- wird zum Herstellen der Verbindung mit einer Datenbank benutzt
- führt Befehle auf der Datenbank aus
@ -316,7 +318,7 @@ Theorie:
- Bildet die Datenbank ab
- Dient als Lokaler Speicher der Datenbank auf dem Client
- ist als Cache für die Daten zu betrachten
```
39. Nachteile der OLE-DB und ODBC.NET DataProvider
@ -327,7 +329,7 @@ Theorie:
40. Vor- und Nachteile des Connected- bzw Disconnected Modells
```
Connected:
Vorteile:
- Daten sind immer aktuell
@ -346,10 +348,10 @@ Theorie:
- Daten sind nicht aktuell
- Daten müssen beim Client im Arbeitsspeicher abgelegt werden
- Konkurrierende Zugriffe
```
41. Einsatzbeispiele von Disconnected- und Connected Modells:
```
Connected:
- Warenwirtschaftssystem
- Büro/Office Umgebungen
@ -357,10 +359,10 @@ Theorie:
Disconnected:
- Smartphone Apps
- Außendienstmitarbeiter
```
42. Aufgaben des Connection Objects, Command Objects, Parameter Objects und des DataReader Objects
```
Connection Object:
- stellt eindeutige Verbindung/Sitzung zum Datenbankserver/Datenquelle dar
- Verbindung mit Server
@ -374,7 +376,7 @@ Theorie:
DataReader Object:
- stellt Verfahren zum Lesen eines Vorwärtsstreams von Zeilen in einer Datenbank bereit
```
43. Einschränkungen beim benutzen eines DataReaders:
@ -383,7 +385,7 @@ Theorie:
44. Zusammenarbeit von DataAdapter, DataSet und DataTables im Disconnected Modell:
```
- DataAdapter verfügt über SELECT command - Object welches Daten aus der DB holt
- die Fill-Methode des DataAdapter erwartet als Parameter ein DataSet
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
- DataAdapter stellt das Bindeglied zwischen DataSet Tabelle und DB dar
- pro DataTable eines DataSets gibt es idR. einen DataAdapter
```
45. Die 4 Command Objecte eines DataAdapters
@ -438,15 +440,15 @@ Theorie:
50. Parameter einer Handler - Methode:
```
Object sender:
- der sender des Events (der Button in unserem Beispiel)
- Komplettes Button Objekt inkl seiner Eigenschaften usw.
System.EventArgs e:
- Eigenschaften des Events
- zB.: Koordinaten des Klick Events f
- z.B.: Koordinaten des Klick Events f
```
51. Events eines Windows Forms:
@ -455,7 +457,7 @@ Theorie:
- Touch
52. Parameter der Show Methode von MessageBox
```
- owner | Implementierung von IWin32Window, wird Besitzer des Dialogfeldes
- text | Text im Fenster
- caption | Titel in der Fensterleiste
@ -465,7 +467,8 @@ Theorie:
- options | Anzeige- und Zuordnungsoptionen
- helpFilePath | Pfad für die Hilfedatei, wenn auf "Hilfe" geklickt wird
- keyword | Hilfestichwort
```
53. Einsatz der FileSystemWatcher Komponente
- Überwachung von Dateien bzw. Ordnerstrukturen
@ -475,9 +478,9 @@ Theorie:
Beispielsweise Changed, Created, Deleted, Renamed
54. Eigenschaften und Methoden eines Exception Objekt
```
- 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:
- Stacktrace
@ -488,7 +491,7 @@ Theorie:
- GetObjectData | Setzt die SerializationInfo
- GetType | Gibt den Typ der Exception zurück wie z.B. IOException
- ToString | Gibt die Exception Message als String zurück
```
55. Exception Handling Erklärung
@ -501,7 +504,7 @@ Theorie:
56. Eigene Exception erstellen
- 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
{
@ -519,11 +522,13 @@ public class myException: System.Exception
- abfangen mehrerer Exceptions möglich
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.
58. Serialisierung/Deserialisierung
```
Unter Serialisierung versteht man das Speichern eines Objektes auf einem beständigen Speichermedium und das Wiederherstellen des Objektes anhand seiner Daten im Programm.
(Deserialisierung)
-> https://stackoverflow.com/questions/3042665/what-is-the-meaning-of-serialization-in-programming-languages
```
59. Unterschiede zwischen Binary und XML Serialisierung
@ -544,7 +549,7 @@ public class myException: System.Exception
public class SerializableClass {
public int Aersche = 15;
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
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
Bedruckbaren Bereich ermitteln
-> PrintPageEventArgs e -> MarginBounds… (Left, Rightt, Top, Bottom) nutzen.
-> PrintPageEventArgs e -> MarginBounds… (Left, Right, Top, Bottom) nutzen
74. Initialisierung einer Schriftart
@ -746,14 +751,14 @@ DAO - Klasse (Data Access Object):
76. DrawString Funktionsweise
Draws the specified text string at the specified location with the specified Brush and Font objects.
```
Parameter:
String s | String der gezeichnet werden soll
Font font | Text Format des Strings
Brush brush | Farbe und Textur des gezeichneten Text
Single x | x Koordinate des Text
Single y | Y Koordinate des Text
```
Legende: