Sign in Join
Wiki copytemporary

Write/de: what changed

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

Title: Write/de

OldNewLine
1+Zurück zu den [[Reserved words/de|reservierten Wörtern]].
2+
3+# Write / WriteLn
4+
5+## Vorwort
6+
7+Der Befehl **Write/WriteLn** wird angewandt.
8+
9+- Konsolen-Ausgabe.
10+- Schreiben in Datei/Gerät.
11+- Bei **property** bei Classen (nur **Write**).
12+
13+Die beiden Befehle **Write** und **WriteLn** sind sehr verwandt, der Unterschied, **WriteLn** führt am Ende noch einen Zeilenumbruch aus. Wobei man **WriteLn** nur bei Text-Dateien und Konsolenausgabe verwenden kann.
14+
15+## Schreiben in Datei
16+
17+``` pascal
18+Write(f, Datensatz); // schreibt einen Datensatz in eine Datei.
19+// oder
20+WriteLn(f, Datensatz); // nur Bei Text-Dateien möglich.
21+```
22+
23+Genaueres hier:
24+
25+- [[File Handling In Pascal|Datei Behandlung in Pascal]] (englisch)
26+
27+## Konsole / Text-Dateien
28+
29+Es ist möglich direkt Strings, Char, Zahlen, etc. auszugeben.
30+
31+### Mehrere Argumente
32+
33+Es sind mehrere Argumente in **Write**/**WriteLn** möglich.
34+
35+``` pascal
36+Write('Eine Woche hat ', 7, ' Tage.', LineEnding);
37+// oder
38+WriteLn('Eine Woche hat ', 7, ' Tage.');
39+```
40+
41+### Formatierte Ausgabe
42+
43+``` pascal
44+Write(Value: Anzahl_zeichen);
45+WriteLn(Value: Anzahl_zeichen);
46+// Bei Float-Typen
47+Write(Value: Anzahl_zeichen: Stellen_Nachkomma);
48+WriteLn(Value: Anzahl_zeichen: Stellen_Nachkomma);
49+```
50+
51+> **Note:** Bei Float-Typen muss beachtet werden, das immer ein **Punkt** als Dezimaltrenner ausgegeben wird, egal wie die Ländereinstellungen des OS eingestellt sind.
52+
53+``` pascal
54+WriteLn( 1: 10);
55+WriteLn( 12: 10);
56+WriteLn(123: 10);
57+
58+// Anstelle von LineEnding am Ende, verwendet man besser WriteLn.
59+WriteLn; // Zeilenumbruch
60+WriteLn( 1.1 : 10: 5);
61+WriteLn( 12.12 : 10: 5);
62+WriteLn(123.123: 10: 5);
63+
64+// Auch String kann man formatieren
65+WriteLn('Hallo': 15);
66+```
67+
68+**Ausgabe:**
69+
70+ Eine Woche hat 7 Tage.
71+ 1
72+ 12
73+ 123
74+
75+ 1.10000
76+ 12.12000
77+ 123.12300
78+ Hallo
79+
80+### Exoten
81+
82+Auf der Konsole kann man auch so etwas ausgeben:
83+
84+``` pascal
85+var
86+ Farbe: (rot, gruen, blau);
87+begin
88+ Farbe := gruen;
89+ WriteLn(Farbe);
90+```
91+
92+**Ausgabe:**
93+
94+ gruen
95+
96+**Achtung:** Wen man **Farbe** nichts zuordnet, kommt es zu einem Laufzeitfehler.
97+
98+## Ausgabe umlenken
99+
100+Normalerweise schreibt dies auf die Konsole:
101+
102+``` pascal
103+ WriteLn('Hello World');
104+```
105+
106+Wird die Ausgabe des Projekts folgendermassen umgeleitet:
107+
108+``` bash
109+# Linux
110+./project1 > text.txt
111+# Windows/DOS
112+project1.exe > text.txt
113+```
114+
115+Schreibt **Write**/**WriteLn** in die umgelenkte Datei/Gerät.
116+
117+> **Note:** Verwendet man die Unit [[Crt/de|Crt]] dann verhält sich das Ganze je nach OS etwas anders.
118+
119+## Unit Crt
120+
121+Wen man die Unit [[Crt/de|Crt]] einbindet, wird die Ausgabe von **Write**/**WriteLn** beeinflusst. ZB. ist damit farbige Textausgabe möglich, auch kann man den Cursor positionieren.
122+
123+Unter MS-DOS kann man damit zB. einen merklichen Geschwindigkeitszuwachs feststellen.
124+
125+## Verwendung mit property
126+
127+``` pascal
128+type
129+ MyClass=class(TObject)
130+ private
131+ FColor: Integer;
132+ published
133+ property Color : Integer read FColor write FColor; // Hier verwendet.
134+ end;
135+```
136+
137+Genaueres hier:
138+
139+- [[Property/de|Property]]
140+
141+- Ton-Ausgabe ( OS abhängig ).
142+
143+Autor: Mathias
144+
145+---
146+*From the Free Pascal wiki, page "Write/de", as it stood on 2020-01-15 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).*
147+Category: Deutsch
148+Category: Reserved words/de

Back to history