Rechtschreibung/Grammatik
This commit is contained in:
parent
0e57874a2c
commit
72459ca9dc
163
readme.md
163
readme.md
|
@ -4,53 +4,54 @@ Theorie:
|
|||
**Windows Grundlagen:**
|
||||
|
||||
1. Welche Bedeutung hatte die Einführung grafischer Benutzeroberflächen für die Verbreitung von PCs?
|
||||
→ Die PCs wurden damit für die Massen eifach zu benutzen und verbreiteten sich deshalb sehr gut seit es GUIs gibt.
|
||||
|
||||
- Die PCs wurden damit für die Massen einfach zu benutzen und verbreiteten sich deshalb sehr gut seit es GUIs gibt
|
||||
|
||||
|
||||
2. Nennen Sie drei Merkmale von Windowsprogrammen!
|
||||
|
||||
→ Oft mit .NET, C++, C# programmiert
|
||||
→ Benutzen die WindowsAPI
|
||||
→ Alle Benutzereingaben werden zuerst von Windows abgefangen und dann an das Programm gesendet für das es bestimmt war
|
||||
- Oft mit .NET, C++, C# programmiert
|
||||
- Benutzen die WindowsAPI
|
||||
- Alle Benutzereingaben werden zuerst von Windows abgefangen und dann an das Programm gesendet für das es bestimmt war
|
||||
|
||||
|
||||
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 Programm ist eine Bündelung vieler Prozesse um Funktionalität zu bieten
|
||||
- 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“?
|
||||
|
||||
-> Ein Programm das gerade ausgeführt wird, wenn sie dassselbe Programm nochmal öffnen (in einem neuen Fenster) dann ist dies eine zweite Instanz desselben Programmes.
|
||||
- Wenn ein bereits laufendes Programm (in einem 2. Fenster)nochmal gestartet wird,
|
||||
ist das z.B. eine 2. Instanz des selben Programms
|
||||
|
||||
|
||||
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() updatet die anzeige
|
||||
- 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
|
||||
|
||||
|
||||
6. Beschreiben Sie die Aufgaben des Windows Betriebssystems, wenn eine Anwendung geschlossen wird!
|
||||
-> Benutzereingabe bekommt einen Eintrag in der Application-Queue
|
||||
-> Message Loop verarbeitet die Eingabe
|
||||
-> Windows wird angewiesen die Logik zur Programmbeendung auszuführen (Fenster schließen, Programminstanz beenden, Speicher freigeben...)
|
||||
- Benutzereingabe bekommt einen Eintrag in der Application-Queue
|
||||
- Message Loop verarbeitet die Eingabe
|
||||
- Windows wird angewiesen die Logik zur Programmbeendung auszuführen (Fenster schließen,
|
||||
Programminstanz beenden, Speicher freigeben...)
|
||||
|
||||
|
||||
|
||||
|
||||
7. Weshalb können unterschiedliche Anwendngen in Win32 nicht über Zeiger auf die gleiche Speicheradresse miteinander kommunizieren?
|
||||
7. Weshalb können unterschiedliche Anwendungen in Win32 nicht über Zeiger auf die gleiche Speicheradresse miteinander kommunizieren?
|
||||
|
||||
-> Weil jeder Prozess seinen eigenen „Speicherraum“ besitzt und nicht auf Speicher eines Anderen Prozesses zugreifen kann (Sandbox)
|
||||
- Weil jeder Prozess seinen eigenen „Speicherraum“ besitzt und nicht auf Speicher eines anderen Prozesses zugreifen kann (Sandbox)
|
||||
|
||||
|
||||
8. Welche Vorteile bieten multithreadingfähige Systeme?
|
||||
|
||||
-> Abarbeitung mehrer Prozesse „gleichzeitig“
|
||||
-> „schneller“ (Effektiver Einsatz der CPU)
|
||||
-> Schnelle (low-latency) Kommunikation zwischen mehreren Prozessen eines Programms
|
||||
- Abarbeitung mehrer Prozesse „gleichzeitig“
|
||||
- „schneller“ (Effektiver Einsatz der CPU)
|
||||
- Schnelle (low-latency) Kommunikation zwischen mehreren Prozessen eines Programms
|
||||
|
||||
|
||||
--> https://docs.oracle.com/cd/E19455-01/806-3461/6jck06gqj/index.html
|
||||
|
@ -60,14 +61,16 @@ Theorie:
|
|||
9. Unterschied zwischen kooperativem und Preemptivem Multitasking?
|
||||
|
||||
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)
|
||||
- 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)
|
||||
|
||||
Preemptives Multitasking:
|
||||
-> System kann jederzeit (nach Ausführung jedes CPU-Befehls) die Kontrolle über die CPU entziehen.
|
||||
- System kann jederzeit (nach Ausführung jedes CPU-Befehls) die Kontrolle
|
||||
über die CPU entziehen.
|
||||
|
||||
|
||||
10. Warum können „abgestürzte“ DOS-Programme das ganze OS Lahmlegen?
|
||||
-> wegen kooperativem Multitasking dass 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:
|
||||
|
@ -83,18 +86,20 @@ Theorie:
|
|||
12. Welche Aufgabe erfüllt die Fensterfunktion WinProc()?
|
||||
|
||||
Eine Art Event-Handler des Fensters der die eingehenden Botschaften empfängt und verarbeitet
|
||||
-> Z.B. die Botschaft WM_DESTROY -> Fenster schließen
|
||||
-> jedes Fenster definiert seine eigene Fensterfunktion
|
||||
- Z.B. die Botschaft WM_DESTROY -> Fenster schließen
|
||||
- jedes Fenster definiert seine eigene Fensterfunktion
|
||||
|
||||
|
||||
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.
|
||||
- Einfach nur ein switch-case mit allen benötigten Botschaften die
|
||||
anfallen können bzw für das Programm wichtig sind.
|
||||
|
||||
|
||||
14. Bedeutung von Botschaften in ereignisgesteuerten Systemen
|
||||
|
||||
- Eventlistener greifen die Botschaften auf und entscheiden dann anhand der Botschaft den weiteren Ablauf des Programms/Prozesses
|
||||
- Eventlistener greifen die Botschaften auf und entscheiden dann
|
||||
anhand der Botschaft den weiteren Ablauf des Programms/Prozesses
|
||||
|
||||
|
||||
15. Nennen Sie vier Schnittstellen für Windows - Programmierer und deren spezielles Anwendungsgebiet?
|
||||
|
@ -109,10 +114,10 @@ Theorie:
|
|||
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
|
||||
- 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
|
||||
|
||||
- Windows API
|
||||
- Fensterfunktion
|
||||
|
@ -160,7 +165,7 @@ Theorie:
|
|||
22. Wozu dient Garbage Collection
|
||||
|
||||
- löscht nicht mehr benötigte Objekte/Zeiger zur Laufzeit
|
||||
-> befreit Speicher vom Prozess und beugt somit Memory Leaks vor
|
||||
- befreit Speicher vom Prozess und beugt somit Memory Leaks vor
|
||||
|
||||
|
||||
23. Weg vom Quellcode zur Ausführung in .NET
|
||||
|
@ -179,7 +184,7 @@ Theorie:
|
|||
Um möglichst viele Programmiersprachen/Techniken zu unterstützen wird der Code in MSIL als Zwischen-
|
||||
sprache übersetzt.
|
||||
|
||||
- Da gewisse Teile des .NET Frameworks offen sind, ist es Drittherstellern möglich eigene Compiler
|
||||
- Da gewisse Teile des .NET Framework offen sind, ist es Drittherstellern möglich eigene Compiler
|
||||
für ihre Programmiersprache zu erstellen
|
||||
- Somit können in der Theorie alle Programmiersprachen, welche die Vorgaben von
|
||||
MSIL (definiert in CLR) einhalten
|
||||
|
@ -249,9 +254,9 @@ Theorie:
|
|||
|
||||
32. Arten von Assemblies
|
||||
|
||||
- Private assembly (.dll and .exe are at the same place)
|
||||
- Shared assembly(.dll and .exe are at different place)
|
||||
- Dynamic assembly (dynamically create )
|
||||
- Private assembly (.dll and .exe are at the same place)
|
||||
- Shared assembly(.dll and .exe are at different places)
|
||||
- Dynamic assembly (dynamically create)
|
||||
- Distributed assembly (in different parts)
|
||||
- Satellite assembly (on the network)
|
||||
|
||||
|
@ -277,9 +282,8 @@ 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 Basisberzeichnis für das Common Language Runtime an,
|
||||
das beim Laden des Assembly gesucht werden soll
|
||||
|
||||
|
||||
**ADO.NET**
|
||||
|
@ -303,12 +307,12 @@ Theorie:
|
|||
38. DataProvider und DataSet aus ADO.NET
|
||||
|
||||
DataProvider:
|
||||
- wird zum Herstellen der Verbindung mit einer Datenbank
|
||||
- wird zum Herstellen der Verbindung mit einer Datenbank benutzt
|
||||
- führt Befehle auf der Datenbank aus
|
||||
- wird im connected Modell benutzt um Daten aus der Datenbank zu lesen/schreiben
|
||||
- wird im Connected Modell benutzt um Daten aus der Datenbank zu lesen/schreiben
|
||||
|
||||
DataSet:
|
||||
- Kommt beim Disconnected Modell zum einsatz
|
||||
- Kommt beim Disconnected Modell zum Einsatz
|
||||
- Bildet die Datenbank ab
|
||||
- Dient als Lokaler Speicher der Datenbank auf dem Client
|
||||
- ist als Cache für die Daten zu betrachten
|
||||
|
@ -318,7 +322,7 @@ Theorie:
|
|||
|
||||
- Langsamer als native Datenbanktreiber
|
||||
- benötigt mehr CPU-Ressourcen
|
||||
- weitere Schicht zwischen Programm und Datenbank -> höhere Fehlerwarscheinlichkeit
|
||||
- weitere Schicht zwischen Programm und Datenbank -> höhere Fehleranfälligkeit
|
||||
- Viele OLE und ODBC Treiber in .NET stammen aus der COM zeit und sind veraltet
|
||||
|
||||
|
||||
|
@ -359,45 +363,46 @@ Theorie:
|
|||
|
||||
Connection Object:
|
||||
- stellt eindeutige Verbindung/Sitzung zum Datenbankserver/Datenquelle dar
|
||||
- verbindung mit Server
|
||||
- Verbindung mit Server
|
||||
|
||||
Command Object:
|
||||
- eine SQL-Anweisung oder gespeicherte Prozedur die in einer Datenbank ausgeführt werden soll
|
||||
|
||||
Parameter Object:
|
||||
- sql-injection mitigation
|
||||
- damit kann man parameterisierte Abfragen erstellen die WHERE statements obsolet machen
|
||||
- SQL-Injection Mitigation
|
||||
- damit kann man parameterisierte Abfragen erstellen, die WHERE statements obsolet machen
|
||||
|
||||
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:
|
||||
|
||||
- readOnly / forwardOnly zugriff
|
||||
- nur für schnelles einmaliges Lesen geeignet
|
||||
- ReadOnly / ForwardOnly Zugriff
|
||||
- nur für schnelles, einmaliges Lesen geeignet
|
||||
|
||||
|
||||
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
|
||||
- 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
|
||||
- erzeugung im jeweils übergebenen DataSet ein DataTable Object
|
||||
- beim Update der DB werden je nach Änderung das INSERT, UPDATE oder DELETE command des DataAdapters aufgerufen
|
||||
- DataAdapter stellt das Bindeglid zwischen DataSet Tabelle und DB dar
|
||||
- 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
|
||||
|
||||
SELECT Command-Object:
|
||||
- lesen von Daten aus der DB
|
||||
- Lesen von Daten aus der DB
|
||||
UPDATE Command-Object:
|
||||
- ändern von Datensätzen
|
||||
- Ändern von Datensätzen
|
||||
INSERT Command-Object:
|
||||
- einfügen neuer Datensätze
|
||||
- Einfügen neuer Datensätze
|
||||
DELETE Command-Object:
|
||||
- löschen von Daten
|
||||
- Löschen von Daten
|
||||
|
||||
|
||||
46. Collections und Objekte eines DataSets
|
||||
|
@ -409,7 +414,6 @@ Theorie:
|
|||
- Relations
|
||||
|
||||
|
||||
|
||||
***SEE SHARP PROGRAMMIERUNG***
|
||||
|
||||
47. Abfangen von Ereignissen unter C#
|
||||
|
@ -435,9 +439,9 @@ Theorie:
|
|||
|
||||
50. Parameter einer Handler - Methode:
|
||||
|
||||
object sender:
|
||||
Object sender:
|
||||
- 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:
|
||||
- Eigenschaften des Events
|
||||
|
@ -472,7 +476,8 @@ Theorie:
|
|||
|
||||
54. Eigenschaften und Methoden eines Exception Objekt
|
||||
|
||||
- Das Exception Objekt wird in try - catch Blöcken verwendet und wird zum bheandeln von Ausnahmen in der Programmlogik verwendet
|
||||
- Das Exception Objekt wird in try - catch Blöcken verwendet
|
||||
und wird zum behandeln von Ausnahmen in der Programmlogik verwendet
|
||||
|
||||
Eigenschaften:
|
||||
- Stacktrace
|
||||
|
@ -484,6 +489,7 @@ Theorie:
|
|||
- 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
|
||||
|
||||
- Mit try - catch kann man eine Exception abfangen
|
||||
|
@ -491,10 +497,11 @@ Theorie:
|
|||
- Der catch Block wird üblicherweise zum Logging der Exception verwendet, oder die Exception wird weiterverarbeitet
|
||||
- mit *throw new Exception()* kann man absichtlich eine Exception auslösen
|
||||
|
||||
|
||||
56. Eigene Exception erstellen
|
||||
|
||||
- klasse von Exception (oder abgeleiteter Exception Klasse) ableiten
|
||||
- konstruktor der Basisklasse für Fehlermeldung nutzen
|
||||
- Klasse von Exception (oder abgeleiteter Exception Klasse) ableiten
|
||||
- Konstruktor der Basisklasse für Fehlermeldung nutzen
|
||||
|
||||
public class myException: System.Exception
|
||||
{
|
||||
|
@ -504,17 +511,20 @@ public class myException: System.Exception
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
57. Vorteile des Structured Exception Handling
|
||||
|
||||
- Trennung von Programm und Fehlerlogik
|
||||
- genaue Fehlerbeschreibung inkl Zusatzinformationen
|
||||
- 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.
|
||||
(Deserialisierung)
|
||||
|
||||
|
||||
59. Unterschiede zwischen Binary und XML Serialisierung
|
||||
|
||||
XML:
|
||||
|
@ -527,6 +537,7 @@ public class myException: System.Exception
|
|||
- Binärformat ist unflexibel
|
||||
- private Elemente werden mitserialisiert
|
||||
|
||||
|
||||
60. Erstellung einer serialisierten Klasse
|
||||
|
||||
[Serializable]
|
||||
|
@ -536,6 +547,7 @@ public class myException: System.Exception
|
|||
public String str = null;
|
||||
}
|
||||
|
||||
|
||||
61. Umsetzung der binären Serialisierung | https://www.guru99.com/c-sharp-serialization.html
|
||||
|
||||
- Serializable Klasse erstellen
|
||||
|
@ -545,6 +557,7 @@ public class myException: System.Exception
|
|||
- Mit BinaryFormatter.Serialize eingelesenen Stream und Serializable Objekt serialisieren
|
||||
- Stream schließen mit .Close()
|
||||
|
||||
|
||||
62. Implementierung von XML Serialisierung
|
||||
```
|
||||
MyClass obj1 = new MyBeispiel( );
|
||||
|
@ -561,6 +574,8 @@ public class myException: System.Exception
|
|||
MyClass obj2 = (MyClass) s.Deserialize(fs);
|
||||
fs.Close( );
|
||||
```
|
||||
|
||||
|
||||
63. DataBindingSource Objekt
|
||||
|
||||
Die BindingSource Komponente dient vielen Zwecken.
|
||||
|
@ -570,12 +585,14 @@ public class myException: System.Exception
|
|||
|
||||
DataSetTabelle --- DataBindingSource Objekt --- Steuerelement
|
||||
|
||||
|
||||
64. Simple und Complex Binding von Steuerelementen
|
||||
|
||||
Beim simple binding bindet man nur eine Eigenschaft an einen
|
||||
Datensatz (z. B. die Text-Property eines Textfeldes an den Namen des Personenobjekts).
|
||||
Verwendet man das complex binding, so werden mehrere Datensätze an ein Steuerelement
|
||||
gebunden (z. B. alle Daten mehrerer Datensätze an ein DataGrid oder alle Namen an eine ComboBox).
|
||||
Beim simple binding bindet man nur eine Eigenschaft an einen
|
||||
Datensatz (z.B. die Text-Property eines Textfeldes an den Namen des Personenobjekts).
|
||||
Verwendet man das complex binding, so werden mehrere Datensätze an ein Steuerelement
|
||||
gebunden (z.B. alle Daten mehrerer Datensätze an ein DataGrid oder alle Namen an eine ComboBox).
|
||||
|
||||
|
||||
65. BindingNavigator Objekt
|
||||
|
||||
|
@ -594,6 +611,7 @@ public class myException: System.Exception
|
|||
- based on ToolStrip.
|
||||
- extensible and pluggable.
|
||||
|
||||
|
||||
66. Zweck einer DAO Klasse
|
||||
```
|
||||
DAO - Klasse (Data Access Object):
|
||||
|
@ -607,6 +625,8 @@ DAO - Klasse (Data Access Object):
|
|||
-> Data Access Object Klassen kapseln die Serialisierung/ Deserialisierung von Objekten.
|
||||
Programmlogik und Datenverwaltung sind getrennt!
|
||||
```
|
||||
|
||||
|
||||
67. Aufgabe des Gerätekontextes beim Druck in C#
|
||||
|
||||
- Graphics Eigenschaft der Klasse PrintPageEventArgs
|
||||
|
@ -624,10 +644,12 @@ DAO - Klasse (Data Access Object):
|
|||
bereit („virtuelle Zeichenleinwand“). Somit wird eine hardwareunabhängige Ausgabelogik im
|
||||
Programm möglich.
|
||||
|
||||
|
||||
68. Warum funktioniert die Druckvorschau ohne installierten Drucker nicht?
|
||||
|
||||
Weil kein Druckertreiber verfügbar ist.
|
||||
|
||||
|
||||
69. Prinzipieller Druckvorgang unter C#
|
||||
|
||||
Druckvorgang:
|
||||
|
@ -665,6 +687,7 @@ DAO - Klasse (Data Access Object):
|
|||
g.DrawString(text, schrift, brush, xPosition, yPosition);
|
||||
```
|
||||
|
||||
|
||||
70. Welche Elemente sind in PrintPageEventArgs
|
||||
|
||||
Eigenschaften:
|
||||
|
@ -682,22 +705,26 @@ DAO - Klasse (Data Access Object):
|
|||
- MemberwiseClone()
|
||||
- ToString()
|
||||
|
||||
|
||||
71. Benutzerdialoge zur Druckunterstützung
|
||||
|
||||
- PrintDialog
|
||||
- PrintPreviewDialog
|
||||
- PageSetupDialog
|
||||
|
||||
|
||||
72. Einrichten von Seitenränder
|
||||
|
||||
Seitenränder setzen
|
||||
-> PageSattings Objekt -> Margins… (Left, Rightt, Top, Bottom) setzen
|
||||
|
||||
|
||||
73. Vorgehensweise zum Ermitteln des bedruckbaren Bereichs
|
||||
|
||||
Bedruckbaren Bereich ermitteln
|
||||
-> PrintPageEventArgs e -> MarginBounds… (Left, Rightt, Top, Bottom) nutzen.
|
||||
|
||||
|
||||
74. Initialisierung einer Schriftart
|
||||
|
||||
Schriftarten erstellen
|
||||
|
@ -706,6 +733,7 @@ DAO - Klasse (Data Access Object):
|
|||
Font headerFont = new Font ("Arial",18, FontStyle.Bold);
|
||||
```
|
||||
|
||||
|
||||
75. Höhe und Breite eines Textes zur Textpositionierung berechnen
|
||||
|
||||
- Graphics.MeasureString() verrechnet Font mit String
|
||||
|
@ -714,6 +742,7 @@ DAO - Klasse (Data Access Object):
|
|||
of the string specified by the text parameter as drawn
|
||||
with the font parameter.
|
||||
|
||||
|
||||
76. DrawString Funktionsweise
|
||||
|
||||
Draws the specified text string at the specified location with the specified Brush and Font objects.
|
||||
|
|
Loading…
Reference in New Issue