Sign in Join
Wiki copytemporary

Crt/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Crt/de

OldNewLine
1+# Unit Crt
2+
3+## Vorwort
4+
5+Die Unit Crt bietet eine komfortable Textausgabe auf der Text-Konsole. Auch bietet sie komfortable Tastatur-Eingabe. Der Ursprung der Unit kommt von Turbo-Pascal. Je nach OS wird die Text-Ausgabe welche mit [[Write/de|Write/Writeln]] ausgeführt wird stark beschleunigt.
6+
7+Wichtigste Features der Unit:
8+
9+- Farbige Text-Ausgabe.
10+- Text-Ausgabe beschleunigen ( OS abhängig ).
11+- Cursor positionieren.
12+- Einen Fenster-Bereich festlegen.
13+- Tastatur-Abfrage.
14+- Ton-Ausgabe ( OS abhängig ).
15+
16+## Die wichtigsten Befehle
17+
18+### Text-Ausgabe
19+
20+#### Window
21+
22+Legt einen Bereich fest, in dem die Ausgabe erfolgt.
23+
24+``` pascal
25+Window(10, 5, 70, 10);
26+```
27+
28+#### GotoXY
29+
30+Positioniert den Cursor, im Beispiel Spalte 10, Zeile 5. Links-Oben ist 1,1.
31+
32+``` pascal
33+GotoXY(10, 5);
34+```
35+
36+#### WhereX
37+
38+Fragt die Spalte ab, in dem sich der Cursor befindet.
39+
40+#### WhereY
41+
42+Fragt die Zeile ab, in dem sich der Cursor befindet.
43+
44+#### ClrScr
45+
46+Löschen den Bildschirm / Fenster, welches mit Windows festgelegt wurde.
47+
48+#### TextColor
49+
50+Legt die Farbe der Schrift fest.
51+
52+``` pascal
53+TextColor(Green); // Grüne Schrift
54+```
55+
56+Für die Farben sind folgende Konstanten vordefiniert:
57+
58+``` pascal
59+const
60+// Vordergrund / Hintegergrund-Farben
61+ Black = 0;
62+ Blue = 1;
63+ Green = 2;
64+ Cyan = 3;
65+ Red = 4;
66+ Magenta = 5;
67+ Brown = 6;
68+ LightGray = 7;
69+
70+// Zusätzliche Vordergrund Farben
71+ DarkGray = 8;
72+ LightBlue = 9;
73+ LightGreen = 10;
74+ LightCyan = 11;
75+ LightRed = 12;
76+ LightMagenta = 13;
77+ Yellow = 14;
78+ White = 15;
79+
80+// Spezial
81+ Blink = 128;
82+```
83+
84+#### TextBackground
85+
86+Legt die Hintergrund-Farbe der Schrift fest. Beim Aufruf von ClrSrc wird der Bildschirm/Fenster mit dieser Farbe eingefärbt.
87+
88+``` pascal
89+TextBackground(Red); // Roter Hintergrund
90+```
91+
92+#### TextAttr
93+
94+Über diesen Bezeichner kann man direkt das Attribut auslesen und schreiben.
95+
96+#### LowVideo
97+
98+Die Farbe der Schrift wird auf Low gesetzt.
99+
100+#### HighVideo
101+
102+Die Farbe der Schrift wird auf High gesetzt.
103+
104+#### NormVideo
105+
106+Die Schrift wird auf Standard-Grau gesetzt.
107+
108+#### InsLine
109+
110+Eine Zeile bei Cursorposition einfügen.
111+
112+#### DelLine
113+
114+Die Zeile bei Cursorposition löschen.
115+
116+#### Beispiel Text-Ausgabe
117+
118+``` pascal
119+var
120+ i: integer;
121+begin
122+ Window(10, 5, 30, 20); // Fenstergrösse festlegen
123+ TextBackground(Red); // Hintergrund-Farbe (Rot)
124+ ClrScr; // Fenster löschen
125+ for i := 1 to 8 do begin
126+ GotoXY(i, i); // Cursor positionieren
127+ TextColor(i + 8); // Text-Farbe festlegen
128+ Write('Hello World');
129+ end;
130+ repeat
131+ until KeyPressed; // Bei Tastendruck Programm beenden
132+end.
133+```
134+
135+### Tastatur-Eingabe
136+
137+#### ReadKey
138+
139+ReadKey holt ein Zeichen aus dem Tastatur-Puffer. Achtung, bei Funktions-Tasten müssen 2 Zeichen abgeholt werden, dabei ist das erste Zeichen ein \#0. Dies betrifft F-Tasten, Pfeil-Tasten, etc.
140+
141+#### KeyPressed
142+
143+Prüft, ob eine Taste gedrückt wurde.
144+
145+#### Beispiel Tastatur
146+
147+``` pascal
148+var
149+ ch: Char;
150+begin
151+ repeat
152+ until KeyPressed; // Warten, bis eine Taste gedrückt.
153+ ch := ReadKey;
154+ if ch = #0 then begin // Funktionstaste
155+ ch := ReadKey;
156+ end;
157+end.
158+```
159+
160+Hinweis: KeyPressed holt keine Zeichen ab, dies muss mit ReadKey geschehen.
161+
162+### Ton-Ausgabe
163+
164+> **Note:** Funktioniert nicht auf allen Plattformen.
165+
166+#### Sound
167+
168+Gibt einen Ton in Hz aus.
169+
170+``` pascal
171+Sound(1000); // 1'000Hz
172+```
173+
174+#### NoSound
175+
176+Haltet die Ton-Ausgabe an.
177+
178+#### Delay
179+
180+Verzögerung in MS.
181+
182+``` pascal
183+Sound(1000); // 1'000s verweilen
184+```
185+
186+#### Beispiel Ton-Ausgabe
187+
188+``` pascal
189+begin
190+ Sound(1000); // 1'000 Herz
191+ Delay(1000); // 1 Sekunde verzögern.
192+ NoSound; // Ton absellen
193+end.
194+```
195+
196+Autor: Mathias
197+
198+---
199+*From the Free Pascal wiki, page "Crt/de", as it stood on 2019-12-30 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
200+Category: Units

Back to history