1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
init dgs;
window (0.0, 0.0, 13.5, 7.1); (*viewport (0.0,0.0,13.5,7.1); *)
scale (1.0,1.0,0.0,0.0);
(*clear pixels;*)
karteikasten (1.0, 3.5, "Kartei A", "Wegner", "Herbert");
karteikasten (5.0, 0.5, "Kartei B", "Regmann", "Karin");
LET myname = "abb.1-1";
save pixels (myname + ".p");
FILE VAR f := sequential file (modify, myname + ".p");
to line (f, 1); insert record (f);
write record (f, "#linefeed (0.8)#");
insert record (f); write record (f, myname);
to eof (f); insert record (f); write record (f, myname);
to line (f, 1);
(*
pause (10000);
*)
PROC karteikasten (REAL CONST x, y, TEXT CONST name, t name, t vorname) :
move (x - 0.1, y);
draw (x + 3.6, y);
draw (x + 3.6, y + 1.0);
draw (x - 0.1, y + 1.0);
draw (x - 0.1, y);
move (x + 0.1, y + 1.1);
draw (x + 0.5, y + 1.5);
move (x + 0.1, y + 1.1);
draw (x + 3.6, y + 1.1);
move (x - 0.1, y + 1.0);
draw (x + 0.5, y + 1.6);
move (x + 3.6, y);
draw (x + 5.2, y + 1.6);
draw (x + 5.2, y + 2.6);
draw (x + 3.6, y + 1.0);
move (x + 3.6, y + 1.1); draw (x + 5.0, y + 2.5);
move (x + 5.2, y + 2.6); draw (x + 5.0, y + 2.6);
move (x + 0.5, y + 1.1);
draw (x + 0.5, y + 2.5);
draw (x + 4.0, y + 2.5);
draw (x + 4.0, y + 1.5);
move (x + 0.5, y + 2.5);
draw (x + 1.5, y + 3.5);
draw (x + 5.0, y + 3.5);
draw (x + 5.0, y + 2.5);
move (x + 5.0, y + 3.5);
draw (x + 4.0, y + 2.5);
REAL VAR x off := 0.1;
WHILE x off < 1.0 REP
move (x + 0.5 + xoff, y + 2.5 + x off);
draw (x + 4.0 + xoff, y + 2.5 + xoff);
draw (x + 4.0 + xoff, y + 1.5 + xoff);
x off INCR 0.1
END REP;
font size (0.5);
font expansion (1.5);
move (x + 0.5, y + 0.2); draw (name);
font size (0.25);
move (x + 0.7, y + 2.10); draw ("Name");
move (x + 0.7, y + 1.65); draw ("Vorname");
move (x + 0.7, y + 1.20); draw ("Strasse");
move (x + 2.1, y + 2.10); draw (": " + t name);
move (x + 2.1, y + 1.65); draw (": " + t vorname);
move (x + 2.1, y + 1.20); draw (":");
END PROC karteikasten;
|