diff --git a/readme.md b/readme.md index 5faf1f2..e38a853 100644 --- a/readme.md +++ b/readme.md @@ -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: