summaryrefslogtreecommitdiff
path: root/doc/eudas
diff options
context:
space:
mode:
Diffstat (limited to 'doc/eudas')
-rw-r--r--doc/eudas/abb.1-194
-rw-r--r--doc/eudas/abb.4-143
-rw-r--r--doc/eudas/abb.4-246
-rw-r--r--doc/eudas/abb.6-175
-rw-r--r--doc/eudas/abb.6-277
-rw-r--r--doc/eudas/abb.7-146
-rw-r--r--doc/eudas/abb.9-141
-rw-r--r--doc/eudas/abb.9-296
-rw-r--r--doc/eudas/abb.9-3113
-rw-r--r--doc/eudas/abb.9-498
-rw-r--r--doc/eudas/abb.9-551
-rw-r--r--doc/eudas/bildergenerator25
-rw-r--r--doc/eudas/eudas.hdb.1267
-rw-r--r--doc/eudas/eudas.hdb.10510
-rw-r--r--doc/eudas/eudas.hdb.11674
-rw-r--r--doc/eudas/eudas.hdb.12446
-rw-r--r--doc/eudas/eudas.hdb.13757
-rw-r--r--doc/eudas/eudas.hdb.14724
-rw-r--r--doc/eudas/eudas.hdb.15286
-rw-r--r--doc/eudas/eudas.hdb.16350
-rw-r--r--doc/eudas/eudas.hdb.2178
-rw-r--r--doc/eudas/eudas.hdb.3515
-rw-r--r--doc/eudas/eudas.hdb.5386
-rw-r--r--doc/eudas/eudas.hdb.6394
-rw-r--r--doc/eudas/eudas.hdb.7687
-rw-r--r--doc/eudas/eudas.hdb.8211
-rw-r--r--doc/eudas/eudas.hdb.9556
-rw-r--r--doc/eudas/eudas.hdb.inhalt133
-rw-r--r--doc/eudas/eudas.hdb.macros80
-rw-r--r--doc/eudas/eudas.hdb.titel99
-rw-r--r--doc/eudas/eudas.hdb.vorwort89
-rw-r--r--doc/eudas/eudas.ref.1326
-rw-r--r--doc/eudas/eudas.ref.10406
-rw-r--r--doc/eudas/eudas.ref.11347
-rw-r--r--doc/eudas/eudas.ref.2830
-rw-r--r--doc/eudas/eudas.ref.3270
-rw-r--r--doc/eudas/eudas.ref.4441
-rw-r--r--doc/eudas/eudas.ref.5432
-rw-r--r--doc/eudas/eudas.ref.6399
-rw-r--r--doc/eudas/eudas.ref.7447
-rw-r--r--doc/eudas/eudas.ref.8454
-rw-r--r--doc/eudas/eudas.ref.9194
-rw-r--r--doc/eudas/eudas.ref.fehler139
-rw-r--r--doc/eudas/eudas.ref.inhalt120
-rw-r--r--doc/eudas/eudas.ref.macros73
-rw-r--r--doc/eudas/eudas.ref.proz205
-rw-r--r--doc/eudas/eudas.ref.reg436
-rw-r--r--doc/eudas/eudas.ref.titel91
-rw-r--r--doc/eudas/eudas.ref.vorwort81
-rw-r--r--doc/eudas/ref.abb.1-142
-rw-r--r--doc/eudas/register490
-rw-r--r--doc/eudas/uedas.hdb.4686
52 files changed, 0 insertions, 15056 deletions
diff --git a/doc/eudas/abb.1-1 b/doc/eudas/abb.1-1
deleted file mode 100644
index 06c27fd..0000000
--- a/doc/eudas/abb.1-1
+++ /dev/null
@@ -1,94 +0,0 @@
-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;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/eudas/abb.4-1 b/doc/eudas/abb.4-1
deleted file mode 100644
index 439e052..0000000
--- a/doc/eudas/abb.4-1
+++ /dev/null
@@ -1,43 +0,0 @@
-init dgs;
-window (0.0, 0.0, 13.5, 3.2); viewport (0.0,0.0,13.5,3.2);
-(* scale (2.0,2.0,0.0,0.0); *)
-(*clear pixels;*)
-
-font size (0.25);
-font expansion (1.5);
-
-INT VAR i;
-FOR i FROM 0 UPTO 4 REP
- move (2.0, real (i) * 0.5);
- draw (10.0, real (i) * 0.5);
- move (2.1, real (i) * 0.5 + 0.1);
- draw ("Feld " + code (code ("E") - i));
-END REP;
-move (2.0, 2.5);
-draw (10.0, 2.5);
-move (2.0, 2.5);
-draw (2.0, 0.0);
-move (3.5, 3.0);
-draw (10.0, 3.0);
-FOR i FROM 1 UPTO 4 REP
- move (2.0 + real (i) * 1.5, 3.0);
- draw (2.0 + real (i) * 1.5, 0.0);
- move (2.2 + real (i) * 1.5, 2.6);
- draw ("Satz " + text (i))
-END REP;
-move (9.5, 3.0);
-draw (9.5, 0.0);
-(*
-pause (1000);
-*)
-
-LET myname = "abb.4-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);
-
-
diff --git a/doc/eudas/abb.4-2 b/doc/eudas/abb.4-2
deleted file mode 100644
index a836def..0000000
--- a/doc/eudas/abb.4-2
+++ /dev/null
@@ -1,46 +0,0 @@
-init dgs;
-window (0.0, 0.0, 13.5, 2.0); viewport (0.0,0.0,13.5,2.0);
-(*scale (1.7,1.7,-1.6,0.0);*)
-(*
-clear pixels;
-*)
-
-kasten (1.0, 0.0, 3.0, 1.5);
-kasten (7.0, 0.0, 3.0, 1.5);
-font size (0.4); font expansion (1.5);
-move (1.8, 0.6); draw ("Menü");
-move (7.9, 0.6); draw ("Hilfe");
-move (4.5, 1.0); draw (6.5, 1.0);
- draw (6.25, 1.25); move (6.5, 1.0); draw (6.25, 0.75);
-move (6.5, 0.5); draw (4.5, 0.5);
- draw (4.75, 0.75); move (4.5, 0.5); draw (4.75, 0.25);
-font size (0.25);
-move (5.0, 1.1); draw ("ESC '?'");
-move (5.0, 0.6); draw ("ESC 'q'");
-move (10.5, 1.0); draw (11.5, 1.0); draw (11.5, 0.5); draw (10.5, 0.5);
- draw (10.75, 0.75); move (10.5, 0.5); draw (10.75, 0.25);
-move (11.8, 0.9); draw ("ESC 'w'");
-move (11.8, 0.4); draw ("ESC 'z'");
-
-
-LET myname = "abb.4-2";
-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 (9000);
-*)
-PROC kasten (REAL CONST x anf, y anf, x l, y l) :
-
- move (x anf, y anf);
- draw (x anf, y anf + y l);
- draw (x anf + x l, y anf + y l);
- draw (x anf + x l, y anf);
- draw (x anf, y anf)
-
-END PROC kasten;
-
diff --git a/doc/eudas/abb.6-1 b/doc/eudas/abb.6-1
deleted file mode 100644
index fb83242..0000000
--- a/doc/eudas/abb.6-1
+++ /dev/null
@@ -1,75 +0,0 @@
-init dgs;
-window (0.0, 0.0, 13.5, 4.0); viewport (0.0,0.0,13.5,4.0);
-(*scale (1.0,1.0, 0.0,0.0);*)
-(*
-clear pixels;
-*)
-
-move (2.25, 1.0); draw (4.75, 1.0);
-move (2.25, 3.0); draw (4.75, 3.0);
- move (2.5, 1.0); draw (2.5, 3.3);
- move (3.0, 1.0); draw (3.0, 3.3);
- move (3.5, 1.0); draw (3.5, 3.3);
- move (4.0, 1.0); draw (4.0, 3.3);
- move (4.5, 1.0); draw (4.5, 3.3);
-font size (0.30); font expansion (1.5);
-move (2.6, 3.1); draw ("4");
-move (2.6, 2.0); draw ("M");
-move (3.1, 3.1); draw ("5");
-move (3.1, 2.0); draw ("N");
-move (3.6, 3.1); draw ("6");
-move (3.6, 2.0); draw ("O");
-move (4.1, 3.1); draw ("7");
-move (4.1, 2.0); draw ("P");
- pfeil (3.75, 0.75);
-
-move (5.0, 2.0); draw (7.0, 2.0); draw (6.75, 2.25);
- move (7.0, 2.0); draw (6.75, 1.75);
-move (5.0, 2.1); draw ("Einfügen");
-
-move (7.25, 1.0); draw (8.5, 1.0); move (9.0, 1.0); draw (10.25, 1.0);
-move (7.25, 3.0); draw (8.5, 3.0); move (9.0, 3.0); draw (10.25, 3.0);
- move (7.5, 1.0); draw (7.5, 3.3);
- move (8.0, 1.0); draw (8.0, 3.3);
- move (8.5, 1.0); draw (8.5, 3.3);
- move (9.0, 1.0); draw (9.0, 3.3);
- move (9.5, 1.0); draw (9.5, 3.3);
- move (10.0, 1.0); draw (10.0, 3.3);
-move (7.6, 3.1); draw ("4");
-move (7.6, 2.0); draw ("M");
-move (8.1, 3.1); draw ("5");
-move (8.1, 2.0); draw ("N");
-move (8.6, 3.1); draw ("6");
-move (9.1, 3.1); draw ("7");
-move (9.1, 2.0); draw ("O");
-move (9.6, 3.1); draw ("8");
-move (9.6, 2.0); draw ("P");
-
-pfeil (8.75, 0.75);
-
-PROC pfeil (REAL CONST x spitze, y spitze) :
-
- move (x spitze, y spitze);
- draw (x spitze + 0.25, y spitze - 0.25);
- draw (x spitze + 0.1, y spitze - 0.25);
- draw (x spitze + 0.1, y spitze - 0.5);
- draw (x spitze - 0.1, y spitze - 0.5);
- draw (x spitze - 0.1, y spitze - 0.25);
- draw (x spitze - 0.25, y spitze - 0.25);
- draw (x spitze, y spitze)
-
-END PROC pfeil;
-
-
-LET myname = "abb.6-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 (9000)
-*)
-
diff --git a/doc/eudas/abb.6-2 b/doc/eudas/abb.6-2
deleted file mode 100644
index 7771a29..0000000
--- a/doc/eudas/abb.6-2
+++ /dev/null
@@ -1,77 +0,0 @@
-init dgs;
-window (0.0, 0.0, 13.5, 5.0); viewport (0.0,0.0,13.5,5.0);
-(*scale (1.4,1.4, 0.0,0.0);*)
-(*clear pixels;*)
-
-move (2.5, 4.5); draw (12.4, 4.5); draw (12.4, 4.0); draw (11.0, 4.0);
- draw (11.0, 3.5); move (10.5, 3.5); draw (10.5, 4.0); draw (2.5, 4.0);
-move (13.5, 4.5); draw (12.5, 4.5); draw (12.5, 3.5); move (13.0, 3.5);
- draw (13.0, 4.0); draw (13.5, 4.0);
-move (2.5, 3.5); draw (13.5, 3.5); move (13.5, 3.0); draw (10.0, 3.0);
- draw (10.0, 2.5); move (9.5, 2.5); draw (9.5, 3.0); draw (2.5, 3.0);
-move (10.5, 3.0); draw (10.5, 2.5); move (11.0, 2.5); draw (11.0, 3.0);
-move (12.5, 2.5); draw (12.5, 3.0); move (13.0, 3.0); draw (13.0, 2.5);
-move (2.5, 2.5); draw (6.4, 2.5); draw (6.4, 2.0); draw (4.0, 2.0);
- draw (4.0, 1.5); draw (6.5, 1.5); draw (6.5, 2.5); draw (13.5, 2.5);
- move (13.5, 2.0); draw (7.0, 2.0); draw (7.0, 1.5); draw (9.0, 1.5);
- draw (9.0, 1.0); draw (3.5, 1.0); draw (3.5, 2.0); draw (2.5, 2.0);
-move (9.5, 2.0); draw (9.5, 1.0); draw (10.4, 1.0); draw (10.4, 1.5);
- draw (10.0, 1.5); draw (10.0, 2.0);
-move (10.5, 2.0); draw (10.5, 1.0); draw (13.0, 1.0); draw (13.0, 2.0);
- move (11.0, 2.0); draw (11.0, 1.5); draw (12.5, 1.5); draw (12.5, 2.0);
-move (4.5, 1.5); draw (4.75, 1.25); draw (4.5, 1.0);
-move (5.5, 1.5); draw (5.75, 1.25); draw (5.5, 1.0);
-move (7.5, 1.5); draw (7.75, 1.25); draw (7.5, 1.0);
-move (11.5, 1.5); draw (11.75, 1.25); draw (11.5, 1.0);
-
-font size (0.25); font expansion (1.4);
-move (2.5, 4.1); draw ("K0");
-move (2.5, 3.1); draw ("N0");
-move (2.5, 2.1); draw ("A0");
-
-move (0.0, 4.1); draw ("'Kalender'");
-move (0.0, 3.1); draw ("'Namen'");
-move (0.0, 2.1); draw ("'Adressen'");
-move (0.0, 1.1); draw ("Arbeitskopie");
-
-move (4.9, 1.1); draw ("A1");
-move (5.9, 1.1); draw ("A2");
-move (7.9, 1.1); draw ("A3");
-move (11.9, 1.1); draw ("K1");
-
-x alignment (right);
-move (13.5, 4.1); draw ("K1");
-move (13.5, 3.1); draw ("N0");
-move (13.5, 2.1); draw ("A2");
-
-x alignment (normal);
-font size (0.2);
-INT VAR i;
-FOR i FROM 0 UPTO 10 REP
- time (2.5 + real (i) * 1.0, i)
-END REP;
-
-PROC time (REAL CONST x pos, INT CONST nr) :
-
- move (x pos, 4.9); draw (x pos, 4.6);
- move (x pos, 3.9); draw (x pos, 3.6);
- move (x pos, 2.9); draw (x pos, 2.6);
- move (x pos, 1.9); draw (x pos, 1.6);
- move (x pos, 0.9); draw (x pos, 0.6);
- move (x pos + 0.1, 0.6); draw (text (nr))
-
-END PROC time;
-
-
-LET myname = "abb.6-2";
-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 (9000);
-*)
-
diff --git a/doc/eudas/abb.7-1 b/doc/eudas/abb.7-1
deleted file mode 100644
index 3536ad9..0000000
--- a/doc/eudas/abb.7-1
+++ /dev/null
@@ -1,46 +0,0 @@
-init dgs;
-window (0.0, 0.0, 13.5, 6.0); viewport (0.0,0.0,13.5,6.0);
-(*scale (1.7,1.7, 0.0,0.0);*)
-(*clear pixels;*)
-
-kasten (5.0, 4.5, 3.0, 1.0);
-kasten (5.0, 1.5, 3.0, 1.0);
-kasten (1.5, 3.0, 3.0, 1.0);
-font size (0.35); font expansion (1.5);
-x alignment (center);
-move (6.5, 4.8); draw ("Druckmuster");
-move (6.5, 1.8); draw ("Druckdatei");
-move (3.0, 3.3); draw ("EUDAS-Datei");
-move (6.5, 0.0); draw ("Drucker");
-
-move (6.5, 4.25); draw (6.5, 2.75); draw (6.25, 3.0);
- move (6.5, 2.75); draw (6.75, 3.0);
-move (4.75, 3.5); draw (6.25, 3.5); draw (6.0, 3.75);
- move (6.25, 3.5); draw (6.0, 3.25);
-move (6.5, 1.25); draw (6.5, 0.5); draw (6.75, 0.75);
- move (6.5, 0.5); draw (6.25, 0.75);
-
-
-PROC kasten (REAL CONST x anf, y anf, x l, y l) :
-
- move (x anf, y anf);
- draw (x anf, y anf + y l);
- draw (x anf + x l, y anf + y l);
- draw (x anf + x l, y anf);
- draw (x anf, y anf)
-
-END PROC kasten;
-
-
-LET myname = "abb.7-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 (9000);
-*)
-
diff --git a/doc/eudas/abb.9-1 b/doc/eudas/abb.9-1
deleted file mode 100644
index 774b78b..0000000
--- a/doc/eudas/abb.9-1
+++ /dev/null
@@ -1,41 +0,0 @@
-init dgs;
-window (0.0, 0.0, 13.5, 4.0); viewport (0.0,0.0,13.5,4.0);
-(*scale (1.7,1.7, 0.0,0.0);*)
-(*clear pixels;*)
-
-move (1.5, 1.0); draw (8.75, 1.0);
-move (1.5, 3.5); draw (8.75, 3.5);
-INT VAR i;
-FOR i FROM 0 UPTO 9 REP
- move (1.75 + real (i) * 0.75, 3.7);
- draw (1.75 + real (i) * 0.75, 1.0);
-END REP;
-
-move (4.7, 3.7); draw (4.7, 1.0);
-
-font size (0.25); font expansion (1.5);
-x alignment (center);
-FOR i FROM 0 UPTO 8 REP
- move (2.125 + real (i) * 0.75, 3.6); draw (text (i + 110))
-END REP;
-FOR i FROM 1 UPTO 5 REP
- move (2.125 + real (i + 3) * 0.75, 0.6); draw ("(" + text (i) + ")")
-END REP;
-
-font size (0.35); x alignment (left);
-move (2.0, 0.0); draw ("Datei A");
-move (5.0, 0.0); draw ("Datei B");
-
-
-LET myname = "abb.9-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 (9000)
-*)
-
diff --git a/doc/eudas/abb.9-2 b/doc/eudas/abb.9-2
deleted file mode 100644
index 4e9444d..0000000
--- a/doc/eudas/abb.9-2
+++ /dev/null
@@ -1,96 +0,0 @@
-init dgs;
-window (0.0, 0.0, 13.5, 6.5); viewport (0.0,0.0,13.5,6.5);
-(*scale (1.7,1.7, 0.0,0.0);*)
-(*clear pixels;*)
-
-INT VAR i;
-move (4.0, 0.0); draw (4.0, 2.0);
-move (5.5, 0.0); draw (5.5, 2.0);
-FOR i FROM 0 UPTO 4 REP
- move (4.0, real (i) * 0.5);
- draw (5.5, real (i) * 0.5)
-END REP;
-
-move (4.0, 3.0); draw (4.0, 6.0);
-move (5.5, 3.0); draw (5.5, 6.0);
-FOR i FROM 0 UPTO 6 REP
- move (4.0, real (i) * 0.5 + 3.0);
- draw (5.5, real (i) * 0.5 + 3.0)
-END REP;
-
-move (7.5, 2.0); draw (7.5, 6.0);
-move (9.0, 2.0); draw (9.0, 6.0);
-FOR i FROM 0 UPTO 8 REP
- move (7.5, real (i) * 0.5 + 2.0);
- draw (9.0, real (i) * 0.5 + 2.0)
-END REP;
-
-strichel (5.5, 6.0, 7.5, 6.0);
-strichel (5.5, 3.0, 7.5, 3.0);
-strichel (5.5, 1.0, 7.5, 3.0);
-strichel (5.5, 0.0, 7.5, 2.0);
-
-move (5.5, 4.75); draw (6.0, 4.75);
- draw (6.0, 1.75); draw (5.5, 1.75);
-move (4.0, 3.75); draw (3.5, 3.75);
- draw (3.5, 1.25); draw (4.0, 1.25);
-
-font size (0.4); font expansion (1.5);
-move (0.0, 0.8); draw ("Koppeldatei");
-move (0.0, 4.3); draw ("Hauptdatei");
-move (10.0, 4.3); draw ("virtuelle");
-move (10.0, 3.4); draw ("Datei");
-
-font size (0.3);
-move (4.5, 0.1); draw ("H2");
-move (4.5, 0.6); draw ("H1");
-move (4.5, 1.1); draw ("B");
-move (4.5, 1.6); draw ("A");
-move (4.5, 3.1); draw ("F4");
-move (4.5, 3.6); draw ("B");
-move (4.5, 4.1); draw ("F3");
-move (4.5, 4.6); draw ("A");
-move (4.5, 5.1); draw ("F2");
-move (4.5, 5.6); draw ("F1");
-move (8.0, 5.6); draw ("F1");
-move (8.0, 5.1); draw ("F2");
-move (8.0, 4.6); draw ("A");
-move (8.0, 4.1); draw ("F3");
-move (8.0, 3.6); draw ("B");
-move (8.0, 3.1); draw ("F4");
-move (8.0, 2.6); draw ("H1");
-move (8.0, 2.1); draw ("H2");
-
-PROC strichel (REAL CONST x anf, y anf, x end, y end) :
-
- REAL VAR laenge := x end - x anf;
- INT VAR teile := int (abstand/ 0.4);
- REAL VAR verhaeltnis := (y end - y anf) / laenge;
- laenge := laenge / (real (2 * teile + 1));
- INT VAR i;
- FOR i FROM 0 UPTO teile REP
- move (x anf + real (i + i) * laenge,
- y anf + verhaeltnis * real (i + i) * laenge);
- draw (x anf + real (i + i + 1) * laenge,
- y anf + verhaeltnis * real (i + i + 1) * laenge)
- END REP .
-
-abstand :
- sqrt ((y end - y anf) + (y end - y anf) +
- (x end - x anf) * (x end - x anf)) .
-
-END PROC strichel;
-
-
-LET myname = "abb.9-2";
-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 (9000);
-*)
-
diff --git a/doc/eudas/abb.9-3 b/doc/eudas/abb.9-3
deleted file mode 100644
index 9b190ab..0000000
--- a/doc/eudas/abb.9-3
+++ /dev/null
@@ -1,113 +0,0 @@
-init dgs;
-window (0.0, 0.0, 13.5, 7.0); viewport (0.0,0.0,13.5,7.0);
-(*scale (1.7,1.7, 0.0,0.0);*)
-(*clear pixels;*)
-
-x alignment (center);
-font size (0.3); font expansion (1.2);
-kasten (1.5, 5.0, 2.0, 1.5);
-move (2.5, 5.9); draw ("EUDAS-");
-move (2.5, 5.3); draw ("Datei 1");
-move (3.5, 5.75); draw (4.0, 5.75);
-kasten (4.0, 5.0, 2.0, 1.5);
-move (5.0, 5.9); draw ("gekettete");
-move (5.0, 5.3); draw ("Datei A");
-move (6.0, 5.75); draw (6.5, 5.75);
-kasten (6.5, 5.0, 2.0, 1.5);
-move (7.5, 5.9); draw ("gekettete");
-move (7.5, 5.3); draw ("Datei B");
-kasten (1.5, 2.0, 2.0, 1.5);
-move (2.5, 2.9); draw ("gekoppelte");
-move (2.5, 2.3); draw ("Datei C");
-kasten (4.0, 0.0, 2.0, 1.5);
-move (5.0, 0.9); draw ("gekoppelte");
-move (5.0, 0.3); draw ("Datei D");
-
-punkt (9.0, 5.75);
-punkt (9.25, 5.75);
-punkt (9.5, 5.75);
-
-strichel (1.0, 4.5, 10.0, 4.5);
-strichel (1.0, 7.0, 10.0, 7.0);
-strichel (1.0, 4.5, 1.0, 7.0);
-x alignment (right); font size (0.4);
-move (10.0, 3.9);
-draw ("Hauptdatei");
-
-punkt (2.5, 3.75);
-punkt (2.5, 4.0);
-punkt (2.5, 4.25);
-
-punkt (5.0, 1.75);
-punkt (5.0, 2.0);
-punkt (5.0, 2.25);
-punkt (5.0, 2.5);
-punkt (5.0, 2.75);
-punkt (5.0, 3.0);
-punkt (5.0, 3.25);
-punkt (5.0, 3.5);
-punkt (5.0, 3.75);
-punkt (5.0, 4.0);
-punkt (5.0, 4.25);
-
-PROC punkt (REAL CONST x pos, y pos) :
-
- LET p size = 0.025;
- move (x pos, y pos + p size);
- draw (x pos + p size, y pos);
- draw (x pos, y pos - p size);
- draw (x pos - p size, y pos);
- draw (x pos, y pos + p size)
-
-END PROC punkt;
-
-
-PROC strichel (REAL CONST x anf, y anf, x end, y end) :
-
- REAL VAR laenge := x end - x anf;
- INT VAR teile := int (abstand/ 0.4);
- REAL VAR senkrecht, verhaeltnis;
- IF laenge <> 0.0 THEN
- verhaeltnis := (y end - y anf) / laenge; senkrecht := 1.0
- ELSE
- verhaeltnis := 1.0; senkrecht := 0.0 ;
- laenge := y end - y anf
- END IF;
- laenge := laenge / (real (2 * teile + 1));
- INT VAR i;
- FOR i FROM 0 UPTO teile REP
- move (x anf + real (i + i) * laenge * senkrecht,
- y anf + verhaeltnis * real (i + i) * laenge);
- draw (x anf + real (i + i + 1) * laenge * senkrecht,
- y anf + verhaeltnis * real (i + i + 1) * laenge)
- END REP .
-
-abstand :
- sqrt ((y end - y anf) * (y end - y anf) +
- (x end - x anf) * (x end - x anf)) .
-
-END PROC strichel;
-
-PROC kasten (REAL CONST x anf, y anf, x l, y l) :
-
- move (x anf, y anf);
- draw (x anf, y anf + y l);
- draw (x anf + x l, y anf + y l);
- draw (x anf + x l, y anf);
- draw (x anf, y anf)
-
-END PROC kasten;
-
-
-LET myname = "abb.9-3";
-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 (9000)
-*)
-
diff --git a/doc/eudas/abb.9-4 b/doc/eudas/abb.9-4
deleted file mode 100644
index e243265..0000000
--- a/doc/eudas/abb.9-4
+++ /dev/null
@@ -1,98 +0,0 @@
-init dgs;
-window (0.0, 0.0, 13.5, 6.0); viewport (0.0,0.0,13.5,6.0);
-(*scale (1.7,1.7, 0.0,0.0);*)
-(*clear pixels;*)
-
-kasten (2.0, 1.0, 1.4, 2.0);
-kasten (3.5, 1.0, 1.4, 2.0);
-kasten (6.5, 1.0, 1.4, 2.0);
-kasten (2.0, 3.4, 1.4, 2.0);
-kasten (5.0, 3.4, 1.4, 2.0);
-kasten (6.5, 3.4, 1.4, 2.0);
- strichel (3.5, 3.4, 3.5, 5.4);
- strichel (3.5, 5.4, 4.9, 5.4);
- strichel (4.9, 5.4, 4.9, 3.4);
- strichel (4.9, 3.4, 3.5, 3.4);
-move (1.9, 2.7); draw (1.5, 2.7);
-draw (1.5, 4.6); draw (1.9, 4.6);
-
-x alignment (center);
-font size (0.3); font expansion (1.4);
-
-move (2.7, 5.6); draw ("22-1");
-move (2.7, 4.9); draw ("X");
-move (2.7, 4.4); draw ("K");
-move (2.7, 2.5); draw ("K");
-move (2.7, 2.0); draw ("N1");
-move (2.7, 0.4); draw ("(114)");
-
-move (4.2, 5.6); draw ("22-2");
-move (4.2, 4.9); draw ("X");
-move (4.2, 4.4); draw ("K");
-move (4.2, 2.5); draw ("K");
-move (4.2, 2.0); draw ("N2");
-move (4.2, 0.4); draw ("(209)");
-
-move (5.7, 5.6); draw ("23-1");
-move (5.7, 4.9); draw ("Y");
-move (5.7, 4.4); draw ("L");
-
-move (7.2, 5.6); draw ("24-1");
-move (7.2, 4.9); draw ("Z");
-move (7.2, 4.4); draw ("M");
-move (7.2, 2.5); draw ("M");
-move (7.2, 0.4); draw ("(17)");
-
-font size (0.4); x alignment (normal);
-move (8.5, 2.0); draw ("Koppeldatei");
-move (8.5, 4.4); draw ("Hauptdatei");
-
-PROC strichel (REAL CONST x anf, y anf, x end, y end) :
-
- REAL VAR laenge := x end - x anf;
- INT VAR teile := int (abstand/ 0.4);
- REAL VAR senkrecht, verhaeltnis;
- IF laenge <> 0.0 THEN
- verhaeltnis := (y end - y anf) / laenge; senkrecht := 1.0
- ELSE
- verhaeltnis := 1.0; senkrecht := 0.0 ;
- laenge := y end - y anf
- END IF;
- laenge := laenge / (real (2 * teile + 1));
- INT VAR i;
- FOR i FROM 0 UPTO teile REP
- move (x anf + real (i + i) * laenge * senkrecht,
- y anf + verhaeltnis * real (i + i) * laenge);
- draw (x anf + real (i + i + 1) * laenge * senkrecht,
- y anf + verhaeltnis * real (i + i + 1) * laenge)
- END REP .
-
-abstand :
- sqrt ((y end - y anf) * (y end - y anf) +
- (x end - x anf) * (x end - x anf)) .
-
-END PROC strichel;
-
-PROC kasten (REAL CONST x anf, y anf, x l, y l) :
-
- move (x anf, y anf);
- draw (x anf, y anf + y l);
- draw (x anf + x l, y anf + y l);
- draw (x anf + x l, y anf);
- draw (x anf, y anf)
-
-END PROC kasten;
-
-
-LET myname = "abb.9-4";
-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 (9000)
-*)
-
diff --git a/doc/eudas/abb.9-5 b/doc/eudas/abb.9-5
deleted file mode 100644
index c00655c..0000000
--- a/doc/eudas/abb.9-5
+++ /dev/null
@@ -1,51 +0,0 @@
-init dgs;
-window (0.0, 0.0, 13.5, 7.0); viewport (0.0,0.0,13.5,7.0);
-(*scale (1.7,1.7, 0.0,0.0);*)
-(*clear pixels;*)
-
-kasten (1.5, 0.0, 3.5, 2.0);
-kasten (7.0, 0.0, 3.5, 2.0);
-kasten (4.0, 4.0, 4.0, 3.0);
- kasten (5.0, 5.5, 2.0, 1.0);
-
-move (3.25, 2.25); draw (4.75, 3.75);
- draw (4.5, 3.75); move (4.75, 3.75); draw (4.75, 3.5);
- move (3.25, 2.25); draw (3.5, 2.25);
- move (3.25, 2.25); draw (3.25, 2.5);
-move (8.75, 2.25); draw (7.25, 3.75);
- draw (7.5, 3.75); move (7.25, 3.75); draw (7.25, 3.5);
- move (8.75, 2.25); draw (8.5, 2.25);
- move (8.75, 2.25); draw (8.75, 2.5);
-
-x alignment (center);
-font size (0.4); font expansion (1.4);
-
-move (3.25, 0.2); draw ("Benutzer A");
-move (8.75, 0.2); draw ("Benutzer B");
-move (6.0, 4.3); draw ("Manager");
-font size (0.3);
-move (6.0, 5.6); draw ("Kunden");
-
-PROC kasten (REAL CONST x anf, y anf, x l, y l) :
-
- move (x anf, y anf);
- draw (x anf, y anf + y l);
- draw (x anf + x l, y anf + y l);
- draw (x anf + x l, y anf);
- draw (x anf, y anf)
-
-END PROC kasten;
-
-
-LET myname = "abb.9-5";
-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 (9000)
-*)
-
diff --git a/doc/eudas/bildergenerator b/doc/eudas/bildergenerator
deleted file mode 100644
index 8129476..0000000
--- a/doc/eudas/bildergenerator
+++ /dev/null
@@ -1,25 +0,0 @@
-PROC starten :
-
- command dialogue (FALSE);
- disable stop;
- fetch (name, /"DGS NEC");
- run (name);
- save (name + ".p", /"DGS NEC");
- end (myself)
-
-END PROC starten;
-
-TEXT VAR name;
-
-PROC gen (TEXT CONST t) :
-
- name := t;
- begin ("p", PROC starten, a);
- TASK VAR a;
- WHILE exists (a) REP pause (100) END REP
-
-END PROC gen;
-
-gen ("abb.4-2");
-gen ("abb.6-1");
-
diff --git a/doc/eudas/eudas.hdb.1 b/doc/eudas/eudas.hdb.1
deleted file mode 100644
index 40b5a84..0000000
--- a/doc/eudas/eudas.hdb.1
+++ /dev/null
@@ -1,267 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (3)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-#center##on("b")#"Was kann EUDAS ?
-
-
-
-In diesem Kapitel wollen wir Ihnen erklären, was EUDAS Ihnen ei­
-gentlich bringen soll. Sie arbeiten sicher nicht nur aus Spaß am
-Computer, sondern wollen ihn für bestimmte Aufgaben einsetzen. Ein
-Computer kann bestimmte Aufgaben nur dann bearbeiten, wenn er
-dafür programmiert worden ist.
- EUDAS ist nun ein Programm, das allgemein Aufgaben der Da­
-tenverwaltung lösen kann. Zunächst wollen wir Ihnen erläutern,
-wodurch dieses Anwendungsgebiet genau charakterisiert wird.
-
-
-1.1 Textverarbeitung und Datenverwaltung
-
-Es gibt zwei Einsatzbereiche des Computers, die von fast jedem An­
-wender benötigt werden, egal auf welchem Spezialgebiet er tätig ist:
-nämlich die #on("i")#Textverarbeitung#off("i")# und die #on("i")#Datenverwaltung#off("i")#. Durch die
-Unterscheidung dieser beiden Bereiche werden die charakteristi­
-schen Merkmale der Datenverwaltung abgegrenzt.
-
-#on("b")#Textverarbeitung#off("b")# Die Textverarbeitung befaßt sich damit,
-einen beliebigen Text auf einem Rechner zu erfassen und anschließend
-über einen Drucker wieder auszugeben. Der Sinn dieser Arbeit liegt
-darin, daß man einen einmal eingegebenen Text sehr einfach ändern
-kann. Außerdem kann der Computer einige unangenehme Aufgaben
-übernehmen, die beim Schreiben von Texten auftreten: die Auftei­
-lung auf Zeilen und Seiten, die Seitennumerierung und vieles mehr.
- Charakteristisch für die Textverarbeitung ist, daß der Einfluß
-des Computers sich auf kosmetische Details beschränkt. Die Spei­
-cherung und eventuelle Aufbereitung zum Drucken haben praktisch
-nichts mit dem Inhalt des Textes zu tun. Dies wäre für den Rechner
-auch sehr schwierig, da die im Text enthaltenen Informationen in
-menschlicher Sprache vorliegen, die für einen Rechner nicht ver­
-ständlich ist.
-
-#on("b")#Datenverwaltung#off("b")# Bei der Datenverwaltung werden ebenfalls
-textuelle Informationen gespeichert, diese liegen aber in einer aufberei­
-teten Form vor, die einen Teil des Inhalts für den Computer ver­
-ständlich macht. Bei der Datenverwaltung werden Objekte betrach­
-tet, die verschiedene Eigenschaften haben können. Ein solches
-Objekt kann z.B. eine Person sein. Als Eigenschaften werden mit
-dieser Person zusammenhängende Informationen betrachetet, die für
-die jeweilige Anwendung wichtig sind.
- Ein Beispiel für eine solche Betrachtungsweise ist der Arbeit­
-nehmer im Betrieb. Einige der typischerweise erfaßten Daten sind
-Name, Adresse, Telefon, Geburtsdatum und Geschlecht. Alle diese
-Daten sind Eigenschaften oder #on("i")#Attribute#off("i")#, die einem bestimmten
-Menschen mehr oder weniger fest zugeordnet sind.
- Die Betonung inhaltlicher Beziehungen erleichtert es dem Com­
-puter, die gespeicherten Daten in verschiedenen Variationen aus­
-zuwerten.
-
-#on("b")#Beispiel#off("b")# Um die Unterscheidung zwischen Textverarbeitung
-und
-Datenverwaltung deutlicher zu machen, werden im folgenden Bei­
-spiel die Informationen über eine Person in zwei unterschiedlichen
-Formen dargeboten, die für den Menschen die gleiche Aussagekraft
-haben:
-
- 1. Frau Magdalene Kant, geb. Hagedorn, wurde am 12. Januar
- 1946 geboren. Sie wohnt in Bonn in der Meckenheimer Allee
- 112. Seit 1977 arbeitet sie in unserer Firma. Sie ist tele­
- fonisch erreichbar unter der Nummer 0228/356782.
-
- 2. Name: Magdalene
- Vorname: Kant
- Geburtsname: Hagedorn
- Geburtsdatum: 12.01.46
- Geschlecht: weiblich
- Strasse: Meckenheimer Allee 112
- PLZ: 5200
- Wohnort: Bonn 1
- Vorwahl: 0228
- Telefon: 356782
- beschäftigt seit: 1977
-
-Die Form der Darstellung wie in der ersten Alternative eignet sich
-nur für den Menschen, da die gleiche Information auf viele ver­
-schiedene Weisen ausgedrückt werden könnte (z.B. unterschiedlicher
-Satzbau). Die zweite Alternative beschränkt sich auf die für die
-bestimmte Anwendung wesentlichen Zusammenhänge; der Computer
-kann die Aufteilung der Information in einzelne Attribute ausnut­
-zen.
- In dieser zweiten Form können Sie Daten mit EUDAS erfassen
-und auch auswerten. Die Attribute können Sie jeweils passend zu
-den erfaßten Daten selbst bestimmen.
- Für Daten in der ersten Form steht Ihnen die EUMEL-Textver­
-arbeitung zur Verfügung. EUDAS wurde so entwickelt, daß Sie auch
-Daten an die Textverarbeitung übergeben können.
- Es ist nämlich möglich, einen freien Text aus der Attributdar­
-stellung automatisch zu erzeugen, indem Sie dem Computer den
-Satzbau mit entsprechenden Platzhaltern vorgeben. Der Rechner
-setzt die einzelnen Attribute dann an die angegebenen Stellen.
-Diese Funktion ist ein Kernstück von EUDAS und wird in Abschnitt
-1.3 näher erläutert.
-
-
-1.2 EUDAS als Karteikasten
-
-Wie Sie vielleicht schon bemerkt haben, ähnelt die zweite Form der
-Darstellung einer Karteikarte, auf der Platz für bestimmte Einträge
-freigehalten wird. Anhand dieses Modells können Sie sich in vielen
-Fällen die Arbeitsweise von EUDAS veranschaulichen. Sie sollten die
-Analogie allerdings nicht zu weit treiben: EUDAS schaufelt ja nicht
-wirklich mit Karteikarten herum. Manche Funktionen sind eben
-computerspezifisch und ließen sich mit Karteikarten gar nicht
-durchführen.
- Mit EUDAS können Sie die möglichen Einträge auf den Karteikar­
-ten (also die Attribute) völlig frei bestimmen; die einzige Beschrän­
-kung besteht darin, daß Sie in einem Karteikasten nur Karten mit
-völlig gleichem Aufbau verwenden können. Wenn Sie eine neue Kar­
-teikarte entwerfen wollen, brauchen Sie nur Namen für die einzel­
-nen Einträge anzugeben. EUDAS zeigt Ihnen dann quasi eine Karte
-am Bildschirm, in der diese Einträge aufgeführt sind.
- Sie können nun am Bildschirm Daten auf diese Karteikarten
-schreiben. Dabei dürfen die Einträge fast beliebig lang sein; wenn
-der Platz auf dem Bildschirm nicht reicht, können Sie sich Ihre
-überdimensionale Karteikarte in Ausschnitten ansehen.
- Die einmal eingegebenen Daten bleiben nun so lange gespei­
-chert, wie Sie wollen (bzw. bis Ihr Rechner zusammenfällt). Haben
-Sie beim Eintragen Fehler gemacht, können Sie diese jederzeit kor­
-rigieren oder später noch weitere Informationen ergänzen.
-
-#free (7.5)#
-
-#center#Abb. 1-1 EUDAS als Karteikasten
-
-
-#on("b")#Anwendungen#off("b")# Mit den gespeicherten Daten können Sie nun
-ver­
-schiedene Dinge anstellen (bzw. vom Rechner anstellen lassen). Das
-Einfachste ist natürlich das, was Sie mit einer Kartei auch machen
-würden, sich nämlich einzelne Karteikarten anzuschauen.
- Um eine bestimmte Karteikarte herauszufinden, geben Sie
-EUDAS einfach den Inhalt vor, nach dem gesucht werden soll. Hier
-zeigt sich bereits der erste Vorteil eines Computers: Die Suche in
-der EUDAS-Kartei ist viel schneller, als Sie es von Hand könnten.
-Außerdem kann der Rechner keine Karte zufällig übersehen.
- EUDAS zeigt sich auch dann überlegen, wenn Sie einen ganz
-bestimmten Teil der Kartei durchforsten müssen. Eine Bücherei muß
-z.B. regelmäßig alle Bücher heraussuchen, deren Leihfrist über­
-schritten ist. Der Computer durchsucht in solchen Fällen ermü­
-dungsfrei auch große Datenmengen.
- Wenn Sie die Karteikarten in einer bestimmten Reihenfolge
-haben wollen, kann EUDAS auch das Sortieren übernehmen. Weitere
-automatische Vorgänge betreffen z.B. das Rauswerfen überflüssiger
-oder veralteter Karten. Die Einträge können auch nach einer be­
-stimmten Vorschrift alle geändert werden. Solche Aufgaben treten
-z.B. in der Schule auf, wo die Schüler jedes Jahr versetzt werden
-müssen (natürlich bis auf Ausnahmen).
- Auch Beziehungen zwischen verschiedenen Karteien kann
-EUDAS herstellen. Dies kann man noch einmal an dem Beispiel der
-Bücherei illustrieren. Wenn ein Buch gefunden wurde, dessen Leih­
-frist überschritten ist, muß der zugehörige Ausleiher gefunden und
-angeschrieben werden. Das Heraussuchen beider Karten kann EUDAS
-in einem Arbeitsgang durchführen.
-
-
-1.3 Drucken
-
-Eine besondere Stärke von EUDAS ist die Möglichkeit, die gespei­
-cherten Daten in schriftlicher Form auszuwerten. Dadurch, daß die
-Daten in einer Form gespeichert sind, die den Inhalt widerspiegelt,
-können die gleichen Daten in vielen verschiedenen Formen auf
-Papier ausgegeben werden.
-
-
-
-
- Karl Eudas
- An Poltersdorf
- XXXXXXXXXXX
- XXXXXXXXXXX
-
- XXXX XXXXXXXXXXXX
-
- Lieber XXXXXXX !
-
- Dies ist ein Beispiel für ein
- Druckmuster.
-
- Viele Grüße
-
-
-
-#center#Abb. 1-2 Muster für die Druckausgabe
-
-
-Zu diesem Zweck geben Sie EUDAS ein Muster des gewünschten Aus­
-drucks vor. Der Rechner setzt dann an entsprechend markierten
-Leerstellen die gespeicherten Informationen ein und druckt das
-Ergebnis aus. Auf diese Weise ersparen Sie sich die umfangreiche
-Schreibarbeit, die anfällt, wenn die Informationen auf den Kartei­
-karten in anderer Form benötigt werden.
- Natürlich müssen Sie zum Entwerfen des Formulars kein ge­
-wiefter Programmierer sein. Wenn Sie einen Rundbrief verschicken
-wollen, schreiben Sie den Brief, als wollten Sie Ihn nur einmal
-schicken. Lediglich im Adressfeld müssen Sie Platzhalter an den
-Stellen vorsehen, an denen später die wirklichen Adressen stehen
-sollen.
-
-#on("b")#Verwendungsmöglichkeiten#off("b")# Die Möglichkeiten für solche
-Formulare
-sind unbegrenzt. Beispiele sind Briefe, Adreßaufkleber, Überwei­
-sungsaufträge und sortierte Listen. Mit den Inhalten einer Kartei
-können Sie beliebig viele verschiedene Ausgaben erzeugen. Bei dem
-obigen Beispiel der Leihbücherei könnten Sie EUDAS dazu einsetzen,
-nicht nur die säumigen Ausleiher herauszufinden, sondern die Mah­
-nung gleich fertig für einen Fensterbriefumschlag herzustellen. Für
-den Bediener bliebe die einzige Tätigkeit, diesen Vorgang anzuwer­
-fen.
- Wie weiter oben schon erwähnt, können Sie diese Ausgaben von
-EUDAS auch zur Textverarbeitung übernehmen. So können Sie zum
-Beispiel die Literaturliste für ein Buch mit EUDAS führen und Aus­
-züge später jeweils an die passenden Stellen einfügen.
-
-#on("b")#Berechnungen#off("b")# Die Druckfunktion von EUDAS kann jedoch nicht
-nur
-zum Ausfüllen von Formularen verwendet werden. Wenn Sie Berech­
-nungen anstellen oder Auswertungen vornehmen wollen, können Sie
-im Druckmuster auch Anweisungen der Sprache ELAN verwenden.
-Damit haben Sie eine komplette Programmiersprache für Ihre Muster
-zur Verfügung.
- Ehe Sie einen Schreck bekommen: Selbst für komplizierte Muster
-brauchen Sie nur einen ganz kleinen Teil von ELAN zu beherrschen,
-da die meiste Arbeit immer von EUDAS übernommen wird (Sie müssen
-also nicht etwa selber ein ganzes Programm schreiben).
- Anwendungen für diese Möglichkeit gibt es genug. Angefangen
-von einfachen Zählungen bis hin zu statistischen Auswertungen,
-von einfachen Summen bis zum kompletten Rechnungsschreiben.
-Immer nimmt Ihnen EUDAS alles das ab, was automatisch ablaufen
-kann. Sie versorgen EUDAS nur noch mit den passenden Formeln für
-Ihre Anwendung.
-
-
-1.4 Grenzen
-
-Natürlich können Sie nicht alle Probleme mit EUDAS gleichermaßen
-gut lösen. EUDAS verwendet ein einfaches Modell (Karteikasten) und
-versucht, mit möglichst wenig Informationen von Ihrer Seite auszu­
-kommen. Kompliziertere Sachverhalte verlangen auch kompliziertere
-Strukturen, die Sie dann selbst entwerfen müssen. Eine einfache
-Lösung mit EUDAS kann in solchen Fällen zu langsam oder zu um­
-ständlich sein.
- Wenn Sie jedoch die wenigen Strukturprinzipien von EUDAS
-verstanden haben, werden Sie sehr schnell viele Probleme mit
-EUDAS lösen können. Zuerst erfassen Sie einfach alle Daten, die Sie
-brauchen und überlegen sich erst dann, in welcher Form Sie diese
-Daten haben wollen. Auch nachträglich können Sie jederzeit noch
-neue Daten und Formulare hinzufügen, so daß Sie mit der Zeit
-EUDAS gewinnbringend für viele Routineaufgaben benutzen werden.
-
diff --git a/doc/eudas/eudas.hdb.10 b/doc/eudas/eudas.hdb.10
deleted file mode 100644
index 442f575..0000000
--- a/doc/eudas/eudas.hdb.10
+++ /dev/null
@@ -1,510 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (97)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-10 Datenabfrage am Bildschirm
-
-
-
-10.1 Feldauswahl
-
-Da die Anzahl der möglichen Felder bei EUDAS-Dateien viel größer
-ist als die Anzahl der zur Verfügung stehenden Zeilen auf dem
-Bildschirm (255 gegenüber 22), muß es eine Möglichkeit geben, auch
-die übrigen Felder anzusehen.
-
-#on("b")#Rollen#off("b")# Dazu kann man den Bildschirmausschnitt in
-vertikaler
-Richtung #on("i")#rollen#off("i")#. Sie müssen sich die Bildschirmanzeige als einen
-Ausschnitt des wirklichen Satzes vorstellen. Um weitere Inhalte des
-Satzes zu sehen, verschieben Sie den Ausschnitt einfach.
- Dazu dienen die beiden Tastenkombinationen ESC OBEN und ESC
-UNTEN. Diese Kombinationen wirken nur im Menü "Einzelsatz". An
-der Bildschirmanzeige ändert sich natürlich nur dann etwas, wenn
-es noch weitere Felder zum Anzeigen gibt.
- Ob dies der Fall ist, können Sie an zwei Indikatoren ablesen.
-Zum einen wird hinter dem letzten Feld eine markierte Abschluß­
-zeile ausgegeben. Ist diese nicht sichtbar, gibt es noch Felder, die
-Sie mit ESC UNTEN hochholen können. Zum anderen steht die Num­
-mer der ersten Zeile in der Überschrift. Ist diese Nummer größer als
-1, können Sie mit ESC OBEN noch Felder sichtbar machen.
- Das Rollen ist oft auch dann notwendig, wenn sich ein Feld
-über mehrere Zeilen erstreckt. In diesem Fall kann es passieren,
-daß die erste Zeile des Feldes nicht mehr sichtbar ist, da sie ober­
-halb des Anzeigebereichs liegen würde.
-
-#on("b")#Feldauswahl#off("b")# Eine weitere Möglichkeit bei zu vielen Feldern
-be­
-steht darin, nur die interessanten Felder zur Anzeige auszuwählen.
-Dies geschieht mit der Funktion
-#free (0.2)#
-
- F Feldauswahl
-
-#free (0.2)#
-Ihnen werden alle Felder zur Auswahl angeboten. Kreuzen Sie die
-Felder an, die Sie sehen wollen und denken Sie daran, daß die Rei­
-henfolge des Ankreuzens beachtet wird. Anschließend werden Ihnen
-nur die ausgewählten Felder angezeigt. Falls Sie kein Feld ankreu­
-zen, bleibt die alte Feldauswahl bestehen.
- Wollen Sie wieder alle Felder sehen, müssen Sie diese nicht alle
-einzeln ankreuzen. Mit HOP 'x' in der Auswahl werden alle Felder
-angekreuzt (die noch nicht angekreuzt waren). Diese Tastenkombi­
-nation können Sie allgemein bei einer Auswahl verwenden. Sie
-können die Kreuzchen mit 'o' auch wieder löschen, um zum Beispiel
-"alle außer einem" auszuwählen.
- Beachten Sie, daß die Auswahl der anzuzeigenden Felder nichts
-mit der eigentlichen Dateistruktur zu tun hat, sondern nur für die
-Anzeige gilt. Den Verarbeitungsfunktionen (zum Beispiel Drucken)
-stehen natürlich nach wie vor alle Felder zur Verfügung.
- Unvermutete Effekte können dann entstehen, wenn Sie bei
-einer eingestellten Feldauswahl ändern oder einfügen. Die nicht
-ausgewählten Felder werden beim Ändern natürlich nicht geändert
-und beim Einfügen einfach leer gelassen.
-
-
-10.2 Satzeditor
-
-An dieser Stelle sollen noch einige weitere Funktionen des Satz­
-editors vorgestellt werden, die Sie noch nicht kennengelernt haben.
-
-#on("b")#Rollen im Satzeditor#off("b")# Sie können auch rollen, wenn Sie sich
-im
-Satzeditor befinden (also beim Suchen, Einfügen und Ändern). Den­
-ken Sie daran, daß Sie die Einzelsatzanzeige immer mit ESC OBEN
-und ESC UNTEN rollen, während sonst (Editor, Auswahl von Datei­
-namen) immer mit HOP OBEN und HOP UNTEN gerollt wird.
- Diese Diskrepanz hat technische Gründe und läßt sich leider
-nicht vermeiden. Wie Sie sich vielleicht erinnern, führt das Blättern
-mit HOP OBEN und HOP UNTEN im Satzeditor dazu, daß die Korre­
-spondenz zwischen Feldnamen und Feldinhalt verlorengeht. Daher
-muß an dieser Stelle mit ESC statt HOP gearbeitet werden.
-
-#on("b")#Ähnliche Sätze#off("b")# Wenn Sie mehrere ähnliche Sätze eintragen
-müssen,
-bietet Ihnen EUDAS eine Erleichterung an. Sie können nämlich beim
-Einfügen die Daten eines anderen Satzes übernehmen.
- Dazu müssen Sie beim Ändern oder Einfügen des anderen Satzes
-ESC 'p' drücken. Der Inhalt des Satzes wird dann in einen Zwischen­
-speicher gebracht. Beachten Sie, daß im Gegensatz zum EUMEL-
-Editor kein Text markiert sein muß, sondern immer der ganze Satz
-transportiert wird.
- Beim Einfügen eines neuen Satzes können Sie diesen Satz dann
-mit ESC 'g' in den Satzeditor übernehmen. Alle vorherigen Inhalte
-werden überschrieben. Anschließend können Sie die Daten nach
-Wunsch abändern.
- Der Inhalt des Zwischenspeichers kann beliebig oft auf diese
-Weise kopiert werden. Der Inhalt des Zwischenspeichers wird bei
-Ändern der Feldauswahl oder beim Öffnen einer neuen Datei ge­
-löscht.
-
-#on("b")#Tagesdatum#off("b")# Im Satzeditor können Sie mit ESC 'D' das
-aktuelle
-Tagesdatum abfragen. Es wird an der aktuellen Cursorposition ein­
-getragen, als ob Sie es selbst getippt hätten.
- Auf diese Weise können Sie Sätze einfach mit Datum versehen
-oder nach Sätzen suchen, die mit dem Tagesdatum in Beziehung
-stehen (zum Beispiel 'Fälligkeit = Heute').
-
-
-10.3 Suchmuster
-
-Die bisher genannten Möglichkeiten des Suchmusters sind noch
-etwas beschränkt. Eine Bedingung in unserer Adressendatei, die wir
-im Suchmuster noch nicht ausdrücken können, wäre zum Beispiel:
-Suche alle Adressen der Personen, die Wegner oder Simmern heißen.
- Diese Alternative, Wegner ODER Simmern, kann nun in EUDAS
-durch ein Komma ausgedrückt werden:
-
-
- Name Wegner,Simmern
- Vorname
-
-
-Beachten Sie, daß hinter dem Komma kein Leerzeichen folgen darf,
-wie Sie es vielleicht gewohnt sind, in einem Text zu schreiben.
-EUDAS kann nämlich nicht unterscheiden, ob Sie das Leerzeichen
-nur aus optischen Gründen geschrieben haben, oder ob Sie danach
-suchen wollen.
-
-#on("b")#Lokale Alternative#off("b")# Die eben beschriebene
-Konstruktionsmethode
-heißt #on("i")#lokale Alternative#off("i")#. Lokal deshalb, weil Sie nur innerhalb
-eines Feldes gilt. Was das bedeuten soll, sehen Sie, wenn Sie die
-Bedingung mit einer weiteren Bedingung für ein anderes Feld kom­
-binieren:
-
-
- Name Wegner,Simmern
- Vorname
- Strasse
- PLZ 5*
- Ort
-
-
-Dieses Muster hat die Bedeutung: Wähle alle Personen namens Weg­
-ner oder Simmern aus, die im PLZ-Bereich 5 wohnen. Die beiden
-Bedingungen für den Namen sind mit der Bedingung für die PLZ mit
-UND verknüpft - das heißt, eine der beiden ersten Bedingungen muß
-zutreffen #on("i")#und#off("i")# die untere Bedingung. Dieses UND ist global, da es
-Bedingungen für verschiedene Felder miteinander verbindet.
- Natürlich können Sie für mehrere Felder gleichzeitig lokale
-Alternativen angeben. Eine anderes Suchmuster könnte zum Beispiel
-so aussehen:
-
-
- Name Wegner,Simmern
- Vorname
- Strasse
- PLZ 5,5000
- Ort
-
-
-In diesem Fall muß eine ausgewählte Person Wegner oder Simmern
-heißen und in Köln wohnen.
-
-#on("b")#Globale Alternative#off("b")# Es wird nun aber für bestimmte
-Situationen
-noch eine andere Art von Alternativen benötigt. Als Beispiel soll
-ein Suchmuster dienen, das folgende Bedingung ausdrückt. Gesucht
-ist eine weibliche Person mit Namen Simmern oder eine männliche
-Person mit Namen Wegner.
- Dieser Fall läßt sich mit unseren bisherigen Mitteln nicht lö­
-sen. Es wird nämlich eine Alternative zwischen zwei zusammen­
-gesetzten Bedingungen gefordert. Als Ausweg bietet sich an, prak­
-tisch mehrere Suchmuster anzugeben, die dann mit ODER verknüpft
-werden.
- Um diese verschiedenen Suchmuster optisch am Bildschirm zu
-kennzeichnen, wird ein Semikolon als sogenannte #on("i")#globale Alternati­
-ve#off("i")# verwendet. Das Semikolon trennt das Suchmuster quasi in ver­
-schiedene Spalten auf, die jeweils eine eigene Bedingung enthalten
-können. Unser gewünschtes Suchmuster würde also so aussehen:
-
-
- Name Wegner;Simmern
- Vorname
- Strasse
- PLZ
- Ort
- m/w m;w
-
-
-Ebenso wie bei lokalen Alternativen darf hinter dem Semikolon kein
-Leerzeichen folgen. Daher kann das zweite Semikolon auch nicht
-direkt unter dem ersten stehen. Die Spalten werden also einfach nur
-durchgezählt: nach dem ersten Semikolon beginnt die zweite Spal­
-te, nach dem zweiten Semikolon die dritte usw.
- In Zeilen, in denen keine Bedingungen stehen, kann auch das
-Semikolon weggelassen werden. Es kann ebenfalls weggelassen wer­
-den, wenn die weiteren Spalten leer sind. Steht ein Semikolon direkt
-am Anfang der Zeile, so ist die erste Spalte leer.
- Um dies zu illustrieren, sei hier noch ein weiteres Beispiel
-angegeben:
-
-
- Name Wegner
- Vorname ;Anna-Maria
- Strasse
-
-
-In diesem Fall muß eine ausgewählte Person mit Nachnamen Wegner
-oder mit Vornamen Anna-Maria heißen.
-
-#on("b")#Stern#off("b")# Bis jetzt haben Sie hauptsächlich Bedingungen
-betrachtet,
-die exakt zutreffen mußten. Sie wissen aber bereits, daß man auch
-Bedingungen angeben kann, bei denen nur ein Teil des zu suchen­
-den Feldes bekannt ist, nämlich indem der unbekannte Teil mit
-einem Stern markiert wird.
- In Kapitel 5 haben Sie gelernt, daß der Stern nur am Anfang
-und Ende des Musters stehen kann. Dies trifft nicht ganz zu, denn
-Sie können den Stern auch inmitten eines Textes anwenden. So
-trifft die Bedingung 'Si*n' auf alle Namen zu, die mit 'Si' beginnen
-und mit 'n' enden.
- Beachten Sie hier das "und" in der Formulierung der Bedingung.
-Das Muster ist eigentlich eine Schreibweise für zwei Bedingungen
-für ein Feld, die mit UND verknüpft sind.
- Sie können auch noch weitere Sterne in das Muster aufnehmen.
-Dabei gibt es jedoch eine Kleinigkeit zu beachten. Das Muster
-'*x*y*' bedeutet: das Feld muß ein 'x' und ein 'y' enthalten. Über
-die Reihenfolge der beiden Zeichen ist jedoch in dieser Bedingung
-nichts gesagt, obwohl es vielleicht vom Aussehen suggeriert wird.
- Denken Sie daran, keine zwei Sterne nebeneinander zu schrei­
-ben - eine solche Bedingung hätte keinen Sinn.
- Es gibt eine weitere spezielle Bedingung, die mit Hilfe des
-Sterns formuliert wird. Ein einzelner Stern bedeutet nämlich: Das
-Feld ist nicht leer. Beachten Sie den kleinen Unterschied: ein Stern
-in einem Muster kann für einen beliebigen Text stehen, der auch
-leer sein kann. Ein einzelner Stern jedoch steht für einen beliebigen
-Text, der nicht leer ist.
- Damit Sie ein Gefühl für die Verwendung des Sterns bekommen,
-hier noch ein paar Beispiele:
-
-
-Mei*r*
-
- Der Name beginnt mit 'Mei' und enthält ein 'r'. Trifft zu auf
- 'Meier', 'Meiring', aber nicht auf 'Meiling' oder 'Merzei'.
-
-
-Donau*dampf*schiff*schaft
-
- Feld beginnt mit 'Donau', endet mit 'schaft' und enthält
- 'dampf' und 'schiff'. Trifft zu auf 'Donaudampfschiffahrtsge­
- sellschaft', aber auch auf 'Donaugesellschiffdampffahrtschaft'.
-
-
-Roller*erfahren
-
- Dieses Muster muß man ganz genau interpretieren. Es bedeutet:
- der Inhalt beginnt mit 'Roller' und endet mit 'erfahren'. Das
- Muster trifft nicht nur auf 'Roller erfahren' sondern auch auf
- 'Rollerfahren' zu. Der Stern verliert also in diesem Fall seine
- symbolische Bedeutung als Platzhalter für einen bestimmten
- Text.
-
-#on("b")#Vergleiche#off("b")# Es gibt in EUDAS noch weitere Muster, die
-einen gan­
-zen Bereich von Werten auswählen. Diese betreffen Bedingungen der
-Art "größer als" und "kleiner als". Solche Vergleichsbeziehungen
-werden durch zwei Punkte dargestellt.
- So wählt das Muster 'K..' alle Felder aus, die in der alphabe­
-tischen Reihenfolge hinter 'K' liegen, wobei das 'K' selbst mit ein­
-geschlossen ist. Umgekehrt trifft '..K' auf alle Felder zu, die davor
-liegen.
- Sie können beide Bedingungen auch kombinieren. So trifft die
-Bedingung 'A..K' auf alle Felder zu, die im Lexikon unter 'A' bis
-'J' erscheinen (die Felder mit 'K' sind hier ausgeschlossen). Beach­
-ten Sie, daß die direkte Kombination wieder die Verknüpfung zweier
-einzelner Bedingungen mit UND darstellt.
-
-#on("b")#Negation#off("b")# Um den Bereich möglicher Suchmuster noch zu
-erweitern,
-können Sie einzelne Bedingungen auch noch verneinen. Dies ge­
-schieht durch Voranstellen zweier Minuszeichen. So bedeutet das
-Muster '--Meier', daß alle Personen ausgewählt werden, die nicht
-Meier heißen.
- Die Verneinung bezieht sich immer auf das unmittelbar folgende
-Muster (bis zum nächsten Komma, Semikolon oder dem Zeilenende)
-und nicht etwa auf eine ganze Zeile. Sie umfaßt jedoch die UND-
-Verknüpfung der kombinierten Bedingungen. So sind zum Beispiel die
-Muster '--E..M', '--E..,--..M' und '..E,M..' völlig gleichbedeu­
-tend.
-
-#on("b")#Feldvergleich#off("b")# Als letztes haben Sie im Suchmuster auch
-noch die
-Möglichkeit, ein Feld mit anderen Feldern des gleichen Satzes zu
-vergleichen. Bisher hatten Sie ein Feld ja immer nur mit konstanten
-Texten verglichen.
- Um dies zu erreichen, geben Sie statt eines Vergleichstextes
-den Feldnamen des Feldes an, mit dem Sie vergleichen wollen. Zur
-Kennzeichnung müssen Sie dem Namen noch ein '&' voranstellen.
-Diese Konstruktion funktioniert mit allen bisher besprochenen Ver­
-gleichen. Beispielsweise trifft
-
-
- Feld1 ..&Feld2
-
-
-auf alle Sätze zu, in denen der Inhalt von Feld1 kleiner ist als der
-Inhalt von Feld2.
- Im Gegensatz zum Druckmuster dürfen in den Feldnamen zwar
-Leerzeichen enthalten sein, nicht jedoch
-#free (0.2)#
-
- .. * , ;
-
-#free (0.2)#
-da diese Zeichen als reservierte Zeichen gelten und jeweils als
-Begrenzer wirken. Die gleiche Beschränkung gilt dementsprechend
-auch für konstante Vergleichstexte.
- Beachten Sie, daß hinter dem '&' bis zum nächsten Begrenzer­
-zeichen ein gültiger (vorhandener) Feldname stehen muß. Anderen­
-falls wird der Text als konstantes Muster betrachtet.
- Wie schon oben gesagt, kann der Feldvergleich mit allen Ver­
-gleichen verwendet werden. Auch gemischte Konstruktionen sind
-zulässig, beispielsweise
-
-
- Feld1 A..&Feld3,*&Feld9*
-
-
-Diese Bedingung trifft zu, wenn Feld1 größer oder gleich 'A', aber
-kleiner als der Inhalt von Feld3 ist, oder wenn der Inhalt von Feld9
-darin vorkommt.
-
-#on("b")#Optimierung#off("b")# Hier noch eine Bemerkung zur Geschwindigkeit
-des
-Suchens. Je mehr Bedingungen Sie angeben, desto mehr Vergleiche
-müssen beim Suchen angestellt werden und desto länger dauert es.
- Das erste Feld einer Datei erfährt jedoch eine Sonderbehand­
-lung. Wenn Sie für dieses Feld ein Muster für Übereinstimmung
-angeben, kann der Suchvorgang enorm beschleunigt werden, da das
-erste Feld einer Datei intern speziell verwaltet wird. Damit das
-Verfahren funktioniert, dürfen keine globalen Alternativen oder
-lokale Alternativen für das erste Feld verwendet werden.
- Diese Suchoptimierung sollten Sie bereits beim Einrichten einer
-Datei berücksichtigen. Geben Sie als erstes Feld das an, nach dem
-am ehesten direkt gesucht wird. Typisches Beispiel hierfür ist der
-Nachname, aber auch Artikelnummern sind sinnvoll. Wichtig ist, daß
-das erste Feld nicht zu oft identisch ist und auch mehr als zwei
-Buchstaben enthält, damit die Optimierung ihre volle Wirksamkeit
-entfaltet.
- Denken Sie daran, daß durch die Feldauswahl ein beliebiges
-Feld als erstes auf dem Bildschirm stehen kann. Für die Optimierung
-wird jedoch immer das Feld betrachtet, das beim Einrichten der
-Datei als erstes angegeben wurde.
-
-
-10.4 Markieren
-
-Manchmal entsteht die Situation, daß Sie eine Reihe von Sätzen
-bearbeiten wollen, aber keine Suchbedingung formulieren können,
-die auf alle diese Sätze zutrifft. In diesem Fall bietet EUDAS Ihnen
-die Möglichkeit, solche Sätze von Hand zu markieren.
- Ein Beispiel: Sie haben eine ganze Reihe von Sätzen geändert
-und wollen diese Änderungen als Protokoll ausdrucken. Es läßt sich
-aber nicht mit Hilfe eines Suchmusters feststellen, welche Sätze
-geändert wurden.
- Als Abhilfe wählen Sie bei jedem geänderten Satz die Funktion
-#free (0.2)#
-
- M Markierung
-
-#free (0.2)#
-Dadurch wird der bisher unmarkierte Satz markiert. Dies wird
-kenntlich an der Anzeige 'MARK+' in der Überschrift. Sobald Sie den
-ersten Satz markiert haben, erscheint bei jedem Satz, ob er markiert
-ist oder nicht.
- Haben Sie einen Satz irrtümlich markiert, können Sie die Mar­
-kierung mit der gleichen Funktion auch wieder entfernen.
- Alle Funktionen, die bisher die durch das Suchmuster ausge­
-wählten Sätze bearbeitet haben, arbeiten nun nur noch auf den
-markierten Sätzen. Somit können Sie anschließend mit der Druck­
-funktion die gewünschten Sätze drucken. Die Markierung hat also
-Priorität über die eingestellte Suchbedingung. Lediglich die Bewe­
-gung am Bildschirm beachtet immer nur die Suchbedingung.
- Sie können alle Markierungen der Datei mit der Funktion
-#free (0.2)#
-
- Alle Markier.
- L Löschen
-
-#free (0.2)#
-im Menü 'Gesamtdatei' wieder entfernen. Anschließend wird beim
-Drucken wieder das Suchmuster beachtet. Die Markierungen ver­
-schwinden auch, wenn eine neue Datei geöffnet wird. Die Markie­
-rungen sind also nicht permanent in einer Datei gespeichert, son­
-dern existieren nur, während die Datei geöffnet ist.
- Bei Koppeldateien können Sie aus technischen Gründen immer
-nur alle Kombinationen auf einmal markieren. Die Markierung einer
-Kombination markiert auch alle anderen Kombinationen des gleichen
-Satzes.
-
-
-10.5 Übersicht
-
-Wie Sie bisher gesehen haben, zeigte EUDAS immer einen einzigen
-Satz in dem Standardformular auf dem Bildschirm. Es gibt jedoch
-auch eine Möglichkeit, mehrere Sätze gleichzeitig zu betrachten.
-Dazu dient die Funktion
-#free (0.2)#
-
- U Übersicht
-
-#free (0.2)#
-im Menü 'Gesamtdatei'.
- In der Übersicht nimmt jeder Satz nur eine Bildschirmzeile in
-Anspruch. Die Feldinhalte werden, durch Komma getrennt, in der
-Zeile nacheinander aufgezählt, bis kein Platz mehr vorhanden ist.
-Am Anfang jeder Zeile steht die Satznummer und ob der jeweilige
-Satz markiert ist (entweder '+' für markiert oder '-'). In der Über­
-schrift stehen in gleicher Weise die Feldnamen angegeben.
- Der aktuelle Satz wird innerhalb der Übersichtsanzeige immer
-durch eine inverse Satznummer dargestellt. Es werden nur die durch
-das eingestellte Suchmuster ausgewählten Sätze gezeigt. Trifft die
-Selektionsbedingung nicht auf den aktuellen Satz zu, wird an seiner
-Stelle zur Information ein leerer Platzhalter angezeigt. Hinter dem
-letzten Satz wird auch das Dateiende als besonders gekennzeichne­
-ter Satz angegeben.
-
-___________________________________________________________________________________________
-
- ÜBERSICHT: Blättern: HOP OBEN, HOP UNTEN Ende: ESC q Hilfe: ESC ?
- Satznr. Name, Vorname, PLZ, Ort, Strasse, m/w,
- 1 - Wegner, Herbert, Krämergasse 12, 5000, Köln, m,
- 2 - Sandmann, Helga, Willicher Weg 109, 5300, Bonn 1, w,
- 3 - Katani, Albert, Lindenstr. 3, 5210, Troisdorf, m,
- 4 - Ulmen, Peter, Mozartstraße 17, 5, Köln 60, m,
- 5 - Regmann, Karin, Grengelweg 44, 5000, Köln 90, w,
- 6 - Arken, Hubert, Talweg 12, 5200, Siegburg, m,
- 7 - Simmern, Anna-Maria, Platanenweg 67, 5, Köln 3, w,
- 8 - Kaufmann-Drescher, Angelika, Hauptstr. 123, 53, Bonn 2, w,
- 9 - Fuhrmann, Harald, Glockengasse 44, 5000, Köln 1, m,
- 10 - Seefeld, Friedrich, Kabelgasse, 5000, Köln-Ehrenfeld, m,
- 11 - << DATEIENDE >>
-
-___________________________________________________________________________________________
-
-
-#center#Abb. 10-1 Übersicht
-
-
-#on("b")#Feldauswahl#off("b")# Wenn Sie die Funktion aufrufen, haben Sie
-zuerst
-noch die Möglichkeit, nur einen Teil der vorhandenen Felder zur
-Anzeige auszuwählen. Dazu bejahen Sie die Frage und können dann
-die Felder in der gewünschten Reihenfolge ankreuzen. Analog zur
-Funktion 'Feldauswahl' wird auch hier die zuletzt für die Übersicht
-verwendete Feldauswahl beibehalten, wenn Sie die Frage verneinen
-oder kein Feld ankreuzen. Die Feldauswahl für die Übersicht ist
-unabhängig von der Feldauswahl für die normale Satzanzeige.
- Von der Möglichkeit zur Feldauswahl sollten Sie Gebrauch ma­
-chen, denn durch die komprimierte Darstellung der Übersicht kann
-meistens nur ein kleiner Teil eines Satzes dargestellt werden.
-
-#on("b")#Rollen#off("b")# Nachdem die Sätze auf dem Bildschirm erschienen
-sind,
-haben Sie wieder die Möglichkeit, die Darstellung zu rollen. Dazu
-können Sie die Pfeiltasten OBEN und UNTEN sowie die Tastenkombi­
-nationen HOP OBEN und HOP UNTEN verwenden. Diese Funktionen
-verschieben den invers dargestellten aktuellen Satz und funktio­
-nieren wie im Editor. Beachten Sie auch hier wieder den Unterschied
-zum Rollen in der Einzelsatzanzeige.
- Das Rollen wirkt wie ein Positionieren mit 'Weiter' oder 'Zu­
-rück'. Nach der Rückkehr aus der Übersicht können Sie sich also an
-einer ganz anderen Stelle in der Datei befinden.
- Es stehen Ihnen zum Rollen auch noch die folgenden Tasten­
-kombinationen zur Verfügung (wie im Editor): HOP RETURN macht
-den aktuellen Satz zum ersten auf der Seite. ESC '1' zeigt den er­
-sten Satz der Datei, ESC '9' analog dazu den letzten.
- Wenn Sie eine komplizierte Suchbedingung eingestellt haben
-und EUDAS viele Sätze erfolglos überprüfen muß, dauert der Bild­
-aufbau natürlich entsprechend lange. EUDAS gibt zu Ihrer Informa­
-tion aber immer die Nummer des Satzes aus, der gerade überprüft
-wird. Außerdem werden Tastenbefehle nach jeder Zeile angenommen,
-so daß Sie schon weiterblättern können, wenn Sie den ersten Satz
-gesehen haben.
-
-#on("b")#Markieren#off("b")# In der Übersicht können Sie auch Sätze
-markieren. Mit
-'+' markieren Sie den aktuellen Satz; mit '-' entfernen Sie die Mar­
-kierung wieder. So können Sie einfach die Sätze ankreuzen, die Sie
-später bearbeiten wollen.
-
-#on("b")#Verlassen#off("b")# Mit ESC 'q' können Sie die Übersicht wieder
-verlassen,
-auch mitten beim Aufbau des Bildes. Haben Sie erkannt, daß EUDAS
-sinnlos mit einer falschen Suchbedingung sucht, können Sie die
-Funktion auch mit ESC 'h' (Halt) abbrechen und gegebenenfalls ein
-neues Suchmuster einstellen.
-
diff --git a/doc/eudas/eudas.hdb.11 b/doc/eudas/eudas.hdb.11
deleted file mode 100644
index 6a59847..0000000
--- a/doc/eudas/eudas.hdb.11
+++ /dev/null
@@ -1,674 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (109)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-11 Funktionen zur Bearbeitung
-
-
-
-11.1 Sortieren
-
-Wenn Sie die Sätze in Ihrer EUDAS-Datei in einer bestimmten Rei­
-henfolge haben wollen (dies wird in vielen Fällen zum Drucken
-verlangt), müssen Sie die Datei sortieren. Sie können EUDAS ange­
-ben, in welcher Reihenfolge die Sortierung erfolgen soll. Um die
-aktuelle Datei zu sortieren, rufen Sie die Funktion
-#free (0.2)#
-
- Akt. Datei
- S Sortieren
-
-#free (0.2)#
-auf. Falls die Datei noch nie sortiert wurde, wird Ihnen auf jeden
-Fall die Sortierreihenfolge zum Auswählen angeboten. Anderenfalls
-werden Sie gefragt, ob Sie die vorherige Sortierreihenfolge ändern
-wollen.
- Das Sortieren wird als Veränderung betrachtet und nur auf der
-Arbeitskopie durchgeführt!
-
-#on("b")#Sortierreihenfolge#off("b")# Die Sortierreihenfolge gibt an, welche
-Felder in
-welcher Reihenfolge beim Vergleichen zweier Sätze benutzt werden
-sollen. Zuerst wird das an erster Stelle angegebene Feld verglichen.
-Sind die Inhalte hier unterschiedlich, wird die Einordnung der Sätze
-nach diesem Feld bestimmt.
- Sind die Inhalte in diesem Feld aber gleich, so wird nach dem
-nächsten Feld verglichen. Ist kein weiteres Feld in der Sortierrei­
-henfolge angegeben, wird der Vergleich an dieser Stelle mit einem
-zufälligen Ergebnis abgebrochen, das heißt, es kann nicht vorher­
-gesagt werden, welcher der beiden Sätze zuerst kommt.
- Die Sortierreihenfolge können Sie in einer Menüauswahl einge­
-ben. Kreuzen Sie die Felder an, die Sie vergleichen wollen und ach­
-ten Sie auf die richtige Reihenfolge. Die eingegebene Reihenfolge
-wird in der Datei gespeichert, um beim nächsten Sortiervorgang
-wiederverwendet zu werden.
- Nachdem Sie alle bei der Sortierung zu berücksichtigenden
-angekreuzt haben, werden Sie für jedes dieser Felder gefragt, ob
-nach dem Feld aufsteigend oder absteigend sortiert werden soll.
-
-#on("b")#Ablauf#off("b")# Der Ablauf des Sortierens wird durch Ausgabe von
-Satz­
-nummern dargestellt. Bis zur ausgegebenen Satznummer sind alle
-Sätze richtig sortiert. Bei Bedarf kann der Vorgang durch SV und
-dann 'halt' abgebrochen werden. Die Datei bleibt dabei auf jeden
-Fall intakt.
-
-#on("b")#Optimierung#off("b")# Die gespeicherte Sortierreihenfolge wird auch
-noch zu
-einer weiteren Optimierung benutzt. Wenn eine Datei sortiert war
-und nur wenige Änderungen stattgefunden haben, brauchen beim
-nächsten Sortiervorgang nur die wenigen veränderten Sätze einzeln
-einsortiert zu werden. Das funktioniert natürlich nur unter der
-Voraussetzung, daß die gleiche Sortierreihenfolge gewählt wird. Das
-Sortieren braucht in diesem Fall erheblich weniger Zeit.
-
-#on("b")#Probleme#off("b")# Normalerweise werden die einzelnen Felder nach
-dem
-EUMEL-Zeichencode verglichen. Das bedeutet, daß sich die Reihen­
-folge der Zeichen nach dem EUMEL-Zeichencode richtet. Ein Zeichen
-mit einem höheren Code wird also vor einem Zeichen mit einem
-niedrigeren Code einsortiert.
- In manchen Fällen ergeben sich mit diesem Vergleichsverfahren
-aber auch Schwierigkeiten. Wenn in einem Feld Zahlen oder DM-
-Beträge stehen, führt die Methode zu falschen Ergebnissen. Die '10'
-wird zum Beispiel vor der '2' einsortiert. Warum? Texte werden
-immer linksbündig geschrieben und verglichen. Bei Zahlen richtet
-sich die Wertigkeit jedoch nach dem Abstand vom Komma.
- Da bei Texten zuerst das erste Zeichen verglichen wird, ent­
-steht hier durch Vergleich von '1' und '2' der Eindruck, die '10'
-käme vor der '2'. Korrigieren könnte man dies, indem man ein Leer­
-zeichen vor die '2' schreibt. Wenn also die (nicht geschriebenen)
-Dezimalkommata direkt untereinanderstehen, werden Zahlen richtig
-verglichen.
-
-#on("b")#Typ ZAHL#off("b")# EUDAS hat jedoch eine bequemere Art, dieses
-Problem zu
-behandeln. Ein Feld, das Zahlen enthalten soll, bekommt einen spe­
-ziellen Typ ZAHL zugewiesen, der zu einer richtigen Sortierung
-führt.
- Bei Feldern vom Typ ZAHL ignoriert EUDAS bei Vergleichen alle
-nichtnumerischen Zeichen und vergleicht den Wert der Zahl. So
-können Sie zum Beispiel in einem Satz '2,50 DM' und im anderen
-Satz '10 DM' eintragen - EUDAS kann jetzt die richtige Reihenfolge
-feststellen.
- Übrigens: falls Sie numerische Werte lieber mit einem Dezi­
-malpunkt statt einem Dezimalkomma schreiben, können Sie EUDAS
-das mit dem ELAN-Kommando
-
-
- dezimalkomma (".")
-
-
-mitteilen. Wenn Sie ein solches Kommando eingeben wollen, können
-Sie im EUDAS-Menü ESC ESC drücken. In der Statuszeile erscheint
-dann die Aufforderung:
-
-
- Gib Kommando:
-
-
-Hier können Sie wie im Editor oder im EUMEL-Monitor ein beliebiges
-Kommando eingeben und ausführen.
- Die Normaleinstellung für das Dezimalkomma erreichen Sie
-wieder durch das Kommando
-
-
- dezimalkomma (",")
-
-
-
-#on("b")#Typ ändern#off("b")# Die Feldtypen sind eine permanente Eigenschaft
-einer
-EUDAS-Datei. Beim Einrichten einer neuen Datei wird zunächst der
-Standardtyp für alle Felder genommen. Sie erhalten jedoch Gelegen­
-heit, abweichende Feldtypen zu vergeben, wenn Sie die Frage
-
-___________________________________________________________________________________________
-
- Feldnamen oder Feldtypen ändern (j/n) ?
-___________________________________________________________________________________________
-
-
-bejahen.
- Auch nachträglich können Sie die Feldtypen noch ändern. Dies
-geschieht mit der Funktion
-#free (0.2)#
-
- F Feldstrukt.
-
-#free (0.2)#
-im Menü 'Öffnen'. Zunächst werden Sie gefragt, ob Sie noch weitere
-Feldnamen anfügen wollen. So könnten Sie die Datei um weitere
-Felder ergänzen, die bei allen Sätzen zunächst leer sind. Die neuen
-Felder müssen Sie wie beim Einrichten der Datei untereinander im
-Editor schreiben.
- Als zweites erscheint dann die gleiche Frage wie oben. Wenn
-Sie diese bejahen, wird Ihnen eine Auswahl der zu ändernden Fel­
-der mit Feldnamen und den zugehörigen Feldtypen angeboten. Kreu­
-zen Sie hier die Felder an, deren Feldtypen Sie ändern möchten.
- Da Sie mit dieser Funktion sowohl Feldnamen als auch Feld­
-typen verändern können, wird Ihnen für jedes Feld zunächst der
-Name zum Ändern angeboten. Sie können den Namen korrigieren oder
-überschreiben. Die Namensänderung hat jedoch keine Auswirkung
-auf den Feldinhalt!
- Wenn Sie den Namen nicht ändern wollen, drücken Sie einfach
-RETURN. Anschließend können Sie für das Feld den neuen Feldtyp
-angeben. Tippen Sie einen der vier Feldtypen als Text ein und
-drücken Sie RETURN. Anschließend hat das Feld einen neuen Typ.
-Die verschiedenen möglichen Typen werden jetzt genau erklärt.
-
-#on("b")#Feldtypen#off("b")# TEXT ist der Standardtyp, der die Feldinhalte
-nach
-EUMEL-Zeichencode vergleicht. Den Typ ZAHL hatten wir schon
-weiter oben kennengelernt. Daneben gibt es noch den Typ DATUM.
- Dieser Typ vergleicht Daten der Form 'tt.mm.jj'. Soll ein sol­
-ches Datum richtig einsortiert werden, müßte es anderenfalls in der
-Reihenfolge umgedreht werden (also 'jj.mm.tt'). Dies ist aber nicht
-nötig, wenn das Feld den Typ DATUM bekommt. Beachten Sie, daß
-alle Inhalte, die nicht die beschriebene Form haben, als gleich be­
-trachtet werden.
- Der letzte Typ ist DIN. Dabei werden Texte nach DIN 5007 ver­
-glichen. Das bedeutet, daß Groß- und Kleinbuchstaben als gleich
-angesehen werden, daß alle nichtalphabetischen Zeichen ignoriert
-werden und die Umlaute ihren richtigen Platz bekommen (Umlaute
-werden in normalen Texten hinter allen anderen Zeichen einsor­
-tiert). Da hierfür ein relativ großer Zeitaufwand notwendig ist,
-sollte dieser Typ nur dann gewählt werden, wenn er erforderlich ist.
-Den schnellsten Vergleich ermöglicht der Typ TEXT.
-
-#on("b")#Hinweis#off("b")# Beachten Sie, daß mit der Vergabe von Feldtypen
-keine
-Überprüfung der Eingabe verbunden ist. Insbesondere beim Datum
-wird nicht geprüft, ob die Form 'tt.mm.jj' eingehalten wurde. Wollen
-Sie solche Überprüfungen vornehmen, lesen Sie bitte Abschnitt 11.3.
-
-
-11.2 Kopieren
-
-In diesem Abschnitt sollen Sie erfahren, wie Sie eine EUDAS-Datei
-#on("i")#kopieren#off("i")# können. Diese Funktion kann nicht nur ein inhaltsgleiches
-Duplikat einer EUDAS-Datei herstellen (dies könnten Sie einfacher
-durch eine logische Kopie bewerkstelligen, s. 16.1), sondern auch
-komplizierte Umstrukturierungen vornehmen.
-
-#on("b")#Kopiermuster#off("b")# Der Schlüssel zu dieser Leistungsfähigkeit
-ist das
-#on("i")#Kopiermuster#off("i")#. Wie beim Druckmuster legen Sie dadurch die genauen
-Auswirkungen der Funktion fest.
- Für jedes Feld in der Zieldatei, in die kopiert werden soll,
-enthält das Kopiermuster die Angabe, woraus der Inhalt dieses
-Feldes entstehen soll. Durch Auswahl und Reihenfolge dieser Anga­
-ben bestimmen Sie die Struktur der Zieldatei.
- Im einfachsten Fall sieht die Kopieranweisung für ein Feld wie
-folgt aus:
-
-
- "Feldname" K f ("Feldname");
-
-
-Das 'K' dient zur Festlegung der Kopierfunktion. Auf der linken
-Seite steht in Anführungsstrichen der Name des Zielfeldes. Der
-Ausdruck auf der rechten Seite gibt den zukünftigen Inhalt des
-Feldes an. Der Ausdruck im obigen Beispiel steht einfach für den
-Inhalt des Feldes 'Feldname' in der aktuellen Datei. Das Semikolon
-am Ende dient zur Abgrenzung, da der ganze Ausdruck auch mehrere
-Zeilen lang sein darf.
- In der oben genannten Form würde das Feld 'Feldname' iden­
-tisch in die Zieldatei kopiert. Weitere Möglichkeiten besprechen wir
-später.
-
-#on("b")#Feldreihenfolge#off("b")# Zunächst wollen wir uns damit befassen,
-wie Sie
-die Feldreihenfolge in der Zieldatei beeinflussen können. Dies ge­
-schieht einfach dadurch, daß Sie die Kopieranweisungen in der ge­
-wünschten Reihenfolge aufschreiben. Damit können wir bereits ein
-erstes komplettes Beispiel betrachten:
-
-
- "Name" K f ("Name");
- "Vorname" K f ("Vorname");
- "PLZ" K f ("PLZ");
- "Ort" K f ("Ort");
- "Strasse" K f ("Strasse");
- "m/w" K f ("m/w");
-
-
-Dieses Kopiermuster würde die bereits beschriebene Adressendatei
-identisch kopieren, da alle Felder in der gleichen Reihenfolge vor­
-kommen.
- Wenn Sie jedoch die Feldreihenfolge ändern wollen (um zum
-Beispiel ein anderes Feld als erstes zu optimieren), brauchen Sie
-bloß die Reihenfolge im Kopiermuster zu verändern:
-
-
- "Ort" K f ("Ort");
- "Name" K f ("Name");
- "Vorname" K f ("Vorname");
- "PLZ" K f ("PLZ");
- "Strasse" K f ("Strasse");
- "m/w" K f ("m/w");
-
-
-Im Gegensatz zur Auswahl der Feldreihenfolge für die Anzeige än­
-dern Sie so die Feldreihenfolge für die Zieldatei permanent.
-
-#on("b")#Felder anfügen#off("b")# Die beiden angegebenen Kopiermuster haben
-jedoch
-nur dann die beschriebene Wirkung, wenn die Zieldatei noch nicht
-existert. Bei einer existierenden Datei kann die Feldreihenfolge
-nicht mehr geändert werden; daher hat die Reihenfolge der Kopier­
-anweisungen dann keine Wirkung.
- Sie können jedoch zu einer existierenden Zieldatei noch Felder
-hinzufügen. EUDAS verwendet nämlich folgende einfache Vorschrift:
-
-#limit (12.0)#
- Wenn als Zielfeld in einer Kopieranweisung ein Feld
- genannt wird, das in der Zieldatei noch nicht vorkommt,
- wird es als weiteres Feld der Zieldatei hinzugefügt.
-#limit (13.5)#
-
-Diese Strategie hat im Fall der nicht existierenden Datei zur Folge,
-daß alle Felder neu sind und in der Reihenfolge ihres Auftretens
-eingerichtet werden. Existiert die Datei schon, werden zusätzliche
-Felder am Ende angefügt.
- Beachten Sie, daß zusätzliche Felder für eine existierende
-Datei nur in den neu hinzukopierten Sätzen gefüllt sind. In den
-alten Sätzen bleiben alle neuen Felder einfach leer.
-
-#on("b")#Satzauswahl#off("b")# An dieser Stelle sollte erwähnt werden, daß
-wie bei
-allen Funktionen, die die gesamte Datei betreffen, nur die durch die
-Suchbedingung ausgewählten Sätze kopiert werden. Ist mindestens
-ein Satz markiert, werden nur die markierten Sätze kopiert und die
-Suchbedingung ignoriert.
-
-#on("b")#Teildatei#off("b")# Jetzt können Sie auch die zweite wichtige
-Aufgabe des
-Kopierens verstehen. Sie können aus einer Datei einen Teil der
-Sätze und einen Teil der Felder #on("i")#herausziehen#off("i")#. Danach haben Sie
-unter Umständen eine wesentlich kleinere Datei, die sich auch
-schneller bearbeiten läßt. Gerade wenn Sie nicht den allerneuesten
-64-Bit-Supercomputer haben, können Sie so viel Zeit sparen, wenn
-Sie wiederholt nur mit einem Teil der Datei arbeiten müssen.
- Die Auswahl der Sätze für einen solchen Zweck erfolgt über ein
-Suchmuster; im Kopiermuster geben Sie dann nur die gewünschten
-Felder an.
-
-#on("b")#Aufruf#off("b")# An dieser Stelle wollen wir jetzt endlich
-behandeln, wie
-Sie die Kopierfunktion aufrufen. Dazu gibt es die Auswahl
-#free (0.2)#
-
- Satzauswahl
- K Kopieren
-
-#free (0.2)#
-im Menü "Gesamtdatei". Als erstes werden Sie nach dem Namen der
-Zieldatei gefragt. Existiert die Zieldatei schon und war sie vorher
-sortiert, werden Sie gefragt, ob Sie die Datei zum Schluß wieder
-sortieren wollen. Wie immer beim Sortieren werden auch hier gege­
-benenfalls nur die neu hinzugekommenen Sätze einsortiert.
- Als nächstes müssen Sie den Namen des Kopiermusters angeben.
-Da das Kopiermuster eine normale Textdatei ist, können Sie sich
-einen beliebigen Namen ausdenken, unter dem das Muster dann
-gespeichert wird.
- Wollen Sie das Kopiermuster nicht aufbewahren, sondern nur
-einmal verwenden, brauchen Sie keinen Namen anzugeben. Drücken
-Sie einfach RETURN und für die Dauer des Kopierens wird das
-Kopiermuster als unbenannte Datei eingerichtet.
- Nachdem Sie den Namen des Kopiermusters eingegeben haben,
-gelangen Sie in den Editor, wo Sie das Muster ändern können. Damit
-Sie beim ersten Mal nicht so viel tippen müssen, bietet EUDAS Ihnen
-bei einer neuen Musterdatei ein #on("i")#Standard-Kopiermuster#off("i")# zum Ändern
-an. Das Aussehen des Standard-Kopiermusters richtet sich danach,
-ob die Zieldatei schon existiert oder nicht.
- Existiert die Zieldatei noch nicht, so werden im Standard-
-Kopiermuster alle Felder der Ausgangsdatei in ihrer originalen Rei­
-henfolge angegeben. Wenn Sie dieses Muster nicht noch ändern, wird
-die aktuelle Datei identisch kopiert.
- Sie können jedoch die Feldreihenfolge verändern oder Felder
-weglassen, indem Sie einfach die entsprechenden Zeilen vertauschen
-oder löschen. Für Umbenennungen überschreiben Sie einfach den
-Namen auf der linken Seite der Kopieranweisung. So können Sie das
-Kopiermuster mit geringstem Aufwand erstellen.
- Existiert die Zieldatei jedoch schon, werden Ihnen im Kopier­
-muster alle Felder der Zieldatei angeboten. Bei Feldern, die in der
-aktuellen Datei nicht vorkommen, erscheint folgende Anweisung:
-
-
- "Anrede" K "";
-
-
-Obwohl die Anweisung in diesem Fall keine Wirkung hat (wenn man
-sie wegließe, würde das Feld ebenfalls leer bleiben), ist sie dennoch
-aufgeführt, damit Sie auf der rechten Seite einen entsprechenden
-Ausdruck einsetzen können.
- Bei den angebotenen Anweisungen hat eine Änderung der Rei­
-henfolge oder eines Feldnamens keinen Sinn, da diese Felder ja alle
-bereits existieren. Jedoch können Sie die Ausdrücke auf der rechten
-Seite variieren und neue Anweisungen (Felder) hinzufügen.
-
-#on("b")#Ablauf#off("b")# Wenn Sie die Eingabe des Kopiermusters mit ESC 'q'
-verlas­
-sen, wird das Kopiermuster übersetzt. Dabei können Fehlermeldun­
-gen auftreten. Sie können dann die Fehler korrigieren, wobei Sie die
-Fehlermeldungen gleichzeitig auf dem Bildschirm sehen können. War
-das Kopiermuster korrekt, werden alle ausgewählten (bzw. markier­
-ten) Sätze der aktuellen Datei in die Zieldatei kopiert und diese
-anschließend gegebenenfalls noch sortiert.
- Die kopierten Sätze werden jeweils am Ende der Zieldatei ange­
-fügt. War die Zieldatei vorher schon sortiert, können Sie angeben,
-daß die neuen Sätze zum Schluß noch einsortiert werden. Anderen­
-falls können Sie die Datei anschließend mit der Funktion 'Sortieren'
-sortieren.
-
-#on("b")#ELAN-Ausdrücke#off("b")# Wenn Sie schon einmal programmiert haben,
-wird
-Ihnen vielleicht aufgefallen sein, daß ein Kopiermuster einem
-ELAN-Programm verdächtig ähnlich sieht. Diese Vermutung trügt Sie
-nicht. Dies läßt den Schluß zu, daß Sie noch mehr ELAN hier an­
-bringen können.
- Haben Sie noch nie programmiert, sollten Sie jetzt nicht in
-Panik geraten, denn das Wichtigste dieses Abschnitts haben Sie
-bereits gelernt. Vielleicht sind Ihnen die folgenden Beispiele bereits
-ganz nützlich. Um alle Möglichkeiten auszunutzen, sollten Sie sich
-aber irgendwann (später!) mit den Kapiteln 14 und 15 befassen, in
-denen Sie Genaueres erfahren.
- Zunächst sei festgestellt, daß der rechte Teil einer Kopieran­
-weisung ein beliebiger ELAN-Ausdruck sein kann, der einen TEXT
-liefert. Den wichtigsten Ausdruck kennen Sie bereits:
-
-
- f ("Feldname")
-
-
-liefert den Inhalt des Feldes 'Feldname' des aktuellen Satzes der
-aktuellen Datei. Gibt es das Feld nicht, erscheint eine Fehlermel­
-dung bei der Ausführung.
- Sie können jedoch auch einen konstanten Text angeben, der
-dann für alle Sätze gleich ist. Dazu schließen Sie den Text einfach
-in Anführungsstriche ein. Die folgende Kopieranweisung dient dazu,
-ein neues Feld einzurichten, das aber vorläufig noch leer bleiben
-soll:
-
-
- "Feldname" K "";
-
-
-Ebenso können Sie mehrere Felder zu einem neuen verbinden, zum
-Beispiel:
-
-
- "Wohnort" K f ("PLZ") + " " + f ("Ort");
-
-
-Das Pluszeichen kennzeichnet die Aneinanderreihung von zwei Tex­
-ten. Denken Sie auch immer an das Semikolon am Ende. In gleicher
-Weise können Sie viele andere Textfunktionen verwenden, die in
-Kapitel 14 beschrieben sind.
- Prinzipiell können Sie auch Bedingungen mit IF abfragen, wie
-zum Beispiel in der folgenden Übersetzung:
-
-
- IF f ("m/w") = "w" THEN
- "Anrede" K "Frau"
- ELSE
- "Anrede" K "Herr"
- END IF;
-
-
-Auf diese Weise können Sie Kodierungen verschiedenster Art auto­
-matisch umsetzen. Sie müssen hierbei jedoch unbedingt darauf ach­
-ten, daß innerhalb der IF-Konstruktion immer eine Kopieranweisung
-ausgeführt wird. Falls nämlich kein Fall zutrifft und für ein Feld
-keine Kopieranweisung ausgeführt wird, wird das Feld bei einer
-neuen Datei auch nicht richtig eingerichtet.
-
-
-11.3 Tragen
-
-In Kapitel 6 hatten Sie gesehen, wie man einzelne Sätze aus der
-aktuellen Datei in eine andere trägt, und auch, wie man sie wieder
-zurückholen kann. Diese Funktion diente im wesentlichen dazu,
-nicht mehr benötigte Sätze zu entfernen.
- Sie haben aber auch die Möglichkeit, eine ganze Reihe von
-Sätzen in einem Arbeitsgang zu tragen, nämlich alle durch das
-Suchmuster ausgewählten beziehungsweise alle markierten Sätze.
-Diese Funktion dient ebenfalls dazu, Sätze zu entfernen, beispiels­
-weise alle Sätze, die vor einem gewissen Stichtag liegen. Als wei­
-tere Anwendung können Sie beim Tragen aber auch Bedingungen
-überprüfen.
- Diese #on("i")#Prüfbedingungen#off("i")# sollen sicherstellen, daß die Daten in
-einer Datei ganz bestimmten Richtlinien entsprechen. Zum Beispiel
-kann geprüft werden, ob ein eingegebenen Datum stimmen kann, ob
-ein Satz doppelt aufgenommen wurde oder ob eine Artikelnummer die
-richtige Anzahl von Stellen hat.
- Die Prüfbedingungen werden einer Datei fest zugeordnet. Sie
-können mit der Funktion
-#free (0.2)#
-
- P Prüfbed.
-
-#free (0.2)#
-im Menü 'Öffnen' eingegeben oder geändert werden. Die Prüfbedin­
-gungen werden als Text im Editor geschrieben.
-
-#on("b")#Ablauf#off("b")# Das ganze Verfahren läuft nun so ab: Sie fügen neue
-Sätze
-immer erst in eine Zwischendatei ein, die die gleiche Struktur wie
-die eigentliche Datei hat. Wenn Sie alle Sätze fertig eingegeben
-haben, tragen Sie diese Datei komplett in die gewünschte Datei.
-Dabei werden die Prüfbedingungen getestet.
- Erfüllt ein Satz die Bedingungen, wird er anstandslos getragen.
-Trifft eine Bedingung aber nicht zu, bleibt der Satz in der Zwi­
-schendatei und eine entsprechende Meldung wird ausgegeben. Die
-Meldungen werden gespeichert, um Sie später nochmal abrufen zu
-können.
- Sie müssen jetzt in der Zwischendatei die notwendigen Ände­
-rungen durchführen, damit die Prüfbedingungen erfüllt werden. Beim
-Aufruf der Funktion
-#free (0.2)#
-
- A Ändern
-
-#free (0.2)#
-können Sie mit Hilfe der Tastenkombination ESC 'P' (großes P) die
-Datei mit den Fehlermeldungen in einem kleinen Teilfenster editie­
-ren. Anhand dieser Hinweise können Sie dann den Satz korrigieren.
-Die Meldungen bleiben bis zum nächsten Öffnen oder Tragen erhal­
-ten.
- Nach der Korrektur können Sie den gleichen Vorgang erneut
-aufrufen - es sind ja nur noch die zuerst fehlerhaften Sätze in der
-Zwischendatei. Bei Bedarf können Sie diesen Vorgang wiederholen,
-bis alle Sätze korrekt übernommen worden sind.
-
-#on("b")#Aufruf#off("b")# Das Tragen wird aufgerufen durch die Funktion
-#free (0.2)#
-
- Satzauswahl
- T Tragen
-
-#free (0.2)#
-Nach Eingabe des Zieldateinamens müssen Sie noch angeben, ob Sie
-die Prüfbedingungen testen wollen.
-
-#on("b")#Prüfbedingungen#off("b")# Zu diskutieren bleibt noch die Form der
-Prüfbe­
-dingungen. Diese stellen ein kleines ELAN-Programm dar, in dem
-einige spezielle Prozeduren zum Prüfen enthalten sind. Wenn Sie
-nicht ELAN programmieren können, sollte Sie diese Bemerkung nicht
-erschrecken: die Prüfbedingungen sind einfach genug.
- Sie schreiben also die Prüfbedingungen jeweils untereinander.
-Eine mögliche Bedingung ist
-
-
- wertemenge ("Feldname", "Wert1,Wert2,Wert3,Wert4");
-
-
-Diese Bedingung gibt an, daß das Feld einen der angegebenen Werte
-haben muß. Die Werte werden untereinander durch Komma getrennt.
-Es gibt jedoch keine Möglichkeit, Werte mit Komma darzustellen, da
-das Komma immer als Trennung wirkt. Leerzeichen dürfen in den
-Werten vorkommen, sie müssen dann aber auch genau so im Feld
-stehen.
- Wir könnten zum Beispiel eine Bedingung für unser Feld 'm/w'
-wie folgt formulieren
-
-
- wertemenge ("m/w", "m,w");
-
-
-EUDAS würde sich dann beschweren, wenn das Feld leer wäre (ir­
-gendein Geschlecht muß die Person ja wohl haben). Wenn das Feld
-auch leer sein darf, geben Sie einfach zwei Kommata hintereinander
-oder ein Komma am Anfang an:
-
-
- wertemenge ("m/w", ",m,w");
-
-
-Eine andere Möglichkeit der Prüfbedingung besteht darin, eine
-Maske für ein Feld zu definieren. Diese Maske gibt an, daß an be­
-stimmten Stellen des Feldes nur bestimmte Zeichen stehen dürfen.
-So könnte man zum Beispiel folgende Maske für ein Datumsfeld
-angeben:
-
-
- feldmaske ("Datum", "99.99.99");
-
-
-Die Neunen haben hier eine spezielle Bedeutung und und stehen für
-eine beliebige Ziffer. Es gibt noch einige weitere Zeichen, die eine
-reservierte Bedeutung haben, nämlich:
-
-
- '9' für jede Ziffer (wie schon erwähnt)
- 'X' für jedes Zeichen
- 'A' für jeden Großbuchstaben
- 'a' für jeden Kleinbuchstaben
- '*' für eine Folge beliebiger Zeichen
-
-
-Alle anderen Zeichen im Muster stehen für sich selbst. Eine Sonder­
-stellung besitzt der Stern; er sollte sparsam verwendet werden, da
-seine Benutzung etwas aufwendiger ist. Der Stern kann auch für
-eine leere Zeichenfolge stehen. Als weiteres Beispiel könnte man
-definieren
-
-
- feldmaske ("Name", "A*");
-
-
-damit immer ein Name angegeben ist, der noch dazu mit einem Groß­
-buchstaben beginnt.
- Für Bedingungen, die sich nicht mit diesen beiden Prozeduren
-formulieren lassen, gibt es noch
-
-
- pruefe ("Feldname", Bedingung);
-
-
-Diese Prozedur erhält einen logischen (booleschen) Wert als Parame­
-ter, der einen Vergleich darstellt. Ist dieser Parameter falsch
-(FALSE), wird eine entsprechende Fehlermeldung protokolliert. So
-könnte man folgende Bedingung angeben:
-
-
- pruefe ("Alter", wert ("Alter") > 18.0);
-
-
-Diese Bedingung würde sicherstellen, daß alle Personen in der Datei
-volljährig sind ('wert' ist eine von EUDAS definierte Funktion, die
-den Inhalt eines Feldes als REAL-Zahl liefert - denken Sie auch
-daran, daß der ELAN-Compiler Zahlen mit Dezimalpunkt geschrieben
-haben möchte).
- Da die Prüfbedingungen ein ELAN-Programm sind, können Sie
-natürlich sämtliche ELAN-Anweisungen verwenden.
- Weiterhin haben Sie die Möglichkeit, Doppeleinträge zu verhin­
-dern. Dazu geben Sie mit Hilfe der Prozedur
-
-
- eindeutige felder (n);
-
-
-wieviele Felder vom ersten an eindeutig sein sollen. Ein zu tragen­
-der Satz, der mit irgendeinem anderen Satz in diesen Feldern über­
-einstimmt, wird als fehlerhaft zurückgewiesen. In unserer Adressen­
-datei könnte man
-
-
- eindeutige felder (2);
-
-
-angeben. Damit würde ein neuer Satz mit bereits vorhandenem Na­
-men und Vornamen abgelehnt.
-
-#on("b")#Limit#off("b")# Aus technischen Gründen können die Prüfbedingungen
-einer
-Datei nur 2000 Zeichen umfassen. Wollen Sie aufwendigere Bedin­
-gungen konstruieren, sollten Sie sich diese als Prozedur definieren
-und insertieren. In den Prüfbedingungen müssen Sie dann nur diese
-Prozedur aufrufen.
-
-
-11.4 Automatische Änderungen
-
-Mit EUDAS können Sie die geöffnete Datei nicht nur satzweise von
-Hand ändern, sondern auch automatisch die ganze Datei. Dazu müs­
-sen Sie dem Rechner eine Vorschrift geben, nach der er handeln
-kann. Ein solches #on("i")#Änderungsmuster#off("i")# stellt im Prinzip schon ein klei­
-nes Programm dar. Der Änderungsvorgang wird durch die Auswahl
-#free (0.2)#
-
- V Verändern
-
-#free (0.2)#
-aufgerufen. Dabei wird der Name des Änderungsmusters erfragt. Dies
-ist eine normale Textdatei. Existiert das Muster noch nicht, können
-Sie den Inhalt an dieser Stelle im Editor angeben. Anschließend
-werden alle ausgewählten Sätze nach der Vorschrift bearbeitet.
-Dabei wird jeweils die aktuelle Satznummer ausgegeben.
-
-#on("b")#Änderungsmuster#off("b")# Da auch ein Kopiermuster ein Programm ist,
-ist
-es nicht erstaunlich, daß Änderungsmuster ganz ähnlich aussehen.
-Eine typische Zeile sieht etwa so aus:
-
-
- "Feldname" V "neuer Inhalt";
-
-
-Diese Zeile bedeutet: Ersetze den Inhalt des Feldes 'Feldname'
-durch den Text 'neuer Inhalt'. Anstelle des neuen Textes kann
-wieder ein beliebiger ELAN-Ausdruck stehen. Ein Beispiel, in dem
-ein Feld einen Stern angehängt bekommt, sieht dann so aus:
-
-
- "Feldname" V f ("Feldname") + "*";
-
-
-Beachten Sie, daß Sie den Ausdruck auf der rechten Seite eventuell
-in Klammern setzen müssen (obwohl der Operator 'V' die niedrigste
-Priorität hat). Wenn Sie sich nicht sicher sind, können Sie den Aus­
-druck immer in Klammern einschließen.
- Ebenso wie im Kopiermuster können Sie hier beliebige ELAN-
-Ausdrücke verwenden. Auch IF-Abfragen und ähnliche Konstruktio­
-nen sind möglich, im Gegensatz zum Kopiermuster sogar ohne Be­
-schränkungen.
- Im Vergleich zu einem separat geschriebenen ELAN-Programm
-hat das Änderungsmuster den Vorteil, daß Sie nur die eigentlichen
-Veränderungsanweisungen kodieren müssen. Die wiederholte Anwen­
-dung auf die ausgewählten Sätze erledigt EUDAS automatisch. Wol­
-len Sie eine solche Änderungsanweisung fest insertieren, so brau­
-chen Sie das Muster nur in eine Prozedur zu verpacken und EUDAS
-zu übergeben (Näheres s. Referenzhandbuch).
-
diff --git a/doc/eudas/eudas.hdb.12 b/doc/eudas/eudas.hdb.12
deleted file mode 100644
index fba5ca5..0000000
--- a/doc/eudas/eudas.hdb.12
+++ /dev/null
@@ -1,446 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (123)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-12 Weitere Möglichkeiten zum Drucken
-
-
-
-12.1 Anschluß an die Textverarbeitung
-
-Auf zweierlei Art und Weise kann der EUDAS-Druckgenerator mit
-den Programmen der EUMEL-Textverarbeitung zusammenarbeiten.
-Zum ersten können Ausgabedateien des Druckprozesses anschließend
-mit den Textkosmetik-Werkzeugen bearbeitet werden. Zum anderen
-kann EUDAS im Editor direkt Daten aus einer EUDAS-Datei in die
-editierte Datei importieren.
-
-#on("b")#Druckrichtung#off("b")# Wie Sie schon in Kapitel 7 gesehen haben,
-kann
-man die Ausgabe des Druckgenerators statt auf den Drucker in eine
-Datei umleiten. Die Datei erhält dann einen automatisch generierten
-Namen. Sie können jedoch auch festlegen, daß die Ausgabe in eine
-ganz bestimmte Datei geschrieben werden soll. Dazu wählen Sie die
-Funktion
-
-
- Ausgabe
- R Richtung
-
-
-im Druckmenü. Es erscheint die Frage
-
-___________________________________________________________________________________________
-
- Ausgabe automatisch zum Drucker (j/n) ?
-___________________________________________________________________________________________
-
-
-Verneinen Sie die Frage und es erscheint
-
-___________________________________________________________________________________________
-
- Ausgabe in bestimmte Datei (j/n) ?
-___________________________________________________________________________________________
-
-
-Wenn Sie diese Frage auch verneinen, erhält die Ausgabedatei einen
-automatisch generierten Namen. Wenn Sie die Frage aber bejahen,
-können Sie anschließend den Namen der Ausgabedatei angeben.
- Existiert die angegebene Datei schon, wird der Ausdruck am
-Ende der Datei angefügt. Anderenfalls wird die Datei neu eingerich­
-tet.
- Die Angabe der Ausgabedatei gilt jedoch nur für den folgenden
-Druckvorgang. Wenn Sie mehrmals in die gleiche Datei drucken wol­
-len, müssen Sie den Namen immer wieder neu angeben. Falls Sie dies
-vergessen, wird die folgenden Male wieder ein Name automatisch
-generiert.
-
-#on("b")#Begrenzung der Dateigröße#off("b")# Für kleinere Systeme ist es
-vorteilhaft,
-wenn die Druckausgabe nicht in einer großen Datei gesammelt wird,
-sondern sich auf mehrere kleine Dateien verteilt. Da die Ausgabe­
-datei nach dem Drucken gelöscht wird, kann man auf diese Weise
-einen Hintergrundengpaß vermeiden. Es besteht die Möglichkeit, die
-maximale Größe der Ausgabedatei mit dem ELAN-Kommando
-
-
- maxdruckzeilen (1000)
-
-
-auf eine bestimmte Zeilenzahl (maximal 4000) zu beschränken. Wenn
-der Druckgenerator nach der Bearbeitung eines Satzes feststellt,
-daß diese Maximalzahl überschritten wurde, wird die Ausgabedatei
-direkt gedruckt (falls durch 'Richtung' eingestellt) und eine neue
-Ausgabedatei eröffnet.
-
-#on("b")#Initialisierungsteil#off("b")# Dabei ist jedoch zu beachten, daß
-Drucker­
-steuerungsanweisungen, die im Vorspann eingestellt wurden, jetzt in
-der neuen Datei nicht mehr vorhanden sind. In einem solchen Fall
-würden die folgenden Teile der Ausgabe mit einer anderen Einstel­
-lung gedruckt.
- Um dies zu vermeiden, können Sie solche Anweisungen in den
-#on("i")#Initialisierungsteil#off("i")# schreiben. Der Initialisierungsteil umfaßt alle
-Zeilen des Druckmusters bis zum ersten Abschnitt, also bis zur
-ersten Anweisung. Zeilen im Initialisierungsteil werden beim Eröff­
-nen einer neuen Ausgabedatei an den Anfang dieser Datei ge­
-schrieben.
- Druckersteuerungsanweisungen, die ein bestimmtes Schriftbild
-der Ausgabe erzeugen ('type', 'limit', 'linefeed', 'start' usw.), sollten
-also in den Initialisierungsteil vor Beginn aller Abschnitte ge­
-schrieben werden.
-
-#on("b")#Nachbearbeitung#off("b")# Wenn Sie in der Druckausgabe verschiedene
-Schriften oder Proportionalschrift verwenden wollen, sollten Sie die
-folgenden Hinweise beachten. Da EUDAS keine Informationen über
-die Schriftbreiten und -größen hat, werden alle Schrifttypen gleich
-behandelt. Dies gilt insbesondere für die Zeilenbreite, die ja durch
-das Dateilimit des Druckmusters festgelegt ist.
- So kann es passieren, daß Zeilen mit kleinen Schrifttypen zu
-früh abgeschnitten werden, während Zeilen mit großen Schriften
-nicht mehr auf das Blatt passen. Für diesen Fall sollten Sie das
-größte benötigte Limit einstellen (zum Beispiel 135 bei Schmal­
-schrift auf DIN A 4) und die Ausgabedatei anschließend mit 'line­
-form' bearbeiten.
- 'lineform' verteilt zu langen Text auf mehrere Zeilen. Außerdem
-werden gegebenenfalls Trennungen durchgeführt.
- 'lineform' benötigt zur Information Absatzmarken. Fehlt an
-einer Zeile die Absatzmarke, wird die nächste Zeile so weit wie
-möglich direkt angehängt. Die Absatzmarken in der Ausgabedatei
-werden direkt aus dem Druckmuster übernommen (es ist nicht mög­
-lich, Absatzzeilen durch eingesetzte Leerzeichen zu erzeugen). Im
-Normalfall sollten alle Zeilen im Druckmuster eine Absatzmarke
-haben.
- Wenn Sie seitenorientierte Überschriften haben möchten, kön­
-nen Sie auch 'pageform' einsetzen. Die gewünschten Überschrift­
-anweisungen können Sie im Initialisierungsteil angeben.
- Die beiden Funktionen wählen Sie über den Menüpunkt
-
-
- N Nachbearb.
-
-
-im Druckmenü. Dort können Sie den Namen der Ausgabedatei ange­
-ben, die Sie bearbeiten möchten. Es wird jeweils gefragt, ob Sie
-'lineform' und 'pageform' anwenden wollen. Das Ergebnis der Bear­
-beitung können Sie danach ausdrucken.
-
-#on("b")#EUDAS im Editor#off("b")# Wenn Sie sich im Editor zum Zweck der
-Textver­
-arbeitung befinden, können Sie Daten aus einer EUDAS-Datei direkt
-in die editierte Datei übernehmen. Dazu wählen Sie zunächst die
-gewünschten Sätze aus - danach geben Sie den Namen eines Druck­
-musters an. EUDAS druckt die gewählten Sätze unter Beachtung des
-Druckmusters direkt in die editierte Datei.
- Wenn Sie das Kommando
-
-
- eudas
-
-
-im Editor geben (nach ESC ESC), gelangen Sie in ein spezielles
-Kurzprogramm, das alle notwendigen Information von Ihnen erfragt.
- Zunächst müssen Sie den Namen der gewünschten EUDAS-Datei
-angeben. Diese Datei wird dann automatisch geöffnet. Vorher geöff­
-nete Dateien werden nach Anfrage gesichert. Beachten Sie, daß
-keine Datei mehr geöffnet ist, wenn Sie später EUDAS wieder normal
-aufrufen.
- Danach wird Ihnen eine Übersicht aller Sätze gezeigt - in einer
-Form, die Sie aus der Funktion 'Übersicht' bereits kennen. Wie dort
-wird Ihnen zunächst eine Auswahl der Felder angeboten, um die
-Anzeige übersichtlich zu halten. Anschließend können Sie noch ein
-Suchmuster angeben.
- In der Übersicht können Sie sich dann zu einem bestimmten
-Satz bewegen oder mehrere Sätze markieren. Nach dem Verlassen der
-Übersicht können Sie den aktuellen Satz oder alle ausgewählten
-(bzw. markierten) Sätze drucken. Natürlich können Sie auch beide
-Fragen verneinen.
- Zum Drucken wird der Name des Druckmusters erfragt. Dieses
-muß bereits existieren. Die Ausgabe wird an der Stelle eingefügt, an
-der der Cursor in der editierten Datei steht - die Zeile wird bei
-Bedarf aufgesplittet.
- Nach dem Drucken können Sie den Vorgang wiederholen, wenn
-Sie zum Beispiel einen weiteren Satz drucken wollen. Dazu können
-Sie auch ein neues Suchmuster angeben. Markierungen von Sätzen
-werden nach dem Drucken gelöscht.
-
-
-12.2 Spaltendruck
-
-Für manche Anwendungen reicht es nicht aus, wenn die bearbeite­
-ten Sätze jeweils untereinander in der Ausgabe erscheinen. Häufig­
-stes Beispiel dafür ist der Etikettendruck. Hierfür werden vielfach
-mehrbahnige Formulare eingesetzt.
- In diesem Fall müssen die Sätze bis zur gewünschten Anzahl
-von Spalten nebeneinander gesetzt werden - erst danach wird die
-nächste Reihe angefangen.
- EUDAS unterstützt diese Anwendung. Dazu wird hinter der
-'%WIEDERHOLUNG'-Anweisung die Anzahl der Spalten als Parameter
-geschrieben (durch Leerzeichen getrennt). Der Wiederholungsteil
-wird dann mit der angegebenen Anzahl von Spalten gedruckt. Zu
-beachten ist, daß Vorspann und Nachspann diese Spaltenanordnung
-durchbrechen, also immer hinter dem bisher Gedruckten beginnen.
- Die Spaltenbreite wird vom Dateilimit des Druckmusters be­
-stimmt. Die Zeilen eines Wiederholungsteils werden bis zum Limit
-mit Leerzeichen aufgefüllt, wenn der nächste Wiederholungsteil
-danebengesetzt wird.
- Alternativ kann die Spaltenbreite in Zeichen auch als zweiter
-Parameter angegeben werden. Der Wert gilt jedoch nur für den Wie­
-derholungsteil - Vor- und Nachspann richten sich immer nur nach
-dem Dateilimit.
- Es spielt keine Rolle, ob die nebeneinandergesetzten Wieder­
-holungsteile unterschiedliche Längen haben. Die kürzeren Teile
-werden einfach bei Bedarf durch Leerzeilen ergänzt. Es ist jedoch zu
-beachten, daß sich auf diese Weise unterschiedliche Längen für die
-einzelnen Reihen ergeben können.
- Beispiel: Das Ergebnis für Satz 1, 3, 4 und 5 sei vier Zeilen
-lang, für Satz 2 aber fünf Zeilen. Bei zweispaltigem Druck wird die
-erste Reihe eine Zeile länger als die folgenden (s. dazu Abb. 12-1).
-
-
- Satz 1 Satz 2
- braucht braucht
- vier Zeilen. ausnahmsweise
- ---------------- fünf Zeilen.
- ----------------
- Satz 3 Satz 4
- braucht braucht
- vier Zeilen. vier Zeilen.
- ---------------- ----------------
- Satz 5
- braucht
- vier Zeilen.
- ----------------
-
-#center#Abb. 12-1 Seitenaufteilung beim Spaltendruck
-
-
-#on("b")#Beispiel#off("b")# Zum Abschluß noch als Beispiel ein Druckmuster
-für ein
-dreibahniges Etikettenformular. Die Spaltenbreite und die Länge des
-Wiederholungsteils richten sich natürlich nach dem verwendeten
-Formular und müssen im Einzelfall ausprobiert werden.
-
-
- % VORSPANN
- \#start (1.0, 0.8)\#
- % WIEDERHOLUNG 3 40
-
- &Vorname %Name
- &Strasse
-
- &PLZ %Ort
- \#free (1.693)\#
-
-
-
-12.3 Modi
-
-Gesetzt der Fall, Sie wollen eine Tabelle drucken, deren Einträge
-auf jeden Fall in voller Länge erscheinen sollen, auch wenn sie die
-Spaltenbreite überschreiten. Dies würde bedeuten, daß Tabellenein­
-träge nach rechts geschoben werden, wenn vorhergehende Einträge
-länger sind. Für diesen Fall können also nur Feldmuster variabler
-Position (mit '%') eingesetzt werden. Diese werden jedoch auch nach
-links geschoben, wenn vorher kürzere Inhalte auftreten.
-
-#on("b")#Tabellenmodus#off("b")# Um dieses Linksschieben zu unterdrücken,
-können
-Sie mit folgender Anweisung im Musterteil in den #on("i")#Tabellenmodus#off("i")#
-umschalten:
-
-
- % MODUS 2
-
-
-Der so eingestellte Modus gilt bis zum Ende des jeweiligen Ab­
-schnitts. Zu Beginn eines Abschnitts ist der Modus 1 (Normalmodus)
-eingestellt.
-
-#on("b")#Beispiel#off("b")# Um diese Anweisung auszuprobieren, sollten Sie
-folgendes Druckmuster auf unsere Beispieldatei anwenden:
-
-
- % WIEDERHOLUNG
- % MODUS 2
- &Vorname %Name
-
-
-In der Ausgabe können Sie sehen, daß der Nachname nicht nach
-links geschoben wird, so daß eine Tabelle entsteht. Ist der Vorname
-jedoch zu lang, wird die Tabelleneinteilung durchbrochen und der
-Nachname nach rechts geschoben, um den Vornamen nicht abschnei­
-den zu müssen:
-
-
- Herbert Wegner
- Helga Sandmann
- Albert Katani
- Peter Ulmen
- Karin Regmann
- Hubert Arken
- Anna-Maria Simmern
- Angelika Kaufmann-Drescher
- Harald Fuhrmann
- Friedrich Seefeld
-
-
-#on("b")#Zeilenfortsetzung#off("b")# Eine weitere Möglichkeit, überlange
-Feldinhalte
-einzusetzen, besteht darin, daß der Rest des Inhaltes, der nicht
-mehr in den reservierten Raum paßt, in der nächsten Zeile fortge­
-setzt wird. Dies wird im Modus 3 erreicht. Falls ein Feldinhalt ab­
-geschnitten werden müßte, wird in diesem Modus die gleiche Mu­
-sterzeile nochmal mit den restlichen Inhalten gedruckt. Dies wird
-fortgesetzt, bis alle Inhalte abgearbeitet sind.
- Damit die Fortsetzung sinnvoll ist, wird das letzte Wort ganz in
-die nächste Zeile übernommen, falls es zerschnitten würde (ähnlich
-wie im Editor). Der dadurch freiwerdende Raum in der vorigen Zeile
-wird mit Leerzeichen gefüllt. Ist rechtsbündiges Einsetzen verlangt,
-werden die einzelnen Teile jeweils rechtsbündig in ihrem reservier­
-ten Platz justiert.
- Dieser Modus ist besonders interessant, wenn Sie längere Kom­
-mentare in eine EUDAS-Datei eintragen, die Sie dann natürlich auch
-wieder drucken wollen. Den Text tragen Sie bereits in mehreren
-Zeilen in die EUDAS-Datei ein. Beachten Sie, daß der Umbruch des
-Textes im Druck nicht mit dem Umbruch des Textes am Bildschirm
-übereinstimmt. Wollen Sie dies verhindern, müssen Sie jeden Absatz
-des Textes in ein eigenes Feld schreiben.
- Wie zu Anfang des Kapitels bereits angedeutet, kann der Um­
-bruch bei Proportionalschrift nicht korrekt sein, da EUDAS die Zei­
-chenbreiten nicht kennt. Um die nachfolgende Bearbeitung mit
-'lineform' zu ermöglichen, werden bei fortgesetzten Feldern grund­
-sätzlich keine Absatzmarken an die Zeilen geschrieben. Lediglich die
-letzte Fortsetzungszeile erhält eine Absatzmarke.
- In den Fortsetzungszeilen, werden die Feldmuster, deren Inhalte
-bereits abgearbeitet sind, leer eingesetzt. Die Mustertexte zwischen
-den Feldmustern werden in den Fortsetzungszeilen durch Leerzei­
-chen ersetzt.
- Die Anzahl der Fortsetzungszeilen kann durch die Anweisung
-
-
- % MEHR n
-
-
-auf eine bestimmte Zahl 'n' festgelegt werden. Wenn alle Inhalte
-abgearbeitet wurden, aber die Anzahl der Zeilen noch nicht erreicht
-ist, werden entsprechend viele Zeilen mit leeren Inhalten erzeugt.
- Die Zeilenwiederholung kann auch mit dem Tabellenmodus kom­
-biniert werden. Dies wird im Modus 4 erreicht. Felder variabler
-Position werden auch in diesem Modus nicht nach links geschoben.
-Außerdem werden aber in Fortsetzungszeilen die Mustertexte zwi­
-schen den Feldmustern wiederholt, um z.B. Tabellenbegrenzungen zu
-erzeugen.
-
-#on("b")#Beispiele#off("b")# Zur Verdeutlichung hier noch einige Beispiele.
-Das folgende Druckmuster:
-
-
- % WIEDERHOLUNG
- % MODUS 3
- Kommentar: &Kommentar
- ----------
-
-
-könnte folgende Ausgabe bewirken:
-
-
- Kommentar: Dies ist ein längerer Kommentar aus
- einer EUDAS-Datei, der zum Drucken
- auf eine Breite von 48 Zeichen
- umbrochen worden ist. Nur die letzte
- Zeile hat eine Absatzmarke.
- ----------
-
-
-Soll die Anzahl der Zeilen immer gleich bleiben, könnte man folgen­
-des Druckmuster verwenden:
-
-
- % WIEDERHOLUNG
- % MODUS 3
- % MEHR 5
- Kommentar: &Kommentar
- ----------
-
-
-Mit einem kürzeren Text ergäbe sich folgendes Bild:
-
-
- Kommentar: Nur ein kurzer Text.
-
-
-
-
- ----------
-
-
-Für eine Tabelle würde man den Modus 4 benutzen:
-
-
- % VORSPANN
- --------------------------------------------------------
- ! Abk. ! Kommentar !
- !---------+--------------------------------------------!
- % WIEDERHOLUNG
- % MODUS 4
- ! &abk ! &Kommentar&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& !
- ----------+---------------------------------------------
-
-
-Als Ausgabe könnte folgender Text erscheinen:
-
-
- --------------------------------------------------------
- ! Abk. ! Kommentar !
- !---------+--------------------------------------------!
- ! MA11 ! Dieser Kurs hat eine Menge an besonderen !
- ! ! Eigenschaften, die ihn für jüngere !
- ! ! Teilnehmer geeignet erscheinen lassen. !
- !---------+--------------------------------------------!
- ! TD04 ! Stellt keine besonderen Anforderungen. !
- !---------+--------------------------------------------!
- ! PM01 ! Seit dem 01.01. eingerichtet und noch !
- ! ! nicht voll besetzt. !
- ----------+---------------------------------------------
-
-
-Beachten Sie hier, daß Tabelleneinträge hier nicht wie im Modus 2
-geschoben, sondern auf weitere Zeilen verteilt werden, wenn sie zu
-lang sind. Außerdem werden die Tabellenbegrenzungen mit wieder­
-holt. Das Feldmuster für Kommentar muß jedoch mit fester Länge
-angegeben werden, da sonst die rechte Tabellenbegrenzung bis zum
-Dateilimit geschoben würde.
-
-#on("b")#Zusammenfassung#off("b")# Zum Abschluß dieses Abschnitts eine
-Zusammenfassung aller möglichen Modi:
-
- Modus Effekt
-
- 1 Normalmodus.
- '%'-Feldmuster werden auch nach links geschoben.
- Keine Zeilenwiederholung.
-
- 2 Tabellenmodus.
- '%'-Feldmuster werden nicht nach links geschoben.
- Keine Zeilenwiederholung.
-
- 3 Normalmodus mit Zeilenwiederholung.
- '%'-Feldmuster werden auch nach links geschoben.
- Zeilenwiederholung ohne Zwischentexte.
-
- 4 Tabellenmodus mit Zeilenwiederholung.
- '%'-Feldmuster werden nicht nach links geschoben.
- Zeilenwiederholung mit Zwischentexten.
-
-
diff --git a/doc/eudas/eudas.hdb.13 b/doc/eudas/eudas.hdb.13
deleted file mode 100644
index 435fbfc..0000000
--- a/doc/eudas/eudas.hdb.13
+++ /dev/null
@@ -1,757 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (133)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-13 Programmierung von Druckmustern
-
-
-
-13.1 Abkürzungen
-
-In den vorigen Kapiteln haben Sie erfahren, daß man Feldmuster
-von ganz bestimmter Länge definieren kann, deren Inhalt in genau
-dieser Länge eingesetzt und bei Bedarf abgeschnitten wird. Bei der
-Angabe dieser Länge spielt jedoch die Länge des Feldnamens eine
-ganz entscheidende Rolle. Das kürzeste Feldmuster fester Länge, das
-Sie definieren können, ist nämlich zwei Zeichen länger als der Feld­
-name (ein Musterzeichen vorher und eins nachher).
- Hätte das Feld 'PLZ' den Namen 'Postleitzahl' bekommen, so
-müßte ein solches Feldmuster mindestens eine Länge von 14 Zeichen
-haben. Damit Sie mit diesem Feldnamen auch ein Feldmuster der
-Länge 4 bekommen können (Postleitzahlen haben in den seltensten
-Fällen mehr als 4 Stellen), haben Sie die Möglichkeit, den Namen
-'Postleitzahl' für die Verwendung im Druckmuster geeignet abzu­
-kürzen.
- Abkürzungen haben jedoch noch eine viel weitreichendere
-Bedeutung. Mit ihnen ist es möglich, nicht nur die Feldinhalte einer
-EUDAS-Datei einzusetzen, sondern auch jeden anderen Text, den Sie
-mit einem ELAN-Programm erzeugen können.
- Die einfachsten zusätzlichen Daten, die Sie verwenden können,
-sind z.B. Datum und Uhrzeit. Für weitergehende Zwecke können Sie
-die Inhalte der EUDAS-Datei auch für Berechnungen verwenden und
-damit so umfangreiche Probleme wie das Schreiben von Rechnungen
-oder statistische Auswertungen unter Verwendung eines Druck­
-musters lösen.
-
-#on("b")#Abkürzungsteil#off("b")# Abkürzungen werden in einem speziellen
-Abkür­
-zungsteil am Ende eines Abschnittes angegeben. Der Abkürzungsteil
-wird durch die Anweisung
-
-
- % ABKUERZUNGEN
-
-
-eingeleitet. Eine Abkürzungsdefinition hat eine ähnliche Form wie
-ein Refinement (Falls Sie nicht wissen, was das ist, vergessen Sie
-es). Zu Beginn steht der Name der Abkürzung in Form eines Feld­
-musters, beginnend in der ersten Spalte. Danach folgt, durch Leer­
-zeichen getrennt, ein Doppelpunkt in der gleichen Zeile. Daran
-schließt sich ein beliebiger ELAN-Ausdruck an, der sich in freiem
-Format über beliebig viele Zeilen erstrecken kann und mit einem
-Punkt abgeschlossen werden muß. Dieser ELAN-Ausdruck muß ein
-TEXT-Objekt liefern.
-
-#on("b")#Feldinhalt#off("b")# Für die Abfrage von Inhalten aus einer
-EUDAS-Datei ist der Ausdruck
-
-
- f ("Feldname")
-
-
-vordefiniert. Die Abkürzung des Feldes 'Postleitzahl' würde also als
-Ausschnitt folgendermaßen aussehen:
-
-
- % ABKUERZUNGEN
- &p : f ("Postleitzahl") .
-
-
-Mit dieser Definition kann man im Muster so verfahren, als ob das
-Feld 'Postleitzahl' auch 'p' hieße. Diese einfachste Form der Ab­
-kürzung können Sie natürlich variieren, indem Sie für 'p' und
-'Postleitzahl' Ihre eigenen Namen einsetzen.
-
-#on("b")#Übersetzung#off("b")# Beachten Sie, daß das Druckmuster in ein
-ELAN-Pro­
-gramm umgeformt werden muß, da ELAN-Ausdrücke in ihm vorkom­
-men. Das automatisch erzeugte ELAN-Programm wird dann vom
-ELAN-Compiler übersetzt und ausgeführt. Fehler in den ELAN-Aus­
-drücken im Abkürzungsteil können erst vom ELAN-Compiler ent­
-deckt werden. Dieser kennt jedoch das Druckmuster nicht und mel­
-det die Fehler anhand des generierten Programms. Sie müssen in
-einem solchen Fall aufpassen, daß Sie die Fehlerquelle an der rich­
-tigen Stelle im Druckmuster lokalisieren (Hilfestellungen dazu sind
-im Kapitel über die Übersetzung von Druckmustern zu finden).
-
-#on("b")#Beispiel#off("b")# Um die Verwendung von Abkürzungen zu
-demonstrieren, wollen wir folgendes Druckmuster betrachten:
-
-
- % VORSPANN
- Adressenliste als Beispiel für Abkürzungen
- Stand: &Datum
- ------------------------------------------
- % ABKUERZUNGEN
- &Datum : date .
-
- % WIEDERHOLUNG
- &&l : &Vorname %Name
- &Strasse
- &&p& &Ort
- ------------------------------------------
- % ABKUERZUNGEN
- &l : lfd nr .
- &p : f ("PLZ") .
-
- % NACHSPANN
- &l Adressen gedruckt.
-
-
-Dieses Beispiel enthält eine ganze Reihe interessanter Details. Als
-erstes sollten Sie registrieren, daß auch im Vorspann oder Nach­
-spann Feldmuster verwendet werden können. Soll in diesem Fall ein
-Feldinhalt aus der EUDAS-Datei eingesetzt werden, so werden beim
-Vorspann die Inhalte des ersten und beim Nachspann die Inhalte des
-letzten durch Suchmuster ausgewählten Satzes verwendet. Daher
-kann auch jeder Abschnitt einen Abkürzungsteil haben. Abkürzun­
-gen gelten jedoch für alle Abschnitte (s. '&l'); die Aufteilung in
-mehrere Abkürzungsteile fördert im wesentlichen die Übersichtlich­
-keit.
- Versuchen Sie, an diesem Beispiel die wichtigsten Unterschiede
-zwischen dem #on("i")#Musterteil#off("i")# und dem #on("i")#Abkürzungsteil#off("i")# eines Abschnittes
-zu verstehen. Das Format des Musterteiles soll in die Ausgabe
-übernommen werden; daher ist dort die Stellung jedes Wortes wich­
-tig. Im Abkürzungsteil definieren Sie Abkürzungen ohne bestimm­
-tes Format - mit der einzigen Ausnahme, daß eine Abkürzungs­
-definition mit einem '&' in der ersten Spalte anfangen und ein
-Leerzeichen vor dem Doppelpunkt haben muß. Wie Sie sehen, dürfen
-dort Leerzeilen zur besseren Lesbarkeit eingefügt werden.
-Sie sollten bei unserem Beispiel folgende Ausgabe erhalten:
-
-
- Adressenliste als Beispiel für Abkürzungen
- Stand: 28.12.84
- ------------------------------------------
- 1 : Herbert Wegner
- Krämergasse 12
- 5000 Köln
- ------------------------------------------
- 2 : Helga Sandmann
- Willicher Weg 109
- 5300 Bonn 1
- ------------------------------------------
- 3 : Albert Katani
- Lindenstr. 3
- 5210 Troisdorf
- ------------------------------------------
- 4 : Peter Ulmen
- Mozartstraße 17
- 5 Köln 60
- ------------------------------------------
- 5 : Karin Regmann
- Grengelweg 44
- 5000 Köln 90
- ------------------------------------------
- 6 : Hubert Arken
- Talweg 12
- 5200 Siegburg
- ------------------------------------------
- 7 : Anna-Maria Simmern
- Platanenweg 67
- 5 Köln 3
- ------------------------------------------
- 8 : Angelika Kaufmann-Drescher
- Hauptstr. 123
- 53 Bonn 2
- ------------------------------------------
- 9 : Harald Fuhrmann
- Glockengasse 44
- 5000 Köln 1
- ------------------------------------------
- 10 : Friedrich Seefeld
- Kabelgasse
- 5000 Köln-Ehrenfeld
- ------------------------------------------
- 10 Adressen gedruckt.
-
-
-Nun zu den Abkürzungen im einzelnen. Das Feld 'PLZ' muß abge­
-kürzt werden, damit es rechtsbündig vor den Ort gedruckt werden
-kann. Die Abkürzung 'p' benutzt die im vorigen Kapitel beschriebe­
-ne Form zur Abfrage des Feldinhaltes.
- 'Datum' wird als Abkürzung für das aktuelle Datum definiert,
-ein häufig benötigter Fall. 'date' ist der ELAN-Ausdruck, der das
-Datum liefert. (Bemerkung für ELAN-Programmierer: der Name der
-Abkürzung gehorcht nicht der ELAN-Syntax für Bezeichner).
- Eine für Tabellen sinnvolle Funktion wird bei der Definition
-von 'l' verwendet. Der von EUDAS definierte Ausdruck 'lfd nr' lie­
-fert die laufende Nummer des gerade gedruckten Satzes als Text.
-Dabei ist zu beachten, daß die laufende Nummer nicht mit der Satz­
-nummer übereinstimmt, sondern nur während des Druckvorganges
-von 1 an bei jedem gedruckten Satz hochgezählt wird. Diese Funk­
-tion dient dazu, die Sätze in der Liste durchzunumerieren.
- Die laufende Nummer soll in der Liste rechtsbündig mit Doppel­
-punkt vor dem Namen stehen. Dazu wird das Feldmuster '&&l' be­
-nutzt, eine Form, die eigentlich keinen Sinn hat (die Kombination
-'variable Länge' und 'rechtsbündig' gibt es nicht). Um ein möglichst
-kurzes Feldmuster schreiben zu können, wird in diesem Fall jedoch
-feste Länge unterstellt (auch ohne folgendes '&'). Damit hat das
-kürzeste Feldmuster fester Länge drei Zeichen sowohl im linksbün­
-digen ('&l&') wie auch im rechtsbündigen Fall ('&&l').
-
-#on("b")#Auswertungen#off("b")# Die Verwendung der Abkürzung 'l' im Nachspann
-kann als erstes Beispiel für eine Auswertungsfunktion gelten. Da
-für den Nachspann die Daten des letzten Satzes verwendet werden,
-erscheint hier die laufende Nummer des letzten Satzes und somit die
-Anzahl der Sätze, die gedruckt wurden. Das kann dazu benutzt
-werden, die Sätze zu zählen, die eine bestimmte Suchbedingung
-erfüllen. Folgendes Druckmuster zählt die Anzahl der Frauen oder
-Männer in der Datei:
-
-
- % NACHSPANN
- &l Personen mit dem Geschlecht '%<m/w>' vorhanden.
- % ABKUERZUNGEN
- &l : lfd nr .
-
-
-Wenn Sie vor dem Drucken jetzt die Suchbedingung 'm' für das Feld
-'m/w' einstellen, werden alle Männer ausgewählt. Das Drucken be­
-steht in diesem Fall nur aus dem Hochzählen der laufenden Nummer
-für jeden Mann. Im Nachspann kann das Ergebnis dann ausgegeben
-werden; zugleich soll der aktuelle Wert des Feldes 'm/w' gedruckt
-werden, damit das Druckmuster auch für das Zählen der Frauen
-verwendet werden kann.
- Die beiden möglichen Ausgaben würden dann so aussehen:
-
-
- 6 Personen mit dem Geschlecht 'm' vorhanden.
-
- 4 Personen mit dem Geschlecht 'w' vorhanden.
-
-
-#on("b")#Zusammenfassung#off("b")# Wir können die Erkenntnisse dieses
-Abschnittes wie folgt zusammenfassen:
-
-* Feldmuster können auch im Vorspann und Nachspann verwendet
- werden. Im Vorspann werden die Daten des ersten, im Nachspann
- die Daten des letzten ausgewählten Satzes verwendet.
-
-* Der Musterteil eines Abschnittes definiert ein Format; der Ab­
- kürzungsteil ist formatfrei.
-
-* 'lfd nr' dient zum Durchnumerieren aller gedruckten Sätze.
-
-* Ein rechtsbündiges Feldmuster hat immer auch feste Länge.
-
-#on("b")#Komplexe Abkürzungen#off("b")# Mit Hilfe von Abkürzungen können wir
-jetzt auch bessere Musterbriefe schreiben. Ein Problem, das bereits
-angesprochen wurde, besteht darin, daß in der Anrede je nach Ge­
-schlecht 'Herr' oder 'Frau' stehen soll. Um dieses Problem zu lösen,
-wird der Inhalt des Feldes 'm/w' benötigt.
- Da in einer Abkürzung jede ELAN-Anweisung erlaubt ist, die
-einen Text liefert, können natürlich auch #on("i")#IF-Anweisungen#off("i")# verwen­
-det werden. Mit diesen Informationen können wir jetzt die Abkür­
-zung 'Anrede' definieren:
-
-
- % ABKUERZUNGEN
- &Anrede :
- IF f ("m/w") = "w" THEN
- "Frau"
- ELSE
- "Herr"
- END IF .
-
-
-Für Nicht-Programmierer: Die IF-Anweisung besteht aus einer Ab­
-frage und zwei Alternativen. Die Abfrage steht zwischen dem IF und
-dem THEN und besteht in der Regel aus einer Abfrage, ob zwei
-Dinge gleich oder ungleich (<>), größer oder kleiner sind. Außerdem
-können mehrere Abfragen mit AND (und) und OR (oder) kombiniert
-werden. Näheres dazu im Kapitel 14.
- Die Alternative hinter dem THEN wird ausgewählt, wenn die
-Abfrage zutrifft. An dieser Stelle sind wieder beliebige Ausdrücke
-erlaubt, die einen Text liefern, einschließlich erneuter IF-Anwei­
-sungen (Schachtelung). Die Alternative zwischen ELSE und END IF
-wird ausgewählt, wenn die Abfrage nicht zutrifft.
-
-#on("b")#Textkonstanten#off("b")# Bisher wurden nur ELAN-Funktionen als
-Textlie­
-feranten betrachtet ('date', 'lfd nr', 'f'). In unserem Fall werden
-aber #on("i")#Textkonstanten#off("i")# in den Alternativen der IF-Anweisung benö­
-tigt. Textkonstanten werden in ELAN in Anführungsstriche einge­
-schlossen, die aber nicht zum Text gehören. Innerhalb einer Text­
-konstanten werden Leerzeichen wie alle anderen Zeichen angesehen
-(erscheinen also auch nachher in der Ausgabe).
- Bei solchen Abkürzungen, die längere Anweisungen umfassen,
-sollten Sie das freie Format ausnutzen und eine möglichst über­
-sichtliche Darstellung wählen. Wie Sie sehen, muß nur der Doppel­
-punkt noch in der ersten Zeile stehen, der Rest kann sich beliebig
-auf die folgenden Zeilen erstrecken.
-
-#on("b")#Beispiel#off("b")# Ein typischer Einsatz einer IF-Anweisung für die
-Anrede sieht so aus:
-
-
- % WIEDERHOLUNG
-
- Sehr geehrte&Anrede %<Name>!
-
- ...
- % ABKUERZUNGEN
- &Anrede :
- IF f ("m/w") = "m" THEN
- "r Herr"
- ELSE
- " Frau"
- END IF .
-
-
-Sie sollten jetzt diese Konstruktion in einen Musterbrief einfügen
-können. Probieren Sie ihn dann als Beispiel aus !
-
-#on("b")#Weitere Möglichkeiten#off("b")# Durch Verwendung von Abkürzungen ist
-es
-auch möglich, rechtsbündige Felder mit einer Länge von weniger als
-3 Zeichen zu simulieren. Dies geschieht mit Hilfe der Textoperatio­
-nen von ELAN. Ohne ELAN-Vorkenntnisse können Sie dieses Bei­
-spiel überlesen. In unserer Liste im obigen Beispiel sind die laufen­
-den Nummern höchstens zweistellig und sollten deshalb auch nur
-zwei Stellen belegen. Dies würde folgende Abkürzung ermöglichen:
-
-
- % ABKUERZUNGEN
- &l : text (lfd nr als zahl, 2) .
- lfd nr als zahl : int (lfd nr) .
-
-
-Die Prozedur 'text' wird dazu benutzt, eine Zahl rechtsbündig auf
-zwei Stellen zu formatieren (s. EUMEL-Benutzerhandbuch). Da die
-Abkürzung immer eine Länge von zwei Zeichen hat, kann sie auch in
-einem Feldmuster variabler Länge eingesetzt werden. Die Attribute
-'feste Länge' und 'rechtsbündig' werden in diesem Fall also nicht
-durch das Feldmuster, sondern durch die Abkürzung selbst erzeugt.
- Um die Prozedur 'text' anwenden zu können, muß die laufende
-Nummer als Zahl (sprich: INT-Objekt) vorliegen. Diese Umwandlung
-wird mit der Prozedur 'int' vorgenommen, die einen Text in eine
-Zahl umwandelt. Obwohl man 'int (lfd nr)' direkt in den Aufruf von
-'text' hätte schreiben können, wird hier als Demonstration dafür ein
-Refinement verwendet.
- Refinements können in einem Abkürzungsteil neben Abkürzun­
-gen stehen und von allen Abkürzungen benutzt werden. Sie werden
-ähnlich geschrieben wie Abkürzungen, nur ihr Name muß in Klein­
-buchstaben geschrieben werden, dafür muß er nicht in der ersten
-Spalte anfangen und kann Leerzeichen enthalten. Bei komplizierte­
-ren Ausdrücken sollten Refinements zur besseren Lesbarkeit einge­
-setzt werden.
- Sie können die IF-Anweisung auch mit beliebig vielen ELIF-
-Teilen versehen. Achten Sie jedoch darauf, daß die IF-Anweisung
-#on("i")#immer#off("i")# irgendeinen Wert liefern muß. Sie dürfen also den ELSE-Teil
-nicht weglassen. Statt einer IF-Anweisung können Sie natürlich
-auch eine SELECT-Anweisung verwenden. Es stehen Ihnen im Prin­
-zip alle werteliefernden Anweisungen von ELAN zur Verfügung.
- Die Programmiersprache ELAN bietet Ihnen noch weit mehr
-Möglichkeiten, als hier beschrieben werden können. So können Sie
-sich eigene Prozeduren definieren und diese dann in Abkürzungen
-verwenden. In Kapitel 14 und 15 finden Sie eine Einführung in die
-wichtigsten Konstrukte, die für EUDAS gebraucht werden.
-
-
-13.2 Bedingte Musterteile
-
-Wenn größere Teile des Druckmusters in Abhängigkeit von bestimm­
-ten Daten unterschiedlich ausfallen sollen, werden die dazu benö­
-tigten Abkürzungen sehr umfangreich. Für solche Fälle kann man
-IF-Anweisungen auch im Musterteil eines Abschnitts verwenden. In
-diesem Fall werden die Alternativen der IF-Anweisung durch
-Musterzeilen dargestellt.
- Im Musterteil müssen jedoch die Zeilen, die Teil der IF-An­
-weisung sind, von den Musterzeilen unterschieden werden. Deshalb
-werden die Anweisungszeilen durch ein '%'-Zeichen in der ersten
-#on("i")#und#off("i")# zweiten Spalte gekennzeichnet. Das zweite '%'-Zeichen dient
-zur Unterscheidung von Anweisungen an den Druckgenerator, die
-nicht an den ELAN-Compiler übergeben werden sollen.
- Mit einer IF-Anweisung im Musterteil kann man das Anredepro­
-blem auch folgendermaßen lösen:
-
-
- % WIEDERHOLUNG
- %% IF f ("m/w") = "w" THEN
- Sehr geehrte Frau &<Name>!
- %% ELSE
- Sehr geehrter Herr &<Name>!
- %% END IF;
-
-
-Beachten Sie den Unterschied, daß die IF-Anweisung hier mit einem
-Semikolon abgeschlossen werden muß - in Abkürzungen mußte ja ein
-Punkt danach folgen. Außerdem darf hier der ELSE-Teil (die zweite
-Alternative) fehlen, während in einer Abkürzung in jeder Alternati­
-ve etwas stehen muß (zumindest der leere Text "").
- Falls sich der IF-THEN-Teil über mehr als eine Zeile erstrek­
-ken soll, muß jede dieser Zeilen mit '%%' beginnen, da die Folgezei­
-len sonst als Musterzeilen gedruckt würden. Benutzen Sie in einem
-solchen Fall jedoch besser ein Refinement, das Sie im Abkürzungs­
-teil definieren müssen.
- Sie können im Musterteil auch andere ELAN-Anweisungen
-verwenden. Der Unterschied zu Abkürzungen liegt darin, daß die
-Musterzeilen nicht als Werte angesehen werden, die die Anweisung
-liefern muß, sondern als Anweisungen, die dort aufgeführten Mu­
-sterzeilen einzusetzen und zu drucken. Daher kann im Musterteil
-auch eine FOR-Schleife sinnvoll sein, wenn in Abhängigkeit eines
-Wertes eine bestimmte Anzahl von Zeilen gedruckt werden soll.
-
-
-13.3 Übersetzung
-
-Wenn Sie bis jetzt auch als ELAN-Programmierer immer noch nicht
-ganz durchblicken, wie Sie welche ELAN-Anweisungen verwenden
-können, dann ist das noch kein Anlaß zur Sorge. Es ist kaum mög­
-lich, die genauen Auswirkungen beliebiger Anweisungen zu be­
-schreiben, ohne den Übersetzungsprozeß zu schildern, der diese
-Anweisungen zu einem ELAN-Programm zusammenbindet. Daher soll
-diese Übersetzung jetzt genauer erklärt werden.
-
-#on("b")#Übersetzungsmechanismus#off("b")# Alle Zeilen eines Abkürzungsteils
-wer­
-den direkt in das Programm übernommen, wobei der Name einer Ab­
-kürzung durch einen beliebig gewählten Refinementnamen ersetzt
-wird ('abk' + eine laufende Nummer). Alle Abkürzungen und Re­
-finements werden als globale Refinements definiert, also außerhalb
-von Prozeduren. Dadurch wird erreicht, daß sie an jeder Stelle
-verwendet werden können.
- Damit eine Abkürzung richtig als Refinement übersetzt wird,
-muß sie ein TEXT-Objekt als Wert liefern. Die anderen Refinements
-sind beliebig, da Sie nur in selbstdefinierten Anweisungen verwen­
-det werden. Die Refinements der Abkürzungen werden in einer Zu­
-weisung an eine TEXT-Variable verwendet, damit der Druckgenera­
-tor auf den entsprechenden Wert zugreifen kann.
- Jeder Abschnitt wird dagegen als eine Prozedur übersetzt. Jede
-Folge von Musterzeilen wird in eine Anweisung übersetzt, diese
-Musterzeilen einzusetzen und zu drucken. Jede '%%'-Anweisung
-wird einfach unverändert dazwischen geschrieben. Die Vorspann-
-Prozedur wird einmal zu Anfang aufgerufen, die Prozedur für den
-Wiederholungsteil einmal für jeden ausgewählten Satz und die Nach­
-spann-Prozedur einmal am Schluß.
- Bei Fehlern im ELAN-Teil zeigt der Compiler das erzeugte Pro­
-gramm zusammen mit seinen Fehlermeldungen im Paralleleditor. Sie
-müssen nun die Fehlermeldung lokalisieren und anhand der eben
-gegebenen Hinweise in das ursprüngliche Druckmuster zurücküber­
-setzen, damit Sie dort den Fehler korrigieren können.
-
-#on("b")#Beispiel#off("b")# Nun müßten Sie genug Informationen haben, um
-beliebige
-ELAN-Anweisungen in das Druckmuster einfügen zu können. Als
-Beispiel wollen wir versuchen, alle Männer und Frauen in der
-Adressendatei zu zählen, ohne ein Suchmuster einstellen zu müssen
-und ohne den Druckvorgang zweimal ablaufen zu lassen (wie dies
-bei dem obigen Beispiel der Fall war). Ein erster Versuch könnte so
-aussehen:
-
-
- % VORSPANN
- %% INT VAR maenner, frauen;
- %% maenner := 0;
- %% frauen := 0;
- % WIEDERHOLUNG
- %% IF f ("m/w") = "m" THEN
- %% maenner INCR 1
- %% ELSE
- %% frauen INCR 1
- %% END IF
- % NACHSPANN
- &maenner Männer und %frauen Frauen vorhanden.
-
-
-Aber Vorsicht! In diesem Beispiel sind mehrere Fehler eingebaut.
-Finden Sie sie!
-
-#on("b")#Fehler im Beispiel#off("b")# Der erste Fehler befindet sich im
-Nachspann.
-Hier wird versucht, die Namen der beiden Variablen 'maenner' und
-'frauen' direkt in einem Feldmuster zu verwenden. Diese beiden
-Namen sind dem Druckgenerator nicht bekannt, sondern nur dem
-ELAN-Compiler. Um die Werte der beiden Variablen einsetzen zu
-können, müssen Sie also zwei geeignete Abkürzungen definieren.
- Der zweite Fehler ist schwieriger zu finden. Wie oben gesagt,
-wird jeder Abschnitt in eine Prozedur übersetzt. Die in einem Ab­
-schnitt definierten Variablen können also nur in diesem Abschnitt
-verwendet werden (sie sind lokal) und auch nicht im Abkürzungs­
-teil, da dieser wieder global vereinbart wird. Die beiden im Vor­
-spann definierten Variablen stehen also im Wiederholungsteil und im
-Nachspann nicht zur Verfügung.
-
-#on("b")#Anweisungen im Initialisierungsteil#off("b")# Für diesen Fall gibt
-es die
-Möglichkeit, ELAN-Anweisungen vor allen Abschnitten im Initiali­
-sierungsteil zu definieren. Diese Anweisungen sind dann ebenfalls
-global. Das richtige Druckmuster finden Sie auf der nächsten Seite.
- Natürlich könnten Sie die Initialisierung der beiden Variablen
-auch noch aus dem Vorspann herausnehmen. Denken Sie daran, daß
-Sie aus INT-Variablen erst einen Text machen müssen, ehe Sie sie
-in eine Musterzeile einsetzen können. Beachten Sie Schreibweise der
-Variablen: in ELAN können die Umlaute nicht in Bezeichnern ver­
-wendet werden, daher muß die Variable mit 'ae' geschrieben wer­
-den. Im Mustertext und in Abkürzungs- und Feldnamen können die
-Umlaute jedoch frei verwendet werden.
-
-
- %% INT VAR maenner, frauen;
- % VORSPANN
- %% maenner := 0;
- %% frauen := 0;
- % WIEDERHOLUNG
- %% IF f ("m/w") = "m" THEN
- %% maenner INCR 1
- %% ELSE
- %% frauen INCR 1
- %% END IF
- % NACHSPANN
- &m Männer und %f Frauen vorhanden .
- % ABKUERZUNGEN
- &m : text (maenner) .
- &f : text (frauen) .
-
-
-
-13.4 Gruppen
-
-Der Druckgenerator bietet die Möglichkeit, Vorspann und Nachspann
-nicht nur am Anfang und am Ende, sondern auch an bestimmten
-Stellen zwischen Sätzen zu drucken. Diese Stellen sind dadurch
-bestimmt, daß ein bestimmtes Merkmal (z.B. ein Feldinhalt) seinen
-Wert ändert. Ein solches Merkmal wird im Druckmuster #on("i")#Gruppe#off("i")# ge­
-nannt.
- Ein Beispiel für die Verwendung von Gruppen ist eine Schüler­
-datei, die nach Klassen geordnet ist. Definiert man das Feld 'Klas­
-se' als Gruppe, so wird jeweils am Ende einer Klasse ein Nachspann
-und am Beginn einer Klasse ein Vorspann gedruckt.
- Dieses Verfahren ist eine Erweiterung der bisher beschriebenen
-Methode, indem eine Datei quasi in mehrere Dateien untergliedert
-wird, die jedoch in einem Arbeitsgang gedruckt werden können.
-Voraussetzung dafür ist jedoch, daß die Datei nach dem Gruppen­
-merkmal geordnet ist - der Druckgenerator sammelt nicht erst alle
-Schüler einer Klasse aus der Datei, sondern erwartet sie hinter­
-einander.
-
-#on("b")#Gruppendefinition#off("b")# Eine Gruppe wird im Initialisierungsteil
-des
-Druckmusters (also vor allen Abschnitten) definiert. Notwendige
-Daten sind eine Nummer zur Identifizierung und das Merkmal. Die
-Nummer sollte am sinnvollsten von 1 an vergeben werden; die mög­
-lichen Werte sind nach oben hin beschränkt. Das Merkmal ist ein
-beliebiger ELAN-Ausdruck, der einen Text liefert. Sinnvollerweise
-wird er den Inhalt eines Feldes enthalten.
- Gruppendefinitionen müssen nach allen ELAN-Anweisungen im
-Initialisierungsteil folgen, und zwar, weil die Gruppendefinitionen
-alle in einer Prozedur zusammengefaßt werden, die bei jedem neuen
-Satz auf Gruppenwechsel testet.
- Unter der Annahme, daß die oben erwähnte Schülerdatei ein
-Feld 'Klasse' besitzt, würde die Gruppe wie folgt definiert:
-
-
- % GRUPPE 1 f ("Klasse")
-
-
-Nach der Anweisung 'GRUPPE' folgt die Gruppennummer und dann
-ein ELAN-Ausdruck. Die ganze Definition muß in einer Zeile stehen;
-reicht der Platz nicht aus, müssen Sie in einem Abkürzungsteil ein
-Refinement definieren.
-
-#on("b")#Klassenliste#off("b")# Das komplette Druckmuster für die
-Klassenliste könn­
-te folgendes Aussehen haben, wenn außer 'Klasse' auch noch die
-Felder 'Name' und 'Vorname' vorhanden sind:
-
-
- % GRUPPE 1 f ("Klasse")
- % VORSPANN
- Klassenliste für Klasse &Klasse
- ----------------------------
- % WIEDERHOLUNG
- &Vorname %Name
- % NACHSPANN
- \#page\#
-
-
-Wenn eine Gruppe definiert ist, werden im Nachspann immer die
-Feldinhalte des letzten Satzes vor dem Gruppenwechsel gedruckt, im
-Vorspann die Inhalte des ersten Satzes nach dem Wechsel. Daher
-kann hier im Vorspann die Klasse gedruckt werden, da sie sich erst
-ändert, wenn schon wieder der nächste Vorspann gedruckt wird.
-
-#on("b")#Mehrere Gruppen#off("b")# Wie die Identifikation über eine
-Gruppennummer
-vermuten läßt, können Sie mehrere Gruppen definieren. Nachspann
-und Vorspann werden jeweils gedruckt, wenn sich das Merkmal ir­
-gendeiner Gruppe ändert. Ob eine bestimmte Gruppe gewechselt hat,
-kann mit der Abfrage
-
-
- BOOL PROC gruppenwechsel (INT CONST gruppennummer)
-
-
-in einer IF-Anweisung ermittelt werden. Vor dem ersten und nach
-dem letzten Satz wechseln automatisch alle Gruppen.
- Die ganze Datei bildet eine Quasi-Gruppe mit der Nummer 0.
-Sie ist immer definiert und wechselt nur vor dem ersten und nach
-dem letzten Satz. Sie ist es, die bewirkt, daß Vorspann und Nach­
-spann in ihrer normalen Weise gedruckt werden.
-
-#on("b")#Anwendungsbeispiel#off("b")# Um einige der Möglichkeiten zu
-illustrieren,
-die durch Gruppen geschaffen werden, wollen wir als Beispiel eine
-Anwendung betrachten, die neue Wege für die Benutzung von EUDAS
-aufzeigt.
- Aus einer Datei, in der für jede Bestellung der Kunde, der Ar­
-tikel, die bestellte Menge und der Einzelpreis des Artikels einge­
-tragen werden, sollen anschließend Rechnungen gedruckt werden.
-Die Datei soll folgende Felder haben:
-
-
- 'Kundennummer'
- 'Artikelnummer'
- 'Einzelpreis'
- 'Menge'
-
-
-Als Voraussetzung müssen die Bestellungen in der Datei jeweils
-nach Kunden geordnet vorliegen. Die Kundennummer wird als Gruppe
-definiert, so daß die Bestellungen eines Kunden zu einer Rechnung
-zusammengefaßt werden können. Das Druckmuster rechnet dann die
-einzelnen Preise zusammen und gibt eine Endsumme aus.
- Damit in der Rechnung Name und Adresse des Kunden auftau­
-chen können, wird zu der Bestellungsdatei die Kundendatei gekop­
-pelt, die folgende Felder haben soll:
-
-
- 'Kundennummer'
- 'Name'
- 'Vorname'
- 'Strasse'
- 'PLZ'
- 'Ort'
-
-
-Stellen Sie sich zum Ausprobieren des folgenden Druckmusters ge­
-gebenenfalls eigene Daten zusammen. Hier nun das Druckmuster:
-
-
- %% REAL VAR gesamtpreis, summe;
- % GRUPPE 1 f ("Kundennummer")
- % VORSPANN
- %% summe := 0.0;
- Fa. Kraus & Sohn
- Schotterstr. 10
-
- 5000 Köln 1
- &Vorname %Name
- &Strasse
-
- &PLZ &Ort &Datum
-
- R E C H N U N G
- ===============
-
- Menge Artikelnr. Einzelpreis Gesamtpreis
- ------------------------------------------------
- % ABKUERZUNGEN
- &Datum : date .
-
- % WIEDERHOLUNG
- %% gesamtpreis := round
- %% (wert ("Einzelpreis") * wert ("Menge"), 2);
- %% summe INCR gesamtpreis;
- &Menge &Artikelnummer &&&&epr&& &&&&gpr&&
- % ABKUERZUNGEN
- &epr : f ("Einzelpreis") .
- &gpr : zahltext (gesamtpreis, 2) .
-
- % NACHSPANN
- ------------------------------------------------
- Summe: &&&&sum&&
- + 14% MWSt. &&&Mwst&&
- =========
- Endbetrag &&&&end&&
- \#page\#
- % ABKUERZUNGEN
- &sum : zahltext (summe, 2) .
- &Mwst : zahltext (mwst, 2) .
- &end : zahltext (summe + mwst, 2) .
- mwst : round (summe * 0.14, 2) .
-
-
-Im Initialisierungsteil dieses Druckmusters wird die Kundennummer
-als Gruppe definiert. Dies hat zur Folge, daß für jeden neuen Kun­
-den eine neue Rechnung begonnen wird, nachdem vorher im Nach­
-spann die Rechnungssumme des vorherigen Kunden berechnet und
-ausgedruckt wurde. Vor dieser Gruppendefinition sind 'gesamtpreis'
-und 'summe' definiert, die später als globale Variablen zur Verfü­
-gung stehen sollen. Diese Zeile darf nicht nach der Gruppendefini­
-tion stehen.
- Im Vorspann wird der Kopf der Rechnung angegeben. Dieser
-enthält neben den Daten des Kunden (aus der gekoppelten Kun­
-dendatei) noch das Datum. Die Kundennummer wird nur zum Kop­
-peln und als Gruppenmerkmal benötigt, erscheint also nicht auf der
-Rechnung.
- Es fällt auf, daß im Firmennamen ein '&'-Zeichen auftaucht,
-das doch für die Markierung von Feldmustern reserviert ist. Die
-beiden Musterzeichen können jedoch im normalen Text auftauchen,
-wenn ihnen direkt ein Leerzeichen folgt. In diesem Fall werden Sie
-nicht als Beginn eines Feldmusters interpretiert, sondern unverän­
-dert gedruckt. Der gleiche Fall taucht noch mit '%' im Nachspann
-auf.
- Im Wiederholungsteil wird zunächst aus dem Einzelpreis und der
-Menge des jeweiligen Artikels der Gesamtpreis für diesen Artikel
-berechnet. Für die Abfrage der Feldinhalte wird die Funktion 'wert'
-verwendet, die wie 'f' funktioniert, jedoch gleich einen REAL-Wert
-liefert.
- Zu beachten ist, daß 'wert' wie beim Sortieren von Zahl alle
-Sonderzeichen ignoriert. Weiterhin müssen die Zahlen mit dem ein­
-gestellten Dezimalkomma geschrieben werden (also normalerweise
-mit Komma), damit ihr Wert richtig erkannt wird. Anderenfalls soll­
-ten Sie den Dezimalpunkt einstellen (s. 11.1).
- Damit kaufmännisch richtig gerechnet wird, wird der Gesamt­
-preis auf 2 Nachkommastellen gerundet und erst dann aufsummiert.
-Würde der Gesamtpreis nur zum Einsetzen gerundet, könnten bei der
-anschließenden Addition der nicht gerundeten Werte eine falsche
-Gesamtsumme entstehen.
- Erst nach diesen Berechnungen kann die Musterzeile folgen, in
-die die Werte dann eingesetzt werden. Um eine Ausgabe mit zwei
-Nachkommastellen zu erzeugen, wird die von EUDAS definierte
-Funktion 'zahltext' benutzt. Diese erzeugt aus einem REAL-Wert
-einen Text mit der angegebenen Anzahl von Kommastellen und setzt
-das korrekte Dezimalkomma ein. Das Ergebnis dieser Funktion wird
-dann rechtsbündig eingesetzt.
- Im Nachspann wird dann der summierte Wert mit aufgeschlage­
-ner Mehrwertsteuer gedruckt. Die Mehrwertsteuer muß ebenfalls auf
-zwei Nachkommastellen gerundet werden.
-
-#on("b")#Erweiterung#off("b")# Zur Erweiterung könnten Sie die Bestelldatei
-noch mit
-einer Artikeldatei koppeln, die etwa folgende Struktur haben würde:
-
-
- 'Artikelnummer'
- 'Bezeichnung'
- 'Einzelpreis'
-
-
-In diesem Fall könnten Sie noch jeweils die Artikelbezeichnung in
-eine Rechnungszeile drucken. Außerdem würde der Preis zentral
-gespeichert. Eine entsprechende Änderung des Druckmusters sollte
-Ihnen keine Schwierigkeiten bereiten.
-
-
-
diff --git a/doc/eudas/eudas.hdb.14 b/doc/eudas/eudas.hdb.14
deleted file mode 100644
index 1aa3c87..0000000
--- a/doc/eudas/eudas.hdb.14
+++ /dev/null
@@ -1,724 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (151)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-14 Ausdrücke in ELAN
-
-
-
-14.1 Was sind Ausdrücke ?
-
-In diesem Kapitel wollen wir uns mit ELAN-Ausdrücken beschäfti­
-gen, wie sie für EUDAS gebraucht werden. Natürlich kann dies keine
-ernsthafte Einführung für ELAN-Programmierer sein - mit solchen
-Ambitionen halten Sie sich am besten an die entsprechende ELAN-
-Literatur.
- Dieser Text richtet sich eher an den Benutzer, der kaum Erfah­
-rung mit ELAN hat, aber die Möglichkeiten von EUDAS optimal nut­
-zen will. Viele fortgeschrittene Fähigkeiten von EUDAS laufen ja
-über ELAN-Programme.
-
-#on("b")#Vorkommen#off("b")# Sie haben ELAN-Ausdrücke bereits an
-verschiedenen
-Stellen eingesetzt, wenn Sie sich mit den vorhergehenden Kapiteln
-befaßt haben. ELAN-Ausdrücke werden in nahezu allen Verarbei­
-tungsfunktionen benötigt.
- Im Druckmuster dienen sie dazu, den Inhalt eines Feldmusters
-festzulegen. Die Definition einer Abkürzung besteht immer aus dem
-Namen der Abkürzung und einem Ausdruck. Ebenso wird in einer
-Gruppendefinition ein Ausdruck angegeben.
- Beim Kopiermuster und beim Änderungsmuster besteht jeweils
-die rechte Seite einer Anweisung aus einem Ausdruck. Weiterhin
-werden Ausdrücke auch in anderen ELAN-Konstruktionen benötigt,
-wie zum Beispiel direkt am Anfang einer IF-Anweisung.
-
-#on("b")#Bedeutung#off("b")# Ein Ausdruck steht allgemein für einen Wert. Im
-ein­
-fachsten Fall kann dies eine Konstante sein, der Wert des Aus­
-drucks ändert sich also nicht. Anderenfalls spricht man von einem
-zusammengesetzten Ausdruck. Dessen Wert ergibt sich dann durch
-die Ausführung der im Ausdruck angegebenen Operationen. Dieser
-Wert kann je nach dem aktuellen Zustand des Systems verschieden
-sein, da er jedes Mal neu berechnet wird, wenn er gebraucht wird.
- Ein Beispiel für einen zusammengesetzten Ausdruck ist 2+2
-Dieser Ausdruck steht für den Wert 4.
- Der Wert eines Ausdrucks ist das, was uns eigentlich interes­
-siert. Beim Druckvorgang wird dieser Wert dann gedruckt, beim
-Kopieren und Verändern in ein Feld eingetragen.
-
-#on("b")#Zusammensetzung#off("b")# Ausdrücke lassen sich aus verschiedenen
-Ele­
-menten zusammensetzen. Grundlage bilden die Konstanten. Konstan­
-ten können durch #on("i")#Operatoren#off("i")# miteinander verknüpft werden. So ist
-in dem Ausdruck 2+3 das '+' ein Operator, der die Konstanten 2
-und 3 verknüpft. Das Ergebnis der Verknüpfung hängt natürlich vom
-jeweiligen Operator ab.
- Wie Sie schon in der Schule gelernt haben ("Punktrechnung vor
-Strichrechnung"), muß man die Reihenfolge der Operatoren festlegen,
-wenn mehrere Operatoren im Spiel sind. Ähnliche Regeln gibt es für
-alle Operatoren in ELAN.
- Wenn eine andere Reihenfolge der Operatoren erwünscht ist,
-können Sie diese durch Einsatz von Klammern verändern. Auch dies
-dürfte Ihnen aus der Schule noch in Erinnerung sein. Der Unter­
-schied in ELAN ist lediglich, daß es dort einige zusätzliche Opera­
-toren gibt, die Ihnen nicht aus der Mathematik vertraut sind.
- Ein weiteres Konstruktionselement von Ausdrücken sind #on("i")#Funk­
-tionen#off("i")#. Auch diese kennen Sie aus der Schule. Lediglich die
-Schreibweise muß für den "dummen" Computer etwas ausführlicher
-gehalten werden (Beispiel: sin (3.14 * x)).
- Die Argumente der Funktion hinter dem Funktionsnamen müssen
-auf jeden Fall in Klammern stehen. In der Terminologie der Pro­
-grammiersprachen spricht man von #on("i")#Parametern#off("i")#. Parameter können
-wieder komplexe Ausdrücke sein. Bei Funktionen mit mehreren
-Parametern werden diese durch Komma getrennt:
-
-
- min (2.5 * x, x + 1.25)
-
-
-
-14.2 Datentypen
-
-Bevor wir beginnen, konkrete Ausdrücke zu behandeln, müssen wir
-erst das Konzept der #on("i")#Datentypen#off("i")# einführen. Grundidee dabei ist,
-daß es verschiedene Klassen von Werten gibt, die nicht einfach
-untereinander gemischt werden können.
- So gibt es in ELAN einen grundlegenden Unterschied zwischen
-#on("i")#Zahlen#off("i")# und #on("i")#Texten#off("i")#. Texte bestehen aus einer beliebigen Aneinan­
-derreihung von Zeichen, die im Normalfall nur für den betrachten­
-den Menschen eine Bedeutung haben. Mit Zahlen kann man dagegen
-Berechnungen anstellen.
- Der tiefere Grund für die Trennung in verschiedene Typen ist
-also, daß für jeden Typ gewisse Operationen definiert snd, die nur
-für diesen Typ sinnvoll sind. So ist zum Beispiel die Addition der
-beiden Texte "abc" und "-/-" völlig sinnlos.
- Aber nicht nur die Operationen sind verschieden, sondern auch
-die interne Darstellung im Rechner. So werden der Text "1234" und
-die Zahl 1234 völlig anders gespeichert, obwohl man ihnen die glei­
-che Bedeutung beimessen könnte.
-
-#on("b")#Grundtypen#off("b")# In ELAN gibt es vier verschiedene Grundtypen,
-die für
-uns wichtig sind. Sie können sich in ELAN auch eigene Typen
-schaffen, dies geht jedoch weit über unsere Bedürfnisse hinaus.
- Der in EUDAS am meisten verwendete Typ heißt #on("i")#TEXT#off("i")#. TEXT-
-Objekte bestehen aus einer Folge von 0 bis 32000 Zeichen. Die Zei­
-chen entstammen einem Satz von 256 verschiedenen Symbolen, die
-jeweils eine andere Darstellung haben. Einige der Zeichen lassen
-sich überhaupt nicht darstellen, sondern führen bestimmte Funktio­
-nen aus (zum Beispiel Bildschirm löschen).
- Sämtliche Feldinhalte einer EUDAS-Datei sind TEXTe, ebenso
-die Zeilen von Textdateien. Auch Datei- und Feldnamen sind
-TEXTe. Von daher besteht eigentlich kein Grund, warum Sie sich
-außer zur Programmierung noch mit anderen Datentypen beschäfti­
-gen sollten.
- Neben den Texten gibt es noch die Zahlen. Diese sind in ihrer
-internen Darstellung so beschaffen, daß ein effizientes Rechnen mit
-ihnen möglich ist. Andererseits können sie nicht mehr beliebige
-Informationen darstellen, sondern haben eine sehr eingeschränkte
-Bedeutung.
- Um unterschiedichen Bedürfnissen gerecht zu werden, gibt es in
-ELAN zwei verschiedene Zahltypen. Der Typ #on("i")#INT#off("i")# umfaßt nur ganze
-Zahlen ohne Kommastellen. Damit die Zahl möglichst wenig Spei­
-cherplatz belegt, ist der Wertebereich bei den meisten Rechnern auf
--32768..32767 beschränkt (die krummen Zahlen ergeben sich wegen
-der Binärarithmetik des Rechners). Dieser Typ eignet sich am besten
-zum Abzählen und zum Auswählen aus einer festen Anzahl von
-Objekten (zum Beispiel Feld 1 bis Feld 255).
- Zum eigentlichen Rechnen gibt es den Typ #on("i")#REAL#off("i")#. Dieser umfaßt
-auch Kommazahlen. Genauigkeit, Wertebereich und Darstellung sind
-nahezu identisch mit den Möglichkeiten eines Taschenrechners. der
-Typ REAL wird immer dann verwendet, wenn mit realen Größen
-(Geldbeträge, physikalische Werte) gerechnet werden muß.
- Zuletzt gibt es noch den Typ #on("i")#BOOL#off("i")#. Er hat nur zwei mögliche
-Werte, nämlich TRUE (wahr) und FALSE (falsch). Er wird dazu benö­
-tigt, Ausdrücke zu schreiben, die den Zweig einer IF-Anweisung
-bestimmen.
-
-#on("b")#Denotation#off("b")# ELAN verfügt über einen strengen Typenschutz;
-das
-heißt, Objekte verschiedenen Typs dürfen nicht gemischt werden.
-Daher muß schon bei der Schreibweise der Konstanten festgelegt
-sein, welchen Typ die Konstante hat.
- Bei Texten geschieht dies durch den Einschluß in Anführungs­
-striche. Die Anführungsstriche sorgen gleichzeitig auch für eine
-Abgrenzung der Zeichen des Textes und des umgebenden Programms.
-Sie kennen diese Schreibweise bereits von vielen Stellen in EUDAS.
- Ebenfalls keine Probleme bereitet der Typ BOOL, da die
-Schreibweise der beiden möglichen Werte TRUE und FALSE eindeutig
-ist.
- Problematisch wird es bei den Zahlen. Da die ganzen Zahlen in
-den rationalen Zahlen enthalten sind, muß für die ganzen Zahlen
-durch die Schreibweise festgelegt werden, zu welchem der beiden
-Typen sie gehören. Man hat festgelegt, daß REAL-Zahlen immer mit
-Komma geschrieben werden müssen, während Zahlen ohne Komma den
-Typ INT haben (das Komma wird in ELAN bei den REAL-Zahlen in
-internationaler Schreibweise als Punkt notiert).
- So ist 4 eine INT-Zahl, während 4.0 den Typ REAL besitzt.
-Denken Sie in Zukunft immer daran, welcher Zahltyp jeweils ver­
-langt wird und richten Sie die Schreibweise danach.
-
-#on("b")#Unterschied zu Feldtypen#off("b")# Verwechseln Sie die hier
-vorgestellten
-Datentypen nicht mit den Feldtypen einer EUDAS-Datei. Die Feld­
-typen beziehen sich immer auf den gleichen Datentyp, nämlich
-TEXT. Die Feldtypen bestimmen lediglich die spezielle Behandlung
-des Feldes beim Suchen und Sortieren, während Datentypen tat­
-sächlich Unterschiede in der Speicherung und den anwendbaren
-Operationen bedeuten.
- Daher können Sie Feldtypen auch nach Bedarf ändern, während
-der Datentyp eines Objekts ein für alle Mal feststeht. Merken Sie
-sich, daß Feldinhalte in EUDAS immer den Typ TEXT haben.
-
-#on("b")#Umwandlungen#off("b")# Obwohl verschiedene Datentypen nicht
-miteinander
-gemischt werden dürfen, können sie mit speziellen Funktionen in­
-einander umgewandelt werden. So ist zum Beispiel die Addition von
-1 und 1.5 verboten, aber der folgende Ausdruck
-
-
- real (1) + 1.5
-
-
-liefert den Wert 2.5 mit dem Typ REAL. Umgekehrt geht die Um­
-wandlung mit der Funktion 'int', dabei werden jedoch die Nachkom­
-mastellen abgeschnitten. Weitere Hinweise dazu erhalten Sie im
-Abschnitt 14.4.
- Wichtiger jedoch ist die Umwandlung von Zahlen in TEXT-Ob­
-jekte. Was Sie auf Ihrem Bildschirm oder Ausdruck sehen, sind ja
-immer nur Zeichenfolgen und damit Texte. Zahlen (INT oder REAL)
-in ihrer internen Darstellung können Sie prinzipiell nicht sehen. Sie
-müssen zur Darstellung immer in Texte umgewandelt werden.
- Auch beim Rechnen mit Werten aus EUDAS-Dateien müssen
-mehrere Umwandlungen stattfinden. Der Feldinhalt, der ja ein TEXT
-ist, muß zunächst in eine Zahl umgewandelt werden. Dann wird mit
-dieser Zahl gerechnet. Wenn das Ergebnis wieder in ein Feld einge­
-tragen oder gedruckt werden soll, muß eine Rückumwandlung in
-einen Text vorgenommen werden.
- Die zum Umwandeln benötigten Funktionen werden ebenfalls im
-Abschnitt 14.4 besprochen.
-
-#on("b")#Funktionsbeschreibung#off("b")# In den zwei folgenden Abschnitten
-sollen
-die wichtigsten Funktionen und Operatoren anhand von Beispielen
-beschrieben werden. Da jede Funktion nur auf bestimmte Datentypen
-angewendet werden kann, gibt es eine Notation, die genau die Form
-eines Funktionsaufrufs festlegt.
-
-
- INT PROC min (INT CONST a, b)
-
-
-Die obige Schreibweise hat folgende Bedeutung: Spezifiziert wird die
-Funktion 'min', die als Ergebnis einen INT-Wert liefert (das INT
-ganz links). Die Bezeichnung PROC gibt an, daß es sich um eine
-Funktion handelt. In Klammern ist dann angegeben, welche Parame­
-ter verwendet werden müssen. Die Funktion hat zwei Parameter,
-beide vom Typ INT. Die Bezeichnung CONST gibt an, daß auch Kon­
-stanten verwendet werden dürfen (Normalfall).
- Zu beachten ist, daß bei jedem Aufruf beide Parameter vorhan­
-den und vom Typ INT sein müssen. Anderenfalls gibt es eine Feh­
-lermeldung.
- Die gleiche Schreibweise wird auch zur Spezifikation von Ope­
-ratoren verwendet:
-
-
- INT OP + (INT CONST a, b)
-
-
-Jedoch dürfen Operatoren nicht mit Parametern in Klammern ge­
-schrieben werden, sondern der Operator wird zwischen die Parameter
-geschrieben.
- Eine Besonderheit von ELAN ist es, daß es verschiedene Opera­
-toren und Funktionen mit gleichem Namen geben kann. Die Funktio­
-nen werden nur unterschieden nach dem Typ ihrer Parameter. So
-gibt es nicht nur den oben genannten Operator '+', sondern auch
-den folgenden:
-
-
- REAL OP + (REAL CONST a, b)
-
-
-Obwohl im Aussehen gleich, handelt es sich doch um verschiedene
-Operatoren mit möglicherweise völlig verschiedener Wirkung. Dies
-sieht man an diesem Beispiel:
-
-
- TEXT OP + (TEXT CONST a, b)
-
-
-Dieser Operator führt nun keine Addition aus, sondern eine #on("i")#Verket­
-tung#off("i")# zweier Texte. Je nach Typ der Parameter wird der entspre­
-chende Operator ausgesucht.
-
-
-14.3 TEXT-Funktionen
-
-In diesem Abschnitt wollen wir die wichtigsten Funktionen und
-Operatoren zur Behandlung von Texten beschreiben. Wie Sie noch
-sehen werden, spielt dabei aber auch der Typ INT eine gewisse
-Rolle.
-
-#on("b")#EUDAS-Abfragen#off("b")# Die wichtigste Funktion zur Abfrage von
-Inhal­
-ten der aktuellen Datei sollten Sie bereits kennen:
-
-
- TEXT PROC f (TEXT CONST feldname)
-
-
-Neu ist eigentlich nur die Schreibweise der Spezifikation. Sie sollten
-aber in der Lage sein, daraus einen konkreten Ausdruck zu kon­
-struieren. Bisher haben wir immer die Schreibweise
-
-
- f ("Feldname")
-
-
-verwendet. Dies ist jedoch nur ein Beispiel. Die korrekte Angabe
-finden Sie oben.
- Die Funktion 'f' darf natürlich nicht angewendet werden, wenn
-keine Datei geöffnet ist. In die Verlegenheit kommen Sie aber nur
-beim Ausprobieren, denn alle gefährlichen EUDAS-Funktionen sind
-sonst gesperrt.
- Falls das angegebene Feld nicht existiert, wird mit einer Feh­
-lermeldung abgebrochen. Beachten Sie, daß dies immer erst bei der
-Ausführung festgestellt werden kann. Bei der Eingabe, zum Beispiel
-eines Druckmusters, kann dies noch nicht überprüft werden.
- Eine weitere Abfrage, die EUDAS während des Druckens ermög­
-licht, ist die Funktion
-
-
- TEXT PROC lfd nr
-
-
-Diese hat keine Parameter und liefert die laufende Nummer des
-gedruckten Satzes.
- Diese beiden Funktionen können als Ausgangsbasis dienen zur
-Manipulation mit weiteren Funktionen.
-
-#on("b")#Verkettung#off("b")# Zur Verkettung von Teiltexten gibt es den oben
-schon
-beschriebenen Operator '+'. Wenn Sie mehr als zwei Texte verketten
-wollen, können Sie den Operator beliebig hintereinander verwenden:
-
-
- f ("PLZ") + " " + f ("Ort")
-
-
-Wie in diesem Beispiel können Sie sowohl Konstanten als auch Tex­
-te, die von anderen Funktionen geliefert werden, verketten. Beach­
-ten Sie, daß die Texte immer ohne Zwischenraum aneinandergehängt
-werden; daher wird im obigen Beispiel ein Leerzeichen extra ange­
-geben.
- Wenn Sie eine bestimmte Anzahl von gleichen Zeichen haben
-möchten (zum Beispiel für horizontale Linien oder große Zwischen­
-räume), können Sie dafür folgenden Operator verwenden:
-
-
- TEXT OP * (INT CONST anzahl, TEXT CONST einzeltext)
-
-
-Hier sehen Sie als Beispiel einen Operator, der mit verschiedenen
-Datentypen arbeitet. Sie müssen die Parameter jedoch immer in der
-angegebenen Reihenfolge benutzen. Das folgende Beispiel ist kor­
-rekt:
-
-
- 20 * "-"
-
-
-während dies nicht erlaubt ist:
-
-
- "-" * 20
-
-
-Wieder können Sie diesen Operator mit anderen Funktionen verknü­
-pfen:
-
-
- "!" + 10 * " " + "!" + 5 * "-" + "!"
-
-
-Da der Multiplikationsoperator Vorrang vor der Addition hat, kom­
-men Sie hier sogar ohne Klammern aus (überlegen Sie sich, wo ein
-Fehler auftreten würde, wenn dies nicht so wäre). Als Ergebnis
-dieses komplexen Ausdrucks ergäbe sich der folgende Text:
-
-
- "! !-----!"
-
-
-#on("b")#Teiltexte#off("b")# Um auch Teile von Texten bearbeiten zu können,
-werden
-die Zeichen eines Textes von 1 an (mit INT-Zahlen) durchnumeriert.
-Anhand dieser Positionen können Sie Teiltexte extrahieren.
- Damit Sie die Position des letztes Zeichens (und damit die An­
-zahl der Zeichen) erfragen können, gibt es die Funktion
-
-
- INT PROC length (TEXT CONST text)
-
-
-Wieviel Zeichen in einem Feld stehen, können Sie also mit
-
-
- length (f ("Feldname"))
-
-
-erfahren.
- Einen Teiltext bekommen Sie mit der Funktion 'subtext'. Diese
-gibt es in zwei Ausführungen.
-
-
- TEXT PROC subtext (TEXT CONST text, INT CONST anfang)
-
-
-liefert den Teiltext von einer bestimmten Position an (einschließ­
-lich) bis zum Textende. Mit
-
-
- TEXT PROC subtext (TEXT CONST t, INT CONST anf, ende)
-
-
-können Sie auch die Position des letzten Zeichens (einschließlich)
-angeben. Daher würden die beiden folgenden Aufrufe
-
-
- subtext (f ("Feldname"), 1)
- subtext (f ("Feldname"), 1, length (f ("Feldname")))
-
-
-den Feldinhalt unverändert liefern. Ein weiteres Beispiel:
-
-
- subtext ("Ein Text als Beispiel", 5, 8)
-
-
-liefert als Ergebnis "Text".
- Es gibt noch den Operator 'SUB', der jeweils nur ein Zeichen
-aus dem Text liefert:
-
-
- TEXT OP SUB (TEXT CONST text, INT CONST stelle)
-
-
-Der Aufruf ist gleichwertig zu einem Aufruf von 'subtext', in dem
-beide Stellen gleich sind.
- Bei beiden Funktionen wird nicht vorhandener Text einfach
-ignoriert. So liefert
-
-
- subtext ("Hallo", 4, 8)
-
-
-das Ergebnis "lo" und
-
-
- "Hallo" SUB 10
-
-
-den leeren Text "".
-
-#on("b")#Verschachtelte Ausdrücke#off("b")# Wie Sie bereits gesehen haben,
-kann
-man Ausdrücke ineinander verschachteln. Dies ist in unserem Fall
-sehr nützlich, wenn Teiltexte bestimmt werden sollen, deren Posi­
-tion nicht konstant ist. Ein Beispiel, in dem 'length' bei der Fest­
-legung der Endposition verwendet wird, haben Sie weiter oben
-bereits gesehen.
- Als weitere Möglichkeit können Sie mit Positionen, die ja INT-
-Zahlen sind, ganz normal rechnen. Folgender Ausdruck liefert zum
-Beispiel die letzten drei Zeichen eines Feldes:
-
-
- subtext (f ("Feldname"), length (f ("Feldname")) - 2)
-
-
-Wichtig ist, daß ein Ausdruck, der wieder als Parameter für einen
-anderen Ausdruck verwendet werden soll, den richtigen Typ hat,
-der von dem anderen Ausdruck verlangt wird.
- In dem obigen Beispiel muß als Position ein INT verwendet
-werden. Diese Position wird vom Operator '-' berechnet. Es gibt
-aber nur einen Subtraktionsoperator, der einen INT liefert, nämlich
-den, der wiederum zwei INTs subtrahiert. Glücklicherweise sind
-sowohl 'length' als auch die 2 vom Typ INT, anderenfalls wäre der
-Ausdruck fehlerhaft. 'length' wiederum benötigt einen TEXT als
-Parameter, der von der Funktion 'f' stammt, die als Parameter eben­
-falls einen TEXT verlangt.
- Wie Sie sehen, kann es durchaus verwickelt zugehen, wenn ein
-Ausdruck aus den verschiedensten Teilausdrücken unterschiedlichen
-Typs zusammengesetzt ist. Die gleiche Überprüfung wie eben ge­
-schildert sollten Sie bei jedem Ausdruck vornehmen, damit keine
-Fehlermeldung erscheint.
-
-#on("b")#Variable Positionen#off("b")# Zur Berechnung von Positionen gibt es
-noch eine weitere nützliche Prozedur, nämlich
-
-
- INT PROC pos (TEXT CONST text, teiltext)
-
-
-Sie liefert die Position, an der der angegebene Teiltext zum ersten
-Mal in dem Text vorkommt, oder 0, wenn der Teiltext nicht darin
-vorkommt. So ist
-
-
- pos ("Hallo", "l") = 3
-
-
-und
-
-
- pos ("Hallo", "lo") = 4
-
-
-und
-
-
- pos ("Hallo", "xx") = 0
-
-
-Diese Funktion kann zum Beispiel dazu verwendet werden, ein Feld
-in mehrere Teile aufzuspalten. Sind zum Beispiel Name und Vorname
-in einem Feld durch Leerzeichen getrennt hintereinandergeschrie­
-ben, liefert
-
-
- subtext (f ("Name"), 1, pos (f ("Name"), " ") - 1)
-
-
-den Vornamen und entsprechend
-
-
- subtext (f ("Name"), pos (f ("Name"), " ") + 1)
-
-
-den Nachnamen. Soll die Position erst ab einer gewissen Stelle ge­
-sucht werden, gibt es noch die folgende Variation der Funktion:
-
-
- INT PROC pos (TEXT CONST text, teiltext, INT CONST ab)
-
-
-Bei dieser Funktion wird erst ab der angegebenen Stelle einschließ­
-lich gesucht.
-
-
-14.4 Rechenfunktionen
-
-#on("b")#Umwandlungen#off("b")# Bevor mit dem Inhalt eines Feldes gerechnet
-wer­
-den kann (auch wenn das Feld den Feldtyp ZAHL hat), muß der Wert
-des Feldinhaltes als REAL-Zahl berechnet werden. Dazu gibt es die
-Funktion
-
-
- REAL PROC wert (TEXT CONST feldname)
-
-
-Die Funktion 'wert' ignoriert alle Sonderzeichen in dem Feld außer
-dem Minuszeichen (als Vorzeichen) und dem eingestellten Dezimal­
-komma. Wenn das Feld 'Summe' beispielsweise "-***20,09 DM" ent­
-hält, ergibt sich
-
-
- wert ("Summe") = 20.09
-
-
-Zum kaufmännischen Rechnen ist es manchmal erforderlich, den Wert
-auf eine bestimmte Anzahl von Nachkommastellen zu runden. Diese
-Anzahl kann man bei einer Variante von 'wert' als Parameter ange­
-ben:
-
-
- REAL PROC wert (TEXT CONST feldname,
- INT CONST kommastellen)
-
-
-Mit den so erhaltenen Werten können Sie dann die weiter unten
-beschriebenen Berechnungen durchführen. Bevor Sie das Ergebnis
-jedoch drucken oder in ein Feld eintragen können, müssen Sie den
-REAL-Wert wieder in einen TEXT verwandeln. Dazu dient die Funk­
-tion
-
-
- TEXT PROC zahltext (REAL CONST wert,
- INT CONST kommastellen)
-
-
-Der übergebene Wert wird mit der gewünschten Anzahl von Komma­
-stellen als Text formatiert. Dazu wird der Wert gerundet. Außerdem
-wird statt eines Punktes das eingestellte Dezimalkomma eingesetzt.
-Die Länge des Textes richtet sich nach der Anzahl von benötigten
-Stellen, es werden also keine führenden Nullen oder Leerzeichen
-eingesetzt (dafür kann man den Text beim Drucken ja rechtsbündig
-einsetzen).
- Wird 0 als Kommastellen angegeben, wird auch kein Dezimal­
-komma erzeugt (Darstellung wie ein INT). Als Abkürzung können Sie
-auch
-
-
- TEXT PROC zahltext (TEXT CONST feldname,
- INT CONST kommastellen)
-
-
-als Ersatz für
-
-
- zahltext (wert ("Feldname"), kommastellen)
-
-
-verwenden. So kann ein Feld einheitlich zum Drucken formatiert
-werden.
-
-#on("b")#Arithmetik#off("b")# Sowohl mit INT- als auch mit REAL-Zahlen
-(jedoch
-nicht gemischt) können Sie die üblichen Rechenoperatoren '+', '-'
-und '*' verwenden. Auch Minimum ('min') und Maximum ('max') sind
-für zwei Parameter dieser Typen definiert.
- Lediglich die Division wird bei beiden Typen unterschiedlich
-gehandhabt. Für REAL-Zahlen gibt es den Operator '/' für die
-übliche Division. Da die ganzzahlige Division eine andere Bedeutung
-hat, wird dafür der Operator 'DIV' verwendet. Den Rest der ganz­
-zahligen Division liefert 'MOD'.
- 'abs' liefert den Wert eines REAL oder INT ohne das Vorzeichen.
-Die Umwandlungsfunktionen 'int' und 'real' hatten wir ja bereits
-weiter oben erwähnt.
- Für REAL-Zahlen gibt es noch weitere mathematische Funktio­
-nen (Exponentialfunktion, Trigonometrie), die Sie am besten im
-EUMEL-Benutzerhandbuch nachschlagen, wenn Bedarf dafür besteht.
-
-
-14.5 Abfragen
-
-#on("b")#IF-Abfragen#off("b")# Wie Sie schon im vorigen Kapitel gesehen
-haben,
-kann man in Druckmustern auch IF-Abfragen als Ausdrücke ver­
-wenden. Die IF-Abfragen können zwar auch ineinander verschach­
-telt werden, sie dürfen jedoch nicht mehr innerhalb eines normalen
-Ausdrucks angewendet werden.
- Eine IF-Abfrage enthält 3 Teilausdrücke in folgender Form:
-
-
- IF 'BOOL-Ausdruck' THEN
- 'Ausdruck1'
- ELSE
- 'Ausdruck2'
- END IF
-
-
-Der erste Ausdruck muß einen Wert vom Typ BOOL liefern, der ent­
-scheidet, welcher der beiden Teilausdrücke ausgewertet wird. Wir
-werden gleich noch sehen, was für Möglichkeiten es da gibt.
- Die beiden Teilausdrücke dürfen auch wieder IF-Abfragen sein,
-sind sie es jedoch nicht, dürfen in ihnen dann keine IF-Abfragen
-mehr vorkommen. Die IF-Abfragen liegen also immer auf der äußer­
-sten Ebene.
- Die beiden Teilausdrücke dürfen einen beliebigen Typ haben, er
-muß jedoch für beide gleich sein.
- Als Ergebnis der IF-Abfrage wird 'Ausdruck1' geliefert, wenn
-der BOOL-Ausdruck wahr ist, sonst 'Ausdruck2'.
-
-#on("b")#Vergleiche#off("b")# Die wesentlichen Operationen, die boolesche
-Ausdrücke
-zur Verwendung in IF-Abfragen bilden, sind die Vergleichsoperato­
-ren:
-
-
- = <> <= >= < >
-
-
-Sie vergleichen jeweils zwei Elemente vom Typ TEXT, INT oder REAL
-und liefern TRUE (wahr) oder FALSE (falsch). Selbstverständlich
-können auch sie zwei zusammengesetzte Teilausdrücke vergleichen.
- Eine Anwendung ist zum Beispiel der Test, ob ein Text in einem
-anderen enthalten ist:
-
-
- IF pos (f ("Betrag"), "DM") > 0 THEN
- "deutsches Geld"
- ELSE
- "ausländisches Geld"
- END IF
-
-
-Die Funktion 'pos' wird hier dazu benutzt, festzustellen, ob es sich
-um deutsches oder ausländisches Geld handelt.
- Oft müssen jedoch mehrere Vergleiche miteinander kombiniert
-werden. Zu diesem Zweck gibt es die beiden Operatoren AND (und)
-und OR (oder). Damit AND das Ergebnis TRUE liefert, müssen beide
-Vergleiche wahr sein, bei OR muß mindestens einer der beiden wahl
-sein.
- Die Reihenfolge aller dieser Operatoren ist so gewählt, daß
-normalerweise keine Klammern benötigt werden. Funktionen haben
-immer Vorrang vor Operatoren, bei den Operatoren kommt die Multi­
-plikation vor der Addition, dann kommen die Vergleiche, danach das
-AND und danach das OR. Alle anderen Operatoren (#on("i")#insbesondere
-SUB#off("i")#) teilen sich den letzten Rang.
- Wenn Sie also in einem Ausdruck mehrere Vergleiche mit AND
-und OR verknüpfen, und das OR soll stärker binden als das AND,
-müssen Sie dies durch Klammern ausdrücken.
- Den oben besprochenen Operator SUB sollten Sie immer in
-Klammern setzen, wenn Sie ihn in einem Vergleich benutzen. Da er
-die niedrigste Priorität hat, gäbe es sonst mit Sicherheit Fehler:
-
-
- IF (f ("Name") SUB 1) = "M" THEN
- "vielleicht Müller"
- ELSE
- "bestimmt nicht"
- END IF
-
-
-#on("b")#Refinements#off("b")# Bisher hatten wir gesagt, daß IF-Abfragen
-nicht
-innerhalb von anderen Ausdrücken verwendet werden dürfen. Diese
-Einschränkung kann man umgehen, indem man #on("i")#Refinements#off("i")# verwen­
-det.
- Ein Refinement hat im Druckmuster eine ähnliche Wirkung wie
-eine Abkürzung, lediglich der Name darf nur mit Kleinbuchstaben
-und Ziffern geschrieben sein und kann nicht als Feldmuster ver­
-wendet werden.
-
-
- &abk :
- subtext (f ("Name"), namensanfang) .
- namensanfang :
- IF pos (f ("Name"), " ") > 0 THEN
- pos (f ("Name"), " ") + 1
- ELSE
- length (f ("Name"))
- END IF .
-
-
-Innerhalb von Refinements dürfen auch wieder andere Refinements
-verwendet werden.
- Auch in Kopier- und Änderungsmustern können Sie Refinements
-verwenden. Hier müssen Sie jedoch darauf achten, daß alle Refine­
-ments am Ende gesammelt werden und vor dem ersten Refinement
-ein Punkt stehen muß. Ebenso müssen die Refinements wie im
-Druckmuster durch Punkte voneinander getrennt sein:
-
-
- "Anrede" K anrede;
- .
- anrede :
- IF f ("m/w") = "w" THEN
- "Frau"
- ELSE
- "Herr"
- END IF .
-
-
-
diff --git a/doc/eudas/eudas.hdb.15 b/doc/eudas/eudas.hdb.15
deleted file mode 100644
index c0a22cf..0000000
--- a/doc/eudas/eudas.hdb.15
+++ /dev/null
@@ -1,286 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (165)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-15 Anweisungen in ELAN
-
-
-
-15.1 Variablen und Zuweisungen
-
-Im vorigen Kapitel haben wir Ausdrücke in ELAN kennengelernt. Der
-Wert eines Ausdrucks wird bei jeder Verwendung erneut berechnet.
-Wenn wir den Wert eines Ausdrucks aufbewahren wollen, müssen wir
-ihn schon in eine EUDAS-Datei schreiben.
- Oft tritt jedoch die Notwendigkeit auf, Werte zu merken, ohne
-sie in einer Datei zu speichern. Beispiel dafür ist ein Zählvorgang im
-Druckmuster. In jedem Wiederholungsteil muß der dazukommende
-Wert zum bisherigen, aufsummierten und aufbewahrten Wert addiert
-werden. Das Zwischenergebnis der Zählung muß also irgendwo ge­
-speichert werden.
-
-#on("b")#Variablen#off("b")# Zu diesem Zweck gibt es Variablen. Sie sind
-ähnlich wie
-Felder in einer Datei. Ihre Existenz ist jedoch unabhängig von einer
-Datei. Außerdem sind sie zu Anfang nicht einfach leer, sondern
-haben einen undefinierten Wert.
- Variablen müssen im Programm definiert werden. Sie existieren
-dann während der Ausführung dieses Programms und gehen an­
-schließend verloren. Zu Beginn des Programms sind sie, wie schon
-gesagt, undefiniert.
- Eine Variable muß immer einen Typ haben. Dieser Typ ist für
-die Lebensdauer der Variable unveränderlich. Die Variable kann
-natürlich nur Werte dieses Typs annehmen.
- Eine Variablendefinition (oder auch -deklaration) besteht aus
-der Angabe eines Typs, dem Schlüsselwort VAR und einem freige­
-wählten Namen. Wie schon bei den Refinements darf ein solcher
-Name nur aus Kleinbuchstaben (keine Umlaute) und eventuell Zif­
-fern bestehen. Dagegen darf der Name Leerzeichen enthalten.
-Beispiel:
-
-
- INT VAR zaehler;
- TEXT VAR feldname;
- REAL VAR mein ergebnis 1;
-
-
-Das Semikolon am Ende beschließt die Definition.
- Die Lebensdauer einer Variablen hängt davon ab, an welcher
-Stelle sie definiert ist. Eine Variable, die im Druckmuster im Initia­
-lisierungsteil definiert ist, behält ihren Wert für die gesamte Dauer
-des Druckvorgangs. Eine Variable in einem Abschnitt lebt dagegen
-nur für eine Abarbeitung dieses Abschnitts. Bei der nächsten Abar­
-beitung ist sie wieder undefiniert.
- Das gleiche gilt für Kopier- und Änderungsmuster. Auch hier
-sind Variablen nur für die Dauer der Bearbeitung eines Satzes
-gültig.
-
-#on("b")#Zuweisung#off("b")# Um einer Variablen einen Wert zu geben, führt
-man eine
-#on ("i")#Zuweisung#off("i")# aus. Die Zuweisung wird durch Doppelpunkt und Gleich­
-heitszeichen aneinandergeschrieben gekennzeichnet. Auf der linken
-Seite steht die Variable, auf der rechten Seite eine Ausdruck:
-
-
- zaehler := 1;
-
-
-Wie oben schließt das Semikolon die Anweisung ab. Nach der Aus­
-führung hat die Variable den Wert 1. Der Wert vorher ist für die
-Zuweisung egal, er kann definiert oder undefiniert sein.
- Eine Variable kann in einem Ausdruck verwendet werden, indem
-man einfach den Namen hinschreibt. Der Ausdruck
-
-
- zaehler + 1
-
-
-hat nach der obigen Zuweisung den Wert 2. Eine Variable muß bei
-der Verwendung definiert sein, sonst können beliebige Fehler ent­
-stehen. Es muß also vor der ersten Verwendung ausdrücklich eine
-Zuweisung erfolgt sein.
- Da Variablen in Ausdrücken verwendet werden können und
-Ausdrücke auf der rechten Seite einer Zuweisung stehen, ist folgen­
-de Konstruktion möglich:
-
-
- zaehler := zaehler + 1;
-
-
-Diese Zeile bewirkt, daß der Wert der Variable um 1 erhöht wird.
-Zuerst wird bei der Zuweisung der Wert des Ausdrucks auf der rech­
-ten Seite bestimmt. Zu diesem Zeitpunkt habe die Variable bei­
-spielsweise den Wert 1. Der Ausdruck hat dann den Wert 2 (1+1).
-Dieser Wert wird der neue Wert der Variablen.
- Bei der nächsten Ausführung würde sich der gleiche Vorgang
-wiederholen, so daß die Variable anschließend den Wert 3 hat.
- Auch bei der Zuweisung gilt natürlich, daß die Variable auf der
-linken Seite den gleichen Datentyp haben muß wie der Ausdruck auf
-der rechten Seite.
-
-#on("b")#Initialisierung#off("b")# Sie können Variablendeklaration und
-Zuweisung
-auch miteinander verknüpfen, so daß die Variable gleich zu Anfang
-einen Wert erhält:
-
-
- INT VAR zaehler := 0;
-
-
-Dieses Verfahren ist eine gute Vorsichtsmaßregel, damit Sie keine
-undefinierten Variablen verwenden.
-
-#on("b")#Inkrement#off("b")# Da der Fall so häufig auftritt, daß der Wert
-einer Vari­
-ablen um einen bestimmten Wert erhöht wird (bei allen Zählvorgän­
-gen), gibt es auch dafür eine Abkürzung, und zwar die beiden Ope­
-ratoren INCR und DECR.
-
-
- zaehler INCR 1;
- mein ergebnis 1 DECR 24.4;
-
-
-Die Operatoren sind für REALs und INTs definiert. INCR erhöht um
-einen Betrag, DECR erniedrigt. Auf der rechten Seite darf wieder ein
-beliebiger Ausdruck stehen.
- Für TEXTe gibt es eine ähnliche Abkürzung, allerdings nur für
-die Addition (Verkettung). Hier heißt der Operator CAT. Die beiden
-folgenden Zeilen haben die gleiche Bedeutung:
-
-
- feldname := feldname + ".";
- feldname CAT ".";
-
-
-
-15.2 Weitere Konstruktionen
-
-#on("b")#IF#off("b")# Die Ihnen bereits bekannte IF-Konstruktion dient nicht
-nur
-dazu, Werte zu liefern, sondern steuert auch die Abarbeitung von
-beliebigen Anweisungen. Diese Anweisungen können Kopier- und
-Änderungsanweisungen sein (s. Kapitel 11), oder die oben beschrie­
-benen Zuweisungen.
- In einem Teil der IF-Konstruktion können auch mehrere Anwei­
-sungen stehen. Diese müssen dann jedoch unbedingt durch Semiko­
-lon getrennt sein. Mehrere Anweisungen hintereinander haben ein­
-fach die Bedeutung der Ausführung in der notierten Reihenfolge.
- Als drittes kann auch der ELSE-Teil weggelassen, da nicht in
-jedem Fall ein Ergebnis erwartet wird. Falls die Bedingung nicht
-zutrifft, muß nicht unbedingt etwas ausgeführt werden.
-
-
- IF zaehler > 0 THEN
- zaehler DECR 1;
- mein ergebnis 1 INCR wert ("zaehlfeld")
- END IF;
-
-
-Auch diese IF-Konstruktion kann wieder geschachtelt werden. Für
-viele Fälle gibt es jedoch einen ELIF-Teil, der die Verschachtelung
-erspart:
-
-
- IF f ("m/w") = "m" THEN
- maenner INCR 1
- ELIF f ("m/w") = "w" THEN
- frauen INCR 1
- ELSE
- zweifelhaft INCR 1
- END IF;
-
-
-Der ELIF-Teil beinhaltet noch einmal einen Test. Dieser Test wird
-jedoch nur dann durchgeführt, wenn die erste Bedingung falsch war.
-Gibt es noch mehr Wahlmöglichkeiten, können Sie beliebig viele
-ELIF-Teile benutzen.
- Beachten Sie, daß die letzte Anweisung in einem Teil der IF-
-Konstruktion nicht unbedingt ein folgendes Semikolon haben muß
-(das Semikolon soll nur trennen). Ein Semikolon an dieser Stelle
-kann aber auch nicht schaden.
-
-#on("b")#Werteliefernde Programme#off("b")# Nicht nur Ausdrücke können Werte
-lie­
-fern, sondern auch ganze Anweisungsfolgen. Dies ist eine Erweite­
-rung der werteliefernden IF-Konstruktion. Sie können dies für Ab­
-kürzungen oder Refinements ausnutzen.
-
-
- endergebnis :
- gesammelte zeichen CAT ".";
- gesammelte zeichen .
-
-
-In diesem Beispiel werden in einer Textvariable bestimmte Zeichen
-gesammelt. Zum Schluß soll ein Punkt angefügt werden und dieser
-Text dann als Ergebnis des Refinements geliefert werden.
- Damit eine Anweisungsfolge einen Wert liefert, muß am Ende
-der Anweisungsfolge ein Ausdruck stehen. Der Wert des Ausdrucks
-nach Abarbeitung der Anweisungen ist dann der Wert der Anwei­
-sungsfolge.
- Allerdings kann man den gleichen Wert oft verschieden aus­
-drücken. Folgendes Refinement hat die gleiche Wirkung wie oben:
-
-
- endergebnis :
- gesammelte zeichen + "." .
-
-
-In manchen Fällen ist eine Formulierung als werteliefernde Anwei­
-sungsfolge jedoch übersichtlicher.
-
-#on("b")#Beispiel#off("b")# Zum Abschluß dieses Kapitels wollen wir als
-Beispiel eine
-statistische Auswertung einer Zahlenreihe als Druckmuster formu­
-lieren.
- Gegeben sei eine Datei mit folgenden Feldern:
-
-
- "Meßwert 1"
- "Meßwert 2"
-
-
-Wir wollen als Ergebnis Mittelwert und Standardabweichung der
-beiden Meßwerte ausdrucken. Dazu dient das Druckmuster auf der
-folgenden Seite.
- Im Initialisierungsteil des Druckmusters werden die notwendi­
-gen Variablen definiert und initialisiert. Beachten Sie hier, daß in
-einer Definition mehrere Variablen durch Komma getrennt aufgeführt
-werden können, wenn sie den gleichen Typ haben.
- Im Wiederholungsteil müssen dann jeweils die Zwischensummen
-aktualisiert werden. Da mit der Funktion 'wert' eine relativ auf­
-wendige Umwandlung verbunden ist, wird der Wert des jeweiligen
-Feldes erst einmal in einer Variable zwischengespeichert, da er
-mehrmals benötigt wird. Diese Zwischenspeicherungsvariable muß
-nicht initialisiert werden
- Im Nachspann werden dann die Ergebnisse gedruckt. Die Formeln
-sind jeweils als Abkürzungen definiert. Die Funktion 'zahltext' sorgt
-dafür, daß die Werte mit drei Nachkommastellen (gerundet) aufge­
-führt werden.
- Da die Formeln relativ komplex sind, werden sie auf mehrere
-Zeilen verteilt (in ELAN hat das Zeilenende keine Bedeutung).
-
-
- %% REAL VAR
- %% messwert,
- %% summe 1 := 0.0, quadratsumme 1 := 0.0,
- %% summe 2 := 0.0, quadratsumme 2 := 0.0;
- %% INT VAR anzahl := 0;
- % WIEDERHOLUNG
- %% anzahl INCR 1;
- %% messwert := wert ("Meßwert 1");
- %% summe 1 INCR messwert;
- %% quadratsumme 1 INCR messwert * messwert;
- %% messwert := wert ("Meßwert 2");
- %% summe 2 INCR messwert;
- %% quadratsumme 2 INCR messwert * messwert;
- % NACHSPANN
- &anz Meßwerte.
- Meßwert 1 Meßwert 2
- Mittelwert &&mw1&&&& &&mw2&&&&
- Standardabweichung &&st1&&&& &&st2&&&&
- % ABKUERZUNGEN
- &mw1 : zahltext (summe 1 / real (anzahl), 3) .
- &mw2 : zahltext (summe 2 / real (anzahl), 3) .
- &st1 : zahltext
- (sqrt ((quadratsumme 1 - summe 1 * summe 1 /
- real (anzahl)) / real (anzahl - 1)), 3) .
- &st2 : zahltext
- (sqrt ((quadratsumme 2 - summe 2 * summe 2 /
- real (anzahl)) / real (anzahl - 1)), 3) .
-
-
-Mit entsprechenden Formeln können Sie dieses Beispiel für Ihre
-eigenen Statistiken erweitern. Die Beispiele der letzten beiden Ka­
-pitel sollten Ihnen genügend Anregungen dafür gegeben haben.
-
diff --git a/doc/eudas/eudas.hdb.16 b/doc/eudas/eudas.hdb.16
deleted file mode 100644
index 5f5d575..0000000
--- a/doc/eudas/eudas.hdb.16
+++ /dev/null
@@ -1,350 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (171)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-16 Dateiverwaltung mit EUDAS
-
-
-
-16.1 Dateien im System
-
-Zum Bearbeiten von Dateien innerhalb des Systems gibt es das Menü
-'Dateien', das Sie bereits in Kapitel 4 kurz kennengelernt haben.
-An dieser Stelle sollen die übrigen Funktionen dieses Menüs be­
-sprochen werden.
-
-
- --------------
- Dateien System
- U Übersicht
- --------------
- Datei
- L Löschen
- N Umbenennen
- K Kopieren
- P Platzbedarf
- A Aufräumen
- --------------
-
-#center#Abb. 16-1 Menü 'Dateien'
-
-
-Beachten Sie, daß alle Funktionen in diesem Menü mit Dateien
-beliebiger Struktur arbeiten können, also sowohl mit Textdateien
-als auch EUDAS-Dateien (und anderen). Dies liegt daran, daß
-Dateien an dieser Stelle einfach als "schwarze Kästen" mit beliebi­
-gem Inhalt betrachtet werden.
-
-#on("b")#Übersicht#off("b")# Die Funktion 'Übersicht' haben Sie bereits
-ausprobiert.
-Sie zeigt in einem Editorfenster an der rechten Seite alle Dateien,
-die sich in Ihrer Task befinden. Falls nicht alle Dateien auf den
-Bildschirm passen, können Sie das Fenster mit HOP OBEN und HOP
-UNTEN rollen. Sie verlassen die Übersicht wie üblich mit ESC 'q'.
-
-#on("b")#Löschen#off("b")# Auch die Funktion 'Löschen' sollten Sie schon
-kennen.
-Mit dieser Funktion verschwindet eine Datei auf Nimmerwieder­
-sehen. Daher werden Sie sicherheitshalber immer gefragt, ob Sie die
-Datei wirklich löschen wollen. Sie können in einer Auswahl auch
-alle zu löschenden Dateien ankreuzen (dann wird trotzdem nochmal
-gefragt).
- Eine EUDAS-Datei, die gerade geöffnet ist, können Sie nicht
-löschen (sonst würde EUDAS zumindest durcheinanderkommen). Sie
-müssen die Datei zuerst sichern - oder nicht sichern, aber die
-Arbeitskopien löschen.
-
-#on("b")#Umbenennen#off("b")# Mit der Funktion 'Umbenennen' können Sie einer
-Datei
-einen neuen Namen geben. Sie werden zuerst aufgefordert, den alten
-Namen der Datei einzugeben. Alternativ können Sie hier wieder die
-umzubenennenden Dateien auswählen. Danach wird Ihnen (für jede
-ausgewählte Datei) der alte Dateiname zum Überschreiben angebo­
-ten.
- Sie können diesen Namen mit den üblichen Editierfunktionen
-verändern oder mit HOP RUBOUT löschen und ganz neu eingeben.
-Auf diese Weise sparen Sie sich erheblichen Tippaufwand, wenn Sie
-einen langen Dateinamen an nur einer Stelle verändern wollen.
-
-#on("b")#Kopieren#off("b")# Wie in Abschnitt 11.2 bereits angedeutet, gibt es
-eine
-Funktion zum logischen Kopieren von Dateien. Dies ist eine Funk­
-tion, die sich auf spezielle Eigenschaften des EUMEL-Systems
-stützt. Wenn Sie eine Datei #on("i")#logisch#off("i")# kopieren, wird lediglich ein
-Verweis kopiert. Die Daten werden zunächst nur einmal für beide
-Dateien gespeichert.
- Natürlich hätte das Ganze wenig Sinn, wenn danach bei Ände­
-rungen immer beide Dateien geändert würden. Bei Änderungen an
-einer Datei werden jedoch nur die geänderten Daten getrennt ange­
-legt, der Rest wird weiterhin gemeinsam benutzt. Die beiden Dateien
-sind also nach außen hin komplett unabhängig, intern werden je­
-doch gemeinsame Daten so weit wie möglich geteilt. Auf diese Weise
-wird sowohl Zeit als auch Speicherplatz gespart.
- Dieses Verfahren ist besonders dann sinnvoll, wenn Sie sich
-einen bestimmten Stand einer Datei aufbewahren wollen. In diesem
-Fall stellen Sie sich eine logische Kopie her und arbeiten mit dem
-Original weiter. Es werden dann nur die Daten zusätzlich angelegt,
-die Sie seit der Kopie verändert haben.
- EUDAS benutzt die gleiche Funktion auch für die Arbeitskopie.
-Die Arbeitskopie teilt ebenfalls ihre Daten mit dem Original. Ande­
-renfalls wäre es ja auch zeitlich gar nicht möglich, beim Öffnen eine
-Arbeitskopie anzufertigen.
- Beim Aufruf der Funktion 'Kopieren' werden Sie zunächst nach
-dem Namen der Datei gefragt (wie üblich mit Auswahlmöglichkeit).
-Dann können Sie einen neuen Namen für die Kopie angeben. Dieser
-neue Name darf jedoch nicht für eine andere Datei vergeben sein.
-Wollen Sie eine andere Datei überkopieren, müssen Sie diese zu­
-nächst löschen.
- Denken Sie daran, daß die hier beschriebene Funktion sich
-wesentlich vom Kopieren im Menü 'Gesamtdatei' unterscheidet. Dort
-wird nämlich eine tatsächliche Kopie durchgeführt, dafür können Sie
-sich dann auch selektiv bestimmte Daten herausgreifen. Außerdem
-gilt die dortige Funktion nur für EUDAS-Dateien.
-
-#on("b")#Platzbedarf#off("b")# Zu Ihrer Information können Sie sich auch den
-Platz­
-bedarf anzeigen lassen, den eine Datei auf dem Speichermedium hat.
-Wenn Sie den Namen der Datei angegeben haben, wird Ihnen die
-Größe in "Kilobyte" (KB) angegeben. Ein KB entspricht etwa 1000
-Zeichen, also einer halben vollgeschriebenen Bildschirmseite.
- Bei logisch kopierten Dateien wird für jede Datei der benötigte
-Platz separat angegeben. Sie können die Zahlen also nicht einfach
-addieren, um den Gesamtspeicherbedarf zu ermitteln, da Sie dann
-die gemeinsam benutzten Bereiche doppelt zählen würden.
-
-#on("b")#Aufräumen#off("b")# Wenn eine Datei viel geändert wurde, führen zwei
-Effekte zu einer langsameren Verarbeitung dieser Datei. Zum einen
-wird durch Textleichen der Platzbedarf größer. Dies tritt vor allem
-dann auf, wenn zu einzelnen Sätzen immer etwas hinzugefügt wurde
-(eine Folge der Flexibilität, mit variablen Textlängen operieren zu
-dürfen).
- Da der Platzbedarf der Datei also wächst, sind mehr Speicher­
-zugriffe notwendig, als es dem Inhalt entspricht. Doch nicht nur der
-Platz, sondern auch die Verteilung der Sätze machen sich unange­
-nehm bemerkbar. Da vergrößerte Sätze intern am Ende der Datei
-gespeichert werden, werden logisch aufeinanderfolgende Sätze phy­
-sikalisch weit verstreut.
- Der gleiche Effekt ensteht auch durch Umsortieren oder Ein­
-fügen von Sätzen. Um die Datei sequentiell zu bearbeiten, sind also
-ständig wechselnde Speicherzugriffe erforderlich.
- Die beiden beschriebenen Effekte führen zur Geschwindigkeits­
-verringerung. Dies kann verhindert werden, indem die Datei in eine
-frische Datei umkopiert wird. Diesen Vorgang nennt man #on("i")#Reorgani­
-sieren#off("i")#. Dafür gibt es die Funktion 'Aufräumen'.
- Während des Umkopierens werden die Satznummern ausgegeben.
-Achten Sie darauf, daß zum Reorganisieren genügend Platz auf dem
-System vorhanden ist, um eine komplette Kopie der zu reorganisie­
-renden Datei aufzunehmen.
- Zum Reorganisieren muß nämlich tatsächlich eine physikalische
-Kopie angefertigt werden. Eine logische Kopie oder das Schreiben
-auf das Archiv reorganisieren eine Datei dagegen nicht, wohl aber
-die Funktion 'Kopieren' im Menü 'Gesamtdatei'.
- Da der Inhalt gelesen werden muß, funktioniert die Funktion
-'Aufräumen' im Gegensatz zu den oben gemachten Versprechungen
-nur für Textdateien oder EUDAS-Dateien, nicht aber für andere
-Dateitypen. Die Unterscheidung der Dateitypen wird automatisch
-vorgenommen.
-
-
-16.2 Dateien auf dem Archiv
-
-Mit den Funktionen im Menü 'Archiv' können Sie nicht nur Dateien
-auf dem Archiv behandeln, sondern auch in anderen Tasks oder per
-EUMEL-Netz sogar auf anderen Rechnern.
-
-
- --------------
- Dateien Archiv
- U Übersicht
- D Üb. Drucken
- --------------
- Datei
- K Kopieren
- vom Archiv
- S Schreiben
- auf Archiv
- L Löschen
- auf Archiv
- --------------
- Archivdiskette
- I Init
- --------------
- Z Zielarchiv
- P Paßwort
- R Reservieren
- --------------
-
-#center#Abb. 16-2 Menue 'Archiv'
-
-
-#on("b")#Zielarchiv#off("b")# Dazu können Sie die Task einstellen, mit der
-Sie arbei­
-ten möchten. Normaleinstellung ist die Task 'ARCHIVE', die Ihre
-Archivdiskette bedient. Dies wird auch in der untersten Bildschirm­
-zeile angezeigt.
- Die Task stellen Sie mit der Funktion 'Zielarchiv' ein. Sie
-werden dann nach dem Namen der Task gefragt. Diese Task muß
-eine Managertask sein (also unabhängig vom Bildschirm arbeiten)
-und sie muß bereits existieren.
- Wenn Sie auf Ihrem Rechner das EUMEL-Netz installiert haben,
-werden Sie auch nach der Nummer der Zielstation gefragt, also der
-Nummer des Rechners, auf dem die gewünschte Task arbeitet. Durch
-Drücken von RETURN wird automatisch Ihre eigene Stationsnummer
-verwendet.
- Nun gibt es zwei Arten von Managertasks, mit denen EUDAS
-zusammenarbeiten kann, #on("i")#Archivmanager#off("i")# und normale Dateimanager.
-Der Unterschied besteht darin, daß ein Archivmanager für einen
-Benutzer reserviert werden muß, damit man nicht auf Disketten
-eines anderen Benutzers zugreifen kann. Normale Dateimanager
-können und sollen dagegen von mehreren Benutzern in beliebiger
-Reihenfolge angesprochen werden.
- Manche Rechner haben mehrere Archivmanager für mehrere
-Diskettenlaufwerke. Durch das Einstellen des Zielarchivs können Sie
-auf verschiedenen Laufwerken archivieren. Ein Archivmanager kann
-sich natürlich auch auf einem anderen Rechner befinden. Sie benut­
-zen dann dessen Diskettenlaufwerk.
- Beim Einstellen des Zielarchivs wird als letztes gefragt, ob die
-Zieltask ein Archivmanager ist oder nicht. Im Normalfall sollten Sie
-die Frage bejahen, wenn Sie 'ARCHIVE' einstellen, und ansonsten
-verneinen (s. die obigen Ausnahmefälle).
- Das eingestellte Zielarchiv wird jeweils in der untersten Bild­
-schirmzeile angezeigt.
- Die Reservierung eines Archivmanagers findet beim ersten Zu­
-griff statt. Beim Umschalten des Zielarchivs oder Verlassen des
-Menüs wird die Reservierung automatisch wieder aufgehoben.
-
-#on("b")#Übersicht#off("b")# Mit der Funktion 'Übersicht' können Sie eine
-Auflistung
-aller Dateien abrufen, die sich auf der Archivdiskette (bzw. in dem
-eingestellten Manager) befinden. Wie die Dateiübersicht im System
-können Sie die Darstellung wie im Editor rollen und mit ESC 'q'
-verlassen.
- Wollen Sie die Übersicht gedruckt haben, rufen Sie die Funktion
-'Übersicht drucken' auf. Die Übersicht wird dann nochmals zusam­
-mengestellt und gleich gedruckt.
-
-#on("b")#Schreiben und Lesen#off("b")# Mit den Funktionen 'Kopieren vom
-Archiv'
-und 'Schreiben auf Archiv' können Sie Dateien zwischen dem Archiv
-und Ihrer Task hin und her transportieren. Es wird jeweils eine
-Kopie angefertigt, das heißt das Original auf der Diskette oder in
-Ihrer Task wird nicht verändert.
- Wenn die transportierte Datei an ihrem Ziel schon existiert,
-wird gefragt, ob die vorher existierende Datei gelöscht (überschrie­
-ben) werden soll. Überschreiben aus Versehen ist nicht möglich,
-wenn Sie die Frage sorgfältig beantworten.
- Beim Aufruf der Funktionen können Sie den gewünschten Da­
-teinamen angeben oder in der Auswahl ankreuzen. Die Auswahl ist
-hier besonders sinnvoll, wenn Sie mehrere Dateien (eventuell sogar
-in einer bestimmten Reihenfolge) sichern müssen. Außerdem können
-Sie ja keine Datei transportieren, die nicht existiert; alle Möglich­
-keiten werden Ihnen also durch Ankreuzen angeboten.
- Beachten Sie, daß beim Überschreiben einer Datei auf einer
-Archivdiskette der Speicherplatz der alten (überschriebenen) Ver­
-sion im allgemeinen nicht wiederverwendet werden kann. In diesem
-Fall kann das Archiv voll werden, obwohl eigentlich genügend Platz
-da wäre.
-
-#on("b")#Löschen#off("b")# Das gleiche Problem tritt auf beim Löschen einer
-Datei
-auf dem Archiv. Mit der Funktion 'Löschen auf Archiv' können Sie
-zwar die Datei auf der Diskette ungültig machen, der Platz wird
-jedoch nur dann wiederverwendet, wenn es die letzte Datei auf der
-Diskette war. Anderenfalls bleiben "Leichen" übrig, die Sie in der
-Archivübersicht als Striche erkennen können.
- Diese Probleme treten jedoch mit anderen Managern nicht auf,
-da diese Ihren Speicherplatz intelligenter verwalten können.
-
-#on("b")#Initialisieren#off("b")# Als Abhilfe bei einem übergelaufenen Archiv
-müssen
-Sie das ganze Archiv initialisieren und neu beschreiben. Dazu gibt
-es die Funktion 'Init'.
- Diese Funktion müssen Sie auch dann verwenden, wenn Sie eine
-Archivdiskette zum ersten Mal verwenden. Auf dem Archiv muß
-nämlich als erstes der Archivname eingetragen werden, ehe es be­
-nutzt werden kann. Diesen Namen müssen Sie hier angeben.
- Alle alten Daten des Archivs werden komplett gelöscht. Daher
-müssen Sie vorher die noch gültigen Daten vom Archiv ins System
-kopiert haben. Wenn das Archiv vorher schon beschrieben war,
-werden Sie anhand des Namens gefragt, ob Sie die richtige Diskette
-zum Überschreiben eingelegt haben.
- Wenn Sie eine fabrikneue Diskette aus der Verpackung nehmen,
-müssen Sie diese vor der Initialisierung #on("i")#formatieren#off("i")#. Dabei wird die
-Diskette auf ein bestimmtes physikalisches Format eingestellt. Ohne
-diese Operation ist weder Schreiben noch Lesen überhaupt möglich.
- In der Regel muß eine Diskette nur einmal formatiert werden.
-Sie können sie jedoch jederzeit wieder formatieren (wenn Sie zum
-Beispiel nicht wissen, was Ihnen da für eine alte Diskette in die
-Finger geraten ist).
- Am Anfang des Initialisierens werden Sie gefragt, ob Sie die
-Diskette formatieren wollen. Manche Rechner unterstützen diese
-Operation innerhalb des EUMEL-Systems nicht. In diesem Fall (und
-natürlich auch sonst normalerweise) müssen Sie die Frage vernei­
-nen. Das Formatieren muß dann vorher irgendwie außerhalb des
-Systems geschehen sein.
- Das Initialisieren funktioniert natürlich nur bei Archivmana­
-gern. Bei einer anderen Zieltask ist diese Funktion gesperrt.
-
-#on("b")#Paßwort#off("b")# Dateien in einem allgemeinen Dateimanager (nicht
-jedoch
-auf dem Archiv) können Sie mit einem Paßwort gegen unbefugten
-Zugriff sichern. Sinnvolle Voraussetzung dafür ist, daß der Datei­
-manager selbst mit einem anderen Paßwort gegen Betreten gesichert
-ist.
- Das von Ihnen verwendete Paßwort geben Sie mit der Funktion
-'Paßwort' ein. Damit Ihnen niemand über die Schulter schauen
-kann, werden alle Zeichen auf dem Bildschirm als Punkte darge­
-stellt. Anschließend müssen Sie das Paßwort noch einmal eingeben,
-damit sich kein unbemerkter Schreibfehler eingeschlichen hat.
- Das Paßwort wird dann bei allen Transport- und Löschopera­
-tionen abgefragt. Eine Datei im Manager erhält Ihr Paßwort zuge­
-wiesen, wenn Sie sie das erste Mal im Manager ablegen. Bei allen
-folgenden Zugriffen muß das gleiche Paßwort eingestellt sein, sonst
-wird der Zugriff verweigert.
- Natürlich können Sie für verschiedene Dateien verschiedene
-Paßwörter einstellen. Trotz Einstellung eines Paßworts können auch
-andere Benutzer ihre Dateien im gleichen Manager ablegen.
- Sie können auch für Schreiben (und Löschen) sowie Lesen
-unterschiedliche Paßwörter einstellen. Dazu benutzen Sie einfach
-einen Trennstrich in der Form
-
-
- Schreibpaßwort/Lesepaßwort
-
-
-Soll eine Datei überhaupt nicht überschrieben oder gelöscht werden
-können, können Sie '-' als Schreibpaßwort verwenden:
-
-
- -/Lesepaßwort
-
-
-Die Datei kann dann nur beim direkten Betreten der Managertask
-verändert werden.
- Wollen Sie die Paßworteinstellung wieder aufheben, drücken Sie
-bei der Paßworteingabe nur RETURN, da der leere Text als "kein
-Paßwort" interpretiert wird.
-
-#on("b")#Reservieren#off("b")# Wollen Sie eine Task als Zieltask verwenden,
-die zwar
-kein Archivmanager ist, aber reserviert werden muß (zum Beispiel
-'DOS' zum Ansprechen fremder Diskettenformate) müssen Sie die
-Reservierung mit der Funktion 'Reservieren' selbst vornehmen. Die
-Zieltask darf nicht als Archivmanager gekennzeichnet sein (dann ist
-die Funktion 'Reservieren' nämlich gesperrt).
- Bei der Reservierung müssen Sie den Reservierungsparameter
-(abhängig von der Art der Zieltask - bei 'DOS' beispielsweise den
-Modus) als Text eingeben. Nach der Reservierung können Sie die
-anderen Funktionen des Archivmenüs verwenden.
- Die Freigabe der Zieltask erfolgt automatisch beim Verlassen
-des Menüs oder beim Einstellen einer neuen Zieltask.
-
diff --git a/doc/eudas/eudas.hdb.2 b/doc/eudas/eudas.hdb.2
deleted file mode 100644
index f3f14e1..0000000
--- a/doc/eudas/eudas.hdb.2
+++ /dev/null
@@ -1,178 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (11)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-2 Installation des Programms
-
-
-
-Bevor Sie EUDAS auf Ihrem System benutzen können, müssen Sie das
-Programm zuvor installieren. Wenn EUDAS schon auf Ihrem System
-zur Verfügung steht, können Sie dieses Kapitel getrost überlesen.
-
-
-2.1 Lieferumfang
-
-EUDAS wird auf einer Diskette geliefert, die alle notwendigen Pro­
-gramme enthält. Um den Inhalt der Diskette feststellen zu können,
-starten Sie Ihr System und bringen es dazu, daß 'gib kommando:'
-erscheint. Dann legen Sie die Diskette ein und geben das Kommando
-
-
- archive ("EUDAS"); list (archive); release (archive)
-
-
-Anschließend erscheint eine Übersicht der auf dem Archiv vorhan­
-denen Programmteile. Folgende Namen sollten sich in dieser Über­
-sicht wiederfinden:
-
-
- "eudas.1"
- "eudas.2"
- "eudas.3"
- "eudas.4"
- "eudas.init"
- "eudas.generator"
- "Adressen"
-
-
-Eventuell können noch weitere Namen in der Übersicht auftauchen.
-Sollte einer der angegebenen Namen nicht vorhanden sein, rekla­
-mieren Sie die Diskette. Falls Sie statt der Übersicht eine Fehler­
-meldung erhalten, sollten Sie überprüfen, ob die Diskette das rich­
-tige Format besitzt oder Ihr Diskettenlaufwerk Probleme bereitet.
- Wenn Sie so den Inhalt der Diskette kontrolliert haben, können
-Sie EUDAS installieren. Je nachdem, ob Sie ein Single-User oder ein
-Multi-User System benutzen, sind die Anweisungen unterschiedlich.
-Sie brauchen nur den Sie betreffenden der beiden folgenden Ab­
-schnitte zu lesen. Falls Sie nicht wissen, welches System Sie benut­
-zen: ein Multi-User System wird auf der Systemdiskette und am
-Bildschirm durch die Kennzeichnung 'EUMEL x.y.z/M' identifiziert,
-bei einem Single-User System steht als letztes Zeichen ein 'S'.
-
-
-2.2 Single-User
-
-Dieser Abschnitt betrifft Sie nur, wenn Sie EUDAS auf einem
-Single-User System installieren wollen.
- Sie können EUDAS immer nur auf einer bestimmten Hinter­
-grunddiskette installieren. Auf dieser Diskette sollten noch min­
-destens 250 KB frei sein (stellen Sie dies durch das Kommando
-'storage info' sicher). EUDAS kann anschließend auch nur auf dieser
-Diskette verwendet werden.
- Starten Sie nun die gewünschte Diskette. Dann legen Sie die
-Diskette, auf der EUDAS sich befindet, in das Archivlaufwerk. Geben
-Sie dann das Kommando
-
-
- archive ("EUDAS"); fetch ("eudas.generator", archive); run
-
-
-Sie haben damit das Generatorprogramm gestartet, das die Installa­
-tion automatisch durchführt. Lassen Sie während dieses Vorganges
-das EUDAS-Archiv eingelegt. Sie werden benachrichtigt, wenn die
-Generierung abgeschlossen ist.
- Wenn Sie EUDAS auf allen Ihren Hintergrunddisketten haben
-möchten, können Sie das so erzeugte System als Muttersystem
-sichern. Mit dem Kommando 'save system' können Sie den Hinter­
-grund komprimiert auf eine leere Archivdiskette schreiben. Mit
-dieser Sicherung können Sie dann jederzeit neue Systemdisketten
-wie von Ihrem Originalsystem herstellen.
-
-#on("b")#Einschränkungen#off("b")# Aus Platzgründen hat die
-Single-User-Version von EUDAS folgende Einschränkungen:
-#free (0.2)#
- Sie können die Funktionen Ketten und Koppeln nicht verwenden.
-#free (0.2)#
- Sie können im Druckmuster keine ELAN-Anweisungen und -Aus­
- drücke verwenden.
-#free (0.2)#
- Es stehen nur einige allgemeine Hilfstexte zur Verfügung.
-#free (0.2)#
- Funktionen, die mehrere Tasks vorausssetzen, sind ebenfalls
- gesperrt.
-#free (0.2)#
-Die betreffenden Funktionen sind zwar gegebenenfalls im Menü
-enthalten, lassen sich aber nicht aufrufen.
-
-
-2.3 Multi-User
-
-Dieser Abschnitt betrifft Sie nur, wenn Sie EUDAS auf einem Mul­
-ti-User System installieren wollen.
- EUDAS muß in einer bestimmten Task installiert werden. Alle
-neuen Söhne und Enkel dieser Task können dann EUDAS aufrufen.
-Im Normalfall wird diese Task 'PUBLIC' sein.
- Zum Installieren müssen Sie in diese Task gehen (in diesem
-Beispiel 'PUBLIC'). Dazu rufen Sie durch Tippen der SV-Taste den
-Supervisor und geben das Kommando
-
-
- continue ("PUBLIC")
-
-
-Stelle Sie mit Hilfe des 'storage info'-Kommandos fest, ob auf Ihrem
-Hintergrund noch mindestens 300 KB frei sind (dieser Platz wird zur
-Generierung benötigt). Dann legen Sie die EUDAS-Archivdiskette ein
-und geben folgendes Kommando
-
-
- archive ("EUDAS"); fetch ("eudas.generator", archive); run
-
-
-Falls die Task 'PUBLIC' Söhne besitzt, werden Sie gefragt, ob Sie
-diese löschen wollen. EUDAS steht nämlich nur in den Söhnen zur
-Verfügung, die #on("i")#nach#off("i")# der Installation eingerichtet wurden. Antworten
-Sie auf die Frage durch einfaches Tippen von 'j' oder 'n'. wenn Sie
-die Frage verneinen, können Sie die Generierung zu diesem Zeit­
-punkt auch noch abbrechen und zunächst die Söhne aufräumen.
- Es erscheint die Frage
-
-
- Ausführliche Hilfstexte installieren ? (j/n)
-
-
-Verneinen Sie die Frage, wenn in Ihrem System der Speicherplatz
-kritisch ist (zum Beispiel wenn Sie keine Festplatte haben). Es
-werden dann nur die wichtigsten allgemeinen Hilfstexte installiert
-(Ersparnis etwa 40 KByte).
- Anschließend wird die automatische Generierung gestartet.
-Lassen Sie die EUDAS-Archivdiskette eingelegt. Die Generierung ist
-beendet, wenn das EUMEL-Bild erscheint. Die Task, in der die
-Generierung stattfindet, wird automatisch zu einer Managertask, das
-heißt, daß man von ihr Söhne einrichten kann.
- Sie können das so erweiterte System auch mit 'save system' auf
-einer oder mehreren Archivdiskette sichern. Lesen Sie dazu die
-Hinweise zur Systemsicherung im EUMEL-Systemhandbuch.
-
-#on("b")#Korrekturversionen#off("b")# Falls Sie später einmal eine
-Korrekturversion
-von EUDAS bekommen, sollten Sie vor der neuen Generierung die
-Task, in der EUDAS vorher generiert war, löschen (Vorsicht: alle
-Söhne werden mitgelöscht) und wieder neu einrichten. Anderenfalls
-bleibt die alte Version als unzugängliche "Leiche" auf Ihrem System
-liegen.
- In diesem Fall und auch, wenn Sie mehrere Programme in der
-gleichen Task installieren, kann es zum Überlauf der internen Über­
-setzertabellen kommen. Für größere Installationen oder wenn Sie
-viele verschiedene Programme benutzen, empfiehlt es sich, zur
-Generierung eine eigene Task 'EUDAS' als Sohn von 'PUBLIC' zu
-verwenden. Sie dürfen dann aber in 'PUBLIC' nicht zu viel insertie­
-ren, da 'EUDAS' ja alle Programme von 'PUBLIC' erbt. Denken Sie
-daran, daß Sie EUDAS nur in Tasks benutzen können, die unter der
-Task 'EUDAS' eingerichtet wurden.
-
-
-
-
-
-
diff --git a/doc/eudas/eudas.hdb.3 b/doc/eudas/eudas.hdb.3
deleted file mode 100644
index e89ff4f..0000000
--- a/doc/eudas/eudas.hdb.3
+++ /dev/null
@@ -1,515 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (15)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-3 Ein Beispiel zum Ausprobieren
-
-
-
-Bevor Sie in die tieferen Geheimnisse von EUDAS einsteigen, sollen
-Sie in diesem Kapitel erst einige Erfahrungen mit der Bedienung
-sammeln. Dadurch erhalten Sie Sicherheit im Umgang mit dem Pro­
-gramm und haben bereits einen Eindruck dessen, was Sie anschlie­
-ßend erwartet.
- Das Durchlesen dieses Kapitels ist nur dann sinnvoll, wenn Sie
-die Anweisungen selbst am Rechner ausprobieren. Anderenfalls
-beginnen Sie besser mit dem nächsten Kapitel.
- Im folgenden sind die Eingaben, die Sie machen sollen, kursiv
-gedruckt, während Ausgaben des Rechners normal erscheinen.
-Außerdem erscheinen spezielle Tasten in spitzen Klammern:
-
-
- <RET>
-
-
-Bitte tippen Sie nicht die eckigen Klammern oder Großbuchstaben,
-sondern die entsprechende Taste. Oft haben die Sondertasten auch
-etwas andere Bezeichnungen (die obige zum Beispiel 'CR', 'Carriage
-Return', 'RETURN', 'ENTER'). Bitte fragen Sie bei Unklarheiten Ihren
-Systemlieferanten oder -betreuer.
-
-
-3.1 Start
-
-Die Anweisungen zum Starten von EUDAS sind unterschiedlich, je
-nachdem wie Ihr System eingerichtet ist. Bitte beachten Sie daher
-die verschiedenen Fälle.
-
-1. Falls Sie EUDAS nicht selbst installiert haben, fragen Sie am
- besten Ihren Systembetreuer. Ansonsten verhalten Sie sich wie
- unter 2.
-
-2. Falls Sie EUDAS nach den Anweisungen von Kapitel 2 in einem
- Multi-User-System eingerichtet haben, müssen Sie zunächst eine
- Arbeitstask (Arbeitsbereich) einrichten. Dazu tippen Sie die
- SV-Taste (diese trägt häufig die unterschiedlichsten Bezeich­
- nungen). Es erscheint
-
-
- EUMEL x.y.z/M
-
- gib supervisor kommando :
-
-
- Sie tippen nun folgendes Kommando:
-
-
- #on("i")#begin ("arbeit")#off("i")#<RET>
-
-
- Vergessen Sie nicht die RETURN-Taste am Schluß. Machen Sie
- jetzt weiter bei Punkt 4.
-
-3. Falls Sie ein Single-User-System besitzen, starten Sie die
- Systemdiskette und geben das Datum ein. Dann machen Sie wei­
- ter mit Punkt 4.
-
-4. Danach erscheint:
-
-
- gib kommando :
-
-
- und Sie tippen:
-
-
- #on("i")#eudas#off("i")#<RET>
-
-
- Als Ergebnis wird das EUDAS-Eingangsmenü angezeigt (s. Abb.
- 3-1 auf der nächsten Seite).
-
-
-3.2 Daten eintragen
-
-Als Beispiel sollen Sie eine kleine Adressenkartei einrichten. Der
-Fachausdruck für eine elektronische Kartei ist #on("i")#Datei#off("i")#.
-
-___________________________________________________________________________________________
-
- EUDAS: Öffnen Einzelsatz Gesamtdatei Drucken Dateien Archiv
- --------------:
- EUDAS-Datei :
- O Öffnen :
- - Ketten :
- - Koppeln : EEEEE U U DDDD A SSSS
- --------------: E U U D D A A S
- Arbeitskopie : EEE U U D D AAAAA SSS
- - Sichern : E U U D D A A S
- --------------: EEEEE UUU DDDD A A SSSS
- Aktuelle Datei:
- - Notizen : Version 4.3
- - Feldstrukt. : Stand: 14.07.87
- - Prüfbeding. :
- --------------: (C) Copyright
- Mehrbenutzer : Thomas Berlage
- M Manager : Software-Systeme
- --------------:
- :
- :
- :
- :
- :
- Akt.Datei: Manager: Datum: 22.07.87
-___________________________________________________________________________________________
-
-
-#center#Abb. 3-1 EUDAS-Eingangsmenü
-
-
- Zunächst müssen Sie eine neue Datei einrichten. Dazu tippen
-Sie die Leertaste. Dadurch wird die invers dargestellte Funktion
-'Öffnen' ausgeführt. Folgen Sie bitte dem nachstehenden Dialog auf
-der rechten Bildschirmseite:
-
-
- Name der Datei: #on ("i")#Mitglieder#off("i")#<RET>
- "Mitglieder" neu einrichten ? (j/n) #on("i")#j#off("i")#
-
-
-Unter der Überschrift 'Neue Feldnamen' tippen Sie jetzt folgendes
-(bitte keine Leerstellen vor den Namen tippen):
-
-
- #on("i")#Name#off("i")#<RET>
- #on("i")#Vorname#off("i")#<RET>
- #on("i")#PLZ#off("i")#<RET>
- #on("i")#Ort#off("i")#<RET>
- #on("i")#Strasse#off("i")#<RET>
- #on("i")#m/w#off("i")#<ESC>#on("i")#q#off("i")#
-
-
-Zum Schluß beantworten Sie noch eine Frage:
-
-
- Feldnamen oder Feldtypen aendern ? (j/n) #on("i")#n#off("i")#
-
-
-Damit ist die neue Datei eingerichtet.
- Nun tippen Sie die Pfeiltaste <RECHTS>. Es erscheint ein neues
-Menübild (s. Abb. 3-2).
-
-___________________________________________________________________________________________
-
- EUDAS: Öffnen Einzelsatz Gesamtdatei Drucken Dateien Archiv
- --------------: Satz 1 .........ENDE... Mitglieder .......... Feld 1
- Positionieren : Name
- W Weiter : Vorname
- Z Zurück : PLZ
- N Satz.Nr : Ort
- --------------: Strasse
- Suchbedingung : m/w
- S Setzen : ...........................................................
- L Löschen :
- M Markierung :
- --------------:
- Datensatz :
- E Einfügen :
- A Ändern :
- T Tragen :
- H Holen :
- --------------:
- F Feldauswahl :
- --------------:
- :
- :
- :
-
-___________________________________________________________________________________________
-
-
-#center#Abb. 3-2 Menü 'Einzelsatz'
-
-
-Nun tippen Sie so lange die Pfeiltaste <UNTEN>, bis die Funktion
-'Einfügen' invers markiert ist. Dann tippen Sie die Leertaste zum Aus­
-führen dieser Funktion. Die Schreibmarke springt nach rechts ins
-Datenfeld zum Eingeben. Geben Sie jetzt den ersten Datensatz wie
-folgt ein:
-
-
- #on("i")#Wegner#off("i")#<RET>
- #on("i")#Herbert#off("i")#<RET>
- #on("i")#5000#off("i")#<RET>
- #on("i")#Köln#off("i")#<RET>
- #on("i")#Krämergasse 12#off("i")#<RET>
- #on("i")#m#off("i")#<ESC>#on("i")#w#off("i")#
-
-
-Anschließend wird das Datenfeld wieder freigemacht, so daß Sie
-gleich den zweiten Datensatz eingeben können. Dies tun Sie auf die
-gleiche Weise, nur mit anderen Daten:
-
-
- #on("i")#Sandmann#off("i")#<RET>
- #on("i")#Helga#off("i")#<RET>
- #on("i")#5300#off("i")#<RET>
- #on("i")#Bonn 1#off("i")#<RET>
- #on("i")#Willicher Weg 109#off("i")#<RET>
- #on("i")#w#off("i")#<ESC>#on("i")#w#off("i")#
-
-
-Ebenso verfahren Sie dann weiter mit den folgenden Daten. Falls Sie
-sich vertippt haben, können Sie mit den vier Pfeiltasten an die
-entsprechende Stelle gehen und die falschen Buchstaben über­
-schreiben.
-
-
- #on("i")#Katani#off("i")#<RET>
- #on("i")#Albert#off("i")#<RET>
- #on("i")#5210#off("i")#<RET>
- #on("i")#Troisdorf#off("i")#<RET>
- #on("i")#Lindenstr. 3#off("i")#<RET>
- #on("i")#m#off("i")#<ESC>#on("i")#w#off("i")#
-
- #on("i")#Ulmen#off("i")#<RET>
- #on("i")#Peter#off("i")#<RET>
- #on("i")#5#off("i")#<RET>
- #on("i")#Köln 60#off("i")#<RET>
- #on("i")#Mozartstraße 17#off("i")#<RET>
- #on("i")#m#off("i")#<ESC>#on("i")#w#off("i")#
-
- #on("i")#Regmann#off("i")#<RET>
- #on("i")#Karin#off("i")#<RET>
- #on("i")#5000#off("i")#<RET>
- #on("i")#Köln 90#off("i")#<RET>
- #on("i")#Grengelweg 44#off("i")#<RET>
- #on("i")#w#off("i")#<ESC>#on("i")#w#off("i")#
-
- #on("i")#Arken#off("i")#<RET>
- #on("i")#Hubert#off("i")#<RET>
- #on("i")#5200#off("i")#<RET>
- #on("i")#Siegburg#off("i")#<RET>
- #on("i")#Talweg 12#off("i")#<RET>
- #on("i")#m#off("i")#<ESC>#on("i")#w#off("i")#
-
- #on("i")#Simmern#off("i")#<RET>
- #on("i")#Anna-Maria#off("i")#<RET>
- #on("i")#5#off("i")#<RET>
- #on("i")#Köln 3#off("i")#<RET>
- #on("i")#Platanenweg 67#off("i")#<RET>
- #on("i")#w#off("i")#<ESC>#on("i")#w#off("i")#
-
- #on("i")#Kaufmann-Drescher#off("i")#<RET>
- #on("i")#Angelika#off("i")#<RET>
- #on("i")#53#off("i")#<RET>
- #on("i")#Bonn#off("i")#<RET>
- #on("i")#Hauptstr. 123#off("i")#<RET>
- #on("i")#w#off("i")#<ESC>#on("i")#w#off("i")#
-
- #on("i")#Fuhrmann#off("i")#<RET>
- #on("i")#Harald#off("i")#<RET>
- #on("i")#5000#off("i")#<RET>
- #on("i")#Köln 1#off("i")#<RET>
- #on("i")#Glockengasse 44#off("i")#<RET>
- #on("i")#m#off("i")#<ESC>#on("i")#w#off("i")#
-
-
-Bei der letzten Adresse ist die letzte Taste unterschiedlich, da Sie
-keine weiteren Daten mehr eintragen wollen. Bitte beachten Sie dies.
-
-
- #on("i")#Seefeld#off("i")#<RET>
- #on("i")#Friedrich#off("i")#<RET>
- #on("i")#5000#off("i")#<RET>
- #on("i")#Köln-Ehrenfeld#off("i")#<RET>
- #on("i")#Kabelgasse#off("i")#<RET>
- #on("i")#m#off("i")#<ESC>#on("i")#q#off("i")#
-
-
-Damit die neu eingetragenen Daten permanent gespeichert sind,
-müssen Sie sie #on("i")#sichern#off("i")#. Dazu kehren Sie durch Tippen von <LINKS>
-in das erste Menü zurück. Dort tippen Sie wieder so lange <UNTEN>,
-bis die Funktion 'Sichern' markiert ist. Tippen Sie dann die Leer­
-taste zum Ausführen und folgen dem nachstehenden Dialog:
-
-
- Arbeitskopie "Mitglieder" veraendert! Sichern ? (j/n) #on("i")#j#off("i")#
- Alte Version ueberschreiben ? (j/n) #on("i")#j#off("i")#
- Interne Arbeitskopien loeschen ? (j/n) #on("i")#j#off("i")#
-
-
-Damit steht Ihnen nun eine Mitgliederdatei mit 10 Einträgen zur
-weiteren Verfügung.
-
-
-3.3 Daten abfragen
-
-Um Daten abzufragen, müssen Sie die Datei zunächst wieder öffnen.
-Dazu bewegen Sie die inverse Markierung durch mehrmaliges Tippen
-von <OBEN> nach oben bis zur Funktion 'Öffnen' und tippen Sie die
-Leertaste. Danach ergibt sich folgender Dialog:
-
-
- Name der Datei: #on("i")#Mitglieder#off("i")#<RET>
- Wollen Sie etwas aendern (eine Arbeitskopie einrichten)
- ? (j/n) #on("i")#n#off("i")#
-
-
-Danach gehen Sie durch Tippen von <RECHTS> in das zweite Menü.
-Dort erscheint jetzt die zehnte Adresse.
- Zunächst sollen Sie an den Anfang gehen. Dazu schieben Sie
-die Markierung auf die Funktion 'Satz.Nr' mit Hilfe der Pfeiltasten
-und tippen dann die Leertaste. Nach folgender Angabe
-
-
- Neue Satznummer: #on("i")#1#off("i")#<RET>
-
-
-erscheint die erste Adresse. Nun sollen Sie nach der Adresse von
-Harald Fuhrmann suchen. Dazu bringen Sie die Markierung auf die
-Funktion 'Suchbedingung Setzen' und tippen die Leertaste. Die
-Schreibmarke springt wieder in das Datenfeld. Dort geben Sie ein:
-
-
- #on("i")#Fuhrmann#off("i")#<ESC>#on("i")#q#off("i")#
-
-
-In der markierten Überschrift erscheint 'SUCH-' zum Zeichen, daß
-eine Suchbedingung eingestellt ist. Dann schieben Sie die Markie­
-rung auf die Funktion 'Weiter' und tippen die Leertaste. Kurz da­
-nach erscheint die Adresse von Herrn Fuhrmann mit dem Hinweis
-'SUCH+' (gefunden).
- Führen Sie dann die Funktion 'Zurück' aus (Verschieben der
-Markierung und Tippen der Leertaste). Es erscheint wieder die erste
-Adresse mit dem Hinweis 'SUCH-' (kein weiterer Fuhrmann gefun­
-den). Führen Sie dann die Funktion `Suchbedingung Löschen' aus.
-Der 'SUCH'-Hinweis verschwindet wieder.
- Als nächstes sollen Sie die Daten nach allen weiblichen Mit­
-gliedern durchsuchen. Dazu führen Sie wieder die Funktion 'Such­
-bedingung Setzen' aus. Diesmal tippen Sie im Datenfeld fünfmal die
-Pfeiltaste <UNTEN>, bis die Schreibmarke neben der Bezeichnung
-'m/w' steht. Dort tippen Sie
-
-
- #on("i")#w#off("i")#<ESC>#on("i")#q#off("i")#
-
-
-Wenn Sie jetzt die Funktion 'Weiter' ausführen, erscheint das erste
-weibliche Mitglied, Frau Sandmann. Da aber noch weitere Frauen in
-der Datei vorkommen, führen Sie erneut 'Weiter' aus und es erschei­
-nen die nächsten weiblichen Mitglieder.
- Wenn kein gesuchtes Mitglied mehr gefunden wurde, erscheint
-ein leeres Datenfeld mit den Bezeichnungen 'ENDE' und 'SUCH-' in
-der Überschrift. Durch mehrmaliges Ausführen von 'Zurück' können
-Sie die weiblichen Mitglieder wieder in der umgekehrten Reihenfolge
-ansehen, bis Sie an den Anfang der Datei kommen.
- Bitte lassen Sie die Suchbedingung eingestellt, denn im näch­
-sten Abschnitt wollen wir alle weiblichen Mitglieder ausdrucken.
-
-
-3.4 Drucken
-
-Zuerst begeben Sie sich durch zweimaliges Tippen von <RECHTS> in
-das Druckmenü, das in Abb. 3-3 gezeigt wird.
-
-___________________________________________________________________________________________
-
- EUDAS: Öffnen Einzelsatz Gesamtdatei Drucken Dateien Archiv
- --------------:
- Satzauswahl :
- D Drucken :
- --------------:
- Druckausgabe :
- R Richtung :
- --------------:
- Textdatei :
- E Editieren :
- A Ausdrucken :
- N Nachbearb. :
- --------------:
- :
- :
- :
- :
- :
- :
- :
- :
- :
- :
- Akt.Datei: "Mitglieder" Datum: 22.07.87
-___________________________________________________________________________________________
-
-
-#center#Abb. 3-3 Menü 'Drucken'
-
-
-Zunächst müssen Sie ein Druckmuster erstellen, das angibt, wie der
-Druck aussehen soll. Dazu führen Sie die Funktion 'Textdatei Edi­
-tieren' aus. Es erscheint die Aufforderung:
-
-
- Name der Datei: #on("i")#liste#off("i")#<RET>
-
-
-Dann wird der Bildschirm gelöscht und Sie können folgendes einge­
-ben:
-
-
- #on("i")#% VORSPANN#off ("i")#<RET>
- #on("i")#Liste der weiblichen Mitglieder#off ("i")#<RET>
- #on("i")#-------------------------------#off ("i")#<RET>
- #on("i")#% WIEDERHOLUNG#off ("i")#<RET>
- #on("i")#&Vorname %Name#off ("i")#<ESC>#on("i")#q#off("i")#
-
-
-Ebenso wie beim Eingeben von Daten können Sie hier mit den Pfeil­
-tasten auf fehlerhafte Stellen zurückgehen und dort korrigieren.
- Nun sollten Sie sich vergewissern, ob Ihr Drucker eingeschaltet
-und bereit (Ready) ist. Falls Sie keinen Drucker haben, folgen Sie
-bitte den Anweisungen unter 2. Anderenfalls gehen Sie wie folgt
-vor.
-
-1. Rufen Sie die Funktion 'Richtung' auf und beantworten Sie
- folgende Frage:
-
-
- Ausgabe automatisch zum Drucker ? (j/n) #on("i")#j#off("i")#
-
-
- Dann rufen Sie die Funktion 'Drucken' auf und geben den Namen
- des Druckmusters an:
-
-
- Name des Druckmusters: #on("i")#liste#off ("i")#<RET>
-
-
- Als Ergebnis sollte folgende Liste auf Ihrem Drucker erscheinen:
-
-
- Liste der weiblichen Mitglieder
- -------------------------------
- Helga Sandmann
- Karin Regmann
- Anna-Maria Simmern
- Angelika Kaufmann-Drescher
-
-
-2. Rufen Sie die Funktion 'Richtung' auf und beantworten Sie
- folgende Fragen:
-
-
- Ausgabe automatisch zum Drucker ? (j/n) #on("i")#n#off("i")#
- Ausgabe in bestimmte Datei ? (j/n) #on("i")#n#off("i")#
-
-
- Dann rufen Sie die Funktion 'Drucken' auf und geben den Namen
- des Druckmusters an:
-
-
- Name des Druckmusters: #on("i")#liste#off ("i")#<RET>
-
-
- Nach dem Ende des Druckprozesses (wenn das Sternchen vor
- 'Drucken' wieder durch ein 'D' ersetzt worden ist), rufen Sie
- wieder die Funktion 'Textdatei Editieren' auf und geben folgen­
- den Namen an:
-
-
- Name der Datei: #on("i")#liste.a$1#off("i")#<RET>
-
-
- Es erscheint die gleiche Ausgabe wie unter 1 beschrieben auf
- dem Bildschirm. Wenn Sie die Ausgabe genug gesehen haben,
- kehren Sie durch
-
-
- <ESC>#on("i")#q#off("i")#
-
-
- wieder in das Menü zurück.
-
-
-3.5 Ergebnis
-
-Da Sie sich wieder im Menü befinden, könne Sie EUDAS durch
-
- <ESC>#on("i")#q#off("i")#
-
-wieder verlassen. Danach können Sie Ihre Sitzung beenden, etwas
-Anderes tun oder EUDAS erneut aufrufen.
-
- Sie haben nun selbst ausprobiert, wie Sie unter EUDAS Daten
-eingeben können, wie Sie diese Daten abrufen und in ihnen suchen
-können. Sie haben die Daten auch schon ausgedruckt.
- Damit Sie besser verstehen, was Sie soeben gemacht haben,
-werden Sie in den folgenden vier Kapiteln die Grundfunktionen von
-EUDAS mit den dazugehörigen Erläuterungen kennenlernen.
- Danach können Sie dann selber Ihre eigene Anwendung entwer­
-fen und EUDAS zu Ihrer Arbeitserleichterung einsetzen.
-
-
-
-
-
-
diff --git a/doc/eudas/eudas.hdb.5 b/doc/eudas/eudas.hdb.5
deleted file mode 100644
index b5927ea..0000000
--- a/doc/eudas/eudas.hdb.5
+++ /dev/null
@@ -1,386 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (43)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-5 Gespeicherte Daten abfragen
-
-
-
-5.1 Öffnen
-
-Als letzte Vorbereitung, bevor Sie mit der Adreßdatei spielen kön­
-nen, müssen Sie die Datei wie einen Karteikasten #on("i")#öffnen#off("i")#. Nach dem
-Öffnen beziehen sich alle weiteren Funktionen auf die gerade ge­
-öffnete Datei. Aus diesem Grund darf auch immer nur eine einzige
-Datei geöffnet sein - als hätte auf Ihrem Schreibtisch nur ein Kar­
-teikasten Platz.
- Dazu wählen Sie jetzt wieder das erste Menü an. Dort finden
-Sie die Funktion
-#free (0.2)#
-
- O Öffnen
-
-#free (0.2)#
-Wählen Sie diese Funktion aus. Dann drücken Sie die Leertaste, um
-die Funktion auszuführen. Als erstes erscheint im unteren Teil des
-Bildschirms eine Frage:
-
-___________________________________________________________________________________________
-
- Wollen Sie etwas aendern (eine Arbeitskopie anlegen) (j/n) ?
-___________________________________________________________________________________________
-
-
-Der Cursor bleibt hinter der Frage stehen. Sie kennen diesen Frage­
-zustand ja schon.
- In diesem Fall wollen Sie an der Spieldatei nichts verändern,
-Sie beantworten die Frage also mit einem 'n'. Als nächstes werden
-Sie nach dem Namen gefragt (Beachten Sie auch hier wieder die
-Statuszeile).
- Tippen Sie nun 'Adressen' und beenden Sie die Eingabe mit
-RETURN. EUDAS öffnet die Datei und kehrt zum Menü zurück. Alter­
-nativ können Sie die Datei auch in einer Auswahl ankreuzen, wenn
-Sie ESC 'z' tippen.
-
-#on("b")#Fußzeile#off("b")# Nach der Ausführung dieser Funktion sollten Sie
-Ihre
-Aufmerksamkeit auf die letzte Zeile des Bildschirms richten. Hier
-finden Sie jetzt folgendes vor:
-
-___________________________________________________________________________________________
-
- Akt.Datei: "Adressen" Manager: Datum: 22.07.87
-___________________________________________________________________________________________
-
-
-Neben dem Datum und dem eingestellten Manager (dies kommt viel
-später) sehen Sie hier, welche Datei Sie geöffnet haben und nun
-bearbeiten können. Diese Fußzeile finden Sie auch in den ande­
-ren Menüs. Lediglich die mittlere Angabe ändert sich bei den ande­
-ren Menüs (eine Erläuterung dazu finden Sie in späteren Kapiteln).
-
-#on("b")#Anzeige#off("b")# Zum Anzeigen der Daten in der Adreßdatei müssen Sie
-das
-zweite Menü 'Einzelsatz' anwählen (durch Drücken der Pfeiltaste
-RECHTS). Am linken Rand erscheint das neue Menü mit den Anzei­
-gefunktionen. Der Rest des Bildschirms enthält das Formular für die
-Adreßdatei mit den Daten des ersten Satzes. Abbildung 5-1 zeigt
-das Bild, das sich dann ergibt.
-
-___________________________________________________________________________________________
-
- EUDAS: Öffnen Einzelsatz Gesamtdatei Drucken Dateien Archiv
- --------------: Satz 1 ................... Adressen ....... Zeile 1
- Positionieren : Name Wegner
- W Weiter : Vorname Herbert
- Z Zurück : PLZ 5000
- N Satz.Nr : Ort Köln
- --------------: Strasse Krämergasse 12
- Suchbedingung : m/w m
- S Setzen : ...........................................................
- L Löschen :
- M Markierung :
- --------------:
- Datensatz :
- - Einfügen :
- - Ändern :
- - Tragen :
- - Holen :
- --------------:
- F Feldauswahl :
- --------------:
- :
- :
- :
-
-___________________________________________________________________________________________
-
-
-#center#Abb. 5-1 Menü 'Einzelsatz'
-
-
-Das automatisch generierte Formular zeigt immer genau einen Satz.
-Das Formular besteht aus drei Teilen: der Überschrift, dem Feldteil
-und der Abschlußzeile. In der #on("i")#Überschrift#off("i")# steht der Name der Datei
-("Adressen"), die Satznummer (1) und die Nummer der ersten ange­
-zeigten Zeile (immer 1, außer wenn die Datei mehr Felder hat, als
-auf den Bildschirm passen). In manchen Fällen können auch noch
-weitere Informationen dort auftauchen, wie wir später sehen wer­
-den.
- Im #on("i")#Feldteil#off("i")# befindet sich der eigentliche Inhalt, und zwar sind
-links markiert die Feldnamen zu sehen, während rechts die zugehö­
-rigen Inhalte des betreffenden Satzes stehen. Dieses Bild ähnelt
-einer Karteikarte mit einem festen Format.
- Die #on("i")#Abschlußzeile#off("i")# am Ende gibt an, daß für diesen Satz keine
-weiteren Informationen mehr vorhanden sind. Wir werden aber spä­
-ter noch sehen, wie man anderenfalls die restlichen Informatio­
-nen sichtbar machen kann.
-
-
-5.2 Bewegen
-
-Nun wollen Sie nicht immer nur einen Satz betrachten (das wäre ja
-furchtbar langweilig). Daher müssen Sie die Möglichkeit haben, sich
-in der Datei zu "bewegen". Dies geschieht mit Hilfe der beiden
-Funktionen
-#free (0.2)#
-
- W Weiter
-
-#free (0.2)#
-und
-#free (0.2)#
-
- Z Zurück
-
-#free (0.2)#
-Sie haben die Wirkung, daß der Satz mit der nächsthöheren bzw.
-nächstniedrigeren Satznummer angezeigt wird. Natürlich funktioniert
-dies nur, wenn noch ein Satz vorhanden ist: am Anfang (Satz 1)
-können Sie nicht zurückgehen. In diesem Fall ignoriert EUDAS Ihren
-Befehl einfach.
- Wenn Sie bis zum Ende der Datei gehen (keine Angst - diese
-Datei enthält nur 10 Sätze), werden Sie feststellen, daß zum Schluß
-ein ganz leerer Satz erscheint. Dieser Satz ist eine Art Endemarkie­
-rung; er informiert Sie, daß keine weiteren Sätze vorhanden sind.
-Dieser Satz ist aber kein richtiger Satz, daher wird in der Über­
-schrift 'ENDE' angezeigt. (Wenn Ihnen diese Art Endemarkierung
-merkwürdig erscheint: sie hat schon einen triftigen Grund, s.6.2).
- Um einen Satz mit bekannter Satznummer gezielt anzuwählen,
-können Sie die Funktion
-#free (0.2)#
-
- N Satz.Nr
-
-#free (0.2)#
-verwenden. Sie müssen anschließend die Satznummer eingeben (Bitte
-mit RETURN beenden). Ist der Satz vorhanden, erscheint dieser,
-ansonsten stehen Sie am Ende der Datei.
-
-#on("b")#Aufruf über Buchstaben#off("b")# Vielleicht ist Ihnen inzwischen
-schon
-aufgefallen, daß vor jeder Funktion in einem Menü ein Buchstabe
-steht. Damit hat es folgendes auf sich: da das Positionieren des
-Cursors zum Auswählen einer Funktion mehrere Tastendrücke erfor­
-dern kann, haben Sie die Möglichkeit, jede Funktion auch über
-einen Buchstaben auszuführen.
- Dies ist besonders dann sinnvoll, wenn Sie mit den eben be­
-sprochenen Funktionen schnell in der Datei "blättern" wollen. An­
-dererseits müssen Sie sich aber für eine schnelle Reaktion auch
-einige der Tasten merken. Für die Praxis empfiehlt sich folgender
-Kompromiß: die meistgebrauchten Funktionen über Buchstaben und
-der Rest durch Positionieren im Menü.
-
-
-5.3 Suchen
-
-Stellen Sie sich vor, die Datei wäre größer und Sie müßten eine
-bestimmte Adresse heraussuchen. Dazu würden Sie durch die ganze
-Datei durchgehen, bis die gewünschte Adresse erscheint. Das wäre
-natürlich bei vielen Adressen eine ungeheuer mühselige Arbeit, die
-mit einem Karteikasten wahrscheinlich schneller zu erledigen wäre.
- EUDAS bietet Ihnen jedoch die Möglichkeit, nach bestimmten
-Sätzen zu suchen. Dazu müssen Sie angeben, wonach gesucht werden
-soll. Als Beispiel wollen wir die Adresse von Frau Simmern su­
-chen. Bewegen Sie sich zunächst zurück bis auf den ersten Satz.
-Dann wählen Sie die Funktion
-#free (0.2)#
-
- Suchbedingung
- S Setzen
-
-#free (0.2)#
-Auf dem Bildschirm verschwinden die Feldinhalte und der Cursor
-steht hinter dem ersten Feldnamen. Dies bedeutet, daß Sie neben
-die Feldnamen etwas schreiben können. Auch in der Statuszeile
-erscheint statt der Anzeige der Menünamen ein Hinweis auf die
-Eingabemöglichkeit (s. Abb. 5-2). Sie befinden sich jetzt in einem
-Zustand, in dem Sie hinter die Feldnamen etwas schreiben können
-(dem sogenannten #on("i")#Satzeditor#off("i")#).
- Als Angabe, was gesucht werden soll, schreiben Sie jetzt in der
-ersten Zeile neben 'Name' die Bedingung 'Simmern'. Sie haben jetzt
-ein einfaches #on("i")#Suchmuster#off("i")# angegeben. Ein Suchmuster besteht aus
-Bedingungen, die neben die Feldnamen geschrieben werden. Unser
-einfaches Suchmuster lautet übersetzt:
-
- Wähle alle Sätze aus, bei denen 'Simmern' im Feld 'Name'
- steht.
-
-Beenden Sie die Eingabe des Suchmusters mit ESC 'q'. Es erscheint
-wieder das vorherige Bild, mit dem Unterschied, daß jetzt in der
-Überschrift ein 'SUCH-' auftaucht. EUDAS steht immer noch auf dem
-ersten Satz.
- Die Anzeige 'SUCH' gibt an, daß ein Suchmuster eingestellt
-wurde. Das Minuszeichen bedeutet, daß der aktuelle Satz die Such­
-bedingung jedoch #on("i")#nicht#off("i")# erfüllt.
-
-___________________________________________________________________________________________
-
- SUCHMUSTER EINGEBEN: Abbruch: ESC h Beenden: ESC q Hilfe: ESC ?
- --------------: Satz 1 .................... ............... Zeile 1
- Positionieren : Name Simmern
- W Weiter : Vorname
- Z Zurück : PLZ
- N Satz.Nr : Ort
- --------------: Strasse
- Suchbedingung : m/w
- * Setzen : ...........................................................
- L Löschen :
- M Markierung :
- --------------:
- Datensatz :
- - Einfügen :
- - Ändern :
- - Tragen :
- - Holen :
- --------------:
- F Feldauswahl :
- --------------:
- :
- :
-___________________________________________________________________________________________
-
-
-#center#Abb. 5-2 Eingabe eines Suchmusters
-
-
-#on("b")#Positionierung#off("b")# Das Suchen beginnt erst, wenn Sie sich in
-der Datei
-bewegen. In diesem Fall erhalten die Funktionen 'Satz weiter' und
-'Satz zurück' eine etwas geänderte Bedeutung. Sie gehen nämlich
-nicht einfach zum nächsten bzw. vorigen Satz, sondern zum näch­
-sten bzw. vorigen Satz.
- Als Indikator, daß Sie sich auf dem gesuchten Satz befinden,
-dient die Anzeige 'SUCH+'. Probieren Sie dies jetzt aus, indem Sie
-weitergehen. Als nächster Satz erscheint der gewünschte Satz 7. Die
-nicht ausgewählten Sätze wurden also übersprungen. Das gleiche
-passiert, wenn Sie noch weiter gehen. Da kein passender Satz mehr
-vorhanden ist, erscheint der leere Endesatz.
-
-#limit (12.0)#
- Denken Sie daran, daß das Einstellen der Suchbedingung
- noch keine Suche bewirkt. Diese müssen Sie selbst
- durch Positionieren mit 'Weiter' oder 'Zurück' auslösen.
-#limit (13.5)#
-
-Sollten Sie sich nicht am Anfang der Datei befinden, wenn Sie eine
-Suchbedingung einstellen, kann es sein, daß sich der gesuchte Satz
-vor oder hinter der aktuellen Position befindet. In diesem Fall
-müssen Sie entscheiden, ob Sie vorwärts oder rückwärts gehen.
-Wenn Sie rückwärts gehen und der Satz ist nicht in diesem Ab­
-schnitt, erscheint der erste Satz mit der Anzeige 'SUCH-'. Gehen Sie
-dann wieder vorwärts, finden Sie den Satz auf jeden Fall.
- Die Funktion 'Satz.Nr' richtet sich natürlich nicht nach der
-eingestellten Bedingung, da Sie ja eine bestimmte Satznummer wün­
-schen. Aus der 'SUCH'-Anzeige können Sie jedoch entnehmen, ob
-die Suchbedingung auf diesen Satz zutrifft.
-
-#on("b")#Suchbedingung löschen#off("b")# Wollen Sie wieder alle Sätze sehen,
-müssen Sie die Funktion
-#free (0.2)#
-
- Suchbedingung
- L Löschen
-
-#free (0.2)#
-auswählen. Die Anzeige 'SUCH' verschwindet wieder, um anzudeu­
-ten, daß keine Suchbedingung mehr eingestellt ist.
-
-#on("b")#Beispiel#off("b")# Um den Charakter einer Selektion nochmal deutlich
-zu
-machen, sollen Sie jetzt eine Bedingung einstellen, die auf mehrere
-Sätze zutrifft. Dies hätte uns auch eben passieren können, wenn es
-mehrere Simmern gegeben hätte. Wir können zum Beispiel alle weib­
-lichen Personen auswählen.
- Als erstes löschen Sie die alte Suchbedingung. Tun Sie dies
-nicht, wird Ihnen beim nächsten Eingeben das alte Suchmuster zum
-Ändern angeboten. Dies ist praktisch, wenn ein Suchmuster nicht
-den erhofften Erfolg brachte und Sie es modifizieren wollen.
- Danach wählen Sie erneut die Funktion 'Suchbedingung setzen'.
-Nun bewegen Sie den Cursor mit der Pfeiltaste UNTEN neben den
-Feldnamen 'm/w'. Dort tragen Sie die Bedingung 'w' ein. Verlassen
-Sie die Eingabe mit ESC 'q'.
- Wenn Sie sich jetzt in der Datei bewegen, sehen Sie, daß immer
-nur weibliche Personen angezeigt werden - die männlichen werden
-unterdrückt (in Umkehrung der Realität).
-
-
- ! 1 ! ! 3 ! 4 ! ! 6 !
- +-----+-----+-----+-----+-----+-----+-----+
- !Name ! .. ! ! .. ! .. ! ! .. !
- ! ! ! ! ! ! ! !
- : : : : :
- ! ! ! ! ! ! ! !
- !m/w ! w ! ! w ! w ! ! w !
- +-----+-----+ +-----+-----+ +-----+
-
-#center#Abb. 5-3 Wirkung einer Selektion
-
-
-
-5.4 Suchbedingungen
-
-Im letzten Abschnitt haben Sie gesehen, wie das Einstellen einer
-Suchbedingung funktioniert. In diesem Abschnitt sollen Sie weitere
-Möglichkeiten zur Formulierung von Suchmustern kennenlernen.
- Die erste Möglichkeit kennen Sie schon. Wenn neben einen
-Feldnamen ein Text geschrieben wird, bedeutet dies, daß ausge­
-wählte Sätze im Inhalt dieses Feldes mit dem Text übereinstimmen
-müssen.
-
-#on("b")#Kombination#off("b")# Nun kann es sein, daß mehrere Bedingungen
-gelten
-müssen. Im ersten Beispiel des vorigen Abschnitts hätten wir zum
-Beispiel auch noch den Vornamen 'Anna-Maria' angeben können, um
-bei mehreren Simmern die richtige auszuwählen. Wird also in mehre­
-re Felder eine Bedingung geschrieben, müssen alle diese Bedingun­
-gen gleichzeitig zutreffen.
- Würden Sie in unserem Beispiel noch als dritte Bedingung 'm'
-für das Feld 'm/w' angeben, würde gar kein Satz mehr ausgewählt,
-da Anna-Maria Simmern natürlich nicht männlich ist. Auch das
-kann also passieren.
-
-
- Name Simmern
- Vorname Anna-Maria
- ..
- ..
- m/w m
-
-#center#Abb. 5-4 Kombination von Bedingungen
-
-
-#on("b")#Stern#off("b")# Die Bedingungen, die wir bis jetzt kennengelernt
-haben,
-müssen alle ganz exakt zutreffen. Häufig tritt aber der Fall auf,
-daß der gesuchte Name nicht genau bekannt ist. In diesem Fall
-kann der Name im Suchmuster auch teilweise eingegeben werden.
-Der unbekannte Teil am Anfang oder am Ende wird einfach durch
-einen Stern markiert.
- Wenn Sie also als Bedingung 'Sim*' für den Namen angeben, so
-würde dies auf den Namen Simmern zutreffen, aber zum Beispiel
-auch auf Simmerath oder Simon. Die Bedingung '*mern' würde nicht
-nur auf Simmern zutreffen, sondern auch auf Pommern.
- Der Stern kann aber auch für einen leeren Text stehen. So
-trifft 'Simmern*' auf Simmern zu, aber auch auf Doppelnamen. die
-mit Simmern beginnen. Wissen Sie jetzt nicht, ob Simmern in dem
-Doppelnamen vorne oder hinten erscheint, können Sie auch an bei­
-den Seiten einen Stern machen. Die Bedingung '*Simmern*' trifft
-nicht nur auf Simmern, sondern sowohl auf Deckerath-Simmern als
-auch auf Simmern-Jakob zu.
- Es gibt noch eine Reihe von weiteren Möglichkeiten, Bedingun­
-gen im Suchmuster zu formulieren. Auch komplexe Kombinationen
-von Bedingungen sind möglich. Mit dem bisher Besprochenen sollten
-Sie aber in vielen Fällen auskommen. Die übrigen Möglichkeiten
-werden in Abschnitt 10.2 erklärt. Schauen Sie bei Bedarf dort nach.
-
-
diff --git a/doc/eudas/eudas.hdb.6 b/doc/eudas/eudas.hdb.6
deleted file mode 100644
index e617881..0000000
--- a/doc/eudas/eudas.hdb.6
+++ /dev/null
@@ -1,394 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (51)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-6 Daten eingeben und ändern
-
-
-
-6.1 Neue Datei einrichten
-
-Nachdem Sie sich bis jetzt an einer existierenden Datei erprobt
-haben, können Sie nun dazu übergehen, eine eigene neue Datei
-einzurichten. Als Beispiel sollen Sie ein kleines Telefonregister
-erstellen.
- Dazu gehen Sie wieder in das Menü 'Öffnen' zurück und wäh­
-len erneut die Funktion
-#free (0.2)#
-
- O Öffnen
-
-#free (0.2)#
-indem Sie mehrmals OBEN tippen, bis die Funktion markiert. Dann
-tippen Sie die Lerrtaste zum Ausführen. Als Dateinamen geben Sie
-'Telefonnummern' an.
- Da die Datei 'Telefonnummern' noch nicht existiert, werden Sie
-gefragt:
-
-
- "Telefonnummern" neu einrichten ? (j/n) #on("i")#j#off("i")#
-
-
-Es kann ja sein, daß Sie sich vertippt haben und eine andere,
-existierende Datei meinten. In unserem Fall wird die Datei aber
-wirklich neu eingerichtet, daher bejahen Sie die Frage.
-
-#on("b")#Feldnamen eingeben#off("b")# Wenn Sie beim Öffnen eine Datei neu
-einrich­
-ten, müssen Sie zuerst die Feldnamen festlegen, zum Beispiel diese:
-
-
- 'Name'
- 'Vorname'
- 'Strasse'
- 'PLZ'
- 'Ort'
- 'Telefon'
- 'Bemerkungen'
-
-
-Ihnen wird jetzt Gelegenheit gegeben, die Feldnamen untereinander
-einzugeben. Zur Korrektur können Sie die gleichen Tasten verwen­
-den wie im Editor (beachten Sie dazu die Statuszeile am oberen
-Bildschirmrand.
- Geben Sie die Namen in dieser Reihenfolge ein. Tippen Sie nach
-jedem Namen die RETURN-Taste, damit der nächste Name in eine
-neue Zeile kommt. Beenden Sie die Eingabe mit ESC 'q'.
- Die folgende Frage ermöglicht es Ihnen, noch weitere Eigen­
-schaften der Felder festzulegen. Dies ist jedoch im Normalfall nicht
-nötig. Beantworten Sie also die Frage mit 'n'. Ihre Datei ist nun
-eingerichtet.
- Wie Sie sehen, besteht das Einrichten einer Datei eigentlich
-nur aus der Eingabe der Feldnamen. Wenn Sie später noch Felder
-anfügen wollen, ist dies ohne weiteres möglich.
-
-
-6.2 Sätze Einfügen
-
-Nachdem die Datei nun eingerichtet worden ist, sollen Sie zunächst
-einige Sätze eingeben. Wenn Sie wieder das Menü 'Einzelsatz' an­
-wählen, sehen Sie nur den leeren Satz mit der Anzeige 'ENDE', der
-das Dateiende markiert. Um neue Sätze aufzunehmen, gibt es die
-Funktion
-#free (0.2)#
-
- E Einfügen
-
-#free (0.2)#
-Wenn Sie diese Funktion aufrufen, geschieht etwas Ähnliches wie
-beim Eingeben des Suchmusters. Der Cursor wandert wieder hinter
-den ersten Feldnamen und in der Statuszeile erscheint die Auffor­
-derung
-
-___________________________________________________________________________________________
-
- SATZ EINFUEGEN: Abbruch: ESC h Beenden: ESC q Hilfe: ESC ?
-___________________________________________________________________________________________
-
-
-Sie können nun die Feldinhalte der einzelnen Felder neben die
-entsprechenden Feldnamen schreiben. Mit der RETURN-Taste schlie­
-ßen Sie eine Zeile ab und gelangen in die nächste.
- Um eventuelle falsche Eingaben zu korrigieren, können Sie
-ähnlich wie im Editor mit den Pfeiltasten herumfahren und falsche
-Eingaben überschreiben. Die Taste RUBOUT löscht falsche Zeichen.
-Sie beenden die Eingabe mit ESC 'q'. Anschließend ist der neue Satz
-vorhanden.
-
-
-#free (4.5)#
-
-#center#Abb. 6-1 Einfügen
-
-
-#on("b")#Wirkung#off("b")# Die Wirkungsweise der Funktion 'Einfügen'
-verdeutlicht
-die Abb. 6-1. Dargestellt ist ein Ausschnitt aus einer Datei mit den
-Sätzen 4 bis 7 und durch Buchstaben dargestellten, beliebigen In­
-halten. Satz 6 sei der aktuelle Satz.
- Beim Einfügen wird nun vor dem aktuellen Satz eine Lücke für
-den neuen Satz geschaffen, die zunächst noch leer ist und dann von
-Ihnen ausgefüllt werden muß. Die Satznummern aller folgenden Sätze
-erhöhen sich um 1.
- Die Leerstelle bleibt nur dann erhalten, wenn Sie Daten für den
-neuen Satz eingeben. Anderenfalls wird nach ESC 'q' wieder der alte
-Zustand hergestellt.
- Dieses Verfahren erklärt auch, warum das Ende der Datei ein
-leerer Pseudosatz ist. Um nämlich am Ende der Datei einen neuen
-Satz anzufügen, muß man vor dem Endesatz einen Satz einfügen.
- Nachdem Sie also jetzt den ersten Satz eingegeben haben,
-müssen Sie sich wieder zum Ende bewegen, damit der nächste Satz
-hinter dem ersten steht. Für diesen häufig benötigten Vorgang gibt
-es eine Abkürzung: Wenn Sie die Eingabe mit ESC 'w' (Weiter) statt
-ESC 'q' beenden, geht EUDAS nach dem Einfügen des Satzes weiter
-zum nächsten und fügt dort wieder einen Satz ein.
- Auf diese Weise können Sie also schnell eine ganze Reihe von
-Sätzen nacheinander eingeben. Nachdem Sie einen Satz eingegeben
-haben, tippen Sie ESC 'w' und können gleich anschließend schon mit
-der Eingabe des nächsten Satzes beginnen. Alle so eingegebenen
-Sätze erscheinen nachher in der Reihenfolge der Eingabe.
-
-#on("b")#Satzeditor#off("b")# Bei der Eingabe eines neuen Satzes haben Sie
-nahezu
-alle Möglichkeiten, die auch der EUMEL-Editor bietet. Der be­
-schreibbare Bereich ist jedoch kleiner. Er umfaßt das ganze Gebiet,
-in dem sonst die Feldinhalte erscheinen.
- Wie beim Editor können Sie den Cursor mit den Cursortasten
-(Pfeiltasten) bewegen. Mit der Taste RUBOUT können Sie ein Zeichen
-löschen. Die restlichen Zeichen der Zeile rücken dann nach. Mit
-RUBIN dagegen schalten Sie in einen Einfügemodus um. Alle einge­
-gebenen Zeichen werden dann eingefügt - der Rest der Zeile rückt
-entsprechend nach rechts. Nochmaliges Tippen von RUBIN schaltet
-wieder in den alten Modus. Welcher Modus eingeschaltet ist, steht
-in der Überschriftzeile.
- Mit der Kombination ESC RUBOUT können Sie den Rest einer
-Zeile ab der Cursorposition löschen. Steht der Cursor in der ersten
-Spalte, wird dementsprechend die ganze Zeile gelöscht. Im Unter­
-schied zum EUMEL-Editor rücken die folgenden Zeilen jedoch nicht
-herauf.
- Entsprechend fügen Sie mit der Funktion ESC RUBIN eine neue
-Zeile ein. Dies ist immer dann erforderlich, wenn ein Feldinhalt
-nicht auf eine Zeile paßt. Der Teil der Zeile, der hinter dem Cursor
-steht, wird bei ESC RUBIN in die neue Zeile mitgenommen.
- Normalerweise tippen Sie ESC RUBIN, wenn Sie an das Ende
-einer Zeile kommen. Wenn Sie aber weiterschreiben, wird die Zeile
-einfach gerollt. Dies ist nicht weiter schlimm, aber Sie können den
-ganzen Feldinhalt nicht auf einmal sehen.
- In der normalen Anzeige wird ein überlanger Inhalt auf jeden
-Fall auf mehrere Zeilen verteilt.
-
-#on("b")#Warnung#off("b")# Ein Hinweis für alle, die sich mit der
-Editorbedienung
-schon auskennen: EUDAS benutzt den Editor als Unterprogramm.
-Jedoch haben einige Editorfunktionen unliebsame Auswirkungen.
-Besonders gefährlich sind hier HOP RUBOUT und HOP RUBIN. Diese
-Funktion zerstören die Korrespondenz zwischen Feldnamen und
-Feldinhalten, das heißt der Feldinhalt steht nicht mehr neben dem
-Feldnamen.
- Weiterhin können Sie das Editorbild rollen, ohne daß die Feld­
-namen mitrollen (zum Beispiel wenn Sie in der untersten Zeile
-RETURN drücken). In diesem Fall ist die Korrespondenz auch nicht
-erhalten, das heißt die Inhalte stehen falsch, sind aber eigentlich
-richtig.
- In solchen Fällen erscheint am oberen oder unteren Rand der
-Hinweis "Bitte ESC '1' druecken". Wenn das Editorbild nur gerollt
-wurde, verschwindet durch ESC '1' der Hinweis wieder und das Bild
-ist in Ordnung. Wenn jedoch Zeilen gelöscht oder eingefügt wurden,
-müssen Sie diese Änderungen von Hand wieder rückgängig machen,
-bis der Hinweis verschwindet. Sie sollten also HOP RUBOUT und HOP
-RUBIN im Satzeditor nicht verwenden.
- Im Zweifelsfall, wenn Sie meinen, den Satz durcheinanderge­
-bracht zu haben, können Sie immer mit ESC 'h' abbrechen. Es steht
-dann der vorherige Zustand für einen neuen Versuch zur Verfügung.
-
-
-6.3 Daten ändern
-
-Wenn Sie nachträglich noch eingegebene Daten ändern wollen, kön­
-nen Sie die Funktion
-#free (0.2)#
-
- A Ändern
-
-#free (0.2)#
-verwenden. Sie haben anschließend wie beim Einfügen Gelegenheit,
-neue Daten einzugeben. Allerdings werden Ihnen die bisherigen
-Daten gleich mit angeboten, so daß Sie nur die Änderungen ein­
-geben müssen. Alles andere kann unverändert bleiben. Auch diese
-Funktion wird mit ESC 'q' verlassen. ESC 'w' funktioniert beim
-Ändern ebenfalls (der nächste Satz wird zum Ändern angeboten).
- Stellen Sie beim Ändern oder Einfügen fest, daß Sie irgendeinen
-krassen Fehler gemacht haben, können Sie die Operation mit ESC 'h'
-abbrechen. Beim Ändern bleibt dann der alte Zustand unverändert,
-beim Einfügen wird kein Satz eingefügt.
-
-#on("b")#Löschen#off("b")# Für den Fall, daß Sie einen Satz wieder ganz aus
-der
-Datei löschen wollen, hat EUDAS eine besondere Vorsichtsmaßnahme
-vorgesehen. Damit der Satz nicht gleich unwiederbringlich verloren­
-geht, müssen Sie ihn zunächst in eine andere Datei #on("i")#tragen#off("i")#. Falls
-das Löschen ein Irrtum war, können Sie den Satz von dort noch
-wiederholen. In vielen Fällen besteht ohnehin die Anforderung, daß
-auch die nicht mehr aktuellen Daten noch eine gewisse Zeit aufge­
-hoben werden müssen.
- Zum Tragen gibt es die Funktion
-
-
- Datensatz
- T Tragen
-
-
-Sie werden nach einem Dateinamen gefragt. Geben Sie hier zum
-Beispiel 'müll' an. Da diese Datei noch nicht existiert, werden Sie
-gefragt, ob Sie sie neu einrichten wollen (falls Sie sich vielleicht
-verschrieben haben). Danach wird der aktuelle Satz in die Datei
-'müll' transportiert. Am Bildschirm erscheint der nächste Satz. Der
-getragene Satz kommt an das Ende der Zieldatei.
- Eine Bedingung beim Tragen ist, daß die Zieldatei immer die
-gleichen Felder haben muß wie die aktuelle Datei. Sie können also
-nicht aus verschieden strukturierten Dateien in die gleiche Datei
-tragen.
- Zum Zurückholen eines Satzes benutzen Sie die Funktion
-
-
- Datensatz
- H Holen
-
-
-Der letzte Satz der Datei, die Sie angeben, wird vor dem aktuellen
-Satz eingefügt. Dadurch wird der Effekt des letzten Tragens wieder
-aufgehoben.
- Um die getragenen Sätze endgültig zu vernichten, müssen Sie
-die Zieldatei als Ganzes löschen. Die dazu notwendige Funktion aus
-dem Menü 'Dateien' haben Sie bereits in Abschnitt 4.4 kennenge­
-lernt.
-
-
-6.4 Arbeitskopie sichern
-
-Wenn Sie eine Datei zum Ändern öffnen oder sie gerade neu einge­
-richtet haben, wird von dieser Datei intern eine Arbeitskopie ange­
-legt, die dann geändert wird. Sie müssen diese Arbeitskopie nach
-den Änderungen sichern, damit die Änderungen wirksam werden.
- In unserem Beispiel ist die Datei "Telefonnummern" immer noch
-leer. Die Änderungen sind momentan nur in der internen Kopie
-vorhanden. Wenn Sie die Datei zum Beispiel auf eine Archivdiskette
-schreiben wollten, würden Sie eine leere Datei auf der Diskette
-haben.
- Zum Sichern rufen Sie die Funktion
-#free (0.2)#
-
- S Sichern
-
-#free (0.2)#
-im ersten Menü auf. Es erscheint dann folgende Frage:
-
-___________________________________________________________________________________________
-
- Arbeitskopie "Telefonnummern" veraendert! Sichern (j/n) ?
-___________________________________________________________________________________________
-
-
-Beantworten Sie diese Frage mit 'j'. Als nächstes wird gefragt:
-
-___________________________________________________________________________________________
-
- Alte Version überschreiben (j/n) ?
-___________________________________________________________________________________________
-
-
-Beantworten Sie auch diese Frage mit 'j'. Die Arbeitskopie über­
-schreibt dann die (leere) Version vor dem Ändern.
- Wenn Sie die Frage verneint hätten, könnten Sie anschließend
-einen neuen Namen für die Arbeitskopie angeben. Dies wäre dann
-sinnvoll, wenn Sie den Stand vor den Änderungen noch aufbewahren
-wollen. In diesem Fall ist es jedoch nutzlos, die alte leere Datei
-noch behalten zu wollen.
- Abschließend wird gefragt, ob Sie die Arbeitskopien löschen
-wollen. Wenn Sie noch weiter mit der Datei arbeiten wollen, vernei­
-nen Sie diese Frage. Die Datei bleibt dann geöffnet. Anderenfalls
-müßten Sie die Datei neu öffnen, wenn Sie sie wieder ansehen wol­
-len.
-
-#on("b")#Arbeitskopien#off("b")# Es ist sehr wichtig, daß Sie sich die
-Funktionsweise
-mit der Arbeitskopie immer vor Augen halten, damit Sie später bei
-der Arbeit mit EUDAS nicht überrascht werden.
- Eine Arbeitskopie wird immer dann angelegt, wenn Sie beim
-Öffnen einer EUDAS-Datei angeben, daß Sie diese Datei ändern
-wollen. In dem Beispiel haben Sie eine neue Datei eingerichtet.
-EUDAS nimmt dann automatisch an, daß Sie ändern wollen. Öffnen
-Sie eine existierende Datei, werden Sie gefragt
-
-___________________________________________________________________________________________
-
- Wollen Sie etwas ändern (Arbeitskopie anlegen) (j/n) ?
-___________________________________________________________________________________________
-
-
-Wenn Sie diese Frage verneinen, wird keine Arbeitskopie angelegt;
-alle Änderungsfunktionen werden jedoch gesperrt. Daran können Sie
-auch erkennen, daß keine Arbeitskopie vorliegt.
- Die Arbeitskopie, die EUDAS sich anlegt, ist anonym. Wenn Sie
-sich also im Menü 'Dateien' eine Übersicht zeigen lassen, erscheint
-nur das Original. Bevor Sie mit diesem Original etwas anstellen
-(zum Beispiel auf Archiv schreiben), sollten Sie sich vergewissern,
-daß Sie die Arbeitskopie gesichert haben, da das Original sonst
-nicht auf dem neuesten Stand ist.
- Um Sie in diesem Fall zu warnen, erscheint vor einer geöffneten
-Datei in einer Dateiauswahl das Symbol <!>, zum Beispiel:
-
-
- o <!> "Telefonnummern"
- o "Mitglieder"
-
-
-Wenn Sie dieses Symbol sehen, sollten Sie die Datei lieber erst
-sichern, bevor Sie etwas mit ihr anstellen.
-
-#on("b")#Beispiel#off("b")# Um die Arbeitsweise von EUDAS noch besser zu
-verstehen,
-betrachten Sie das Beispiel in Abb. 6-2. Nehmen Sie an, Sie haben
-drei EUDAS-Dateien 'Kalender', 'Namen' und 'Adressen' mit ihren
-Anfangsinhalten K0, N0 und A0 (symbolisch). In dem Diagramm sind
-die Vorgänge zu den Zeitpunkten 0 bis 10 mit ihren Auswirkungen
-auf die Inhalte der Dateien und der Arbeitskopie dargestellt.
-
-
-#free (5.5)#
-#center#Abb. 6-2 Beispiel zur Arbeitskopie
-
-
-Zu den einzelnen Zeitpunkten passiere folgendes:
-
-0: Anfangszustand. Es wurde noch keine Datei geöffnet, also ist
- keine Arbeitskopie vorhanden. Es könnte aber auch eine
- beliebige Datei ohne Änderungserlaubnis geöffnet sein.
-#free (0.2)#
-1: Die Datei 'Adressen' wird geöffnet zum Ändern. Der momen­
- tane Zustand der Datei wird als Arbeitskopie übernommen.
-#free (0.2)#
-2: Es wird eine Änderung vorgenommen (zum Beispiel) ein Satz
- eingefügt). Diese Änderung betrifft aber nur die Kopie - die
- Datei 'Adressen' als Original bleibt unverändert.
-#free (0.2)#
-3: Eine weitere Änderung führt zum Inhalt A2 der Arbeitsko­
- pie.
-#free (0.2)#
-4: Aufruf von 'Sichern'. Die alte Version von 'Adressen' wird
- überschrieben und durch den Inhalt A2 ersetzt. Die Frage
- nach dem Löschen der Arbeitskopie wird verneint; daher bleibt
- die Kopie auch erhalten.
-#free (0.2)#
-5: Die Kopie wird erneut verändert.
-#free (0.2)#
-6: Aufruf von 'Sichern'. Die Frage, ob die Kopie gesichert wer­
- den soll, wird verneint. Die Arbeitskopie soll jedoch gelöscht
- werden. Als Ergebnis geht die Änderung A3 verloren (viel­
- leicht war diese Änderung ein Irrtum). Die Datei 'Adressen'
- wird nicht verändert. Es ist keine Arbeitskopie mehr vor­
- handen.
-#free (0.2)#
-7: Die Datei 'Namen' wird zum Ändern geöffnet.
-#free (0.2)#
-8: Die Datei 'Kalender' wird zum Ändern geöffnet. Da an der
- vorigen Arbeitskopie keine Änderungen vorgenommen wurden,
- kann die Kopie einfach überschrieben werden. Anderenfalls
- wäre an dieser Stelle die Möglichkeit zum Sichern angeboten
- worden.
-#free (0.2)#
-9: Es wird eine Änderung durchgeführt.
-#free (0.2)#
-10: Die geänderte Arbeitskopie wird gesichert, das Original über­
- schrieben und die Arbeitskopie gelöscht (Normalfall).
-
-
diff --git a/doc/eudas/eudas.hdb.7 b/doc/eudas/eudas.hdb.7
deleted file mode 100644
index d6f1bf3..0000000
--- a/doc/eudas/eudas.hdb.7
+++ /dev/null
@@ -1,687 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (61)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-7 Ausdrucken der Daten
-
-
-
-7.1 Druckmuster
-
-Nachdem Sie sich die Inhalte der EUDAS-Datei ausgiebig am Bild­
-schirm angesehen haben, möchten Sie die gespeicherten Daten sicher
-auch in gedruckter Form auf Papier sehen. Sie können eine
-EUDAS-Datei jedoch nicht ohne weiteres ausdrucken, da sie eine
-andere Struktur als normale Textdateien hat.
- Vor dem Drucken müssen also die Inhalte der EUDAS-Datei
-zunächst in lesbarer Form in eine Textdatei geschrieben werden.
-EUDAS kann diese Aufgabe jedoch ohne Ihre Hilfe nicht alleine be­
-wältigen.
- Es taucht nämlich das Problem auf, daß die Dateiinhalte in
-vielen verschiedenen Formen dargestellt werden können (Sie erin­
-nern sich sicher noch an das erste Kapitel). Vielleicht wollen Sie
-bestimmte Überschriften haben oder die Daten müssen auf ein be­
-stimmtes Formular passen.
- Um die Ausgabe nach Ihren Wünschen zu gestalten, müssen Sie
-also dem Rechner genau angeben, an welcher Stelle welche Felder
-gedruckt werden sollen usw. Dies geht am einfachsten, indem Sie
-dem Rechner ein Muster vorsetzen, nach dem er dann die richtigen
-Ausdrucke erstellen kann. Dieses Muster schreiben Sie in eine eige­
-ne Textdatei, die #on("i")#Druckmuster#off("i")# genannt wird. Aus den Daten der
-EUDAS-Datei und der Form, die im Druckmuster angegeben ist, wird
-dann eine weitere Textdatei erzeugt, die die Daten in der ge­
-wünschten Form enthält und die anschließend automatisch gedruckt
-werden kann.
- Durch ein Druckmuster erhalten Sie fast völlige Freiheit in der
-Gestaltung Ihrer Ausdrucke. Zum Beispiel können aus einer einzigen
-Adressendatei einfache Listen, Einladungskarten oder Rundbriefe
-erzeugt werden. Für eine einfache Adressenliste entspricht das
-Druckmuster einer Zeile der Liste, wobei angegeben wird, in welche
-Spalten die Inhalte gedruckt werden. Zum Drucken von Einladungs­
-karten wird als Druckmuster eine Einladungskarte verwendet, in der
-die Stellen markiert sind, an denen die Adresse erscheinen soll. Das
-gleiche kann man mit einem Brief machen, der dann mit jeder
-Adresse einmal ausgedruckt wird.
-
-#on("b")#Druckverfahren#off("b")# Man kann sich diesen Druckprozeß wie folgt
-vorstellen:
-
-
-#free (6.5)#
-
-#center#Abb. 7-1 Druckverfahren
-
-
-Vereinfacht gesagt (das genaue Verfahren wird später beschrieben)
-wird für jeden Satz der EUDAS-Datei das Druckmuster einmal in die
-Druckdatei übernommen. Dabei werden die Inhalte aus der EUDAS-
-Datei in einer noch anzugebenden Weise an den gewünschten Stellen
-eingefügt.
- Im weiteren sollen Sie erfahren, wie ein Druckmuster genau
-aussieht und wie daraus ein Ausdruck entsteht.
-
-#on("b")#Beispiel#off("b")# Im folgenden sollen Sie zur Demonstration die
-bereits in
-Kapitel 3 und 4 beschriebene Beispieldatei verwenden. Nach Mög­
-lichkeit sollten Sie die angegebenen Beispiele mit dieser Datei
-selbst am Rechner ausprobieren.
-
-Folgende Sätze befinden sich in der Datei:
-
-
- Vorname Name, Strasse, PLZ Ort, m/w
- -------------------------------------------------------
- Herbert Wegner, Krämergasse 12, 5000 Köln, m
- Helga Sandmann, Willicher Weg 109, 5300 Bonn 1, w
- Albert Katani, Lindenstr. 3, 5210 Troisdorf, m
- Peter Ulmen, Mozartstraße 17, 5 Köln 60, m
- Karin Regmann, Grengelweg 44, 5000 Köln 90, w
- Hubert Arken, Talweg 12, 5200 Siegburg, m
- Anna-Maria Simmern, Platanenweg 67, 5 Köln 3, w
- Angelika Kaufmann-Drescher, Hauptstr. 123, 53 Bonn 2, w
- Harald Fuhrmann, Glockengasse 44, 5000 Köln 1, m
- Friedrich Seefeld, Kabelgasse, 5000 Köln-Ehrenfeld, m
-
-
-Wie Sie sehen, wurde die Reihenfolge der Felder gegenüber der Datei
-teilweise verändert und Name und Vorname ohne Komma hinterein­
-andergeschrieben, während die anderen Feldinhalte durch Komma
-getrennt sind. Diese Liste wurde unter Verwendung eines Druck­
-musters erzeugt.
- Da dieses Druckmuster jedoch vorerst noch zu kompliziert ist,
-sollen Sie erst einmal ein einfacheres Druckmuster erstellen und
-versuchen, nur die Namen aus der Datei in Tabellenform auszuge­
-ben.
- Das dafür nötige Druckmuster hat folgendes Aussehen:
-
-
- % WIEDERHOLUNG
- ! &Name ! &Vorname !
-
-
-Das Druckmuster besteht nur aus zwei Zeilen, von der die zwei­
-te das eigentliche Muster darstellt. Die erste Zeile ist eine #on("i")# Anwei­
-sung#off("i")# an den Druckgenerator. 'WIEDERHOLUNG' gibt an, daß die
-folgenden Zeilen für jeden Satz wiederholt werden sollen (warum
-diese Angabe notwendig ist, werden Sie später einsehen). Das Pro­
-zentzeichen kennzeichnet eine Anweisung und muß unbedingt in der
-ersten Spalte des Druckmusters stehen, also ganz am linken Rand.
- In der zweiten Zeile ist zu sehen, daß das Zeichen '&' dazu
-benutzt wird, die Stellen zu markieren, an denen nachher Feldin­
-halte eingesetzt werden sollen. Hinter dem '&'-Zeichen folgt der
-Name des Feldes, das an dieser Stelle eingesetzt werden soll. Eine
-solche Konstruktion wird #on("i")#Feldmuster#off("i")# genannt. Beachten Sie, daß
-Feldnamen hier immer ohne Anführungsstriche geschrieben werden
-müssen. Die Ausrufungszeichen bilden den eigentlichen Mustertext
-und werden unverändert als Tabellenbegrenzung in die Ausgabe
-übernommen.
- Als Ergebnis des Druckprozesses sollte folgende Ausgabe auf
-dem Drucker erscheinen:
-
-
- ! Wegner ! Herbert !
- ! Sandmann ! Helga !
- ! Katani ! Albert !
- ! Ulmen ! Peter !
- ! Regmann ! Karin !
- ! Arken ! Hubert !
- ! Simmern ! Anna-Maria !
- ! Kaufmann-Drescher ! Angelika !
- ! Fuhrmann ! Harald !
- ! Seefeld ! Friedrich !
-
-
-Sie können erkennen, daß die Feldmuster in der Ausgabe jeweils
-durch den Inhalt des zugehörigen Feldes ersetzt worden sind. Der
-übrige Text in der Musterzeile ist unverändert geblieben. Beachten
-Sie, daß das '&' ein reserviertes Zeichen ist, das ein Feldmuster im
-umgebenden Text kennzeichnet und daher (vorerst) nicht gedruckt
-werden kann.
-
-
-7.2 Aufruf
-
-In diesem Abschnitt sollen Sie erfahren, wie Sie diese Ausgabe
-selbst erzeugen können. Damit der Druckgenerator arbeiten kann,
-müssen Sie die Datei 'Adressen' erst einmal öffnen. Anschließend
-wählen Sie das Menü 'Drucken' an.
-
-#on("b")#Druckmuster erstellen#off("b")# Als nächstes müssen Sie das
-Druckmuster erstellen. Hierfür gibt es die Funktion
-#free (0.2)#
-
- Textdatei
- E Editieren
-
-#free (0.2)#
-da das Druckmuster eine normale Textdatei ist.
- Wählen Sie diese Funktion. Sie werden dann nach einem Namen
-für das Druckmuster gefragt. Wir wollen das Druckmuster 'Namens­
-liste' nennen - Sie können aber auch einen beliebigen anderen
-Namen wählen. Denken Sie daran, die Anführungsstriche nicht mit
-einzugeben.
- Es erscheint anschließend das gewohnte Editorbild mit einer
-entsprechenden Statuszeile. Geben Sie die zwei Zeilen des Druck­
-musters ein und beenden Sie den Editor mit ESC 'q'. Damit ist das
-Druckmuster fertig.
-
- Die hier beschriebene Funktion können Sie nicht nur zum Er­
-stellen, sondern auch zum Ändern und einfachen Ansehen eines
-Druckmusters bzw. einer Textdatei allgemein verwenden. Es wird
-Ihnen immer der jeweilige Inhalt präsentiert, den Sie dann nach
-Belieben abändern können oder nicht.
-
-___________________________________________________________________________________________
-
- EUDAS: Öffnen Einzelsatz Gesamtdatei Drucken Dateien Archiv
- --------------:
- Satzauswahl :
- D Drucken :
- --------------:
- Druckausgabe :
- R Richtung :
- --------------:
- Textdatei :
- E Editieren :
- A Ausdrucken :
- N Nachbearb. :
- --------------:
-
-___________________________________________________________________________________________
-
-#center#Abb. 7-2 Menü "Drucken"
-
-
-#on("b")#Ausgaberichtung#off("b")# Bevor Sie jetzt weitermachen, sollten Sie
-über­
-prüfen, ob an Ihrem System ein Drucker angeschlossen ist. Der
-Drucker sollte bei den folgenden Versuchen betriebsbereit sein.
- Ist kein Drucker angeschlossen oder wollen Sie kein Papier
-verschwenden, haben Sie die Möglichkeit, den Ausdruck als Text­
-datei zu erhalten. Dazu wählen Sie die Funktion
-#free (0.2)#
-
- Ausgabe
- R Richtung
-
-#free (0.2)#
-an. Beantworten Sie beide Fragen, die Ihnen gestellt werden, mit
-'n'. Die Ausgaben stehen dann nachher in Dateien mit einem Namen
-der Form
-#free (0.2)#
-
- Namensliste.a$n
-
-#free (0.2)#
-die Sie sich mit der oben beschriebenen Funktion dann genau wie
-ein Druckmuster anschauen können. Der Name besteht also aus dem
-Namen des Druckmusters, dem ein '.a$' angehängt wird. Die Nummer
-'n' dient zur Unterscheidung bei mehreren aufeinanderfolgenden
-Ausgaben. Um Verwirrung zu vermeiden, sollten Sie die Datei nach
-dem Anschauen löschen (im Menü 'Dateien').
-
-#on("b")#Druckaufruf#off("b")# Wenn Sie diese Hinweise beachtet haben, können
-Sie den Druckvorgang mit der Auswahl
-#free (0.2)#
-
- Satzauswahl
- D Drucken
-
-#free (0.2)#
-starten. Sie werden hier nach dem Namen des Druckmusters gefragt,
-das Sie verwenden wollen (Sie können ja durchaus eine ganze Reihe
-von verschiedenen Druckmustern haben).
- Sie können den Ablauf des Druckvorganges daran verfolgen,
-daß jeweils die Nummer des Satzes ausgegeben wird, der gerade
-bearbeitet wird. Probieren Sie eventuell auch kleine Abwandlungen
-des Druckmusters aus, indem Sie die Tabellenspalten schmaler oder
-breiter machen oder die Ausrufungszeichen durch ein anderes Zei­
-chen ersetzen (je nach Geschmack).
-
-#on("b")#Ausgabedatei#off("b")# Wollen Sie die erzeugte Ausgabe (die in der
-Datei
-'Namensliste.a$1' steht) irgendwann tatsächlich ausdrucken, ver­
-wenden Sie die Funktion
-#free (0.2)#
-
- A Ausdrucken
-
-#free (0.2)#
-Sie werden dann nach dem Namen der Textdatei gefragt. Beachten
-Sie, daß Sie diese Funktion #on("i")#nicht#off("i")# zum Drucken von EUDAS-Dateien
-verwenden können, da aus einer EUDAS-Datei erst eine Druckdatei
-erzeugt werden muß.
- Auch wenn Sie angegeben haben, daß die Ausgabe des Druck­
-prozesses direkt ausgedruckt werden soll, startet Ihr Drucker erst,
-wenn EUDAS die ganze Datei durchgegangen ist und der Vorgang für
-Sie beendet ist. Dies liegt am EUMEL-System, das nur vollständige
-Druckaufträge entgegennimmt, damit sich mehrere Benutzer nicht in
-die Quere kommen können. In einem Multi-User-System können Sie
-weiterarbeiten, während der Drucker beschäftig ist.
-
-#on("b")#Fehler#off("b")# Bevor der eigentliche Druckprozeß gestartet wird,
-wird das
-Druckmuster auf unsinnige oder unverständliche Konstruktionen
-überprüft. Ist dem Druckgenerator etwas suspekt, gibt er eine Feh­
-lermeldung aus, in der die fragliche Situation von seiner Seite aus
-beschrieben wird. Er kann natürlich nicht Ihren Fehler "verstehen".
-Daher müssen Sie unter Umständen eine Fehlermeldung erst inter­
-pretieren, ehe Sie die wahre Ursache erkennen können.
- Damit Sie einen aufgetretenen Fehler gleich korrigieren können,
-werden Ihnen das Druckmuster und die Fehlermeldungen parallel auf
-dem Bildschirm zum Ändern und Anschauen angeboten. Sie können
-mit dem Editor das Druckmuster ändern und in den Fehlermeldungen
-blättern. Diese Konfiguration wird Paralleleditor genannt. Mit ESC
-'w' wechseln Sie zwischen den beiden Bildschirmhälften.
-
-#on("b")#Suchbedingung#off("b")# Wollen Sie nicht alle Namen ausdrucken, so
-können
-Sie vorher ein Suchmuster einstellen, das nur auf die gewünschten
-Namen zutrifft (wie im Kapitel 5 beschrieben). Der Druckgenerator
-richtet sich immer nach dem aktuell eingestellten Suchmuster und
-druckt nur die ausgewählten Sätze. Wenn Sie zum Beispiel die Na­
-men aller Frauen ausdrucken wollen, stellen Sie im Tastenmodus ein
-Suchmuster ein (das sollten Sie können), das für das Feld 'm/w' die
-Bedingung 'w' enthält. Danach können Sie den Druckgenerator auf­
-rufen. Vergessen Sie nicht, das Suchmuster anschließend wieder zu
-löschen.
-
-#on("b")#Feldnamen abfragen#off("b")# Wenn Sie selber ein Druckmuster
-erstellen,
-wird es häufiger vorkommen, daß Sie die genaue Schreibweise der
-Feldnamen nicht im Kopf haben. Für diesen Zweck definiert EUDAS
-im Editor eine spezielle Tastenkombination.
- Wenn Sie dort ESC 'F' tippen (großes 'F'), erhalten Sie eine
-Auswahl aller Felder der gerade geöffneten Datei. Sie können sich
-die Namen einfach ansehen, aber auch direkt in den Text des
-Druckmusters übernehmen.
- Wenn Sie nämlich vor dem Verlassen der Auswahl mit ESC 'q'
-ein Feld ankreuzen, wird anschließend der Name in Anführungs­
-strichen an die Position geschrieben, an der vor dem Aufruf der
-Cursor stand. Auf diese Weise können Sie sich auch das Tippen
-langer Feldnamen vereinfachen.
- Beachten Sie, daß Sie im Normalfall im Druckmuster die Anfüh­
-rungsstriche wieder entfernen müssen. Die Anführungsstriche dienen
-zur Abgrenzung, wie weit der Feldname geht. Falls der Name Leer­
-zeichen enthält, beachten Sie bitte den Absatz 'Abgrenzung der
-Feldnamen' in Abschnitt 7.4.
-
-
-7.3 Abschnitte
-
-Die Tabellen, die Sie bis jetzt erzeugen können, sehen optisch noch
-nicht sehr gut aus. Es fehlt auf jeden Fall eine vernünftige Über­
-schrift. Um eine Überschrift zu erzeugen, können Sie im Druckmuster
-einen #on("i")#Vorspann#off("i")# definieren, der ganz zu Anfang einmal gedruckt
-wird.
- Dieser Vorspann wird durch die Anweisung
-
-
- % VORSPANN
-
-
-eingeleitet (bitte nicht vergessen, daß das '%'-Zeichen für eine
-Anweisung in der ersten Spalte stehen muß). Die folgenden Zeilen
-bis zur 'WIEDERHOLUNG'-Anweisung gehören zum Vorspann. Ein
-Druckmuster für unsere Namensliste mit Überschrift könnte dann so
-aussehen:
-
-
- % VORSPANN
- Alle Namen aus der EUDAS-Datei 'adressen'
- -----------------------------------------
- % WIEDERHOLUNG
- ! &Name ! &Vorname !
-
-
-Der Druckgenerator erzeugt mit diesem Druckmuster die gewünschte
-Liste mit Überschrift. Sie können als Vorspann natürlich auch einen
-beliebigen anderen Text verwenden.
- In einer analogen Weise können Sie die Liste noch durch eine
-waagerechte Linie abschließen, indem Sie einen #on("i")#Nachspann#off("i")# definie­
-ren. Die dafür notwendige Anweisung heißt
-
-
- % NACHSPANN
-
-
-Die Zeilen nach dieser Anweisung werden gedruckt, nachdem alle
-Sätze bearbeitet worden sind. Das folgende Druckmuster erzeugt
-schon eine sehr schöne Liste:
-
-
- % VORSPANN
- Alle Namen aus der EUDAS-Datei 'adressen'
- -----------------------------------------
- % WIEDERHOLUNG
- ! &Name ! &Vorname !
- % NACHSPANN
- -----------------------------------------
-
-
-nämlich:
-
-
- Alle Namen aus der EUDAS-Datei 'adressen'
- -----------------------------------------
- ! Wegner ! Herbert !
- ! Sandmann ! Helga !
- ! Katani ! Albert !
- ! Ulmen ! Peter !
- ! Regmann ! Karin !
- ! Arken ! Hubert !
- ! Simmern ! Anna-Maria !
- ! Kaufmann-Drescher ! Angelika !
- ! Fuhrmann ! Harald !
- ! Seefeld ! Friedrich !
- -----------------------------------------
-
-
-Die drei Teile, aus denen ein Druckmuster bestehen kann (Vorspann,
-Nachspann und Wiederholungsteil), werden #on("i")#Abschnitte#off("i")# genannt. Wie
-Sie später noch sehen werden, haben Abschnitte eine Reihe von
-gemeinsamen Eigenschaften. Ein Abschnitt wird durch eine eigene
-Anweisung eingeleitet und endet, wenn ein anderer Abschnitt be­
-ginnt oder das Druckmuster zu Ende ist. Alle Abschnitte können
-auch weggelassen werden, irgendein Abschnitt muß aber immer
-vorhanden sein. So ist es zum Beispiel möglich, ein Druckmuster zu
-bauen, das nur aus einem Nachspann besteht (Sie werden allerdings
-jetzt noch nicht verstehen können, warum so etwas sinnvoll sein
-kann).
- Zum Abschluß dieses Kapitels hier noch einmal eine Übersicht
-der bisher vorgestellten Anweisungen:
-
-
- Anweisung ! Bedeutung
- ---------------+----------------------------------
- % VORSPANN ! leitet Vorspann ein
- % WIEDERHOLUNG ! leitet Wiederholungsteil ein
- % NACHSPANN ! leitet Nachspann ein
-
-
-
-7.4 Feldmuster
-
-Mit den bis jetzt beschriebenen Möglichkeiten des Druckgenerators
-können Sie schon sehr viel anfangen. Es fehlt aber noch die Mög­
-lichkeit, mehrere Feldinhalte direkt hintereinander zu schreiben,
-egal wie lang diese Inhalte sind. Diese Fähigkeit wird zum Beispiel
-für die anfangs vorgestellte Liste benötigt.
-
-#on("b")#Variable Position#off("b")# Die Feldmuster, die Sie bis jetzt
-kennen, begin­
-nen mit einem '&'-Zeichen und werden immer genau an der Stelle
-gedruckt, an der sie stehen (feste Position). Sie können ein Feld­
-muster aber auch mit '%' beginnen lassen. In diesem Fall kann der
-Inhalt verschoben werden (variable Position), je nachdem, ob vorhe­
-rige Inhalte kürzer oder länger sind.
- '%' ist wie '&' ein reserviertes Zeichen, kann also nicht direkt
-gedruckt werden. Da '&' und '%' Feldmuster einleiten, heißen sie
-#on("i")#Musterzeichen#off("i")#.
- Um Feldmuster variabler Position einmal auszuprobieren, soll­
-ten Sie unser bisheriges Druckmuster in der folgenden Weise um­
-schreiben:
-
-
- % WIEDERHOLUNG
- &Vorname %Name
-
-
-(Vorspann und Nachspann der Einfachheit halber mal weggelassen).
-Als Ergebnis erhalten wir:
-
-
- Herbert Wegner
- Helga Sandmann
- Albert Katani
- Peter Ulmen
- Karin Regmann
- Hubert Arken
- Anna-Maria Simmern
- Angelika Kaufmann-Drescher
- Harald Fuhrmann
- Friedrich Seefeld
-
-
-Das Feldmuster '%Name' ist also entsprechend der Länge des Vor­
-namens nach links oder nach rechts gerutscht. Zu beachten ist, daß
-ein Feldmuster mit '%' nicht in der ersten Spalte stehen darf, denn
-dann würde die Zeile als Anweisung angesehen. Ein Feldmuster
-variabler Position wäre ja auch in der ersten Spalte wenig sinnvoll.
-
-#on("b")#Feste Länge#off("b")# Außer den beiden bisher besprochenen einfachen
-Arten (mit '&' oder '%') gibt es noch weitere Ausprägungen von
-Feldmustern für besondere Fälle. Wird ein Feldmuster noch von
-weiteren Musterzeichen gefolgt, dann wird dieses Feldmuster immer
-in der reservierten Länge eingesetzt. Die reservierte Länge reicht
-vom ersten bis zum letzten Musterzeichen. Durch die zusätzlichen
-Musterzeichen wird also ein bestimmter Platz freigehalten.
- Ersetzt man im obigen Druckmuster '&Vorname' durch
-'&Vorname&&', wird der Effekt des folgenden '%'-Feldes wieder
-aufgehoben, da jetzt für alle Vornamen die gleiche Länge verwendet
-wird (Probieren Sie dies aus).
- Bei einem solchen Feldmuster mit fester Länge wird der Inhalt
-abgeschnitten, falls er diese Länge überschreitet; ist der Inhalt
-kürzer, wird rechts mit Leerstellen aufgefüllt. Aber auch bei Feld­
-mustern mit variabler Länge (also ohne folgende Musterzeichen)
-kann abgeschnitten werden, nämlich genau dann, wenn der Inhalt so
-lang ist, daß ein folgendes Feld mit fester Position (mit '&' anfan­
-gend) überschrieben würde. Hätten wir also in unserem ersten
-Druckmuster nicht genügend Platz für die Spalten vorgesehen,
-wären einige Namen abgeschnitten worden (probieren Sie es nochmal
-aus, falls es Ihnen nicht schon passiert ist).
- In einem weiteren Fall werden Feldmuster variabler Länge
-abgeschnitten, nämlich wenn die generierte Zeile die maximale
-Zeilenlänge überschreitet. Die maximale Zeilenlänge richtet sich
-nach dem Dateilimit, das für das Druckmuster eingestellt ist. Nor­
-malerweise ist dies 77, so daß Sie in Normalschrift die Zeilenbreite
-auf einem DIN A4-Blatt nicht überschreiten.
- Benutzen Sie jedoch breites Papier oder eine schmale Schrift,
-sollten Sie während der Eingabe des Druckmusters ESC ESC tippen
-und das Kommando
-
-
- limit (135)
-
-
-eingeben. EUDAS nutzt dann die volle Zeilenbreite aus.
-
-#on("b")#Rechtsbündig#off("b")# Sie sind jetzt aber noch nicht zu Ende mit
-den
-Feldmustervariationen. Eine letzte Möglichkeit besteht darin, den
-Inhalt rechtsbündig in ein Feldmuster einzusetzen. Dies hat natür­
-lich nur Sinn bei fester Länge. Man erreicht dies dadurch, daß man
-das Feldmuster mit mehreren Musterzeichen beginnen läßt. So ist
-
-
- %%Vorname%
-
-
-die rechtsbündige Version von
-
-
- %Vorname%%
-
-
-Beide Feldmuster sind gleich lang, beim ersten wird jedoch am lin­
-ken Rand aufgefüllt oder abgeschnitten, beim zweiten dagegen am
-rechten Rand.
-
-#on("b")#Zusammenfassung#off("b")# Hier noch einmal eine Zusammenstellung
-aller möglichen Feldmustertypen:
-
-
- Typ ! Beispiel ! Position ! Länge ! bündig
- ----+-----------+------------------------------
- 1 ! &Name ! fest ! variabel ! links
- 2 ! %Name ! variabel ! variabel ! links
- 3 ! &Name&&& ! fest ! fest ! links
- 4 ! %Name%%% ! variabel ! fest ! links
- 5 ! &&&Name& ! fest ! fest ! rechts
- 6 ! %%%Name% ! variabel ! fest ! rechts
-
-
-Wir können zusammenfassen:
-#free (0.2)#
-* Feldmuster dienen im Druckmuster dazu, Stellen zu markieren, an
- denen Inhalte eingesetzt werden sollen.
-#free (0.2)#
-* Feldmuster beginnen mit einem Musterzeichen ('&' oder '%');
- darauf folgt der Feldname.
-#free (0.2)#
-* Durch '&' wird feste und durch '%' variable Position festgelegt.
-#free (0.2)#
-* Durch zusätzliche Musterzeichen kann eine feste Länge angege­
- ben werden; mehrere Musterzeichen am Anfang führen zu rechts­
- bündigem Einsetzen.
-
-#on("b")#Abgrenzung der Feldnamen#off("b")# Als nächstes sollen Sie den Fall
-be­
-trachten, daß Sie einen Namen in der oft auftretenden Form
-
-
- Name, Vorname
-
-
-schreiben wollen. Die Schwierigkeit liegt in dem Komma, das direkt
-hinter dem Namen folgen soll. Sie könnten versuchen, diese Situa­
-tion im Druckmuster folgendermaßen darzustellen:
-
-
- % WIEDERHOLUNG
- &Name, %Vorname
-
-
-In diesem Fall erhalten Sie aber die Fehlermeldung
-
-
- FEHLER in Zeile 2 bei >>Name,<<
- diese Abkuerzung ist nicht definiert
-
-
-Wenn Sie sich nicht genau vorstellen können, wie der Druckgenera­
-tor ein Feldmuster liest, wird Ihnen dieser Fehler mysteriös er­
-scheinen, denn 'Name' ist doch als Feld definiert (was eine Abkür­
-zung ist, werden Sie in Kapitel 13 lernen). Den entscheidenden
-Hinweis liefert jedoch das Komma. Offensichtlich hat der Druck­
-generator das Komma als Teil des Feldnamens angesehen.
- Dies liegt daran, daß ja irgendwann der Feldname in einem
-Feldmuster beendet sein muß. Normalerweise interpretiert der
-Druckgenerator ein Leerzeichen oder Musterzeichen als Ende des
-Namens, alle vorherigen Zeichen gehören mit zum Feldnamen. Wenn
-nun aber nach dem Feldmuster kein Leerzeichen folgen soll (wie in
-unserem Beispiel) oder der Feldname selbst Leerzeichen enthält
-(dies ist ja erlaubt, könnte aber im Druckmuster nie erkannt wer­
-den), muß noch eine zusätzliche Angabe erfolgen.
- In solchen Fällen kann der Feldname in spitze Klammern einge­
-schlossen werden. Der Druckgenerator sieht den Feldnamen dann bei
-der ersten schließenden Klammer als beendet an, wobei die Klam­
-mern natürlich nicht zum Feldnamen gehören, aber auch nicht ge­
-druckt werden.
- Das obige Beispiel müßte also richtig so formuliert werden:
-
-
- % WIEDERHOLUNG
- &<Name>, %Vorname
-
-
-Wenn Sie dieses Druckmuster ausprobieren, werden Sie sehen, daß
-die Namen tatsächlich in der gewünschten Form erscheinen.
-
-#on("b")#Leerautomatik#off("b")# Es gibt noch eine trickreiche Automatik in
-EUDAS,
-die in manchen Fällen ganz nützlich ist - und zwar in Fällen, in
-denen Sie mehrere Felder als Aufzählung durch Leerzeichen ge­
-trennt drucken wollen. Nehmen wir an, unsere Adreßdatei hätte
-noch ein Feld 'Titel', in das Sie bei Bedarf 'Dr.' oder 'Prof. Dr.'
-eintragen. In der Adresse würden Sie dann angeben:
-
-
- &Titel %Vorname %Name
-
-
-Wenn der Titel jedoch leer ist, würde ein störendes Leerzeichen vor
-dem Namen bleiben. In einem solchen Fall entfernt EUDAS das Leer­
-zeichen automatisch. Vorbedingung für diese Automatik ist, daß es
-sich um ein Feld variabler Länge handelt und vor dem Feld noch ein
-Leerzeichen steht (außer in Spalte 1).
-
-#on("b")#Aufgabe#off("b")# Sie sollten jetzt die Möglichkeiten des
-Druckgenerators
-soweit kennengelernt haben, daß Sie ein Druckmuster für die zu
-Anfang des Kapitels erwähnte Liste aller Dateiinhalte erstellen
-können. Versuchen Sie dies zunächst allein, ehe Sie die Lösung
-nachschauen.
-
-
-Hier nun die Lösung:
-
-
- % VORSPANN
- Vorname Name, Strasse, PLZ Ort, m/w
- -------------------------------------------------------
- % WIEDERHOLUNG
- &Vorname %<Name>, %<Strasse>, %PLZ %<Ort>, %m/w
-
-
-Beachten Sie die spitzen Klammern, die nötig sind, um das Kom­
-ma ohne Zwischenraum anzuschließen.
-
-#on("b")#Beispiel#off("b")# Als letztes Beispiel sollen Sie einen Fall
-betrachten, bei
-dem pro Satz mehr als eine einzelne Listenzeile gedruckt werden
-soll, und zwar sollen Sie einen Brief schreiben, in den der Druck­
-generator die Adressen verschiedener Leute einfügen soll. Die Er­
-stellung von Formbriefen ist eine sehr häufige Anwendung von
-EUDAS. Mit den bisher beschriebenen Konstrukten kann man etwa
-folgendes Druckmuster schreiben:
-
-
- % WIEDERHOLUNG
- &Vorname %Name
- &Strasse
- &PLZ %Ort
-
- Lieber &Vorname !
-
- Ich lade Dich mit diesem Brief zu
- meiner nächsten Party ein.
- Bring gute Laune und was zu Essen mit.
-
- Viele Grüße
- \#page\#
-
-
-Die letzte Zeile zeigt eine Möglichkeit, von der Sie wahrscheinlich
-öfter Gebrauch machen werden, nämlich Druckersteuerungsanwei­
-sungen in das Druckmuster einzufügen. Die Anweisung '\#page\#'
-wird an den Drucker weitergereicht und bewirkt, daß nach jedem
-Brief eine neue Seite angefangen wird (Sie wollen sicher nicht
-mehrere Briefe auf ein Blatt drucken). Sie können auch andere An­
-weisungen verwenden, z.B. neue Schrifttypen einstellen. Informieren
-Sie sich gegebenenfalls, welche Anweisungen die Textkosmetik zur
-Verfügung stellt.
-
-#on("b")#Ausblick#off("b")# Sie kennen jetzt bereits einen großen Teil der
-Möglich­
-keiten des Druckgenerators. Einige wünschenswerte Fähigkeiten
-fehlen jedoch noch. So wäre es vorteilhaft, wenn abhängig vom
-Inhalt des Feldes 'm/w' die Anrede 'Sehr geehrter Herr' oder 'Sehr
-geehrte Frau' erzeugt werden könnte. Außerdem könnte das im
-Rechner vorhandene Datum automatisch in den Brief übernommen
-werden. Diese Möglichkeiten werden den Kapiteln 12 und 13 be­
-schrieben.
- Sie sollten diese jedoch erst dann durchlesen, wenn Sie eine
-gewisse Sicherheit im Umgang mit Druckmustern erlangt haben.
-Zuvor sollten Sie die Inhalte dieses Kapitels beherrschen, damit Sie
-EUDAS gut nutzen können.
-
diff --git a/doc/eudas/eudas.hdb.8 b/doc/eudas/eudas.hdb.8
deleted file mode 100644
index 83246e9..0000000
--- a/doc/eudas/eudas.hdb.8
+++ /dev/null
@@ -1,211 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (75)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-8 Was war und was noch kommt
-
-
-
-8.1 Rückblick
-
-So! Wenn Sie bis hierhin gut mitgearbeitet haben, haben Sie die
-erste und wichtigste Etappe beim Erlernen von EUDAS schon ge­
-schafft. Bevor Sie kennenlernen, was für Möglichkeiten Ihnen EUDAS
-sonst noch bietet, wollen wir die wichtigsten Dinge rekapitulieren,
-die Sie gelernt haben sollten.
-
-#on("b")#EUDAS-Dateien#off("b")# Sie sollten wissen, wie EUDAS-Dateien
-aussehen,
-und daß sie sich von normalen Textdateien unterscheiden. Diese
-Unterscheidung sollten Sie immer beachten, denn es gibt Funktio­
-nen, die nur EUDAS-Dateien annehmen (zum Beispiel 'Öffnen'),
-andere, die nur Textdateien annehmen (zum Beispiel 'Textdatei
-erstellen') und solche, die mit beliebigen Arten von Dateien "ohne
-Ansehen der Person" funktionieren (zum Beispiel 'Kopieren vom
-Archiv').
-
-#on("b")#Bedienung#off("b")# Sie sollten wissen, wie man eine Funktion im
-Menü
-aufruft; wie Sie EUDAS die notwendigen Informationen (zum Beispiel
-Dateinamen) mitgeben und wie Sie in besonderen Situationen (Feh­
-ler, Abbruch) reagieren können. Zur problemlosen Bedienung sollten
-Sie auch die jeweilige Statuszeile interpretieren können.
-
-#on("b")#Dateiverwaltung#off("b")# Sie sollten wissen, wie Sie Dateien von
-Archiv­
-disketten holen und dort auch wieder abspeichern können. Dazu ist
-die Dateiauswahl durch Ankreuzen sehr hilfreich. Sie sollten von
-Anfang an darauf achten, daß Sie Ihre Dateien regelmäßig auf dem
-Archiv sichern, damit Sie bei etwaigen Problemen mit Ihrem Rechner
-die Daten nicht verlieren.
-
-#on("b")#Öffnen#off("b")# Sie sollten wissen, daß Sie eine EUDAS-Datei vor
-dem
-Bearbeiten erst öffnen müssen. Weiterhin sollten Sie mit der Ar­
-beitskopie umgehen können, die EUDAS bei Änderungen anlegt.
-Denken Sie daran, Ihre Datei nach Änderungen zu sichern. Sie soll­
-ten auch neue EUDAS-Dateien mit eigener Struktur anlegen können.
-
-#on("b")#Ansehen und Ändern#off("b")# Sie sollten wissen, wie Sie die Daten
-Ihrer
-EUDAS-Dateien am Bildschirm abrufen können - entweder manuell
-oder mit Hilfe eines Suchmusters. Sie sollten Änderungen und Ein­
-fügungen durchführen können.
-
-#on("b")#Drucken#off("b")# Sie sollten wissen, wie Sie die Daten einer
-EUDAS-Datei
-mit Hilfe eines Druckmusters ausdrucken können. Denken Sie daran,
-daß dies ein zweistufiger Vorgang ist (Generierung der Druckdatei -
-Ausgeben an Drucker), den Sie an verschiedenen Stellen beeinflus­
-sen können.
-
-Lesen Sie das entsprechende Kapitel erneut durch, wenn Sie sich bei
-einem Punkt dieser Aufzählung nicht sicher sind. Wichtig ist auch,
-daß Sie die bschriebenen Funktionen selbst am Rechner ausprobiert
-haben.
- Wenn Sie dies alles geduldig absolviert haben, sind Sie in der
-Lage, EUDAS sinnvoll für Ihre eigenen Probleme einzusetzen. Sie
-sollten jetzt ruhig versuchen, eigene Lösungen zu realisieren. Sicher
-werden Sie dabei erkennen, daß Ihnen noch einige Möglichkeiten
-fehlen. Die Chancen sind aber gut, daß EUDAS Ihnen diese Möglich­
-keiten bietet.
- Im nächsten Abschnitt erhalten Sie einen Überblick darüber,
-was EUDAS noch zur Verfügung stellt. Dort können Sie sich orien­
-tieren, welche Kapitel Sie lesen sollten, wenn Sie bestimmte Fragen
-haben.
-
-
-8.2 Ausblick
-
-Im zweiten Teil dieses Handbuchs erwarten Sie eine ganze Reihe
-interessanter Themen. Dort werden Erweiterungen und Verallgemei­
-nerungen von Funktionen beschreiben, die Sie bereits kennen. Viele
-Funktionen sind jedoch ganz neu und manchmal auch nicht ganz
-einfach zu beherrschen.
-
-#on("b")#Kapitel 9#off("b")# Das neunte Kapitel befaßt sich mit der
-grundsätzlichen
-Struktur der geöffneten Datei. Sie erfahren, daß Sie mehr als eine
-Datei gleichzeitig öffnen und bearbeiten können. Zum einen können
-Sie gleichartige Dateien verketten oder Dateien über Beziehungen
-koppeln. Insbesondere das Koppeln ist eine wichtige Grundlage für
-viele fortgeschrittene Anwendungen von EUDAS.
- In diesem Kapitel wird auch beschrieben, wie Sie auf einem
-Mehrplatzsystem von mehreren Plätzen aus auf die gleichen EUDAS-
-Dateien zugreifen können. Die Fähigkeiten von EUDAS auf diesem
-Gebiet erreichen nicht das Niveau von großen Datenbanksystemen,
-sind jedoch einfach anzuwenden und in vielen Fällen nützlich.
-
-#on("b")#Kapitel 10#off("b")# Im zehnten Kapitel erfahren Sie, wie Sie den
-Bildschirm
-übersichtlicher gestalten können, wenn Sie Dateien mit zahlreichen
-Feldern benötigen. Sie können bestimmte Felder auswählen, aber
-auch die Sätze einfach ausschnittweise ansehen.
- Das Suchmuster besitzt noch viele Fähigkeiten, die im ersten
-Teil nicht zur Sprache gekommen sind. Sie können mehrere Bedin­
-gungen auf verschiedene Weisen miteinander kombinieren. Auch
-einige neue Vergleiche treten auf. Außerdem können Sie mehrere
-Felder eines Satzes miteinander vergleichen.
- Zum schnellen Überblick steht Ihnen eine Funktion bereit, die
-jeweils einen Satz pro Bildschirmzeile anzeigt. In dieser Übersicht
-können Sie blättern und auch Sätze markieren (ankreuzen), um Sie
-später zu bearbeiten.
-
-#on("b")#Kapitel 11#off("b")# Das elfte Kapitel ist den Funktionen zur
-Bearbeitung
-gewidmet. Dort erfahren Sie, wie Sie eine Datei sortieren können.
-Außerdem können Sie eine Datei ausschnittweise kopieren, wobei Sie
-noch eine Vielzahl von Manipulationsmöglichkeiten haben.
- Auch das Tragen von mehreren Sätzen in einem Arbeitsgang ist
-möglich. Dabei können Konsistenzbedingungen einer Datei überprüft
-werden.
- Als letztes erfahren Sie, wie man eine EUDAS-Datei automa­
-tisch nach einer beliebigen Vorschrift ändern kann. Hier, wie bei
-den vorherigen Funktionen, werden Sie zum ersten Mal erkennen,
-wieviel man mit der Programmiersprache ELAN innerhalb von EUDAS
-ohne viel Aufwand machen kann.
-
-#on("b")#Kapitel 12#off("b")# Das nächste Kapitel zeigt Ihnen weitere
-Möglichkeiten
-zum Drucken. Sie können die Druckausgabe vor dem Drucken noch
-mit den Programmen der EUMEL-Textverarbeitung aufbereiten. Auch
-innerhalb der EUMEL-Textverarbeitung können Sie EUDAS aufrufen,
-um Daten aus einer EUDAS-Datei in den Text einzufügen.
- EUDAS kann auch in mehreren Spalten drucken (zum Beispiel
-für Etiketten). Schließlich wird noch beschrieben, wie Sie lange
-Felder auf mehrere Zeilen aufteilen können und welche speziellen
-Möglichkeiten Sie zur Erzeugung von Tabellen haben.
-
-#on("b")#Kapitel 13#off("b")# Ab hier beginnt die Beschreibung dessen, was
-die
-Ausgabe des Druckgenerators so ungeheuer anpassungsfähig macht:
-die Verwendung der Programmiersprache ELAN.
- Mit einfachsten ELAN-Elementen können Sie komplizierte For­
-matierungswünsche erfüllen. Dazu können Sie den Inhalt von Feld­
-mustern durch vorherige Bearbeitung und durch die Abfrage von
-Bedingungen manipulieren. Ganze Musterteile können in Abhängig­
-keit von Bedingungen variabel gestaltet werden.
- Auch der Ablauf von Druckvorgängen kann von Bedingungen
-abhängig gemacht werden. So lassen sich gesteuert Vorspann und
-Nachspann innerhalb des Ausdrucks einfügen und Zwischenüber­
-schriften oder -summen bilden (Gruppenverarbeitung).
-
-#on("b")#Kapitel 14 und 15#off("b")# Für denjenigen, der noch nie mit ELAN zu
-tun
-hatte, werden diese Möglichkeiten sicher nicht ganz einfach zu
-verstehen sein. Obwohl die vorherigen Kapitel viele benutzbare
-Beispiele enthalten, ist zur vollen Ausnutzung ein gewisses Ver­
-ständnis von ELAN notwendig.
- Dies soll in den Kapitel 14 und 15 vermittelt werden, und zwar
-in dem Umfang, in dem es in EUDAS nötig ist (Sie sollen hier nicht
-zum ELAN-Programmierer ausgebildet werden). Für den ELAN-
-Kenner bieten diese Kapitel sicher nichts Neues, aber sie enthalten
-viele Beispiele und Beschreibungen der Funktionen, die für EUDAS
-wichtig sind.
- Dabei geht Kapitel 15 weiter auf die Sprachmittel für Zählvor­
-gänge, Auswertungen und statistische Anwendungen ein, während in
-Kapitel 14 die grundlegenden Ausdrücke zur Formulierung von
-Manipulationen besprochen werden.
-
-#on("b")#Kapitel 16#off("b")# Im letzten Kapitel geht es dann wieder
-harmloser zu.
-Hier werden die Funktionen beschrieben, die unter EUDAS zur
-allgemeinen Dateiverwaltung zur Verfügung stehen. Im Grunde sind
-dies alles Funktionen, die vom EUMEL-System zur Verfügung ge­
-stellt werden. EUDAS integriert sie lediglich in ein Menüsystem,
-damit Sie als Benutzer die Funktionen möglichst einfach aufrufen
-können.
- Aber auch dem erfahrenen EUMEL-Benutzer bieten die Funktio­
-nen einen zusätzlichen Komfort, da auch hier die praktische Aus­
-wahl durch Ankreuzen in allen Funktionen vertreten ist. Außerdem
-wird die Anzahl von Tastendrücken zum Erreichen eines Ziels ver­
-ringert. Daher besteht auch für den "Profi" keine Notwendigkeit,
-grundsätzlich mit einer Kommandoschnittstelle weiterzuarbeiten.
-
-#on("b")#Referenzhandbuch#off("b")# Im Referenzhandbuch sind alle hier
-besproche­
-nen Funktionen noch einmal in einer sehr kurzen, zusammenfassen­
-den und abstrakten Form aufgeführt. Dort sollen Sie nachschlagen,
-wenn Sie eine ganz bestimmte Information suchen und sich mit
-EUDAS bereits auskennen.
- Sie können jedoch auch ohne das Referenzhandbuch auskommen,
-denn alles, was Sie wissen müssen, steht auch hier im Benutzer­
-handbuch.
- Das Referenzhandbuch enthält auch einen Teil, der sich spe­
-ziell an den ELAN-Programmierer wendet, der besondere Anwendun­
-gen mit EUDAS realisieren will. Allerdings sollten alle dort be­
-schriebenen Möglichkeiten mit Vorsicht betrachtet werden, da sie im
-Normalfall nicht so abgesichert sind, wie die hier beschriebenen
-Fähigkeiten. Auch sollten Sie mit den Einsatzmöglichkeiten von
-ELAN, wie sie in den Kapitel 11 und 13 beschrieben sind, wirklich
-alle praktischen Probleme erledigen können.
-
diff --git a/doc/eudas/eudas.hdb.9 b/doc/eudas/eudas.hdb.9
deleted file mode 100644
index 341feca..0000000
--- a/doc/eudas/eudas.hdb.9
+++ /dev/null
@@ -1,556 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (83)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-9 Das virtuelle Dateikonzept
-
-
-
-9.1 Konzept
-
-Bisher haben Sie zu einem Zeitpunkt immer nur eine EUDAS-Datei
-bearbeiten können. Wenn Sie zu einer anderen Datei wechseln woll­
-ten, mußten Sie die eine Datei sichern und die andere Datei wieder
-öffnen. Es gibt jedoch Fälle, in denen Beziehungen zwischen mehre­
-ren Dateien bestehen. Daher kann EUDAS auch mit mehreren Dateien
-gleichzeitig umgehen.
- Es hat jedoch Vorteile, wenn man nur mit einer Datei arbeitet.
-Sie müssen dann nicht immer den Namen der gewünschten Datei
-angeben, wenn Sie eine Funktion ausführen. Dies brauchen Sie nur
-einmal beim Öffnen zu tun - danach ist eindeutig festgelegt, wel­
-che Datei gemeint ist.
- EUDAS versucht diese Vorteile auch bei mehreren Dateien zu
-erhalten. Die verschiedenen Dateien werden so kombiniert, daß eine
-neue Datei entsteht. Sie arbeiten dann nur mit dieser Datei, die alle
-Daten der Einzeldateien enthält.
- Damit Sie aber nicht so lange warten müssen, geschieht dieser
-Kombinationsvorgang erst beim Ansehen. Die kombinierte Datei ist
-also nicht wirklich vorhanden, sondern ihre Einzelsätze werden nur
-bei Bedarf erzeugt. Daher heißt diese Gesamtdatei auch #on("i")#virtuelle#off("i")#
-(scheinbare) Datei.
- Eine Kombination von Dateien ist auf zwei Arten möglich. Sie
-können gleichartige Dateien hintereinander#on("i")#ketten#off("i")#, oder Sie können
-Dateien über gemeinsame Felder #on("i")#koppeln#off("i")#. Beide Methoden können
-auch kombiniert werden.
-
-#on("b")#Änderungen#off("b")# Die virtuelle Datei kann auch verändert werden.
-Die
-Veränderungen werden dann in den entsprechenden Ursprungsda­
-teien vorgenommen. Es ist jedoch nicht immer eindeutig, wie diese
-Änderungen aussehen sollen. Achten Sie daher auf die speziellen
-Regeln, die bei solchen Änderungen gelten, damit Sie die Auswir­
-kungen einer Änderung abschätzen können.
- Wenn Sie Veränderungen vorgenommen haben, müssen Sie die
-Arbeitskopien anschließend wieder sichern. Denken Sie daran, daß
-EUDAS immer auf unbenannten Kopien arbeitet, wenn Sie ändern
-wollen. Beim Sichern von mehreren Dateien wird Ihnen zu jeder
-Datei einzeln angezeigt, ob sie tatsächlich verändert wurde. Sie
-können dann ebenfalls einzeln entscheiden, ob Sie die Datei sichern
-wollen oder nicht.
-
-
-9.2 Ketten
-
-Wenn Sie einmal EUDAS-Dateien mit mehreren tausend Sätzen er­
-stellen, werden Sie feststellen, daß deren Handhabung recht um­
-ständlich sein kann. Da die Datei sehr groß ist, dauern zum Beispiel
-Kopiervorgänge aufs Archiv viel länger als bei kleinen Dateien.
- Wenn Sie nun auch noch für jede kleine Änderung die Datei
-vom Archiv holen und anschließend wieder zurückschreiben müssen,
-werden Sie einen Weg suchen, diese Arbeit zu erleichtern. Die ein­
-fachste Möglichkeit wäre, einen schnelleren Rechner zu kaufen. Dies
-ist gleichzeitig aber auch die teuerste.
-
-
-#free (4.5)#
-
-#center#Abb. 9-1 Verkettung von A und B
-
-
-EUDAS ermöglicht es Ihnen nun, die große Datei in mehrere kleine
-aufzuspalten. In der Regel gibt es bei solch großen Dateien ein
-Kriterium, nach dem die Sätze in verschiedene Dateien verteilt
-werden können. Jede einzelne Datei kann nun bequem geändert
-werden.
- Ein Problem entsteht jedoch, wenn alle Dateien zusammen ver­
-arbeitet werden müssen (zum Beispiel beim Drucken). Für einen
-solchen Vorgang können Sie die kleineren Dateien logisch aneinan­
-derketten.
- Dies bedeutet für Sie, daß alle kleinen Dateien wie eine große
-Datei wirken. Wenn Sie beim Bewegen in der Datei das Ende einer
-einzelnen Datei erreichen, kommen Sie automatisch an den Anfang
-der nächsten Datei.
-
-#on("b")#Aufruf#off("b")# Damit dies funktioniert, müssen die Dateien
-natürlich
-gleiche Feldstruktur haben. Außerdem ist die Zahl der verkettbaren
-Dateien aus technischen Gründen auf 10 beschränkt.
- Sie können die Dateien verketten, indem Sie die Funktion
-#free (0.2)#
-
- K Ketten
-
-#free (0.2)#
-im Menü 'Öffnen' aufrufen.
-
-#on("b")#Änderungen#off("b")# In der virtuellen Datei ist sowohl Einfügen als
-auch
-Ändern erlaubt. Beim Einfügen ist jedoch zu beachten, daß am Ende
-einer Datei nicht angefügt werden kann. Dies liegt daran, daß Sie
-entweder vor dem letzten Satz der einen Datei oder vor dem ersten
-Satz der anderen Datei einfügen. Der Endesatz der einen Datei, der
-normalerweise sichtbar wäre, wird übersprungen.
- Am Ende der letzten Datei können Sie natürlich anfügen, da
-deren Endemarkierung als Ende der ganzen Datei ja wieder sichtbar
-ist.
-
-
-9.3 Koppeln
-
-Nachdem das Verketten von Dateien noch ganz einfach zu verstehen
-war, kommt jetzt eine Funktion auf Sie zu, die kompliziertere Mög­
-lichkeiten in sich birgt: nämlich das Koppeln.
- Es kommt häufiger vor, daß sich ein Feld einer Datei auf einen
-bestimmten Satz in einer anderen Datei bezieht. So könnten zum
-Beispiel die Ausleihen einer Bücherei in folgender Datei gespeichert
-sein:
-
-
- 'Name'
- 'Vorname'
- 'Datum'
- 'Buch-Nr.'
-
-
-Wenn jetzt ein Ausleiher sein Rückgabedatum überschritten hat,
-möchte die Bücherei dem Kunden ein Mahnschreiben schicken. Auf
-diesem Schreiben soll aber nicht die Buch-Nr. erscheinen, sondern
-Autor und Titel des Buches.
- Diese Sekundärinformationen sind in einer anderen Datei ge­
-speichert, der Bestandskartei:
-
-
- 'Buch-Nr.'
- 'Autor'
- 'Titel'
- 'Verlag'
-
-
-Alle Dateistrukturen hier sind natürlich zwecks größerer Übersicht­
-lichkeit vereinfacht. Um jetzt dem Kunden das Mahnschreiben zu
-schicken, müssen die Informationen in den beiden Dateien korreliert
-werden.
-
-#on("b")#Aufruf#off("b")# Zuerst wird die Ausleihdatei normal geöffnet. Dazu
-wird dann die Bestandsdatei mit Hilfe der Funktion
-#free (0.2)#
-
- K Koppeln
-
-#free (0.2)#
-gekoppelt. Dies hat folgenden Effekt:
- Die Sätze erscheinen normal so, wie sie in der Ausleihdatei
-auftauchen, also für jede Ausleihe genau ein Satz. Dazu erscheint
-aber jeweils die Beschreibung des ausgeliehenen Buches aus der
-Bestandsdatei: die beiden Dateien wurden über das Feld "Buch-Nr."
-gekoppelt.
- Als Struktur ergibt sich für die kombinierte Datei:
-
-
- 'Name'
- 'Vorname'
- 'Datum'
- 'Buch-Nr.'
- 'Titel'
- 'Autor'
- 'Verlag'
-
-
-Die Felder der Koppeldatei wurden also noch hinzugefügt.
-
-#on("b")#Koppelfelder#off("b")# Zwei Dinge sind in diesem Zusammenhang
-wichtig:
-Damit der Koppelvorgang ohne allzuviele Vorgaben auskommen kann,
-müssen Felder, über die gekoppelt wird, den gleichen Namen haben
-- und zwar exakt Zeichen für Zeichen. Zum zweiten muß ein solches
-#on("i")#Koppelfeld#off("i")# am Anfang der gekoppelten Datei (in unserem Fall der
-Bestandsdatei) stehen. Dies ist aus technischen Gründen notwendig,
-damit der Koppelvorgang in vernünftiger Geschwindigkeit ablaufen
-kann.
-
-
-#free (7.0)#
-
-#center#Abb. 9-2 Schema des Koppelvorgangs
-
-
-#on("b")#Mehrere Dateien#off("b")# Genau wie beim Ketten ist die Kombination
-der
-Dateien nicht physikalisch, sondern nur scheinbar vollzogen worden.
-Bis zum Limit der maximal geöffneten Dateien (10) können Sie auch
-weitere Dateien dazukoppeln. Die Koppelfelder dieser Dateien kön­
-nen sich jedoch immer nur auf die erste Datei beziehen, also nicht
-auf eine andere Koppeldatei.
- Dies könnte man in unserem Beispiel ausnutzen. Die Bücherei
-hat sicher auch eine Datei ihrer Mitglieder. Diese könnte etwa so
-aussehen:
-
-
- 'Name'
- 'Vorname'
- 'm/w'
- 'Strasse'
- 'PLZ'
- 'Ort'
-
-
-Diese Datei können wir ebenfalls zur Ausleihdatei dazukoppeln.
-Damit haben wir auch gleich die Quelle gewonnen, aus der wir die
-Anschrift für das Mahnschreiben gewinnen können.
- Die Kopplung geschieht in diesem Fall über zwei Felder, näm­
-lich 'Name' und 'Vorname'. Damit ein Mitglied eindeutig identifi­
-ziert wird, werden beide Namen gebraucht. Dies berücksichtigt auch
-das Koppelverfahren. Wiederum müssen die Namen exakt mit Namen
-der ersten Datei übereinstimmen.
- Wenn mehrere Koppelfelder für eine Koppeldatei notwendig sind,
-müssen Sie alle hintereinander stehen. Wäre die Struktur der Mit­
-gliederdatei etwa
-
-
- 'Name'
- 'Titel'
- 'Vorname'
- 'm/w'
- 'Strasse'
- 'PLZ'
- 'Ort'
-
-
-würde nur über 'Name' gekoppelt, da 'Titel' in der ersten Datei
-nicht vorkommt. Alle weiteren Felder können dann keine Koppelfel­
-der mehr werden. Durch Umstellen der Feldreihenfolge der Koppel­
-datei (durch Umkopieren) oder durch entsprechende Benennung von
-Feldern können Sie immer den gewünschten Effekt erzielen.
-
-
-#free (8.0)#
-
-#center#Abb. 9-3 Aufbau der virtuellen Datei
-
-
-#on("b")#Zusammenfassung#off("b")# An dieser Stelle wollen wir die Ergebnisse
-dieses Abschnitts als Regel zusammenfassen:
-
-#limit (12.0)#
- Die ersten Felder der Koppeldatei, die wörtlich an be­
- liebiger Stelle auch in der ersten Datei auftauchen,
- werden Koppelfelder genannt. Zu einem Satz der ersten
- Datei wird ein Satz der Koppeldatei gezeigt, der im In­
- halt der Koppelfelder übereinstimmt.
-#limit (13.5)#
-
-Übersetzt in unser Beispiel heißt dies: 'Buch-Nr.' bzw. 'Name' und
-'Vorname' sind Koppelfelder. Zu einer bestimmten Ausleihe erschei­
-nen die Daten des Buches mit der angegebenen Buch-Nr. bzw. die
-Adresse des Mitgliedes mit den angegebenen Namen.
-
-
-9.4 Auswirkungen des Koppelns
-
-Nachdem Sie nun das Grundprinzip des Koppelns kennen, sollen Sie
-einige Auswirkungen dieses Verfahrens kennenlernen.
- Ein Beispiel dazu finden Sie in Abb. 9-4. Dargestellt sind je­
-weils die Satznummern und einige Inhalte. Die zweite Zeile in der
-Hauptdatei und die erste in der Koppeldatei stellen das Koppelfeld
-dar.
-
-
-#free (6.5)#
-
-#center#Abb. 9-4 Kombinationen
-
-
-#on("b")#Kombinationen#off("b")# Zuerst muß geklärt werden, was passiert,
-wenn es
-keinen passenden Satz in der Koppeldatei gibt. Zum Beispiel könnte
-eine Buchnummer eingegeben worden sein, die in der Bestandsdatei
-nicht existiert. In diesem Fall zeigt EUDAS für die Felder der Kop­
-peldatei einfach einen leeren Inhalt an (siehe Satz 23 der Haupt­
-datei, es gibt keinen Satz mit 'L' in der Koppeldatei).
- Wenn umgekehrt zu einem bestimmten Buch keine Ausleihe
-existiert, macht das natürlich nichts - das Buch erscheint nur
-dann, wenn Sie die Bestandsdatei alleine öffnen.
- Weiterhin kann es passieren, daß es zwei passende Sätze in der
-Koppeldatei gibt. Dies kommt dann vor, wenn zwei Mitglieder glei­
-chen Namen und gleichen Vornamen haben (was gar nicht so selten
-ist). In diesem Fall zeigt EUDAS beide Kombinationen an (siehe
-Satz 23 der Hauptdatei). Die Ausleihe erscheint also zweimal, je­
-weils mit einem anderen Mitglied.
- Damit man diesen Fall ohne weiteres erkennen kann, führt
-EUDAS bei Kopplungen zwei Nummern: zum einen die normale Satz­
-nummer und zum anderen eine Kombinationsnummer. In dem eben
-besprochenen Fall würde die Satznummer gleichbleiben, die Kombi­
-nationsnummer aber hochgezählt werden. Am Bildschirm wird die
-Kombinationsnummer durch Bindestrich getrennt hinter die Satz­
-nummer geschrieben, wenn Sie Dateien koppeln.
- Das Durchgehen aller Kombinationen zu einem Satz der Haupt­
-datei passiert aber nur dann, wenn Sie sich mit der Funktion 'Satz
-weiter' in der Datei bewegen. Wenn Sie rückwärts gehen oder auf
-einen bestimmten Satz positionieren, wird immer nur die erste Kom­
-bination angezeigt (Dies hat zum Teil technische Gründe). Beim
-Zurückgehen von Satz 23-1 in dem Beispiel würde also auf Satz
-22-1 positioniert und die Kombination 22-2 übersprungen.
-
-#on("b")#Änderungen#off("b")# Auch wenn Sie Dateien gekoppelt haben, können
-Sie
-immer noch Sätze ändern und einfügen (wenn Sie dies beim Öffnen
-erlaubt haben). Die Auswirkungen der Veränderungen sind jedoch
-nicht mehr ganz so einfach wie bei geketteten Dateien, wo sich die
-Änderungen ja einfach auf den aktuellen Satz bezogen.
- Als Grundregel gilt, daß Änderungen möglichst wenig Auswir­
-kungen auf die Koppeldateien haben sollen. Das führt dazu, daß
-beim Einfügen eines neuen Satzes oder beim Entfernen eines Satzes
-durch Tragen keine Aktion in der Koppeldatei durchgeführt wird.
-Dies ist auch nicht nötig, denn wenn zum Beispiel ein neuer (zu­
-nächst leerer) Satz eingefügt wird, existiert sowieso noch kein
-passender Satz in der Koppeldatei und die entsprechenden Felder
-bleiben leer. Hingegen darf beim Entfernen eines Satzes der Satz in
-der Koppeldatei nicht entfernt werden, da er ja noch zu einem an­
-deren Satz gehören könnte.
- Änderungen an den Koppelfeldern können nun zu drei verschie­
-denen Reaktionen führen:
-
-1. Es wird kein Satz der Koppeldatei geändert, sondern nur ein
- neuer passender Satz gesucht. Dies geschieht immer dann, wenn
- außer den Koppelfeldern nur leere Inhalte für die Felder der
- Koppeldatei angegeben sind. Nach dem Ändern oder Einfügen
- werden dann die Inhalte des neuen Koppelsatzes angezeigt.
-
- Beispiel: Bei einer Ausleihe geben Sie Name und Vorname des
- Ausleihers an, nicht aber seine Adresse. Wenn Sie den Satzedi­
- tor beim Einfügen mit ESC 'q' verlassen, wird die zugehörige
- Adresse angezeigt (falls der entsprechende Name in der Kop­
- peldatei vorhanden ist).
-
-2. Es wird ein neuer Satz in der Koppeldatei angefügt. Dies ge­
- schieht immer dann, wenn die Koppelfelder verändert wurden
- und die anderen Felder der Koppeldatei nicht leer sind. Da­
- durch soll verhindert werden, daß die Koppelfelder in einem
- Satz verändert werden, der vielleicht noch zu einem anderen
- Satz paßt.
-
- Beispiel: Sie geben bei einer Ausleihe auch die Adresse mit
- an. Wenn eine Person mit gleichem Namen und Vornamen bereits
- existiert, wird die dort gespeicherte Adresse nicht überschrie­
- ben. Stattdessen wird die zweite Adresse auch in die Koppel­
- datei eingetragen. Beim nächsten Ansehen bekommen Sie dann
- zwei Adressen angezeigt. So wird verhindert, daß Sie ungewollt
- die erste Adresse vernichten.
-
-3. Der Satz in der Koppeldatei wird verändert. Dies geschieht nur
- dann, wenn die Koppelfelder unverändert geblieben sind, der
- Rest sich aber geändert hat.
-
- Beispiel: Sie ändern eine Ausleihe mit der zugehörigen
- Adresse. Sie geben nur eine neue Straße an und lassen Name
- und Vorname unverändert. Der Satz in der Koppeldatei enthält
- anschließend die neue Straße.
-
-Da Koppeldateien keine Sortierung besitzen müssen, werden neue
-Sätze der Koppeldatei immer am Ende angefügt. Dies ist zu beach­
-ten, wenn die Koppeldatei auch allein verwendet werden soll. Ge­
-gebenenfalls müssen Sie die Koppeldatei dann erst sortieren.
-
-
-9.5 Umschalten auf Koppeldatei
-
-Häufig kommt es vor, daß Sie beim Einfügen eines neuen Satzes mit
-gekoppelten Dateien die Verbindung mit einem existierenden Satz
-der Koppeldatei erreichen wollen, aber den notwendigen Inhalt der
-Koppelfelder nicht auswendig wissen.
- So wollen Sie beim Eingeben einer Ausleihe Name und Vorname
-des Entleihers nicht immer wieder abtippen. Dabei ist auch die
-Gefahr von Eingabefehlern sehr groß. Stattdessen wollen Sie lieber
-erst den Entleiher in der Mitgliederdatei suchen und dessen Namen
-dann automatisch in den Entleihsatz übernehmen.
- Hierfür bietet Ihnen EUDAS eine Unterstützung an.
-
-#on("b")#Ausführung#off("b")# Während Sie sich in der virtuellen Datei
-befinden,
-können Sie auf eine bestimmte Koppeldatei umschalten, die Sie dann
-wie eine Einzeldatei bearbeiten können. Beim Zurückschalten haben
-Sie dann die Möglichkeit, die Koppelfelder des gefundenen Satzes zu
-übernehmen.
- Das Umschalten bewirken Sie durch die Tastenkombination ESC
-'K' (großes K) nur im Menü 'Einzelsatz' sowie im Satzeditor beim
-Einfügen und Ändern. An anderen Stellen hat dieser Befehl keine
-Wirkung. Bei mehreren Koppeldateien werden Ihnen die Dateien der
-Reihenfolge nach angeboten. Durch Verneinung aller Fragen können
-Sie die Funktion ohne Wirkung beenden.
- Haben Sie nun umgeschaltet, wird Ihnen die Koppeldatei dar­
-geboten, als hätten Sie sie allein geöffnet. Sie können die Datei
-auch beliebig ändern (wenn Sie dies beim Öffnen angegeben haben).
-Nur die Anzeige <KOPPEL> in der Bildüberschrift zeigt an, daß Sie
-sich in einer Koppeldatei befinden. Sie können auch Funktionen in
-anderen Menüs aufrufen.
- Das Zurückschalten geschieht im Menü 'Einzelsatz' mit der
-gleichen Tastenkombination. Alle Einstellungen der virtuellen Datei
-von vorher bis auf die Feldauswahl bleiben erhalten.
- Wenn Sie nicht im Menü, sondern im Satzeditor (also beim
-Ändern oder Einfügen) umschalten, werden Sie zunächst wieder aus
-dem Satzeditor rausgeworfen. Sie können dann in der Koppeldatei
-den gewünschten Satz aufsuchen (oder neu eintragen). Beim Zurück­
-schalten werden Sie gefragt, ob Sie die Koppelfelder übernehmen
-wollen oder nicht. Danach kehren Sie automatisch wieder in den
-Satzeditor zurück, wobei jetzt die Koppelfelder gegebenenfalls aus­
-gefüllt oder überschrieben sind.
- Durch erneutes Umschalten können Sie den Vorgang auch für
-weitere Koppeldateien wiederholen.
- Die Position, die Sie beim Umschalten in der Koppeldatei einge­
-nommen haben, wird bis zum nächsten Umschalten gespeichert. Sie
-kommen dann zunächst wieder auf den gleichen Satz. So können Sie
-die gleichen Koppelfelder wie beim letzten Mal übernehmen, indem
-Sie einfach zweimal ESC 'K' tippen.
-
-#on("b")#Beispiel#off("b")# Der typische Vorgang beim Entleihen würde dann
-wie folgt
-aussehen. Zunächst öffnen Sie die Entleihdatei mit Änderungser­
-laubnis; dann koppeln Sie die Mitgliederdatei und die Bestandsdatei
-dazu.
- Für eine neue Ausleihe rufen Sie zunächst die Funktion 'Ein­
-fügen' auf. Dann tippen Sie ESC 'K' und schalten auf die Mitglie­
-derdatei um. Dort suchen Sie das Mitglied und schalten wieder zu­
-rück. Existierte das Mitglied noch nicht, können Sie es gleich ein­
-tragen. Beim Zurückschalten übernehmen Sie den Namen des Mit­
-glieds.
- Dann tragen Sie die Nummer des Buches ein (die müssen Sie nur
-dann suchen, wenn Sie nicht auf dem Buch steht). Das Entleihdatum
-erhalten Sie mit Hilfe der Tastenkombination ESC 'D' (wird im näch­
-sten Kapitel beschrieben).
- Wollen Sie mehrere Ausleihen für ein Mitglied eintragen, so
-tippen Sie beim nächsten Einfügen einfach zweimal ESC 'K', ohne
-dazwischen eine Positionierung vorzunehmen.
-
-
-9.6 Mehrfachbenutzung
-
-EUDAS ermöglicht es mehreren Benutzern an einem Rechner, mit den
-gleichen Dateien zu arbeiten. Dies ist eigentlich nichts Besonderes,
-denn das EUMEL-System ist ja bereits von Haus aus dazu geeignet.
-Es müssen jedoch einige Schutzvorkehrungen getroffen werden,
-damit dadurch keine Probleme entstehen.
- Als Grundvoraussetzung für die Mehrfachbenutzung müssen
-EUDAS-Dateien in einer unabhängigen #on("i")#Managertask#off("i")# gespeichert
-sein. Eine Managertask kann man sich durch das Kommando 'global
-manager' einrichten. In dieser Task sollte dann nicht mehr gearbei­
-tet werden.
- Stattdessen kann sich der Benutzer Dateien aus dieser Mana­
-gertask kopieren und auch wieder dorthin zurückschreiben. Wie Sie
-dies im EUDAS-Menü bewerkstelligen können, wird im Kapitel 16
-beschrieben. Es sei nochmal betont, daß dies eine Methode ist, die
-Sie für beliebige Dateien verwenden können.
- Im Kapitel 16 ist weiterhin auch beschrieben, wie Sie solche
-Dateien mit #on("i")#Passworten#off("i")# schützen können, so daß sie nicht jeder
-benutzen kann. Schauen Sie bei Bedarf dort nach.
-
-
-#free (7.7)#
-
-#center#Abb. 9-5 Mehrfachbenutzung
-
-
-#on("b")#Konflikte#off("b")# Wir wollen uns jedoch jetzt um ein Problem
-kümmern, das
-bei dieser Art von Mehrfachbenutzung auftritt. Nehmen wir an,
-unsere Bücherei habe zwei Plätze, an denen Entleihen durchgeführt
-werden können. Beide Plätze sollen mit der gleichen Entleihdatei
-arbeiten (wie Sie gleich noch sehen werden und aus anderen Grün­
-den würde man EUDAS für eine solche Bücherei nicht einsetzen -
-wir wollen hier nur das Prinzip illustrieren).
- Der Ablauf wäre dann folgendermaßen. Jeder Platz kopiert sich
-für eine Entleihe die gemeinsame Datei aus der Managertask, öffnet
-sie, trägt die Entleihe ein und sichert die Datei wieder. Dann wird
-die Datei in die Managertask zurückgeschrieben, wo sie die alte
-Entleihdatei ersetzt.
- Abgesehen von dem viel zu hohen manuellen Aufwand kann der
-Fall eintreten, daß beide gleichzeitig eine Entleihe bearbeiten.
-Nehmen wir an, beide benutzen die Entleihdatei mit dem symboli­
-schen Inhalt A. Auf Platz 1 kommt noch die Entleihe B, auf Platz 2
-die Entleihe C dazu. Platz 1 will anschließend den Inhalt AB zu­
-rückschreiben, Platz 2 den Inhalt AC.
- Je nach der zeitlichen Reihenfolge wird nur eine der beiden
-Versionen übrigbleiben, da derjenige, der später zurücksichert, die
-vorherige Version überschreibt. Richtig sollte die endgültige Version
-ABC herauskommen. Unser Beispiel führt jedoch auf jeden Fall zu
-einer fehlerhaften Datei.
- Grund dafür ist, daß beim Zurückschreiben der ganzen Datei ein
-Platz gesperrt werden muß, während der andere Platz eine Datei
-zum Ändern angefordert hat. Man könnte auch dazu übergehen, nur
-einzelne Sätze zu übertragen; diese Methode wird jedoch von EUDAS
-wegen des hohen Aufwandes nicht unterstützt (daher würde man
-EUDAS eben auch nicht für eine Mehrplatz-Bücherei nehmen).
- In vielen Fällen reicht das Sperren ganzer Dateien jedoch aus,
-besonders, wenn nicht ganz so häufig an einzelnen Sätzen geändert
-wird. EUDAS bietet dafür neben der notwendigen Sperre auch noch
-eine automatische Versendung der Dateien an.
-
-#on("b")#Manager#off("b")# Es bietet sich an, dieses Kopieren der Dateien
-beim Öff­
-nen (auch Koppeln und Ketten) und Sichern automatisch durchzu­
-führen. Als Voraussetzung dafür müssen Sie EUDAS angeben, mit
-welcher Managertask Sie arbeiten wollen. Dazu dient die Funktion
-#free (0.2)#
-
- M Manager
-
-#free (0.2)#
-im Menü 'Öffnen'. Sie werden dann nach dem Namen der Task ge­
-fragt. Geben Sie keinen Namen an, wird der Managermodus wieder
-ausgeschaltet. Welche Task als Manager eingestellt ist, sehen Sie in
-der untersten Bildschirmzeile.
- In der Task, die Sie angeben, muß EUDAS insertiert sein (oder
-in einem Vater), da sonst die Sperre nicht funktioniert.
- Wenn Sie nun einen solchen Manager angegeben haben, können
-Sie beim Öffnen Dateinamen aus dieser Task angeben. Auch bei ESC
-'z' werden Ihnen alle Namen aus dem Manager mit angeboten. Wenn
-Sie einen solchen Namen angeben, der nicht aus Ihrer eigenen Task
-stammt, wird die Datei vor dem Öffnen automatisch kopiert. Wenn
-Sie angegeben haben, daß Sie die Datei verändern wollen, wird in
-der Managertask eine entsprechende Sperre gesetzt.
- Wenn Sie die Datei nach Änderungen dann sichern, wird die
-geänderte Kopie zurückgeschrieben. Die Sperre wird jedoch erst
-dann aufgehoben, wenn Sie die Arbeitskopien endgültig löschen.
- Möchte nun ein anderer Benutzer diese Datei öffnen, während
-Sie sie ändern, kann er dies nur, wenn er sie nicht ändern will.
-Natürlich wird die Datei dann auch nicht wieder zurückgeschickt.
-Will er sie ändern, erhält er eine Fehlermeldung und kann den
-Versuch später wiederholen.
-
-#on("b")#Vorsichtsmaßregeln#off("b")# Bedenken Sie, daß der Schutz nur
-wirksam sein
-kann, wenn Sie diesen Vorgang nicht unter Umgehung der Menü­
-steuerung ausführen. Würden Sie sich zum Beispiel eine Datei vom
-Manager holen (s. Kapitel 16), ohne daß Sie ein Änderungsvorhaben
-anmelden können, können Sie diese Datei ja trotzdem ändern und
-wieder zurückschicken. In diesem Fall hat EUDAS keine Kontrolle
-mehr über die Datei.
- Aus dem gleichen Grund sollten Sie sich die Managertask auch
-nicht an Ihren Bildschirm holen, denn auch dann könnten Sie ohne
-Kontrolle Änderungen durchführen (zudem kann der Manager wäh­
-rend dieser Zeit nicht auf andere Benutzer reagieren).
- Nur wenn Sie eine neue Datei im Manager anlegen, müssen Sie
-dies von Hand tun. Dazu erstellen Sie die Datei ganz normal und
-schreiben Sie mit der in Kapitel 16 beschriebenen Funktion zum
-Manager. Sie sollten jedoch darauf achten, daß dort nicht schon
-eine Datei gleichen Namens liegt (EUDAS fragt ja dann, ob über­
-schrieben werden soll).
-
diff --git a/doc/eudas/eudas.hdb.inhalt b/doc/eudas/eudas.hdb.inhalt
deleted file mode 100644
index 62134f8..0000000
--- a/doc/eudas/eudas.hdb.inhalt
+++ /dev/null
@@ -1,133 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-Inhalt
-
-
-
- Vorwort . . . . . . . . . . . . . . . . . . . i
- Inhalt . . . . . . . . . . . . . . . . . . . . iii
-
-
-I. Die ersten Schritte
-
-#on("b")#1 Was kann EUDAS ?#off("b")#
-#free (0.2)#
-1.1 Textverarbeitung und Datenverwaltung . . . . . 3
-1.2 EUDAS als Karteikasten . . . . . . . . . . . . 5
-1.3 Drucken . . . . . . . . . . . . . . . . . . . 7
-1.4 Grenzen . . . . . . . . . . . . . . . . . . . 9
-
-#on("b")#2 Installation#off("b")#
-#free (0.2)#
-2.1 Lieferumfang . . . . . . . . . . . . . . . . . 11
-2.2 Single-User . . . . . . . . . . . . . . . . . 12
-2.3 Multi-User . . . . . . . . . . . . . . . . . . 13
-
-#on("b")#3 Ein Beispiel zum Ausprobieren#off("b")#
-#free (0.2)#
-3.1 Start . . . . . . . . . . . . . . . . . . . . 15
-3.2 Daten eintragen . . . . . . . . . . . . . . . 16
-3.3 Daten abfragen . . . . . . . . . . . . . . . . 21
-3.4 Drucken . . . . . . . . . . . . . . . . . . . 22
-3.5 Ergebnis . . . . . . . . . . . . . . . . . . . 24
-
-
-II. Einführung in die Benutzung
-
-#on("b")#4 Umgang mit Dateien und Menüs#off("b")#
-#free (0.2)#
-4.1 EUDAS-Dateien . . . . . . . . . . . . . . . . 27
-4.2 EUDAS-Menüs . . . . . . . . . . . . . . . . . 29
-4.3 Archivmenü . . . . . . . . . . . . . . . . . . 32
-4.4 Dateiverwaltung . . . . . . . . . . . . . . . 37
-4.5 Bedienungsregeln . . . . . . . . . . . . . . . 39
-
-#on("b")#5 Gespeicherte Daten abfragen#off("b")#
-#free (0.2)#
-5.1 Öffnen . . . . . . . . . . . . . . . . . . . . 43
-5.2 Bewegen . . . . . . . . . . . . . . . . . . . 45
-5.3 Suchen . . . . . . . . . . . . . . . . . . . . 46
-5.4 Suchbedingungen . . . . . . . . . . . . . . . 49
-
-#on("b")#6 Daten eingeben und ändern#off("b")#
-#free (0.2)#
-6.1 Neue Datei einrichten . . . . . . . . . . . . 51
-6.2 Sätze einfügen . . . . . . . . . . . . . . . . 52
-6.3 Daten ändern . . . . . . . . . . . . . . . . . 55
-6.4 Arbeitskopie sichern . . . . . . . . . . . . . 56
-
-#on("b")#7 Ausdrucken der Daten#off("b")#
-#free (0.2)#
-7.1 Druckmuster . . . . . . . . . . . . . . . . . 61
-7.2 Aufruf . . . . . . . . . . . . . . . . . . . . 64
-7.3 Abschnitte . . . . . . . . . . . . . . . . . . 67
-7.4 Feldmuster . . . . . . . . . . . . . . . . . . 69
-
-#on("b")#8 Was war und was noch kommt#off("b")#
-#free (0.2)#
-8.1 Rückblick . . . . . . . . . . . . . . . . . . 75
-8.2 Ausblick . . . . . . . . . . . . . . . . . . . 76
-
-
-III. Weitere Möglichkeiten
-
-#on("b")#9 Das virtuelle Dateikonzept#off("b")#
-#free (0.2)#
-9.1 Konzept . . . . . . . . . . . . . . . . . . . 83
-9.2 Ketten . . . . . . . . . . . . . . . . . . . . 84
-9.3 Koppeln . . . . . . . . . . . . . . . . . . . 85
-9.4 Auswirkungen des Koppelns . . . . . . . . . . 89
-9.5 Umschalten auf Koppeldatei . . . . . . . . . . 92
-9.6 Mehrfachbenutzung . . . . . . . . . . . . . . 93
-
-#on("b")#10 Datenabfrage am Bildschirm#off("b")#
-#free (0.2)#
-10.1 Feldauswahl . . . . . . . . . . . . . . . . . 97
-10.2 Satzeditor . . . . . . . . . . . . . . . . . . 98
-10.3 Suchmuster . . . . . . . . . . . . . . . . . . 99
-10.4 Markieren . . . . . . . . . . . . . . . . . . 104
-10.5 Übersicht . . . . . . . . . . . . . . . . . . 105
-
-#on("b")#11 Funktionen zur Bearbeitung#off("b")#
-#free (0.2)#
-11.1 Sortieren . . . . . . . . . . . . . . . . . . 109
-11.2 Kopieren . . . . . . . . . . . . . . . . . . . 112
-11.3 Tragen . . . . . . . . . . . . . . . . . . . . 118
-11.4 Automatische Änderungen . . . . . . . . . . . 121
-
-#on("b")#12 Weitere Möglichkeiten zum Drucken#off("b")#
-#free (0.2)#
-12.1 Anschluß an die Textverarbeitung . . . . . . . 123
-12.2 Spaltendruck . . . . . . . . . . . . . . . . . 126
-12.3 Modi . . . . . . . . . . . . . . . . . . . . . 128
-
-#on("b")#13 Programmierung von Druckmustern#off("b")#
-#free (0.2)#
-13.1 Abkürzungen . . . . . . . . . . . . . . . . . 133
-13.2 Bedingte Musterteile . . . . . . . . . . . . . 141
-13.3 Übersetzung . . . . . . . . . . . . . . . . . 142
-13.4 Gruppen . . . . . . . . . . . . . . . . . . . 144
-
-#on("b")#14 Ausdrücke in ELAN#off("b")#
-#free (0.2)#
-14.1 Was sind Ausdrücke ? . . . . . . . . . . . . . 151
-14.2 Datentypen . . . . . . . . . . . . . . . . . . 152
-14.3 TEXT-Funktionen . . . . . . . . . . . . . . . 156
-14.4 Rechenfunktionen . . . . . . . . . . . . . . . 160
-14.5 Abfragen . . . . . . . . . . . . . . . . . . . 161
-
-#on("b")#15 Anweisungen in ELAN#off("b")#
-#free (0.2)#
-15.1 Variablen und Zuweisungen . . . . . . . . . . 165
-15.2 Weitere Konstruktionen . . . . . . . . . . . . 168
-
-#on("b")#16 Dateiverwaltung mit EUDAS#off("b")#
-#free (0.2)#
-16.1 Dateien im System . . . . . . . . . . . . . . 171
-16.2 Dateien auf dem Archiv . . . . . . . . . . . . 174
-
-
-IV. Anhang
-
- Register . . . . . . . . . . . . . . . . . . . 181
-
diff --git a/doc/eudas/eudas.hdb.macros b/doc/eudas/eudas.hdb.macros
deleted file mode 100644
index d06e6d1..0000000
--- a/doc/eudas/eudas.hdb.macros
+++ /dev/null
@@ -1,80 +0,0 @@
-#*format#
-#limit (13.5)##start (3.5,2.5)##pagelength (21.0)##block#
-#:firsthead (false)#
-#linefeed (1.07)#
-#*macro end#
-#*text#
-#type ("prop10")#
-#linefeed (1.07)#
-#*macro end#
-#*beispiel#
-#type ("12")#
-#linefeed (0.97)#
-#*macro end#
-#*bildschirm#
-#type ("17")#
-#linefeed(0.83)#
-#*macro end#
-#*proc#
-#type ("12")#
-#*macro end#
-#*endproc#
-#free (0.1)#
-#type ("prop10")#
-#linefeed (1.0)#
-#*macro end#
-#*abschnitt ($1,$2,$3)#
-#headodd#
-#on("b")#$1#right#$3 %#off("b")#
-#free (1.0)#
-#end#
-#on("b")##ib(9)#$1#ie(9,"   $3")# $2#off("b")#
-#*macro end#
-#*char($1)#
-$1
-#*macro end#
-#*kapitel ($1,$2,$3,$4)#
-#free (1.3)#
-#"nlq"#
-#type("roman.24")#
-#on("b")##center#$1#off("b")#
-#free (0.2)#
-#type ("roman.18")#
-#on("b")##center#$2 #off("b")#
-#on("b")##center# $3#off("b")#
-#on("b")##center#$4#off("b")#
-#type ("prop10")#
-#free (0.6)#
-#headeven#
-#on("b")#% $2 $3 $4#off("b")#
-#free (1.0)#
-#end#
-#headodd#
-#right##on("b")#%#off("b")#
-#free (1.0)#
-#end#
-#*macro end#
-#*f2#
-#free (0.2)#
-#*macro end#
-#*a ($1)#
-#on("b")#$1.#off("b")# 
-#*macro end#
-#*bsp ($1)#
-#type("12")#$1#type("prop")#
-#*macro end#
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/eudas/eudas.hdb.titel b/doc/eudas/eudas.hdb.titel
deleted file mode 100644
index b8cc805..0000000
--- a/doc/eudas/eudas.hdb.titel
+++ /dev/null
@@ -1,99 +0,0 @@
-#limit (14.0)#
-____________________________________________________________________________
-
-
-#on("b")##on ("u")#
-#center#Betriebssystem E U M E L
-#off ("u")#
-
-
-#center#E U D A S
-
-
-
-
-#off("b")#
-#center#Lizenzfreie Software der
-#on ("b")#
-
-#center#Gesellschaft für Mathematik und Datenverarbeitung mbH,
-#center#5205 Sankt Augustin
-
-
-#off("b")#
-#center#Die Nutzung der Software ist nur im Schul- und Hochschulbereich für
-#center#nichtkommerzielle Zwecke gestattet.
-
-#center#Gewährleistung und Haftung werden ausgeschlossen
-
-
-____________________________________________________________________________
-#page#
-
-#free (6.0)#
-#on("b")#EUDAS#off("b")#
-#free (1.0)#
-#on("b")#Anwender-#off("b")#
-#on("b")#Datenverwaltungssystem#off("b")#
-#free (2.0)#
-#on ("b")#VERSION 4#off("b")#
-#free(1.0)#
-#on("u")#                                                    #off("u")#
-#free (0.5)#
-#on("b")#BENUTZERHANDBUCH#off("b")#
-#block#
-#page#
-#free (12.0)#
-Ausgabe Juli 1987
-
-Dieses Handbuch und das zugehörige Programm sind urheberrechtlich
-geschützt. Die dadurch begründeten Rechte, insbesondere der Ver­
-vielfältigung in irgendeiner Form, bleiben dem Autor vorbehalten.
-
-Es kann keine Garantie dafür übernommen werden, daß das Pro­
-gramm für eine bestimmte Anwendung geeignet ist. Die Verantwor­
-tung dafür liegt beim Kunden.
-
-Das Handbuch wurde mit größter Sorgfalt erstellt. Für die Korrekt­
-heit und Vollständigkeit der Angaben wird aber keine Gewähr über­
-nommen. Das Handbuch kann jederzeit ohne Ankündigung geändert
-werden.
-
-(c) Copyright 1987 Thomas Berlage
- Software-Systeme
- Im alten Keller 3
-#free (0.1)#
- D-5205 Sankt Augustin 1
-#page#
-#free (7.0)#
-#center##on("b")#I.#off("b")#
-#free (1.0)#
-#center##on("b")#DIE#off("b")#
-#center##on("b")#ERSTEN#off ("b")#
-#center##on("b")#SCHRITTE#off("b")#
-#page#
-#free (7.0)#
-#center##on("b")#II.#off("b")#
-#free (1.0)#
-#center##on("b")#EINFÜHRUNG#off("b")#
-#center##on("b")#IN DIE#off ("b")#
-#center##on("b")#BENUTZUNG#off("b")#
-#page#
-#free (7.0)#
-#center##on("b")#III.#off("b")#
-#free (1.0)#
-#center##on("b")#WEITERE#off("b")#
-#center##on("b")#MÖGLICHKEITEN#off("b")#
-#page#
-#free (7.0)#
-#center##on("b")#IV.#off("b")#
-#free (1.0)#
-#center##on("b")#ANHANG#off("b")#
-
-
-
-
-
-
-
-
diff --git a/doc/eudas/eudas.hdb.vorwort b/doc/eudas/eudas.hdb.vorwort
deleted file mode 100644
index 6f7f17c..0000000
--- a/doc/eudas/eudas.hdb.vorwort
+++ /dev/null
@@ -1,89 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-____________________________________________________________________________
-
-
-#on("b")##on ("u")#
-#center#Betriebssystem E U M E L
-#off ("u")#
-
-
-#center#EUDAS
-
-
-
-
-#off("b")#
-#center#Lizenzfreie Software der
-#on ("b")#
-
-#center#Gesellschaft für Mathematik und Datenverarbeitung mbH,
-#center#5205 Sankt Augustin
-
-
-#off("b")#
-#center#Die Nutzung der Software ist nur im Schul- und Hochschulbereich für
-#center#nichtkommerzielle Zwecke gestattet.
-
-#center#Gewährleistung und Haftung werden ausgeschlossen
-
-
-____________________________________________________________________________
-#page#
-Vorwort
-
-
-
-Lieber EUDAS-Benutzer !
-
-Dieses Handbuch soll Sie bei Ihrer Arbeit mit EUDAS begleiten. Ob­
-wohl EUDAS nicht schwierig zu bedienen ist, gibt es doch eine Reihe
-von Dingen zu lernen, ehe Sie ein EUDAS-Spezialist geworden sind.
- Um Ihnen diesen Weg möglichst einfach zu machen, ist die
-EUDAS-Dokumentation in zwei Handbücher aufgeteilt. Dies ist das
-#on("b")#Benutzerhandbuch#off("b")#, das Ihnen eine gut lesbare Einführung in alle
-Fähigkeiten von EUDAS bieten soll. Außerdem gibt es noch das
-#on("b")#Referenzhandbuch#off("b")#, das Ihnen zum Nachschlagen und als Hilfe beim
-Programmieren dienen soll.
-
- Bis Sie EUDAS gut beherrschen, sollten Sie sich also mit dem
-Benutzerhandbuch beschäftigen. Das Benutzerhandbuch ist nochmal
-in drei Teile aufgeteilt, um Ihnen das Lernen zu erleichtern. In
-jedem Teil werden die vorher behandelten Dinge zyklisch wieder
-aufgenommen und auf höherem Niveau erweitert.
- Der allererste Teil des Handbuchs umfaßt nur drei Kapitel und
-soll Ihnen über den ersten Tag mit EUDAS hinweghelfen. Dort finden
-Sie eine Übersicht, was Sie mit EUDAS anfangen können, wie Sie das
-Programm auf Ihrem Rechner installieren und ein kurzes Beispiel
-zum Ausprobieren.
- Im zweiten Teil lernen Sie dann die Grundkonzepte von EUDAS
-anhand von zahlreichen Beispielen kennen. Sie sollten die Beispiele
-am Rechner ausprobieren und ihre Bedeutung verstehen. Nach dem
-Durcharbeiten dieses Teils (was höchstens wenige Tage in Anspruch
-nimmt) sind Sie dann in der Lage, EUDAS für eigene Zwecke anzu­
-wenden.
- Wenn Ihre Ansprüche dann wachsen, sollten Sie sich mit dem
-dritten Teil befassen. Hier erhalten Sie Einblick in weitergehende
-Möglichkeiten von EUDAS. Die einzelnen Kapitel sind relativ unab­
-hängig voneinander, so daß Sie nur die für Sie interessanten
-genauer durchlesen müssen.
- In Kapitel 8 finden Sie als Orientierung nicht nur eine Wieder­
-holung dessen, was Sie im zweiten Teil gelernt haben sollten, son­
-dern auch eine Übersicht, welche weiteren Möglichkeiten im dritten
-Teil noch beschrieben werden.
-
- Im Referenzhandbuch finden Sie später, wenn Sie einige Erfah­
-rung gesammelt haben, eine genaue Beschreibung der Wirkungsweise
-aller Funktionen. Um diese zu verstehen, sollten Sie jedoch bereits
-eine grobe Ahnung der Wirkungsweise haben.
- Als zweites finden Sie im Referenzhandbuch Informationen für
-Programmierer, die EUDAS-Funktionen in eigenen Programmen ver­
-wenden wollen. Dies sollte jedoch in den meisten Fällen nicht not­
-wendig sein, so daß dieser Teil für Spezialisten reserviert bleibt.
-
- Trotz größter Bemühungen kann das Handbuch natürlich nicht
-frei von Unklarheiten und Fehlern sein. Anregungen und Kritik sind
-daher dringend erwünscht, um diese Dokumentation zu verbessern.
-
-Und nun viel Spaß bei Ihrer Arbeit mit EUDAS !
-
diff --git a/doc/eudas/eudas.ref.1 b/doc/eudas/eudas.ref.1
deleted file mode 100644
index 7c66368..0000000
--- a/doc/eudas/eudas.ref.1
+++ /dev/null
@@ -1,326 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (3)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-Zustände und Bedienung
-
-
-
-1.1 Zustände
-
-EUDAS befindet sich zu jeder Zeit in einem von 11 verschiedenen
-Zuständen. Für jeden Zustand ist festgelegt, welche Eingabetasten
-benutzt werden können und welche Wirkung sie haben. Bestimmte
-Tastenfunktionen führen in einen anderen Zustand. Obwohl für
-jeden Zustand andere Tastenkombinationen gültig sind, wird für die
-gleiche Funktion in jedem Zustand auch die gleiche Taste oder
-Tastenkombination verwendet.
- Die wichtigsten Tastenfunktionen eines Zustandes werden in
-der #on("i")#Statuszeile#off("i")# am oberen Bildschirmrand angezeigt.
- Im folgenden sind alle möglichen Zustände als Übersicht be­
-schrieben. Eine Übersicht der Zustandsübergänge enthält Abb. 1-1.
- Zu jedem Zustand wird die entsprechende Statuszeile darge­
-stellt sowie alle möglichen Tastenfunktionen und ihre Bedeutung.
-
-EUDAS: Öffnen Einzelsatz Gesamtdatei Drucken Dateien Archiv
-
-_____________________________________________________
-
-OBEN Anwahl der nächsthöheren Funktion
-UNTEN Anwahl der nächsttieferen Funktion
-RECHTS Anwahl des nächsten Menüs zur Rechten
-LINKS Anwahl des nächsten Menüs zur Linken
-HOP OBEN Anwahl der ersten Funktion
-HOP UNTEN Anwahl der letzten Funktion
-'1' .. '6' Anwahl des entsprechenden Menüs
-LEER Ausführen der gewählten Funktion
-'Buchstabe' Ausführen der Funktion mit 'Buchstabe' davor
-ESC '?' Hilfestellung zur gewählten Funktion
-ESC ESC Eingabe von ELAN-Kommandos
-
-
-HILFE: Beenden: ESC q Seite weiter: ESC w Seite zurueck: ESC z
-
-_____________________________________________________
-
-ESC 'w' Blättern zur nächsten Seite
-ESC 'z' Blättern zur vorigen Seite
-ESC 'q' Verlassen (Rückkehr in alten Zustand)
-
-
-AUSWAHL: Ankreuzen: 'x' Durchstreichen: 'o' Beenden: ESC q Hilfe: ESC ?
-
-_____________________________________________________
-
-'x' Auswahl ankreuzen
-'o' Ankreuzen rückgängig machen
-LEER Ankreuzen und Auswahl sofort verlassen
-OBEN Zur nächsten Auswahl nach oben
-UNTEN Zur nächsten Auswahl nach unten
-HOP OBEN Zur obersten Auswahl bzw. eine Seite zurück
-HOP UNTEN Zur untersten Auswahl bzw. eine Seite weiter
-HOP RETURN Aktuelle Auswahl wird erste auf der Seite
-ESC '1' zur ersten Auswahl
-ESC '9' zur letzten Auswahl
-ESC 'q' Auswahl verlassen und weitermachen
-ESC '?' Hilfe zur Auswahl
-HOP 'x' alle freien Wahlen ankreuzen
-HOP 'o' alle Kreuze entfernen
-ESC 'h' Auswahl und Funktion abbrechen
-
-
-EINGABE: Bestätigen: RETURN Zeigen: ESC z Abbrechen: ESC h Hilfe: ESC ?
-
-_____________________________________________________
-
-RECHTS zum nächsten Zeichen
-LINKS zum vorigen Zeichen
-HOP RECHTS zum letzten Zeichen
-HOP LINKS zum ersten Zeichen
-RUBOUT Zeichen löschen
-RUBIN Einfügemodus umschalten
-HOP RUBOUT Rest der Zeile löschen
-'Zeichen' Zeichen überschreiben oder einfügen
-RETURN Eingabe abschließen und weitermachen
-ESC '?' Hilfe zur Eingabe
-ESC 'h' Eingabe und Funktion abbrechen
-ESC 'z' Auswahl zeigen (falls in Statuszeile aufgeführt)
-
-
-FRAGE: Bejahen: j,J Verneinen: n,N Abbrechen: ESC h Hilfe: ESC ?
-
-_____________________________________________________
-
-'j', 'J' Frage bejahen
-'n', 'N' Frage verneinen
-ESC '?' Hilfe zur Frage
-ESC 'h' Frage und Funktion abbrechen
-
-
-!!! FEHLER !!! Quittieren: ESC q Hilfe zur Meldung: ESC ?
-
-_____________________________________________________
-
-ESC '?' Hilfe zum Fehler
-ESC 'Taste' Fehler quittieren
-'Taste' Fehler quittieren
-
-
-SATZ ÄNDERN: Abbruch: ESC h Beenden: ESC q Hilfe: ESC ?
-SATZ EINFÜGEN: Abbruch: ESC h Beenden: ESC q Hilfe: ESC ?
-SUCHMUSTER EINGEBEN: Abbruch: ESC h Beenden: ESC q Hilfe: ESC ?
-
-_____________________________________________________
-
-ESC OBEN eine Seite zurück blättern
-ESC UNTEN eine Seite vor blättern
-ESC '?' Hilfe zum Satzeditor
-ESC 'p' ganzen Satz merken (nicht bei Suchmuster)
-ESC 'g' Satz durch gemerkten ersetzen (nicht bei Such­
- muster)
-ESC 'h' Abbruch der Funktion
-ESC 'D' Tagesdatum schreiben
-ESC 'F' Prüffehler nach Tragen editieren
-ESC 'w' Verlassen und mit nächstem Satz erneut aufrufen
- (nicht im Suchmuster)
-ESC 'z' Verlassen und mit vorigem Satz erneut aufrufen
- (nicht im Suchmuster)
-ESC RUBIN Rest der Zeile in neue Zeile umbrechen
-ESC RUBOUT Rest der Zeile löschen
-HOP RUBIN nicht verwenden!
-HOP RUBOUT nicht verwenden!
-
-Weitere Tasten siehe EUMEL-Benutzerhandbuch (Editor).
-
-
-Bitte warten..
-
-_____________________________________________________
-
-keine Tasten erlaubt (außer SV)
-
-
-ZEIGEN: Blättern: HOP OBEN, HOP UNTEN Ende: ESC q Hilfe: ESC ?
-
-_____________________________________________________
-
-HOP OBEN auf erste Zeile bzw. eine Seite zurück
-HOP UNTEN auf letzte Zeile bzw. eine Seite vor
-ESC '?' Hilfe zur Übersicht
-ESC 'h' Abbruch der Funktion
-ESC 'q' Verlassen
-
-
-EDITIEREN: Abbruch: ESC h Verlassen: ESC q Hilfe: ESC ?
-
-_____________________________________________________
-
-ESC 'F' Feldnamen anzeigen und auswählen
-ESC 'h' Abbruch der Funktion
-
-Weitere Tasten siehe EUMEL-Benutzerhandbuch (Editor).
-
-
-Gib Kommando:
-
-_____________________________________________________
-
-Tasten siehe EINGABE.
-
-
-#free (18.5)#
-
-#center#Abb. 1-1 Zustandsübergänge
-
-
-
-
-1.2 Menüs
-
-Menüs dienen zur Auswahl von Funktionen. Sie werden am linken
-Rand des Bildschirms angezeigt. Welches Menü aktiv ist, wird durch
-Markierung des Menünamens in der obersten Bildschirmzeile unter
-allen zur Verfügung stehenden Menüs angezeigt. In jedem Menü ist
-die zuletzt ausgeführte Funktion ebenfalls markiert.
-
-#on("b")#Ausführen von Funktionen#off("b")# Zum Ausführen einer bestimmten
-Funk­
-tion wird mit Hilfe der Cursortasten ein bestimmtes Menü und die
-gewünschte Funktion angewählt. Die Funktion wird dann durch
-Drücken der Leertaste ausgeführt. Alternativ kann auch der vor der
-Funktion stehende Buchstabe gedrückt werden.
- Die einzelnen Menüs können auch durch Nummern (1 bis 6)
-angewählt werden (absolute Positionierung).
- Soll eine andere Taste als die Leertaste zum Ausführen ver­
-wendet werden, so kann dies durch die Prozedur 'ausfuehrtaste'
-angegeben werden (s. Abschnitt 10.3).
- Funktionen, deren Ausführung augenblicklich nicht möglich
-oder nicht sinnvoll ist, werden durch ein vorangestelltes Minuszei­
-chen gekennzeichnet. Sie können zwar angewählt, nicht aber ausge­
-führt werden.
- Durch ESC '?' wird ein erläuternder Hilfstext zur gerade ange­
-wählten Funktion angezeigt. Näheres dazu s. Abschnitt 1.4.
- Durch ESC ESC kann ein beliebiges ELAN-Kommando eingegeben
-und ausgeführt werden. Die Eingabe des Kommandos erfolgt in der
-Statuszeile.
-
-
-1.3 Auswahl
-
-Die Auswahlfunktion dient dazu, aus vorhandenen Datei- oder
-Feldnamen in bestimmter Reihenfolge auszuwählen. Die einzelnen
-Namen werden untereinander aufgelistet.
- Vor jedem Namen ist ein 'o' zum Ankreuzen angegeben. Mit den
-Cursortasten kann der Cursor vor einen bestimmten Namen positio­
-niert werden. Mit 'x' kann dieser Name dann angekreuzt werden. Das
-Ankreuzen kann durch 'o' wieder rückgängig gemacht werden.
- Die Reihenfolge des Ankreuzens wird durch vorangestellte
-Nummern gekennzeichnet. Die Namen werden von der entsprechenden
-Funktion später in genau dieser Reihenfolge verwendet.
- Wenn nicht alle Namen auf den Bildschirm passen, kann die
-Darstellung gerollt werden. Ein Teil der Überschrift bleibt dabei
-stehen; am Anfang und am Ende wird jeweils eine Abschlußzeile zur
-Kennzeichnung mitgerollt.
- Mit ESC '?' kann eine Hilfestellung abgerufen werden. Mit ESC
-'q' wird die Auswahl beendet. Mit ESC 'h' können die Auswahl und
-die in Ausführung befindliche Operation abgebrochen werden.
-
-
-1.4 Hilfe und Dialog
-
-In den meisten Situationen kann durch ESC '?' eine spezifische
-Hilfestellung abgerufen werden. Die Anzeige der Hilfsinformation
-geschieht im rechten Bildschirmteil.
- Die Texte sind seitenweise aufgebaut. Es wird immer eine Seite
-angezeigt. Mit ESC 'w' bzw. ESC 'z' kann auf die nächste bzw, vorige
-Seite umgeblättert werden. Mit ESC 'q' wird die Hilfestellung wieder
-verlassen und die Situation wiederhergestellt, in der die Hilfe auf­
-gerufen wurde.
-
-#on("b")#Fragen#off("b")# Die meisten Funktionen wickeln zur Eingabe von
-zusätz­
-lichen Parametern oder zum Stellen von Fragen einen Dialog in der
-unteren Schirmhälfte ab. Es gibt zwei Möglichkeiten des Dialogs:
-eine Frage oder die Eingabe eines Textes.
- Bei einer Frage kann man mit 'j' oder 'n' antworten. Sowohl
-große als auch kleine Buchstaben werden akzeptiert. Mit ESC '?'
-kann eine Hilfsinformation zu der Frage abgerufen werden. ESC 'h'
-bricht die fragende Funktion ab.
-
-#on("b")#Eingabe#off("b")# Bei der Eingabe eines Textes können die üblichen
-Opera­
-tionen zum Editieren in einer Zeile verwendet werden. Die Eingabe
-wird durch RETURN beendet. Auch hier kann durch ESC '?' eine
-Hilfsinformation abgerufen werden. ESC 'h' bricht ebenfalls die fra­
-gende Funktion ab. In einigen Fällen (ersichtlich aus der Statuszei­
-le) kann durch ESC 'z' eine Auswahl der verfügbaren Namen abgeru­
-fen werden.
-
-
-1.5 Editor
-
-Der EUMEL-Editor wird in EUDAS auf zweierlei Weise aufgerufen.
-Zum einen dient er im Satzformular zum Eingeben von Daten und
-Suchmustern. Dort wird er als #on("i")#Satzeditor#off("i")# bezeichnet. Da hier die
-Feldnamen mit berücksichtigt werden müssen, gibt es einige Unter­
-schiede zum normalen Editor.
- An anderen Stellen wird der Editor ohne Änderungen eingesetzt
-zum Eingeben von Feldnamen oder Mustern. In diesem Fall finden
-Sie die Bedienungshinweise im EUMEL-Benutzerhandbuch.
-
-#on("b")#Satzeditor#off("b")# Beim Ändern, Einfügen und Eingeben des
-Suchmusters
-wird im EUDAS-Formular der Editor aufgerufen. Das Editorfenster
-beschränkt sich auf den rechten Teil des Formulars, der einen Teil
-der Überschrift und die Feldinhalte umfaßt. Im Satzeditor können
-dann die entsprechenden Inhalte eingegeben bzw. verändert werden.
- Rollen unter Beibehaltung der Korrespondenz ist durch ESC
-OBEN und ESC UNTEN möglich. Diese Funktionen wirken wie bei der
-Anzeige - das Editorfenster wird ebenfalls entsprechend mitgerollt.
-Mit ESC '1' kann wie üblich auf die erste, mit ESC '9' auf die letzte
-Zeile gesprungen werden. Auch diese Funktionen passen die Feld­
-namen entsprechend an.
- Falls die für ein Feld vorgesehenen Zeilen nicht für den Inhalt
-ausreichen, kann durch ESC RUBIN eine weitere Zeile für dieses Feld
-bereitgestellt werden. ESC RUBIN wirkt wie zweimal HOP RUBIN, die
-Korrespondenz mit den Feldnamen bleibt jedoch gewahrt.
- Zum Löschen steht ESC RUBOUT zur Verfügung. Es löscht eine
-ganze Zeile, aber nur, wenn für dieses Feld noch andere Zeilen zur
-Verfügung stehen, wird die Zeile tatsächlich vom Bildschirm ent­
-fernt. Im Normalfall bleibt sonst eine Leerzeile für dieses Feld ste­
-hen.
- Ist die Information für ein Feld auf mehrere Zeilen verteilt, so
-werden diese Zeilen zur Verarbeitung aneinandergehängt. Gegebe­
-nenfalls wird zwischen zwei Zeilen noch ein Leerzeichen eingefügt.
- Der Editor kann wie üblich mit ESC 'q' verlassen werden. ESC
-'h' bricht die Funktion ab, ohne die erfolgten Änderungen und Ein­
-gaben zu berücksichtigen. Mit ESC 'w' und ESC 'z' kann das Bearbei­
-ten von mehreren Sätzen beschleunigt werden. Durch diese Tasten­
-kombinationen wird der Editor verlassen und die gleiche Operation
-(Ändern/Einfügen) beim nächsten bzw. vorigen Satz wiederholt.
-
-#on("b")#Hinweis#off("b")# Aus technischen Gründen kann das Editorfenster
-gegen­
-über den Feldnamen verschoben werden (durch Rollen mit HOP
-UNTEN zum Beispiel). Dabei geht die sichtbare Korrespondenz zwi­
-schen Feldnamen und Feldinhalten verloren. Ein solcher Fall wird
-durch einen markierten Balken mit entsprechender Meldung ange­
-zeigt. Durch ESC '1' wird das Fenster aber wieder zurechtgerückt.
- Aus diesem Grund sollte im Satzeditor auf HOP OBEN und HOP
-UNTEN sowie auf RETURN am Ende des Fensters verzichtet werden.
-Auch HOP RUBIN und HOP RUBOUT sollten nicht verwendet werden,
-weil auf diese Weise die Anzahl der Zeilen verändert wird. Eine
-solche Störung kann nicht durch ESC '1' beseitigt werden. Von Hand
-müssen die entsprechenden Zeilen wieder gelöscht oder eingefügt
-werden.
-
-
diff --git a/doc/eudas/eudas.ref.10 b/doc/eudas/eudas.ref.10
deleted file mode 100644
index fbfcf7e..0000000
--- a/doc/eudas/eudas.ref.10
+++ /dev/null
@@ -1,406 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (97)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-10 Programmierung der Menüs
-
-
-
-10.1 Menüformat
-
-EUDAS verwendet drei verschiedene Strukturen zur Benutzerunter­
-stützung: Menü, Auswahl und Hilfestellung. Ein Menü dient zur
-Auswahl von Funktionen, eine Auswahl bietet Feld- oder Datei­
-namen an und eine Hilfestellung zeigt einen Informationstext.
- Alle diese Strukturen werden aus einer Initialisierungsdatei
-eingelesen. Die Initialisierungsdatei ist eine normale Textdatei. Ihr
-Format soll in diesem Abschnitt beschrieben werden.
- Die Strukturen können in beliebiger Reihenfolge in der Initiali­
-sierungsdatei stehen. Jede Struktur wird durch eine spezielle
-Anweisung eingeleitet. Anweisungen beginnen ähnlich wie im
-Druckmuster mit einem Prozentzeichen. Dementsprechend gibt es die
-drei Anweisungen
-
-
- % MENUE "Name"
- % AUSWAHL "Name"
- % HILFE "Gebiet/Name"
-
-
-die jeweils eine Struktur einleiten. Beendet wird eine Definition
-immer mit
-
-
- % ENDE
-
-
-#on("b")#Menü#off("b")# Für ein Menü wird noch der Text angegeben, der auf
-dem
-Bildschirm erscheinen soll. Er wird durch die Anweisung
-
-
- % BILD
-
-
-eingeleitet. Danach folgen Zeilen mit dem Bildschirminhalt in der
-gewünschten Größe (die tatsächliche Anzeigegröße wird erst beim
-Aufruf angegeben). Dabei werden die Auswahlpositionen, auf denen
-der Cursor sich bewegen kann, durch ein geschütztes Leerzeichen in
-Spalte 2 festgelegt.
- Nach der Angabe des Bildes muß für jede mögliche Auswahl­
-position noch eine weitere Angabe gemacht werden. Die Auswahl­
-positionen (oder Felder) werden dabei von oben nach unten durch­
-gezählt. Begonnen wird mit der Nummer 1.
- Eine Felddefinition hat das Format
-
-
- % FELD nr "Hilfstext" "Tasten"
-
-
-Die Nummer identifiziert das Feld. Der Hilfstext gibt den Namen der
-Hilfestellung an, die gezeigt werden soll, wenn auf diesem Feld ESC
-'?' gedrückt wird. Die Tasten sind alle Zeichen, die gedrückt werden
-können, um dieses Feld direkt auszuführen.
- Anschließend an die Felddefinition kann in weiteren Zeilen
-noch ein ELAN-Programm folgen, das bei Auswahl des Feldes aus­
-geführt wird.
-
-#on("b")#Auswahl#off("b")# Für eine Auswahl muß zuerst ein Vorspann angegeben
-werden, der immer in den ersten Bildschirmzeilen der Auswahl an­
-gezeigt wird. Dieser wird durch
-
-
- % VORSPANN
-
-
-eingeleitet. Danach folgt das Bild. Das Bild setzt sich aus drei Tei­
-len zusammen. Die erste Zeile, in der ein geschütztes Leerzeichen
-vorkommt, bildet den Wiederholungsteil. Diese Zeile wird nachher so
-oft wie nötig mit entsprechenden Inhalten wiederholt, wobei das
-geschützte Leerzeichen als Bindestrich dargestellt wird, auf dem
-sich der Cursor bewegen kann. Die Teile davor und danach werden
-jeweils bei Bedarf mitgerollt.
- Die Wiederholungszeile darf mehrere geschützte Leerzeichen
-enthalten. Die Inhalte werden dann in mehreren Spalten angezeigt.
-Zu beachten ist, daß vor einem Trennstrich noch mindestens fünf
-Zeichen Platz für eine laufende Nummer bleiben müssen.
-
-#on("b")#Hilfe#off("b")# Der Name einer Hilfestellung setzt sich aus zwei
-Teilen
-zusammen, die durch einen Schrägstrich getrennt werden. Der erste
-Name gibt die Kategorie der Hilfestellung an, der zweite Name den
-Einzeltext. Dies dient dazu, die relativ große Zahl der Hilfstexte
-überschaubar zu machen. Als Beispiel
-
-
- % HILFE "JA/Allgemein"
-
-
-Eine Hilfestellung besteht einfach aus mehreren Seiten Text. Jede
-Seite wird durch die AnweisungQ
-
-
-Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q
-
-
-Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈
-Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈
-Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈
-Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈
-Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q
-
-
-Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q
-
-
-Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q̈Q
-Q̈Q̈Q̈Q̈Q̈Q̈Q̈estellung, wobei die Seiten einfach von 1 an durch­
-gezählt werden. Anschließend darf für diese Seite natürlich kein
-Text folgen.
-
-
-10.2 Verwaltung der Menüs
-
-Alle Menüdaten werden intern in Datenräumen gehalten. Dabei sind
-die einzelnen Strukturen getrennt. Mit 'menuedaten einlesen' kön­
-nen Menüdaten aus einer Struktur gelesen und abgespeichert wer­
-den. Existierende Strukturen werden dabei überschrieben, neue
-hinzugefügt.
- Mit 'menuenamen' können die vorhandenen Strukturen abgefragt
-werden. Mit 'menue loeschen' werden einzelne Strukturen oder alle
-Menüdaten gelöscht. Damit die Datenräume mit den Menüdaten auch
-an Söhne übergeben werden, ist der 'global manager' entsprechend
-geändert. Dies wird im einzelnen durch 'menue manager' bewirkt.
-Der neue Global Manager akzeptiert auch Anfragen von Tasks, die
-nicht Söhne oder Enkel sind.
-
-
-PROC menuedaten einlesen (TEXT CONST dateiname)
-
- Die in der Datei enthaltenen Strukturen werden eingelesen und
- abgespeichert. Treten bei diesem Prozeß Fehler auf, so wird
- eine entsprechende Meldung ins EUMEL-Notizbuch geschrieben
- und nachher im Paralleleditor angezeigt.
-
-
-THESAURUS PROC menuenamen (INT CONST index)
-
- Liefert die Namen der Strukturen. Der Index hat folgende Be­
- deutung:
- 1: Hilfskategorien
- 2: Menüs
- 3: Auswahlen
- Ist der Index negativ, so werden die Hilfsnamen der entspre­
- chenden Hilfskategorie geliefert, die im Thesaurus den Index
- mit umgekehrtem Vorzeichen hat.
-
-
-PROC menue loeschen (TEXT CONST name, INT CONST index)
-
- Löscht den Namen in dem Thesaurus mit dem angegebenen In­
- dex, falls dort der Name vorhanden ist.
-
-
-PROC menue loeschen (BOOL CONST hilfen reduzieren)
-
- Löscht alle Menüdaten. Ist 'hilfen reduzieren' verlangt, wird
- beim späteren Einlesen der Hilfstexte jeweils nur der erste
- Text einer Kategorie gespeichert, um Platz zu sparen.
-
-
-PROC global manager
-
- Geänderter Manager, der die Menüdatenräume in Söhne trans­
- portiert und Sperren setzen kann. Ersetzt den normalen 'free
- global manager'. Nur im Multi-User-System vorhanden.
-
-
-PROC menue manager (DATASPACE VAR ds,
- INT CONST order, phase,
- TASK CONST order task)
-
- Eigentliche Manager-Routine. Kann dazu dienen, Managererwei­
- terungen vorzunehmen. Nur im Multi-User-System vorhanden.
- Beispiel: der Manager soll nur Aufträge von Söhnen annehmen.
-
-
- PROC new manager (DATASPACE VAR ds,
- INT CONST order, phase,
- TASK CONST order task):
-
- LET begin code = 4;
- IF order task < myself OR order = begin code OR
- order task = supervisor THEN
- menue manager (ds, order, phase, order task)
- ELSE
- errorstop ("kein Sohn")
- END IF
-
- END PROC new manager;
-
- global manager (PROC new manager)
- (* startet den Manager *)
-
-
-
-10.3 Aufruf
-
-Menüs werden mit der Prozedur 'menue anbieten' aufgerufen. Dabei
-muß neben den Namen ein Fenster übergeben werden, in dem die
-Menüs dann angezeigt werden. Es ist darauf zu achten, daß das
-Fenster groß genug ist, um wenigstens die Auswahlpositionen im
-Bild zu haben.
- Außerdem muß eine Prozedur übergeben werden, die die einzel­
-nen Funktionen ausführt. Diese Prozedur erhält als Parameter die
-Nummer der ausgewählten Funktion.
- Mit 'waehlbar' können Auswahlen gesperrt werden. Diese Anga­
-be kann jedoch nicht vor Aufruf von 'menue anbieten' erfolgen, da
-dann alle Sperren erstmal gelöscht werden. Zum Setzen der Sperren
-beim Betreten eines Menüs dient ein besonderer Code, mit dem die
-übergebene Prozedur aufgerufen wird.
- Eine Auswahl wird mit der Prozedur 'auswahl anbieten' aufge­
-rufen. Diese bekommt ebenfalls ein Fenster übergeben, außerdem
-den Namen einer Hilfestellung, die bei Bedarf aufgerufen werden
-kann. Weiterhin muß eine Prozedur übergeben werden, die die aus­
-zuwählenden Texte erzeugt. Die gewählten Texte können anschlie­
-ßend mit der Prozedur 'wahl' abgefragt werden.
- Eine Hilfestellung wird durch die Prozedur 'hilfe anbieten'
-ausgegeben. Dabei muß außer dem Namen auch noch ein Fenster
-übergeben werden.
- Mit 'status anzeigen' kann ein Text in der Statuszeile ausge­
-geben werden. Die Menüprogramme tun dies für ihren Bereich jedoch
-selbst.
-
-
-PROC menue anbieten (ROW 6 TEXT CONST menuenamen,
- FENSTER VAR f,
- BOOL CONST esc erlaubt,
- PROC (INT CONST, INT CONST) interpreter)
-
- Die angegebenen Menüs werden in dem Fenster 'f' angezeigt.
- Das Fenster wird nach Beendigung des Menüs als verändert
- gekennzeichnet. Die Namen der 6 Menüs werden in die Titelzeile
- aufgenommen. Die Menünamen sollten mit einer Menüidentifika­
- tion versehen sein, zum Beispiel "EUDAS.Öffnen". Der Text vor
- dem Punkt wird an den Anfang der Titelzeile gestellt und bei
- den einzelnen Menünamen unterdrückt. Nicht benötigte Menüs
- müssen als "" angegeben werden.
-
- 'esc erlaubt' gibt an, ob mit ESC ESC ein Kommandodialog ge­
- führt werden kann. Die übergebene Prozedur muß die einzelnen
- Funktionen ausführen, die als Zahl übergeben werden. Der
- Interpreter wird im 'disable stop' aufgerufen, daher ist in der
- Regel ein 'enable stop' erforderlich.
-
- Die Parameter für 'interpreter' haben folgende Bedeutung:
- Par. 1: 0 Aufruf zur Initialisierung der Sperren
- oder anderen Initialisierungen zu Beginn
- 1..6 Angabe des aktuellen Menüs
- Par. 2: 1..23 Aufruf der entsprechenden Funktion
- 0 Eintritt in ein neues Menü (wird vor der
- Ausgabe dieses Menüs aufgerufen)
- -1 Verlassen des Menüs
- -2 Bildschirmupdate (nach Eintritt in das
- Menü, wenn das Menü ganz ausgegeben ist,
- oder wenn der Bildschirm nach 'Gib
- Kommando:' zerstört worden ist)
-
- FEHLER:
-
- #on("i")#"Name" existiert nicht.#off("i")#
- Das angegebene Menü ist nicht vorhanden.
-
-
-PROC waehlbar (INT CONST menuenr, funktionsnr
- BOOL CONST moeglich)
-
- Setzt die Funktionssperre der angegebenen Funktion. Muß in­
- nerhalb von 'menue anbieten' aufgerufen werden. Zu Beginn von
- 'menue anbieten' sind jeweils alle Funktionen erlaubt.
-
-
-PROC ausfuehrtaste (TEXT CONST taste)
-
- Setzt die Taste, die Funktionen ausführt. Ist standardmäßig die
- Leertaste.
-
- FEHLER:
-
- #on("i")#falsche Ausfuehrtaste#off("i")#
- Es muß ein einzelnes Zeichen angegeben werden, das nicht
- bereits anderweitig verwendet wird.
-
-
-PROC auswahl anbieten (TEXT CONST name, FENSTER CONST f,
- TEXT CONST hilfe,
- PROC (TEXT VAR, INT CONST) inhalt)
-
- Ruft die Auswahl in dem angegebenen Fenster auf. 'hilfe' wird
- als Hilfestellung verwendet. Die Prozedur 'inhalt' liefert den
- Text, der an der n-ten Position stehen soll. Wenn keine wei­
- teren Texte vorhanden sind, muß für alle weiteren Positionen
- "" geliefert werden.
-
- FEHLER:
-
- #on("i")#"Name" existiert nicht.#off("i")#
- Die angegebene Auswahl ist nicht vorhanden.
-
-
-INT PROC wahl (INT CONST stelle)
-
- Liefert die Nummer des Textes, der an der n-ten Stelle ausge­
- wählt wurde. Wurde kein weiterer Text mehr gewählt, so wird 0
- geliefert.
-
-
-PROC hilfe anbieten (TEXT CONST name, FENSTER CONST f)
-
- Bietet den Hilfstext in dem angegebenen Fenster an. Existiert
- die Hilfe innerhalb der angegebenen Kategorie nicht, wird die
- erste Hilfe der Kategorie angezeigt.
-
- FEHLER:
-
- #on("i")#Hilfe existiert nicht#off("i")#
- Die angegebene Hilfskategorie ist nicht vorhanden.
-
-
-PROC status anzeigen (TEXT CONST zeile)
-
- Zeigt den angegebenen Text in der obersten Bildschirmzeile an.
-
-
-10.4 Dialog
-
-EUDAS führt den Benutzerdialog in einem Fenster, dessen Größe
-durch 'dialogfenster' eingestellt wird. Das Dialogfenster wird zei­
-lenweise belegt. 'dialog' reserviert eine neue Zeile für eine beliebi­
-ge Ausgabe. Wenn das Fenster voll ist oder überschrieben wurde,
-wird in der ersten Zeile wieder angefangen. Den gleichen Effekt
-kann man mit 'neuer dialog' erreichen.
- Mit 'ja' kann man im Dialogfenster eine Frage stellen. Als Ant­
-wort kann auch eine Hilfestellung angefordert werden oder die
-Funktion abgebrochen werden. Mit 'editget' kann man nach Auffor­
-derung einen Text eingeben lassen. Dabei stehen die gleichen
-zusätzlichen Möglichkeiten zur Verfügung.
- Mit 'fehler ausgeben' kann eine durch 'errorstop' erzeugte Feh­
-lermeldung im Dialogfenster angezeigt werden. Der Benutzer muß
-erst eine Taste drücken, ehe er weitermachen kann. Auch hier kann
-eine Hilfestellung zu der Fehlermeldung abgerufen werden.
-
-
-PROC dialogfenster (INT CONST x, y, xl, yl)
-
- Gibt die Fenstergröße und -position des Dialogfensters an. Für
- den ganzen Bildschirm müßte (1, 1, 79, 24) angegeben werden.
-
-
-PROC dialog
-
- Positioniert den Cursor auf die nächste Dialogzeile im Dialog­
- fenster. Wurde das Fenster verändert, wird das Fenster ge­
- löscht und auf die erste Zeile positioniert.
-
-
-PROC neuer dialog
-
- Sorgt dafür, daß der nächste Aufruf von 'dialog' wieder in
- einem leeren Fenster beginnt.
-
-
-BOOL PROC ja (TEXT CONST frage, hilfe)
-
- Stellt die angegebene Frage. Es kann die angegebene Hilfsin­
- formation abgerufen werden. Außerdem wird durch ESC 'h' ein
- Abbruch (errorstop ("")) erzeugt.
-
-
-PROC editget (TEXT CONST prompt, TEXT VAR eingabe,
- TEXT CONST res, hilfe)
-
- Gibt den Text 'prompt' aus und editiert dahinter 'eingabe'. Es
- kann die angegebene Hilfsinformation abgerufen werden. 'res'
- gibt an, bei welchen ESC-Folgetasten das Editieren beendet
- werden soll. In einem solchen Fall wird als Eingabe (ESC + die
- gedrückte Taste) zurückgeliefert.
-
-
-PROC fehler ausgeben
-
- Im Dialogfenster wird die letzte Fehlermeldung ausgegeben.
- Gleichzeitig wird der Fehlerzustand gelöscht. Der Benutzer muß
- eine Taste drücken, um weiterzumachen. Alternativ kann die
- Hilfsinformation "FEHLER/" + text (errorcode) abgerufen wer­
- den.
-
-
diff --git a/doc/eudas/eudas.ref.11 b/doc/eudas/eudas.ref.11
deleted file mode 100644
index 48d36c3..0000000
--- a/doc/eudas/eudas.ref.11
+++ /dev/null
@@ -1,347 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (105)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-11 Programmierung von Anwendungen
-
-
-
-Zur Realisierung eigener EUDAS-Anwendungen mit Hilfe von ELAN-
-Programmen gibt es mehrere Möglichkeiten mit zunehmender Lei­
-stungsfähigkeit, aber auch steigender Komplexität und Fehleranfäl­
-ligkeit. In den folgenden Abschnitten werden die drei wesentlichen
-Methoden vorgestellt. Sie sollten erst dann eine kompliziertere
-Methode in Angriff nehmen, wenn Sie die einfachere beherrschen.
-
-
-11.1 Musterprogramme
-
-Die bevorzugte Methode zur Erstellung eigener Anwendungen unter
-EUDAS ist die Programmierung von Mustern. EUDAS läßt dies bei
-Druckmustern, Kopiermustern und Änderungsmustern zu.
- In diesem Fall steuert EUDAS den Ablauf des Programms im
-groben automatisch. Die jeweils unterschiedlichen Anweisungen, was
-im einzelnen zu tun ist, werden in ELAN programmiert. Aus dem
-Muster mit diesen zusätzlichen Anweisungen generiert EUDAS dann
-das Programm und führt es mit Hilfe des ELAN-Compilers aus.
-
-#on("b")#Vorteile#off("b")# Diese Methode hat den Vorteil, daß nur die
-minimal not­
-wendigen Anweisungen tatsächlich selbst programmiert werden
-müssen. Dafür reichen bereits geringe ELAN-Kenntnisse vollkommen
-aus. Ein Muster kann relativ schnell erstellt und getestet werden.
-Durch den einfachen Aufbau ist auch die Fehlerwahrscheinlichkeit
-beim Entwickeln geringer als bei anderen Methoden.
- Daneben lassen sich die Musterprogramme jeweils bequem im
-Menü durch Angabe des Namens oder durch Ankreuzen ausführen,
-also auch durch unbedarfte Benutzer.
-
-#on("b")#Nachteile#off("b")# Nachteil dieser Methode ist, daß jeweils beim
-Aufruf das
-Programm nochmal neu erzeugt und übersetzt werden muß, da die
-Übersetzung auch von der gerade geöffneten Datei abhängt. Dies
-stört besonders bei umfangreichen Druckmustern (auf langsamen
-Rechnern).
- Zum zweiten wird ein umfangreiches Druckmuster auch bald
-unübersichtlich, da Strukturierungshilfen für größere Programme
-fehlen. Der eigentliche Mustertext ist dann schwer von den zahlrei­
-chen Abkürzungen zu trennen.
- Als Abhilfe für diese beiden Nachteile bietet es sich an, um­
-fangreichere Abkürzungen bzw. Ausdrücke eingebettet in ein
-ELAN-Paket aus dem Muster herauszunehmen und vorher zu in­
-sertieren.
- Dadurch fällt zum einen die ständige Neuübersetzung dieser
-Ausdrücke weg, zum anderen ist das eigentliche Muster wieder
-überschaubar. Voraussetzung zur Anwendung eines solchen Musters
-ist dann jedoch, daß das zugehörige Paket in der jeweiligen Task
-bereits vorher übersetzt wurde.
- Die nachfolgenden Beispiele zeigen, wie dieses Verfahren in der
-Realität aussehen kann.
-
-#on("b")#Beispiel 1#off("b")# In der Schulverwaltung soll ein Kopier- oder
-Ände­
-rungsmuster erstellt werden, das die Versetzung am Schuljahresende
-realisiert. Angenommen wird eine Datei, die alle Schüler enthält.
-Schüler, die nicht versetzt werden, sind vorher im Feld 'Versetzung'
-mit einem beliebigen Text gekennzeichnet worden (zum Beispiel
-'Nachprüfung' o.ä.).
- Die Versetzung kann auf zweierlei Weise erfolgen: zum einen
-durch automatische Änderung, wenn die alte Version noch auf einer
-Archivdiskette aufgehoben wird, oder durch Kopieren in eine neue
-Datei.
- Bei beiden Mustern ist die einzige Änderung die Angabe der
-neuen Klasse. Daher bietet es sich an, eine Prozedur 'neue klasse'
-zu definieren, die als Ergebnis die neue Klasse eines Schülers lie­
-fert. Diese Prozedur kann dann im Änderungsmuster wie folgt ver­
-wendet werden:
-
-
- "Klasse" V neue klasse;
-
-
-Entsprechend läuft die Verwendung im Kopiermuster:
-
-
- "Name" K f ("Name");
- "Vorname" K f ("Vorname");
- "Klasse" K neue klasse;
- ...
-
-
-Die Prozedur 'neue klasse' muß dann in einem Paket definiert wer­
-den, das etwa folgendes Aussehen haben könnte (spezifische Ände­
-rungen natürlich möglich):
-
-
- PACKET klassenwechsel DEFINES neue klasse:
-
- TEXT PROC neue klasse :
-
- IF f ("Versetzung") = "" THEN
- klasse um 1 erhoeht
- ELSE
- alte klasse ohne zusatz
- END IF .
-
- klasse um 1 erhoeht :
- INT CONST alte klasse := int (f ("Klasse"));
- IF alte klasse < 9 THEN
- "0" + text (alte klasse + 1) + zusatz
- ELSE
- text (alte klasse + 1) + zusatz
- END IF .
-
- zusatz :
- f ("Klasse") SUB 3.
-
- alte klasse ohne zusatz :
- subtext (f ("Klasse"), 1, 2) .
-
- END PROC neue klasse;
-
- END PACKET klassenwechsel;
-
-
-Schüler, die versetzt werden, erhalten ihre neue Jahrgangsstufe mit
-dem alten Klassenzusatz zugeteilt. Dabei ist darauf zu achten, daß
-die Klassen 5 bis 9 eine '0' vorangestellt bekommen, damit die
-Sortierung funktioniert.
- Schüler, die nicht versetzt werden, behalten ihre alte Jahr­
-gangsstufe, allerdings ohne einen Klassenzusatz, der ihnen an­
-schließend manuell zugewiesen werden muß.
- Zur Benutzung muß das oben angegebene Paket in eine Text­
-datei geschrieben und mit dem Kommando 'insert' fest insertiert
-werden.
-
-#on("b")#Beispiel 2#off("b")# Aus einer Datei mit bibliographischen Einträgen
-sollen
-bestimmte Literaturhinweise gedruckt werden. Der Literaturhinweis
-soll jeweils als Endlostext umbrochen werden. Dafür müssen in einer
-Abkürzung alle Daten verkettet werden. Es sei das folgende ein­
-fache Druckmuster vorgegeben:
-
-
- % WIEDERHOLUNG
- % MODUS 3
- [&<krz>] &titel
-
- % ABKUERZUNGEN
- &krz : f ("Kurzbez") . (* z.B. "Lew84" *)
- &titel : titel lang .
-
-
-Die Prozedur 'titel lang' wird in folgendem Paket definiert:
-
-
- PACKET bibliographie DEFINES titel lang :
-
- TEXT VAR puffer; (* verringert Heap-Belastung *)
-
- TEXT PROC titel lang :
-
- puffer := f ("Name 1");
- puffer CAT ", ";
- puffer CAT f ("Vorname 1");
- ggf weitere namen;
- titel kursiv;
- enthalten in;
- erscheinungsort und jahr;
- puffer .
-
- ggf weitere namen:
- IF f ("Name 2") <> "" THEN
- puffer CAT "; ";
- puffer CAT f ("Name 2")
- END IF .
-
- titel kursiv :
- puffer CAT " \#on (""i"")\#";
- puffer CAT f ("Titel");
- puffer CAT "\#off (""i"")\#, " .
-
- enthalten in :
- IF f ("in") <> "" THEN
- puffer CAT " in: ";
- puffer CAT f ("in");
- puffer CAT ", "
- END IF .
-
- erscheinungsort und jahr :
- puffer CAT f ("Ort");
- puffer CAT ", ";
- puffer CAT f ("Jahr") .
-
- END PROC titel lang;
-
- END PACKET bibliographie;
-
-
-Die Puffervariable wird verwendet, um die bei Verwendung des
-Operators '+' entstehende Heapbelastung zu verringern. An diese
-Variable werden nacheinander alle notwendigen Daten mit den ent­
-sprechenden Trennzeichen angehängt.
- Im Druckmuster wird dieser lange Text dann im Modus 3 auf
-mehrere Zeilen umbrochen, wobei die Einrückung erhalten bleibt. Die
-Druckausgabe kann dann bei Bedarf noch mit 'lineform' bearbeitet
-werden, um einen noch besseren Umbruch zu erzielen.
-
-
-11.2 Dateianwendungen
-
-Die zweite Möglichkeit der Programmierung unter EUDAS besteht
-darin, ELAN-Programme zu schreiben, die EUDAS-Dateien mit Hilfe
-des in Kapitel 6 beschriebenen Datentyps EUDAT manipulieren. Die
-Programmierung gestaltet sich ähnlich wie mit FILEs.
-
-#on("b")#Vorteile#off("b")# Durch dieses Verfahren haben Sie volle Freiheit
-der Pro­
-grammierung. Da lediglich die Struktur der EUDAS-Dateien als
-Datenspeicher verwendet wird, sind sehr viele Anwendungen denk­
-bar.
- Außerdem können so beliebig viele Dateien gleichzeitig bear­
-beitet werden. Da die Programme nicht auf die virtuelle Datei zu­
-greifen, ist ein Konflikt mit dem aktuellen Zustand von EUDAS
-nahezu ausgeschlossen.
-
-#on("b")#Nachteile#off("b")# Der Nachteil dieses Verfahrens ist, daß viele
-Dinge
-selbst programmiert werden müssen, so zum Beispiel das Durchgehen
-einer Datei. Auch die Hilfsmittel der virtuellen Datei wie Such­
-muster, Koppeln und alle Anwendungen, die auf die virtuelle Datei
-zugreifen, stehen nicht zur Verfügung.
-
-#on("b")#Beispiel 1#off("b")# Die in Abschnitt 6.6 vorgestellte Anwendung als
-Asso­
-ziativspeicher kann als Beispiel für diese Methode dienen.
-
-#on("b")#Beispiel 2#off("b")# Eine EUDAS-Datei (zum Beispiel eine
-Schülerdatei) soll
-in mehrere Dateien aufgespalten werden (zum Beispiel klassen­
-weise). Dies kann durch das folgende Beispielprogramm bewirkt
-werden:
-
-
- LET
- klassenfeld = 3,
- quellname = "Schüler",
- zielname = "Jahrgang ";
- ROW 9 EUDAT VAR ziel;
- EUDAT VAR quelle;
- SATZ VAR feldnamen;
-
- quelle oeffnen;
- zieldateien einrichten;
- auf satz (quelle, 1);
- WHILE NOT dateiende (quelle) REP
- aktuellen satz kopieren;
- weiter (quelle)
- END REP .
-
- quelle oeffnen :
- oeffne (quelle, quellname);
- feldnamen lesen (quelle, feldnamen) .
-
- zieldateien einrichten :
- INT VAR i;
- FOR i FROM 1 UPTO 9 REP
- oeffne (ziel (i), zielname + text (i + 4));
- feldnamen aendern (ziel (i), feldnamen)
- END REP .
-
- aktuellen satz kopieren :
- SATZ VAR satz;
- satz lesen (quelle, satz);
- satz einfuegen (ziel (stufe), satz);
- weiter (ziel (stufe)) .
-
- stufe :
- TEXT VAR klasse;
- feld lesen (satz, klassenfeld, klasse);
- int (klasse) - 4 .
-
-
-
-11.3 Integrierte Anwendungen
-
-Die schwierigste Möglichkeit, Anwendungen unter EUDAS zu reali­
-sieren, ist ihre Integration. Ein solches Programm greift selbst auf
-die virtuelle Datei zu, nutzt die Funktionen von EUDAS so weit wie
-möglich und definiert vielleicht sogar ein eigenes Menü.
-
-#on("b")#Vorteile#off("b")# Auf diese Weise können natürlich alle
-Möglichkeiten
-ausgeschöpft werden. Sie können Programme erstellen, die als eine
-natürliche Erweiterung von EUDAS wirken oder EUDAS ganz erset­
-zen.
-
-#on("b")#Nachteile#off("b")# Eine solche Integration ist aber besonders
-schwierig,
-wenn EUDAS und die Erweiterung nebeneinander benutzt werden
-sollen. In diesem Fall hat EUDAS keine komplette Kontrolle der
-Interaktion, so daß leicht undefinierte Zustände möglich sind.
- Weniger Probleme treten auf, wenn sichergestellt ist, daß nur
-die Anwendung selbst verwendet wird. Auch in diesem Fall ist zu
-beachten, daß EUDAS nicht als Programmierumgebung für Anwen­
-dungssysteme konzipiert wurde und daher nicht immer leicht zu
-benutzen ist.
- Am einfachsten ist es noch, nur eigene Menüs für eine andere
-Anwendung zu verwenden, da die Menüprozeduren relativ unabhän­
-gig vom Rest sind.
-
-#on("b")#Richtlinien#off("b")# Bei Erweiterungen von EUDAS sind folgende
-Richtlinien zu beachten:
-
-1. Ein Programm, das selber Dateien für die virtuelle Datei öffnen
- will, sollte vorher prüfen, ob noch eine Datei geöffnet ist und in
- diesem Fall abbrechen. Beim Multi-User-Betrieb ist nämlich
- sonst nicht gewährleistet, daß alle Sperren wieder entfernt
- werden.
-
-2. Ein solches Programm sollte seine eigenen Dateien vor dem
- Wechsel zu EUDAS selbst wieder sichern und die Arbeitskopien
- löschen, damit der Ausgangszustand zu Beginn des Programms
- wiederhergestellt wird.
-
-3. Programme, die Menüs benutzen, sollten nicht unter EUDAS auf­
- gerufen werden, da sonst eine Beeinflussung der EUDAS-Menüs
- möglich ist.
-
-An dieser Stelle soll noch einmal von der Erstellung integrierter
-Anwendungen abgeraten werden, wenn es auch andere Möglichkeiten
-gibt, das gegebene Problem mit EUDAS zu lösen. Der hohe Aufwand
-dieser Methode rechtfertigt sich nur in wenigen Fällen.
- Experimentierfreudige Anwender werden sich durch diese War­
-nung sowieso nicht abhalten lassen. Ihnen sollte aber bewußt sein,
-daß ein solches Vorgehen auf eigene Gefahr stattfindet und kein
-Anspruch auf Beratung oder Fehlerbeseitigung in einem solchen Fall
-besteht.
-
diff --git a/doc/eudas/eudas.ref.2 b/doc/eudas/eudas.ref.2
deleted file mode 100644
index 2447897..0000000
--- a/doc/eudas/eudas.ref.2
+++ /dev/null
@@ -1,830 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (13)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-2 Zusammenstellung der Funktionen
-
-
-
-Im folgenden finden Sie eine Übersicht über alle Menüfunktionen. Zu
-jeder Funktion ist aufgeführt, welche Parameter angegeben werden
-müssen. Die Parameter werden als Text erfragt. Bei einigen Funk­
-tionen können alle möglichen Parameterwerte mit ESC 'z' (Zeigen)
-als Auswahl abgerufen werden. Bei manchen können in der Auswahl
-mehrere Werte angekreuzt werden, die dann nacheinander abgear­
-beitet werden. Welcher Fall zutrifft, ist jeweils aufgeführt.
-
-
-2.1 Menü 'Öffnen'
-
-
-#linefeed (0.5)#
-#on ("b")#O EUDAS-Datei Öffnen#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: EUDAS-Dateiname, mit Zeigen, eine Wahl
-
-Zweck: Stellt eine EUDAS-Datei als aktuelle Arbeitsdatei ein.
- Falls eine vorher geöffnete Datei verändert wurde,
- wird sie nach Anfrage gesichert. Falls die zu öffnende
- Datei noch nicht existiert, kann sie nach Anfrage
- eingerichtet werden. Dabei müssen dann die Feld­
- namen angegeben werden.
-
- Es wird gefragt, ob die Datei geändert werden soll. In
- diesem Fall wird eine Arbeitskopie hergestellt. Fast
- alle EUDAS-Funktionen beziehen sich nachher auf die
- so eingestellte Datei.
-
- Ist ein Mehrbenutzer-Manager eingestellt, kann auch
- eine Datei aus dieser Managertask als Parameter
- angegeben werden. Die Datei wird dann automatisch
- von dort kopiert und eine Sperre im Manager gesetzt,
- falls Änderungen vorgenommen werden sollen.
-
-Verweise: Abschnitt 3.2
- Benutzerhandbuch Abschnitt 5.1 und 9.1
-
-
-#linefeed (0.5)#
-#on("b")#E EUDAS-Datei Ketten#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: EUDAS-Dateiname, mit Zeigen, mehrfache Wahl
-
-Zweck: Falls bereits eine EUDAS-Datei geöffnet ist, kann eine
- weitere Datei gleicher Struktur logisch angekettet
- werden. Bei der Bearbeitung werden dann beide Datei­
- en wie eine zusammenhängende Datei behandelt.
-
- Die gekettete Datei kann ebenfalls verändert werden,
- wenn dies beim Öffnen der ersten Datei angegeben
- wurde. Die angegebene Datei kann auch aus einem
- Manager stammen.
-
-Verweise: Abschnitt 3.2
- Benutzerhandbuch Abschnitt 9.2
-
-
-#linefeed (0.5)#
-#on("b")#K EUDAS-Datei Koppeln#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: EUDAS-Dateiname, mit Zeigen, mehrfache Wahl
-
-Zweck: Falls bereits eine Datei geöffnet ist, kann eine andere
- EUDAS-Datei dazugekoppelt werden. Dazu muß min­
- destens das erste Feld der zu koppelnden Datei in der
- bereits geöffneten Datei vorkommen.
-
- Nach dem Koppeln erscheinen beide Dateien wie eine
- Datei. Zu jedem Satz der ersten Datei erscheinen je­
- weils alle Sätze der Koppeldatei, die in dem Koppelfeld
- übereinstimmen.
-
- Die gekoppelte Datei kann ebenfalls verändert werden,
- wenn dies beim Öffnen der ersten Datei angegeben
- wurde. Die angegebene Datei kann auch aus einem
- Manager stammen.
-
-Verweise: Abschnitt 3.3
- Benutzerhandbuch Abschnitt 9.3 und 9.4
-
-
-#linefeed (0.5)#
-#on("b")#S Arbeitskopie Sichern#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Wurde eine EUDAS-Datei geöffnet und verändert, muß
- zum Schluß die veränderte Arbeitskopie wieder ge­
- sichert werden. Die Arbeitskopie kann entweder ge­
- löscht werden, die alte Version ersetzen oder unter
- einem neuen Namen registriert werden.
-
- Für jede veränderte Datei wird zunächst erfragt, ob
- die alte Version überschrieben werden soll. Dies ist
- der Normalfall. Bei Verneinung dieser Frage muß ein
- neuer Name für die Arbeitskopie angegeben werden.
-
- Zum Schluß wird erfragt, ob alle Arbeitskopien ge­
- löscht werden sollen (Normalfall: ja). Anderenfalls
- bleiben die Dateien weiter geöffnet.
-
-Verweise: Abschnitt 3.5
- Benutzerhandbuch Abschnitt 6.4
-
-
-#linefeed (0.5)#
-#on("b")#N Notizen ansehen/ändern#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Zu jeder EUDAS-Datei kann als Notiz ein beliebiger
- Text gespeichert werden. Dieser Text der aktuellen
- Datei wird mit dieser Funktion im Editor angezeigt
- und kann verändert werden, wenn eine Arbeitskopie
- angelegt wurde. Anderenfalls werden etwaige Verän­
- derungen einfach ignoriert.
-
-Verweise: Abschnitt 3.1
-
-
-#linefeed (0.5)#
-#on("b")#F Feldstruktur ändern#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Mit dieser Funktion können neue Felder an die aktu­
- elle Datei angefügt werden. Außerdem lassen sich
- Feldnamen und Feldtypen ändern. Die Feldtypen be­
- stimmen die Behandlung eines Feldes beim Suchen oder
- Sortieren (z.B. von Zahlen).
-
- Zunächst wird erfragt, ob neue Feldnamen angefügt
- werden sollen. Diese können dann im Editor eingege­
- ben werden. Danach wird gefragt, ob Feldnamen oder
- Feldtypen geändert werden sollen (neu angefügte
- Felder erhalten erst einmal den Typ TEXT). Falls die
- Frage bejaht wird, können in einer Auswahl die zu
- ändernden Felder angekreuzt werden. Für jedes ange­
- kreuzte Feld werden dann der Name und der Typ zum
- Überschreiben angeboten.
-
-Verweise: Abschnitt 3.1
- Benutzerhandbuch Abschnitt 11.1
-
-
-#linefeed (0.5)#
-#on("b")#P Prüfbedingungen ansehen/ändern#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Beim Tragen in eine EUDAS-Datei können Bedingungen
- für die zu tragenden Sätze überprüft werden. Diese
- Bedingungen für die aktuelle Datei können mit dieser
- Funktion angezeigt und, falls erlaubt, auch geändert
- werden.
-
-Verweise: Abschnitt 3.1 und 4.4
- Benutzerhandbuch Abschnitt 11.3
-
-
-#linefeed (0.5)#
-#on("b")#M Mehrbenutzer Manager einstellen#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Managertaskname, kein Zeigen
-
-Zweck: EUDAS kann beim Öffnen eine Datei von einer anderen
- Task des Systems kopieren. Dadurch können mehrere
- Benutzer kontrolliert auf die gleiche Datei zugreifen.
- Wenn diese Möglichkeit verwendet werden soll, muß
- mit dieser Funktion zunächst die in Frage kommende
- Managertask angegeben werden.
-
-Verweise: Abschnitt 3.7
- Benutzerhandbuch Abschnitt 9.6
-
-
-2.2 Menü 'Einzelsatz'
-
-
-#linefeed (0.5)#
-#on("b")#W Weiter#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Geht einen Satz weiter in der aktuellen Datei - falls
- eine Suchbedingung eingestellt ist, weiter zum näch­
- sten ausgewählten Satz.
-
-Verweise: Abschnitt 4.2
- Benutzerhandbuch Abschnitt 5.2
-
-
-#linefeed (0.5)#
-#on("b")#Z Zurück#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Geht einen Satz zurück in der aktuellen Datei - falls
- eine Suchbedingung eingestellt ist, zurück zum vori­
- gen ausgewählten Satz.
-
-Verweise: Abschnitt 4.2
- Benutzerhandbuch Abschnitt 5.2
-
-
-#linefeed (0.5)#
-#on("b")#N Auf Satz Nr. ..#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Positioniert auf einen bestimmten Satz der aktuellen
- Datei, dessen Satznummer eingegeben werden muß, und
- zwar unabhängig, ob der Satz durch die Suchbedingung
- ausgewählt wird oder nicht. Trifft die eingestellte
- Suchbedingung nicht auf den Satz zu, erscheint
- 'SUCH-' in der Überschrift. Existiert die eingegebene
- Satznummer nicht, positioniert EUDAS hinter den
- letzten Satz der Datei.
-
-Verweise: Benutzerhandbuch Abschnitt 5.2
-
-
-#linefeed (0.5)#
-#on("b")#S Suchbedingung Setzen#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Es kann eine neue Suchbedingung für die aktuelle
- Datei eingegeben werden, bzw. eine vorher eingestellte
- Suchbedingung wird zum Ändern angeboten. Die Such­
- bedingung wird in Form eines Suchmusters in das
- Satzformular geschrieben.
-
- Die eingestellte Suchbedingung wird beim Positionieren
- und bei allen Bearbeitungsfunktionen beachtet.
-
-Verweise: Abschnitt 4.2
- Benutzerhandbuch Abschnitt 5.3, 5.4 und 10.3
-
-
-#linefeed (0.5)#
-#on("b")#L Suchbedingung Löschen#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Die eingestellte Suchbedingung wird wieder gelöscht.
-
-Verweise: Abschnitt 4.2
- Benutzerhandbuch Abschnitt 5.3
-
-
-#linefeed (0.5)#
-#on ("b")#M Markierung umkehren#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Mit dieser Funktion können einzelne Sätze zur späte­
- ren Bearbeitung markiert werden. Falls der aktuelle
- Satz bereits markiert ist, wird die Markierung wieder
- entfernt, ansonsten wird er markiert.
-
- Wenn mindestens ein Satz markiert ist, beachten die
- Bearbeitungsfunktionen nur die markierten Sätze. So
- kann eine manuelle Auswahl durchgeführt werden. Die
- Markierung bleibt nur bis zum Sichern bestehen. Sie
- ist keine permanente Eigenschaft einer EUDAS-Datei.
-
-Verweise: Abschnitt 4.2
- Benutzerhandbuch Abschnitt 10.4
-
-
-#linefeed (0.5)#
-#on ("b")#E Datensatz Einfügen#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Mit dieser Funktion wird vor dem aktuellen Satz ein
- leerer Satz eingefügt, für den anschließend die Feld­
- inhalte im Satzformular eingetragen werden können.
-
-Verweise: Abschnitt 3.4
- Benutzerhandbuch Abschnitt 6.2 und 10.2
-
-
-#linefeed (0.5)#
-#on ("b")#A Datensatz Ändern#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Die Inhalte des aktuellen Satzes werden im Satzformu­
- lar zum Ändern angeboten.
-
-Verweise: Abschnitt 3.4
- Benutzerhandbuch Abschnitt 6.3 und 10.2
-
-
-#linefeed (0.5)#
-#on ("b")#T Datensatz Tragen#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: EUDAS-Dateiname, mit Zeigen, eine Wahl
-
-Zweck: Mit dieser Funktion kann der aktuelle Satz in eine
- anderen EUDAS-Datei gleicher Struktur transportiert
- werden. In der Zieldatei wird er am Ende angefügt.
-
-Verweise: Abschnitt 4.4
- Benutzerhandbuch Abschnitt 6.3
-
-
-#linefeed (0.5)#
-#on ("b")#H Datensatz Holen#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: EUDAS-Dateiname, mit Zeigen, eine Wahl
-
-Zweck: Mit dieser Funktion kann der letzte Satz einer ande­
- ren Datei vor dem aktuellen Satz eingefügt werden,
- sofern die Struktur gleich ist. Damit kann ein vorher­
- gegangenes Tragen rückgängig gemacht werden.
-
-Verweise: Abschnitt 4.4
- Benutzerhandbuch Abschnitt 6.3
-
-
-#linefeed (0.5)#
-#on ("b")#F Feldauswahl#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Die Felder der aktuellen Datei werden in einer Aus­
- wahl angeboten. Am Bildschirm werden danach nur die
- ausgewählten Felder in der gewählten Reihenfolge
- dargestellt. Die Auswahl hat jedoch nur Auswirkung
- auf die Darstellung am Bildschirm, anderen Funktionen
- stehen nach wie vor alle Felder zur Verfügung. Die
- Auswahl gilt bis zum Sichern, sie wird also nicht mit
- der Datei abgespeichert.
-
-Verweise: Abschnitt 4.1
- Benutzerhandbuch Abschnitt 10.1
-
-
-2.3 Menü 'Gesamtdatei'
-
-
-#linefeed (0.5)#
-#on ("b")#K Satzauswahl Kopieren#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: EUDAS-Dateiname, mit Zeigen, eine Wahl
- Name Kopiermuster, ohne Zeigen
-
-Zweck: Mit dieser Funktion werden die ausgewählten bzw.
- markierten Sätze der aktuellen Datei in eine andere
- Datei kopiert. Welche Felder kopiert werden sollen und
- in welcher Reihenfolge, wird durch ein Kopiermuster
- festgelegt. Dieses Kopiermuster kann benannt werden
- oder unbenannt nur für ein Mal erstellt werden. Wird
- das Kopiermuster neu erstellt, wird ein Standard-
- Kopiermuster zum Ändern angeboten.
-
-Verweise: Abschnitt 4.4
- Benutzerhandbuch Abschnitt 11.2
-
-
-#linefeed (0.5)#
-#on ("b")#T Satzauswahl Tragen#off("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: EUDAS-Dateiname, mit Zeigen, eine Wahl
-
-Zweck: Transportieren der ausgewählten bzw. markierten
- Sätze in eine andere Datei gleicher Struktur. Die Sätze
- werden in der Zieldatei am Ende eingefügt.
-
-Verweise: Abschnitt 4.4
- Benutzerhandbuch Abschnitt 11.3
-
-
-#linefeed (0.5)#
-#on ("b")#V Satzauswahl Verändern#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Name Änderungsmuster, mit Zeigen, mehrfache Wahl
-
-Zweck: Bearbeiten der ausgewählten bzw. markierten Sätze
- der aktuellen Datei nach Vorgabe einer Änderungs­
- vorschrift.
-
-Verweise: Abschnitt 4.4
- Benutzerhandbuch Abschnitt 11.4
-
-
-#linefeed (0.5)#
-#on ("b")#U Übersicht Satzauswahl#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Anzeige aller ausgewählten Sätze in einem Über­
- sichtsformat mit einem Satz pro Bildschirmzeile. Die
- Felder, die in der Übersicht angezeigt werden sollen,
- können vorher ausgewählt werden. In der Übersicht ist
- Blättern und Markieren von Sätzen möglich.
-
-Verweise: Abschnitt 4.1
- Benutzerhandbuch Abschnitt 10.5
-
-
-#linefeed (0.5)#
-#on ("b")#S Aktuelle Datei Sortieren#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Sortieren der aktuellen Datei in beliebiger Reihenfolge
- auf- oder absteigend. Zum Sortieren muß eine Ar­
- beitskopie angelegt sein. Die Feldreihenfolge, in der
- sortiert werden soll, wird vorher erfragt.
-
-Verweise: Abschnitt 4.3
- Benutzerhandbuch Abschnitt 11.1
-
-
-#linefeed (0.5)#
-#on ("b")#L Alle Markierungen Löschen#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Löschen aller Markierungen der aktuellen Datei.
-
-Verweise: Abschnitt 4.2
- Benutzerhandbuch Abschnitt 10.4
-
-
-2.4 Menü 'Drucken'
-
-
-#linefeed (0.5)#
-#on ("b")#D Satzauswahl Drucken#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Name Druckmuster, mit Zeigen, mehrfache Wahl
-
-Zweck: Ausdruck des Inhalts der ausgewählten oder markier­
- ten Sätze in druckbarer Form nach Vorgabe eines
- Druckmusters. Die Ausgabe kann automatisch zum
- Drucker geschickt werden oder erst in einer Datei
- zwischengespeichert werden.
-
-Verweise: Kapitel 5
- Benutzerhandbuch Abschnitt 7.1 und 7.2
-
-
-#linefeed (0.5)#
-#on ("b")#R Richtung Druckausgabe#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Mit dieser Funktion kann festgelegt werden, ob die
- Druckausgabe automatisch zum Drucker geschickt wird,
- in eine bestimmte Datei oder in eine automatisch
- eingerichtete Datei geschrieben wird.
-
- Die Angabe einer bestimmten Datei gilt nur für den
- nächsten Druckvorgang. Sie muß also gegebenenfalls
- wieder neu eingestellt werden.
-
-Verweise: Abschnitt 5.2
- Benutzerhandbuch Abschnitt 7.2 und 12.1
-
-
-#linefeed (0.5)#
-#on ("b")#E Textdatei Editieren#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Name Textdatei, mit Zeigen, mehrfache Wahl
-
-Zweck: Aufruf des EUMEL-Editors zum Erstellen und Ändern
- von Druckmustern und Änderungsmustern sowie zum
- Ansehen der Druckausgabe.
-
-Verweise: Benutzerhandbuch Abschnitt 7.2
-
-
-#linefeed (0.5)#
-#on ("b")#A Textdatei Ausdrucken#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Name Textdatei, mit Zeigen, mehrfache Wahl
-
-Zweck: Mit dieser Funktion kann eine Textdatei oder die
- zwischengespeicherte Ausgabe des Druckens einer
- EUDAS-Datei zum Drucker geschickt werden.
-
-Verweise: Benutzerhandbuch Abschnitt 7.2
-
-
-#linefeed (0.5)#
-#on ("b")#N Textdatei Nachbearbeiten#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Name Textdatei, mit Zeigen, mehrfache Wahl
-
-Zweck: Mit dieser Funktion kann die zwischengespeicherte
- Ausgabe des Druckens einer EUDAS-Datei mit den
- Textkosmetikprogrammen 'lineform' und 'pageform'
- bearbeitet werden.
-
-Verweise: Benutzerhandbuch Abschnitt 12.1
-
-
-2.5 Menü 'Dateien'
-
-
-#linefeed (0.5)#
-#on ("b")#U Übersicht Dateien System#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Übersicht über die Dateien im System in der aktuellen
- Benutzertask.
-
-Verweise: Benutzerhandbuch Abschnitt 16.1
-
-
-#linefeed (0.5)#
-#on ("b")#L Datei Löschen#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Dateiname, mit Zeigen, mehrfache Wahl
-
-Zweck: Löschen einer beliebigen Datei in der aktuellen Be­
- nutzertask nach Anfrage.
-
-Verweise: Benutzerhandbuch Abschnitt 16.1
-
-
-#linefeed (0.5)#
-#on ("b")#N Datei Umbenennen#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Dateiname, mit Zeigen, mehrfache Wahl
- Neuer Name, ohne Zeigen
-
-Zweck: Umbenennen einer beliebigen Datei in der aktuellen
- Benutzertask.
-
-Verweise: Benutzerhandbuch Abschnitt 16.1
-
-
-#linefeed (0.5)#
-#on ("b")#K Datei Kopieren#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Dateiname, mit Zeigen, mehrfache Wahl
- Zieldateiname, ohne Zeigen
-
-Zweck: Anfertigen einer logischen Kopie einer beliebigen
- Datei in der aktuellen Benutzertask.
-
-Verweise: Benutzerhandbuch Abschnitt 16.1
-
-
-#linefeed (0.5)#
-#on ("b")#P Platzbedarf einer Datei#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Dateiname, mit Zeigen, mehrfache Wahl
-
-Zweck: Zeigt den belegten Speicherplatz einer beliebigen
- Datei in der aktuellen Benutzertask.
-
-Verweise: Benutzerhandbuch Abschnitt 16.1
-
-
-#linefeed (0.5)#
-#on ("b")#A Datei Aufräumen#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Dateiname, mit Zeigen, mehrfache Wahl
-
-Zweck: Reorganisieren einer Textdatei oder einer EUDAS-
- Datei, um Platz zu sparen oder den Zugriff zu be­
- schleunigen. Empfiehlt sich bei stark veränderten
- oder umsortierten Dateien.
-
-Verweise: Benutzerhandbuch Abschnitt 16.1
-
-
-2.6 Menü 'Archiv'
-
-
-#linefeed (0.5)#
-#on ("b")#U Übersicht Dateien Archiv#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Übersicht aller Dateien auf der eingelegten Archivdis­
- kette.
-
-Verweise: Benutzerhandbuch Abschnitt 16.2
-
-
-#linefeed (0.5)#
-#on ("b")#D Archivübersicht Drucken#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Die Archivübersicht wird direkt zum Drucker ge­
- schickt.
-
-Verweise: Benutzerhandbuch Abschnitt 16.2
-
-
-#linefeed (0.5)#
-#on ("b")#K Datei Kopieren vom Archiv#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Dateiname, mit Zeigen, mehrfache Wahl
-
-Zweck: Eine Datei auf der Archivdiskette wird in die aktuelle
- Benutzertask kopiert.
-
-Verweise: Benutzerhandbuch Abschnitt 16.2
-
-
-#linefeed (0.5)#
-#on ("b")#S Datei Schreiben auf Archiv#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Archivname
- Dateiname, mit Zeigen, mehrfache Wahl
-
-Zweck: Eine Datei aus der aktuellen Benutzertask wird auf
- die eingelegte Archivdiskette geschrieben.
-
-Verweise: Benutzerhandbuch Abschnitt 16.2
-
-
-#linefeed (0.5)#
-#on ("b")#L Datei Löschen auf Archiv#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Archivname
- Dateiname, mit Zeigen, mehrfache Wahl
-
-Zweck: Löschen einer Datei auf der eingelegten Archivdisket­
- te. Der Platz kann jedoch nicht immer wiederverwendet
- werden.
-
-Verweis: Benutzerhandbuch Abschnitt 16.2
-
-
-#linefeed (0.5)#
-#on ("b")#I Archivdiskette Initialisieren#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: keine
-
-Zweck: Mit dieser Funktion kann eine Archivdiskette komplett
- gelöscht werden. Die Diskette kann dabei auch gleich­
- zeitig formatiert werden, falls der Rechner dies zu­
- läßt. Das Initialisieren ist notwendig, bevor eine neue
- Diskette als Archiv verwendet werden kann.
-
-Verweise: Benutzerhandbuch Abschnitt 16.2
-
-
-#linefeed (0.5)#
-#on ("b")#Z Zielarchiv einstellen#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Managertaskname, ohne Zeigen
-
-Zweck: Mit dieser Funktion kann eine Managertask angegeben
- werden, die als Ziel der Archivoperationen dient.
- Damit können Dateien auch in beliebigen Managertasks
- oder über das EUMEL-Netz gesichert werden.
-
- Es wird erfragt, ob die angegebene Task ein Archiv­
- manager oder ein gewöhnlicher Dateimanager ist.
-
-Verweise: Benutzerhandbuch Abschnitt 16.2
-
-
-#linefeed (0.5)#
-#on ("b")#P Paßwort einstellen#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Paßwort
-
-Zweck: Mit dieser Funktion kann ein Paßwort eingestellt
- werden, das bei der Kommunikation mit allgemeinen
- Managertasks überprüft wird.
-
-Verweise: Benutzerhandbuch Abschnitt 16.2
-
-
-#linefeed (0.5)#
-#on ("b")#R Archivmanager Reservieren#off ("b")#
-#linefeed (1.07)#
-_____________________________________________________
-
-Parameter: Reservierungstext
-
-Zweck: Falls als Zielarchiv eine Managertask eingestellt ist,
- die zwar kein Archivmanager ist, aber reserviert
- werden muß (z.B. 'DOS'), kann die Reservierung mit
- dieser Funktion ausgeführt werden. Die Freigabe
- erfolgt automatisch beim Verlassen des Menüs.
-
-Verweise: Benutzerhandbuch Abschnitt 16.2
-
-
-
-2.7 Kurzabfrage
-
-Wird 'eudas' innerhalb des EUMEL-Editors aufgerufen, so wird eine
-spezielle Kurzabfrage gestartet. Diese ermöglicht die Übernahme von
-Druckdaten direkt in die editierte Datei.
- Zunächst wird der Dateiname der zu verwendenden EUDAS-
-Datei erfragt. Diese Datei wird dann geöffnet. Vorher geöffnete und
-veränderte Dateien werden nach Anfrage gesichert.
- Als nächstes kann für die folgende Übersicht eine Feldauswahl
-eingestellt werden, damit die relevanten Felder auch auf dem Bild­
-schirm erscheinen.
- Danach beginnt ein wiederholbarer Prozeß mit der Eingabe
-eines Suchmusters nach Anfrage. Die ausgewählten Sätze werden
-dann in einer Übersicht gezeigt. In der Übersicht können auch Sätze
-markiert werden.
- Nach Verlassen der Übersicht bestehen drei Möglichkeiten zum
-Drucken: Falls mindestens ein Satz markiert wurde, können nach
-Anfrage alle markierten Sätze gedruckt werden. Wurde kein Satz
-markiert, können nach Anfrage alle ausgewählten (bzw. vorher
-angezeigten) Sätze gedruckt werden. Wird diese Frage jeweils ver­
-neint, kann nach Anfrage auch der aktuelle Satz als einziger ge­
-druckt werden.
- Wurde eine der Fragen bejaht, wird der Name des Druckmusters
-erfragt, das bereits existieren muß. Das Ergebnis der Druckausgabe
-wird dann an der aktuellen Cursorposition in der editierten Datei
-eingefügt.
- Der Prozeß kann danach mit einem anderen Suchmuster wieder­
-holt werden. Dabei werden alle Markierungen wieder gelöscht.
-
diff --git a/doc/eudas/eudas.ref.3 b/doc/eudas/eudas.ref.3
deleted file mode 100644
index 9b58b9b..0000000
--- a/doc/eudas/eudas.ref.3
+++ /dev/null
@@ -1,270 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (31)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-3 Das virtuelle Dateimodell
-
-
-
-3.1 Dateistruktur
-
-Eine EUDAS-Datei hat folgende Bestandteile:
-
-- 0 bis 5000 #on("i")#Sätze#off("i")#, von 1 an durchnumeriert. Jeder Satz enthält für
- jedes Feld einen variabel langen Text als Inhalt, der standard­
- mäßig leer ist.
-
-- 1 bis 256 #on("i")#Felder#off("i")#, die die Sätze aufteilen. Jedes Feld besitzt einen
- #on("i")#Feldnamen#off("i")# als Text und einen von vier #on("i")#Feldtypen#off("i")# (TEXT, ZAHL,
- DATUM oder DIN). Der Feldname dient zur Identifizierung des
- Feldes, der Feldtyp spezifiziert die Art der Behandlung beim Ver­
- gleichen von Feldern.
-
-- Drei Zusatztexte. Der erste nimmt die #on("i")#Prüfbedingungen#off("i")# auf, der
- zweite speichert das Datum der letzten Veränderung und der
- dritte kann allgemeine #on("i")#Notizen#off("i")# aufnehmen.
-
-- Einen #on("i")#Satzzeiger#off("i")#, der einen bestimmten Satz als aktuellen Satz
- auszeichnet. Der Satzzeiger kann durch Positionierungsoperatio­
- nen verändert werden.
-
-- Eine #on("i")#Sortierreihenfolge#off("i")#, die angibt, in welcher Feldreihenfolge die
- Datei zuletzt sortiert worden ist. Dazu für jeden Satz eine Anga­
- be, ob er entsprechend dieser Reihenfolge an der richtigen Posi­
- tion steht.
-
-- Eine interne Datenstruktur, die beschleunigten Zugriff auf eine
- Satz nach dem Inhalt des ersten Feldes ermöglicht. Diese Struktur
- steht ganz unter Kontrolle von EUDAS und kann nicht von außen
- manipuliert werden.
-
-
-3.2 Öffnen
-
-#on("b")#Virtuelle Datei#off("b")# Die meisten EUDAS-Funktionen arbeiten
-nicht
-direkt auf einer EUDAS-Datei, sondern auf der sogenannten #on("i")#vir­
-tuellen Datei#off("i")#, die aus mehreren realen Dateien bestehen kann. Die
-virtuelle Datei erscheint nach außen hin wie eine einzelne
-EUDAS-Datei. Die Operationen auf der virtuellen Datei werden je­
-weils auf die einzelnen Bestandteile abgebildet.
- Damit eine EUDAS-Datei Bestandteil der virtuellen Datei wird,
-muß sie geöffnet werden. Dieses Öffnen kann auf dreierlei Art und
-Weise geschehen.
- Das Öffnen der ersten Datei stellt eine neue virtuelle Datei
-her. Die Feldnamen und Feldeigenschaften der ersten Datei werden
-in der virtuellen Datei übernommen. Dies ist der Normalfall, in dem
-sich die virtuelle Datei noch nicht von der zugrundeliegenden Datei
-unterscheidet.
- Bei diesem ersten Öffnen muß angegeben werden, ob die vir­
-tuelle Datei verändert werden soll oder nicht. Falls die virtuelle
-Datei verändert werden soll, wird eine Arbeitskopie aller geöffneten
-Dateien angelegt. Die Ursprungsdateien können erst am Ende der
-Arbeit mit den geänderten Kopien überschrieben werden.
-
-#on("b")#Weitere Dateien#off("b")# Weitere Dateien können gekettet oder
-gekoppelt
-werden. Gekettete Dateien werden logisch an die zuerst geöffnete
-Datei angehängt. Ihre Dateistruktur wird ignoriert, sollte aber mit
-der ersten Datei übereinstimmen. Die Folge aneinander geketteter
-EUDAS-Dateien wird als #on("i")#Hauptdatei#off("i")# bezeichnet.
- In der Hauptdatei werden die Sätze von 1 an durchnumeriert;
-die Aufeinanderfolge der Sätze wird durch die Anordnung der Sätze
-in den einzelnen Dateien und die Reihenfolge bestimmt, in der die
-Dateien gekettet wurden.
- Die gekoppelten Dateien werden der Hauptdatei untergeordnet.
-Die in ihnen enthaltenen Informationen werden nur angezeigt, wenn
-sie mit einem Satzinhalt der Hauptdatei korrespondieren. Der
-Mechanismus dieser Satzkopplung wird im nächsten Abschnitt
-beschrieben.
-
-
-#free (8.0)#
-
-#center#Abb. 3-1 Schematischer Aufbau der virtuellen Datei
-
-
-
-3.3 Koppeln
-
- Die Sätze der gekoppelten Dateien werden in Relation zu den
-Sätzen in der Hauptdatei gesetzt. Zu jedem Satz in der Hauptdatei
-kann eine Anzahl von Sätzen aus jeder Koppeldatei gehören. Diese
-Sätze müssen in den Inhalten der sogenannten #on("i")#Koppelfelder#off("i")# über­
-einstimmen.
- Welche Felder Koppelfelder sind, richtet sich nach den Feld­
-namen. Die ersten Felder der Koppeldatei, die auch in der Haupt­
-datei vorhanden sind, werden als Koppelfelder betrachtet. Die Kop­
-pelfelder müssen also bei der Koppeldatei am Anfang stehen - in
-der Hauptdatei kann jedes beliebige Feld ein Koppelfeld sein.
- Wenn eine Datei zur virtuellen Datei gekoppelt wird, werden
-alle Felder, die nicht Koppelfelder sind, in die virtuelle Datei auf­
-genommen. Die Koppelfelder brauchen nicht noch mal wiederholt zu
-werden, da ihr Inhalt ja immer identisch ist.
- Zu beachten ist, daß bei diesem Verfahren auch Namenskonflik­
-te entstehen können, wenn nach den Koppelfeldern später wieder
-ein Feldname vorkommt, der auch in der Hauptdatei vorhanden ist.
-In den Fällen, in denen Felder durch ihren Namen angesprochen
-werden, ist dann das zweite Feld gleichen Namens nicht verfügbar.
-
-
-#free (7.0)#
-
-#center#Abb. 3-2 Schema des Koppelvorgangs
-
-
-#on("b")#Kombinationen#off("b")# Beim Vorwärtsgehen in der virtuellen Datei
-werden
-zu jedem Satz der Hauptdatei nacheinander alle möglichen Kombina­
-tionen der zugehörigen Koppelsätze angezeigt, denn es können
-mehrere passende Koppelsätze vorhanden sein. Die Satznummer
-bleibt dabei gleich; die einzelnen Kombinationen werden von 1 an
-durchgezählt. Beim Rückwärtsgehen wird aus technischen Gründen
-immer nur die erste Kombination angezeigt.
- Existiert zu einem Satz kein passender Koppelsatz, so bleiben
-die entsprechenden Felder leer. Die Koppelsätze müssen in der
-ganzen Koppeldatei gesucht werden, daher ist bei großen Koppel­
-dateien die Suchzeit zu berücksichtigen.
-
-
-3.4 Änderungen
-
-In der virtuellen Datei kann auch geändert werden. Dabei ist jedoch
-Vorsicht angebracht. Es muß festgelegt sein, wie Änderungen der
-einzelnen Felder auf die beteiligten Dateien abgebildet werden.
- Falls die virtuelle Datei keine Koppeldateien enthält, werden
-Änderungen am aktuellen Satz an der zugehörigen Datei durchge­
-führt. Das Löschen eines Satzes wird auch direkt in der Datei
-durchgeführt. Ein neuer Satz wird immer in der Datei eingefügt, zu
-der der aktuelle Satz gehört - am Ende der ersten Datei kann also
-kein Satz eingefügt werden, wenn noch weitere Dateien folgen.
- Enthält die virtuelle Datei Koppeldateien, werden die Änderun­
-gen in der Hauptdatei wie oben beschrieben durchgeführt. Änderun­
-gen, die Felder in den Koppeldateien betreffen, werden nach folgen­
-der Entscheidungstabelle behandelt:
-
- 1 2 3 4 5
- ---------------
- Koppelfelder verändert N J J N N
- Übrige Felder verändert N - - J J
- Übrige Felder leer - J N - N
- Vorher Koppelsatz vorhanden - - - J N
- ---------------
- Neuen Satz einfügen x x
- Koppelsatz ändern x
- Kopplung aktualisieren x
-
-Fall 1: Es wurden keine Veränderungen an den Feldern des Kop­
- pelsatzes vorgenommen, daher ist auch keine Aktion not­
- wendig.
-
-Fall 2: Eines der Koppelfelder wurde verändert. Die Änderung wird
- in der Hauptdatei durchgeführt. Die übrigen Felder des
- Koppelsatzes sind jedoch als leer angegeben. In diesem Fall
- wird der Koppelsatz nicht verändert, sondern nur eine
- neue Korrespondenz gesucht.
-
-Fall 3: Eines der Koppelfelder wurde verändert, gleichzeitig ent­
- halten aber auch die anderen Felder Informationen. In
- diesem Fall wird ein neuer Satz in der Koppeldatei ange­
- fügt, der die neuen Inhalte enthält. So wird vermieden,
- daß an anderer Stelle plötzlich kein passender Koppelsatz
- mehr vorhanden ist.
-
-Fall 4: Nur Felder der Koppeldatei, die nicht Koppelfelder sind,
- wurden verändert, außerdem existierte ein korrespondie­
- render Satz in der Koppeldatei. In diesem Fall werden die
- Informationen im Koppelsatz abgeändert.
-
-Fall 5: Wie 4, nur war vorher noch kein Koppelsatz vorhanden
- (Felder waren leer). In diesem Fall muß ein neuer Satz in
- die Koppeldatei eingefügt werden. Einfügungen in die
- Koppeldatei geschehen immer am Dateiende.
-
-#on("b")#Einfügen/Löschen#off("b")# Beim Löschen eines Satzes der virtuellen
-Datei
-durch Tragen bleiben die Koppeldateien unverändert. Nach dem
-Einfügen eines neuen Satzes wird nur dann ein Satz in einer Kop­
-peldatei eingefügt, wenn dieser Satz nicht nur Koppelfelder enthal­
-ten würde. Falls beim Einfügen nur die Koppelfelder angegeben
-werden, wird ein korrespondierender Satz in der Koppeldatei ge­
-sucht. Vergleichen Sie hierzu die Regeln beim Ändern.
-
-
-3.5 Sichern
-
-Falls Änderungen der virtuellen Datei erlaubt sind, arbeitet EUDAS
-immer auf Sicherheitskopien der beteiligten Dateien. Eine Datei, die
-wirklich verändert wurde, muß vor dem Aufbau einer neuen virtuel­
-len Datei gesichert oder explizit gelöscht werden.
- Für jede einzelne Datei kann festgelegt werden, ob sie gesi­
-chert werden soll oder nicht. Als Hilfe wird dazu für jede Datei
-angegeben, ob sie tatsächlich verändert wurde oder nicht. Die
-Arbeitskopie kann beim Sichern die alte Version überschreiben oder
-unter einem neuen Namen gesichert werden.
- Am Ende des Sicherns können die Arbeitskopien gelöscht wer­
-den. Anderenfalls werden die Dateien so betrachtet, als ob sie di­
-rekt nach dem Sichern wieder geöffnet worden wären und stehen
-weiterhin zur Verfügung.
- Falls alle Dateien entweder gesichert oder nicht verändert
-sind, werden beim nächsten Öffnen einer neuen virtuellen Datei die
-vorherigen Arbeitskopien gelöscht.
-
-
-3.6 Umschalten auf Koppeldatei
-
-Falls eine Datei gekoppelt ist, kann man die virtuelle Datei auf
-diese Koppeldatei umschalten. Dadurch verhält sich die virtuelle
-Datei so, als ob nur diese Koppeldatei geöffnet wäre. Die Einstel­
-lungen der Hauptdatei wie Markierungen und Suchbedingung bleiben
-jedoch erhalten und stehen beim Zurückschalten wieder zur Verfü­
-gung.
- Die Satzposition der Koppeldatei beim letzten Umschalten wird
-ebenfalls gespeichert und wird beim nächsten Umschalten wieder
-eingenommen, unabhängig von der tatsächlichen Satzposition der
-Koppeldatei zu diesem Zeitpunkt.
- Für die Koppeldatei können eigene Markierungen vergeben
-werden, die auch nach dem Umschalten gespeichert bleiben. Auch
-ein Suchmuster kann für die Koppeldatei eingestellt werden, dies
-geht jedoch beim Zurückschalten wieder verloren. Die eingestellte
-Feldauswahl für die Bildschirmanzeige geht leider bei jedem Um­
-schalten verloren.
- Das Umschalten kann entweder im Menü 'Einzelsatz' oder beim
-Einfügen und Ändern durch ESC 'K' bewirkt werden, ebenso das
-Zurückschalten nur im Menü 'Einzelsatz'. Beim Umschalten aus Ein­
-fügen oder Ändern erfolgt beim Zurückschalten eine Rückkehr in
-diesen Zustand. Dabei können nach Anfrage die Koppelfelder des
-aktuellen Satzes der Koppeldatei in die Hauptdatei übernommen und
-damit eine bestimmte Kopplung bewirkt werden.
-
-
-3.7 Mehrbenutzerbetrieb
-
-Durch Einstellen einer Managertask für den Mehrbenutzerbetrieb
-können auch Dateien dieser Managertask beim Öffnen direkt ver­
-wendet werden. Die Datei wird automatisch aus der Managertask
-kopiert und geöffnet.
- Falls die Datei geändert werden soll, wird eine Sperre in der
-Managertask gesetzt, die verhindert, daß auch ein anderer Benutzer
-diese Datei zum Ändern öffnet. Beim Sichern erfolgt dann ein Rück­
-schreiben der Arbeitskopie. Die Sperre wird jedoch erst dann zu­
-rückgesetzt, wenn alle Arbeitskopien gelöscht werden, da erst dann
-keine Möglichkeit des Rückschreibens mehr besteht.
- Alle Dateien der Managertask werden bei der Dateiauswahl zum
-Öffnen mit angeboten. Falls eine Datei in beiden Tasks existiert,
-wird die Datei in der Managertask genommen, die Datei der eigenen
-Task jedoch erst nach Anfrage überschrieben.
- Damit die Sperre funktionieren kann, muß EUDAS in der Mana­
-gertask zur Verfügung stehen und die Task muß #on("i")#nach#off("i")# dem Insertie­
-ren von EUDAS als 'global manager' definiert werden (nicht 'free
-global manager' verwenden).
-
diff --git a/doc/eudas/eudas.ref.4 b/doc/eudas/eudas.ref.4
deleted file mode 100644
index cfd6daf..0000000
--- a/doc/eudas/eudas.ref.4
+++ /dev/null
@@ -1,441 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (39)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-4 Ansehen und Bearbeiten
-
-
-
-4.1 Anzeige
-
-Die Anzeige und Eingabe von Einzelsätzen sowie die Eingabe von
-Suchmustern geschieht in einem Standardformular in einem recht­
-eckigen Fenster. Dieses Fenster befindet sich in der rechten Bild­
-schirmhälfte.
- Das Formular besteht aus vier Teilen: der Überschrift, den
-Feldnamen, den Feldinhalten und der Abschlußzeile (s. Abbildung).
-
- Überschrift
-#free (0.3)#
- Satz 33 ..SUCH+..MARK-... datei ............... Feld 1
- Feld 1
- Feld 2
- Feld 3 Feldinhalte
-
- Feld 4
- ..............................................................
-#free (0.3)#
- Feldnamen Abschlußzeile
-
-
-
-#on("b")#Überschrift#off("b")# Die Überschrift zeigt folgende Informationen
-an:
-
- Satz n[-m]
- Die Satznummer des aktuellen Satzes, bei gekoppelten Dateien
- auch die Satzkombination.
-
- SUCH+/-
- Zeigt an, ob der aktuelle Satz die eingestellte Suchbedingung
- erfüllt oder nicht (wird während Eintragungen nicht angezeigt).
- Wenn keine Suchbedingung eingestellt ist, erscheint diese An­
- zeige nicht.
-
- MARK+/-
- Zeigt an, ob der aktuelle Satz markiert ist oder nicht (Wird
- während Eintragungen nicht angezeigt). Wenn kein Satz mar­
- kiert ist, erscheint diese Anzeige nicht.
-
- ENDE
- Wird hinter dem letzten Satz der Datei als Kennzeichnung des
- Endesatzes ausgegeben.
-
- 'Dateiname'
- Gibt den Namen der ersten geöffneten Datei an.
-
- <KOPPPEL>
- Erscheint statt des Dateinamens, wenn auf eine Koppeldatei
- umgeschaltet wurde.
-
- Feld n/Zeile n
- Zeilennummer des obersten angezeigten Feldes (bei Anzeige)
- bzw. der aktuellen Cursorzeile (während Eintragungen).
-
-#on("b")#Feldteil#off("b")# Die Feldnamen sind zur Unterscheidung von den
-Feld­
-inhalten invers dargestellt. Die Breite der Feldnamen richtet sich
-nach der Länge des längsten Feldnamens. Ist dieser zu lang, um
-noch eine ordentliche Anzeige zu ermöglichen, wird bei einer be­
-stimmten Länge der Rest des Namens abgeschnitten.
- Zwischen dem Feldnamen an der linken Seite und dem dane­
-benstehenden Feldinhalt besteht immer eine Korrespondenz, d.h. der
-Inhalt eines Feldes wird direkt neben dem Namen dargestellt. In der
-Regel wird pro Feld eine Bildschirmzeile reserviert. Kann der Feld­
-inhalt jedoch nicht mehr in einer Zeile untergebracht werden, wer­
-den weitere Zeilen zur Darstellung dieses Feldes herangezogen. In
-diesen Zeilen steht statt des Feldnamens nur ein markierter Leer­
-raum.
- Alle folgenden Zeilen ohne Namen gehören zu dem gleichen
-Feld. Der Inhalt wird auf diese Zeilen umbrochen, d.h. wenn ein
-Wort nicht mehr auf die Zeile paßt, wird es komplett in die nächste
-Zeile geschrieben (wie beim Editor). Wörter werden nur dann zer­
-schnitten, wenn sie nicht als Ganzes auf eine Zeile passen. Wörter
-werden untereinander durch Leerzeichen getrennt.
- Aus Effizienzgründen werden in bestimmten Fällen auch mehr
-Folgezeilen als nötig angezeigt. Hat nämlich ein neuer Satz einen
-kürzeren Inhalt als der vorige, so werden die Feldnamen nur dann
-wieder zusammengerückt, wenn das ganze Bild neugeschrieben wer­
-den muß. Anderenfalls werden nur die Feldinhalte aktualisiert.
- Die Bildausgabe wird unterbrochen, wenn 'w' oder 'z' gedrückt
-wurde, da dann die Inhalte des aktuellen Satzes nicht mehr inter­
-essieren.
-
-#on("b")#Rollen#off("b")# Da nicht alle Felder auf den Bildschirm passen
-müssen, kann das Bild gerollt werden.
- Mit ESC UNTEN wird um eine Seite nach unten geblättert, mit
-ESC OBEN wieder zurück. Hinter dem letzten Feld erscheint ein
-markierter Balken als Abschlußzeile. Weiter als bis zum Erscheinen
-dieses Balken kann nicht gerollt werden. Mit ESC '1' wird ganz an
-den Anfang gerollt, mit ESC '9' ganz ans Ende.
- Bei Feldern, die sich über mehrere Zeilen erstrecken, kann es
-passieren, daß nach dem Rollen die erste Bildschirmzeile nicht die
-erste Zeile eines Feldes ist, also der erste Teil eines Feldes nicht
-dargestellt wird. Trotzdem wird in diesem Fall in der ersten Anzei­
-gezeile der Feldname angezeigt.
-
-#on("b")#Feldauswahl#off("b")# Man kann auswählen, welche Felder in welcher
-Rei­
-henfolge angezeigt werden sollen. Dies dient der besseren Übersicht.
-Von der Anzeige werden nur die ausgewählten Felder behandelt, die
-anderen Felder bleiben leer, werden nicht verändert oder berück­
-sichtigt. Die Anzeigeauswahl ändert jedoch nichts an der Datei­
-struktur.
- Die Feldauswahl ist keine permanente Eigenschaft einer
-EUDAS-Datei. Sie geht daher bei einem neuen Öffnen oder beim
-Umschalten auf eine Koppeldatei verloren.
-
-#on("b")#Übersicht#off("b")# Im Gegensatz zur normalen Anzeige, bei der ein
-Satz pro
-Bildschirm dargestellt wird, können in der Übersicht mehrere Sätze
-gleichzeitig überschaut werden. Dabei wird jeder Satz in einer Zeile
-untergebracht. Die Auswahl der Felder, die in der Übersicht er­
-scheinen sollen, wird vor Beginn der Funktion erfragt.
- In jeder Zeile steht die Nummer des jeweiligen Satzes, eine
-Anzeige, ob er markiert ist (+) oder nicht (-) und die Feldinhalte
-in der gewählten Reihenfolge und Auswahl, jeweils duch Komma und
-Leerzeichen getrennt. Inhalte, die nicht mehr auf die Zeile passen,
-werden abgeschnitten.
- Es werden nur durch das Suchmuster ausgewählte Sätze ange­
-zeigt. Ist der aktuelle Satz nicht ausgewählt, so erscheint an seiner
-Stelle '<< >>' als Hinweis. In der Überschrift sind die Feldnamen
-angegeben - durch Komma getrennt, so viele wie hinpassen.
- Die Satznummer des aktuellen Satzes ist jeweils markiert. In
-der Übersicht kann geblättert werden. HOP OBEN und HOP UNTEN,
-OBEN und UNTEN wirken wie im Editor.
- Durch '+' oder '-' kann auch die Markierung des aktuellen
-Satzes verändert werden.
-
-
-4.2 Satzauswahl
-
-Die Auswahl der Sätze, die gedruckt oder mit den Funktionen aus
-Abschnitt 4.4 bearbeitet werden sollen, kann entweder durch eine
-Suchbedingung oder durch Markierung vorgenommen werden. Wenn
-mindestens ein Satz markiert ist, werden von den Bearbeitungs­
-funktionen nur die markierten Sätze behandelt. Anderenfalls wird
-die eingestellte Suchbedingung beachtet.
- Die Bildschirmanzeige richtet sich immer nur nach der einge­
-stellten Suchbedingung.
-
-#on("b")#Suchmuster#off("b")# Ein Suchmuster gibt für jedes Feld bestimmte
-Bedin­
-gungen an. Es wird im Standardformular mit Hilfe des Satzeditors
-eingegeben. Dabei stehen neben jedem Feld die Bedingungen für
-dieses Feld in einer intuitiv verständlichen Form. Folgende Einzel­
-bedingungen sind möglich:
-
- Muster Inhalt ist gleich Muster
- Muster.. Inhalt ist größergleich Muster
- ..Muster Inhalt ist kleiner Muster
- Muster1..Muster2 Inhalt liegt dazwischen
- *Muster Inhalt endet mit Muster
- Muster* Inhalt beginnt mit Muster
- *Muster* Inhalt enthält Muster
- * Inhalt ist nicht leer
- ++ Satz markiert (unabhängig vom Feldinhalt)
-
-Die ersten vier Einzelbedingungen beachten auch den Typ eines
-Feldes (wie er bei der Feldstruktur eingegeben werden kann und
-beim Sortieren beachtet wird). So werden z.B. bei der Gleichheit von
-Zahlen alle nicht-numerischen Zeichen ignoriert (s. Sortieren).
- Die drei Bedingungen mit Stern können auch miteinander ver­
-knüpft werden. Die Einzelbedingungen müssen dann alle zutreffen,
-damit der Satz ausgewählt wird. So bedeutet zum Beispiel das
-Muster 'M1*M2*M3*M4', daß das Feld mit 'M1' beginnen und mit 'M4'
-enden muß. Außerdem muß es 'M2' und 'M3' enthalten, jedoch nicht
-unbedingt in der angegebenen Reihenfolge.
- Wird der Mustertext durch '&' und einen gültigen Feldnamen der
-aktuellen Datei ersetzt, findet der Vergleich nicht mit einem
-Mustertext, sondern mit dem Inhalt des angegebenen Feldes statt.
-Als Feldtyp für den Vergleich wird in diesem Fall der Typ des Fel­
-des genommen, in dem der Vergleich steht.
-
-#on("b")#Verknüpfung#off("b")# Einzelbedingungen können durch Voranstellen
-von
-'--' verneint werden. Einzelbedingungen für verschiedene Felder
-werden mit UND verknüpft.
- Es gibt zwei Arten der ODER-Verknüpfung: die lokale und die
-globale. Die lokale ODER-Verknüpfung wird durch ein Komma zwi­
-schen Einzelbedingungen realisiert. Sie hat eine höhere Priorität als
-das UND zwischen verschiedenen Feldern. So hat folgendes Such­
-muster
-
-
- Feld1 Bed1,Bed2
- Feld2 Bed3
-
-
-die Bedeutung
-
-
- ( Bed1 (Feld1) ODER Bed2 (Feld2) ) UND Bed3 (Feld3)
-
-
-Die globale ODER-Verknüpfung wird durch ein Semikolon repräsen­
-tiert. Alle Einzelbedingungen nach dem n-ten Semikolon aller Zeilen
-werden zu einer Alternative zusammengefaßt. Damit hat das Such­
-muster
-
-
- Feld1 Bed1;Bed2
- Feld2 Bed3
-
-
-die Bedeutung
-
-
- ( Bed1 (Feld1) UND Bed3 (Feld2) ) ODER Bed2 (Feld1)
-
-
-Damit ergibt sich für die Priorität der einzelnen Konstruktionen
-folgende Reihenfolge:
-
- höchste Einzelbedingung
- Verkettung von Einzelbedingungen (UND)
- Verneinung
- lokales ODER
- UND zwischen Feldern
- niedrigste globales ODER
-
-#on("b")#Optimierung#off("b")# Wenn für das erste Feld einer Datei eine
-Gleich-
-Bedingung angegeben wurde und keine globale Alternative vorhan­
-den ist, kann der Suchvorgang wegen der Dateistruktur optimiert
-werden, indem nur Sätze untersucht werden müssen, die im ersten
-Feld den gesuchten Text enthalten.
-
-#on("b")#Reservierte Zeichen#off("b")# Im Rahmen der Analyse einer
-Musterzeile
-wirken folgende Zeichenfolgen als unbeschränkt reservierte Zeichen:
-
-
- , ; .. *
-
-
-Sie dürfen daher in keinem Mustertext oder Feldnamen vorkommen,
-da sie als Separator wirken. Die beiden folgenden Zeichenfolgen
-werden nur zu Anfang eines durch die vorstehenden Separatoren
-gebildeten Abschnitts erkannt:
-
-
- -- & ++
-
-
-Sie dürfen daher prinzipiell an weiterer Stelle vorkommen, ohne als
-Sonderzeichen erkannt zu werden. Alle anderen Zeichen in der Zeile
-werden dem Mustertext bzw. Feldnamen ohne weitere Interpretation
-zugeordnet.
-
-
-4.3 Sortieren und Reorganisieren
-
-Eine EUDAS-Datei kann in einer beliebigen Feldreihenfolge sortiert
-werden. Mit dieser Angabe kann man bestimmen, welche Felder beim
-Vergleich zweier Sätze berücksichtigt werden sollen und in welcher
-Reihenfolge.
- Die Sortierreihenfolge wird in der Datei gespeichert und wird
-anschließend immer wieder verwendet, wenn keine anderen Angaben
-gemacht wurden.
- Der Sortierzustand einer Datei wird ebenfalls gespeichert. Wenn
-nur wenige Sätze seit der letzten Sortierung verändert wurden,
-müssen auch nur diese Sätze einsortiert werden.
-
-#on("b")#Feldtypen#off("b")# Um eine korrekte Sortierung auch von Zahlen oder
-Daten sicherzustellen, wird jedem Feld einer EUDAS-Datei ein Feld­
-typ zugeordnet, der beim Sortieren (und auch beim Suchen) berück­
-sichtigt wird.
- Es gibt folgende Feldtypen (als Standard wird der Typ TEXT
-verwendet):
-
- TEXT Vergleich von Texten nach dem EUMEL-Code der einzel­
- nen Zeichen. Dies ist Standard und sorgt für schnellst­
- möglichen Vergleich. Die weiteren Typen brauchen erheb­
- lich mehr Zeit.
-
- DIN Vergleich nach DIN 5007 (s. EUMEL-Benutzerhandbuch).
- Umlaute werden korrekt eingeordnet, Groß- und Klein­
- buchstaben werden gleichbehandelt, Sonderzeichen werden
- ignoriert.
-
- ZAHL Der Wert einer Zahl wird verglichen. Außer den Ziffern,
- dem Dezimalkomma und dem Minuszeichen vor der ersten
- Ziffer werden alle anderen Zeichen ignoriert. Das Dezi­
- malkomma ist standardmäßig auf ',' eingestellt, kann aber
- verändert werden (s. Abschnitt 6.5). Die nicht ignorierten
- Zeichen werden in eine REAL-Zahl umgewandelt und dann
- verglichen.
-
- DATUM Es werden Daten der Form 'tt.mm.jj' verglichen. In diesem
- Fall werden Tag und Jahr vertauscht und dann vergli­
- chen. Texte mit einer anderen Länge als 8 werden alle
- als gleich betrachtet.
-
-#on("b")#Reorganisieren#off("b")# Wenn viele Änderungen an einer EUDAS-Datei
-vorgenommen worden sind, steigt ihr Platzbedarf durch viele Text­
-leichen an. In diesem Fall empfiehlt es sich, die Datei zu reorgani­
-sieren. Auch wenn beim Sortieren viele Sätze vertauscht wurden,
-sollte die Datei reorganisiert werden, da beim Sortieren die physi­
-kalische Reihenfolge der Sätze nicht verändert wird. In diesem Fall
-ergibt sich nach dem Reorganisieren ein Geschwindigkeitsvorteil.
-
-
-4.4 Bearbeiten
-
-#on("b")#Kopieren#off("b")# Durch Kopieren kann ein Ausschnitt aus der
-virtuellen
-Datei in eine andere EUDAS-Datei kopiert werden. Es werden alle
-ausgewählten Sätze kopiert. Wenn mindestens ein Satz markiert ist,
-werden alle markierten Sätze als ausgewählt betrachtet, ansonsten
-alle, die durch die Suchbedingung angegeben sind. Die kopierten
-Sätze werden am Ende der Zieldatei angefügt.
- Welche Felder kopiert werden sollen, wird durch das Kopier­
-muster angegeben. Hierbei können auch mehrere Felder zu einem
-verschmolzen werden. Allgemein ergeben sich die Felder der Ziel­
-datei aus einem beliebigen ELAN-Ausdruck.
- Das Kopiermuster ist ein ELAN-Programm und enthält im we­
-sentlichen Ausdrücke der Form
-
-
- "Feldname" K Ausdruck ;
-
-
-Durch diese Anweisung wird der Ausdruck in das Feld der Zieldatei
-mit dem angegebenen Namen kopiert. Existiert dieses Feld in der
-Zieldatei noch nicht, so wird es als letztes angefügt. Falls die
-Zieldatei noch nicht existiert, wird sie eingerichtet. In diesem Fall
-bestimmt also die Reihenfolge der 'K'-Ausdrücke die Reihenfolge der
-Feldnamen in der Zieldatei.
- Da die Reihenfolge der 'K'-Ausdrücke wichtig ist, dürfen diese
-nicht in einer IF-Anweisung stehen, sondern müssen für jeden Satz
-komplett in der gleichen Reihenfolge ausgeführt werden.
-
-#on("b")#Standard-Kopiermuster#off("b")# Vor dem Kopieren wird ein Standard-
-Kopiermuster zum Editieren angeboten, das sich nach der Zieldatei
-richtet. Existiert die Zieldatei noch nicht, wird das Muster so kon­
-struiert, daß alle Felder der virtuellen Datei unverändert kopiert
-werden. Wollen Sie einige Felder nicht kopieren, brauchen Sie nur
-die entsprechenden Zeilen zu löschen; wollen Sie die Felder in eine
-andere Reihenfolge bringen, müssen Sie die Zeilen umordnen.
- Existiert die Zieldatei bereits, gibt das Standard-Kopiermuster
-an, daß alle Felder der Zieldatei einen Wert erhalten. Ist ein Feld
-der Zieldatei in der virtuellen Datei enthalten, so wird dieses ko­
-piert, ansonsten erhält das Feld einen leeren Inhalt. Sie können in
-diesem Fall weitere Felder angeben oder für die leeren Felder Aus­
-drücke formulieren.
-
-#on("b")#Tragen#off("b")# Durch Tragen werden alle ausgewählten Sätze der
-virtuel­
-len Datei in eine andere Datei transportiert. Sie sind in der vir­
-tuellen Datei dann nicht mehr vorhanden. Damit bei diesem Vorgang
-keine Informationen verlorengehen können, muß die Zieldatei so
-viele Felder haben wie die virtuelle Datei. Normalerweise sollte sie
-in der Feldstruktur mit der virtuellen Datei übereinstimmen.
- Die getragenen Sätze werden jeweils am Ende der Datei ange­
-fügt.
- Beim Tragen können zusätzlich noch Konsistenzbedingungen
-überprüft werden. Die Prüfbedingungen sind in der Zieldatei gespei­
-chert und können beim Ändern der Feldstruktur angegeben werden.
- Die Prüfbedingung ist ein ELAN-Programm, das vor dem Tragen
-des jeweiligen Satzes ausgeführt wird. Durch spezielle Testprozedu­
-ren kann das Tragen des Satzes verhindert werden, wenn diese
-Prozeduren ein negatives Ergebnis liefern. Gleichzeitig wird eine
-Meldung in eine Protokolldatei geschrieben, die dann zur Identifi­
-zierung der fehlerhaften Sätze dienen kann.
- Folgende Prüfprozeduren stehen zur Verfügung (siehe auch
-Abschnitt 8.3):
-
-
- pruefe ("Feldname", Bedingung)
-
- Hiermit kann eine beliebige Bedingung (BOOL-Ausdruck in
- ELAN) überprüft werden.
-
-
- wertemenge ("Feldname", "Wert1,Wert2,...,Wertn")
-
- Das Feld muß einen in der angegebenen Liste enthaltenen
- Werte annehmen.
-
-
- feldmaske ("Feldname", "Maske")
-
- Das Feld wird auf Übereinstimmung mit der Maske geprüft.
- Fünf spezielle Zeichen in der Maske können dabei auf
- mehrere Zeichen zutreffen:
- '9' alle Ziffern
- 'a' alle Kleinbuchstaben, Umlaute, 'ß'
- 'A' alle Großbuchstaben, Umlaute
- 'X' alle Zeichen
- '*' Folge von beliebigen Zeichen
- Der Stern sollte sparsam angewendet werden, da er verar­
- beitungsaufwendig ist.
-
-
- eindeutige felder (n)
-
- Die Zahl 'n' gibt an, die wieviel ersten Felder der Zieldatei
- eindeutig sein müssen. Stimmt der zu tragende Satz mit
- einem Satz der Zieldatei in diesen Feldern überein, wird
- eine Fehlermeldung erzeugt.
-
-Es können auch einzelne Sätze manuell getragen werden. In diesem
-Fall wird die Prüfbedingung nicht getestet. Ebenso kann der Satz
-wieder zurückgeholt und in der aktuellen Datei eingefügt werden.
-
-#on("b")#Nach Vorschrift ändern#off("b")# Die ausgewählten Sätze der
-virtuellen
-Datei können automatisch nach einer Verarbeitungsvorchrift geän­
-dert werden. Die Verarbeitungsvorschrift ist ein ELAN-Programm, in
-dem mit Hilfe des Operators 'V' Änderungen angegeben werden:
-
-
- "Feldname" V TEXT-Ausdruck ;
-
-
-Das angegebene Feld erhält den Inhalt, der durch den Ausdruck
-angegeben ist. Änderungen an Koppeldateien werden wie im Dialog
-behandelt (s. Abschnitt 3.4).
-
-
-
-
diff --git a/doc/eudas/eudas.ref.5 b/doc/eudas/eudas.ref.5
deleted file mode 100644
index 02971ea..0000000
--- a/doc/eudas/eudas.ref.5
+++ /dev/null
@@ -1,432 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (49)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-5 Drucken und Druckmuster
-
-
-
-5.1 Druckmustersyntax
-
-Ein Druckmuster ist eine Beschreibung für die Form, in der die In­
-halte einer EUDAS-Datei ausgedruckt werden sollen. Der syntakti­
-sche Aufbau des Druckmusters ist zeilenorientiert und gehorcht
-folgender Syntax:
-
- Druckmuster :
- [ Initialisierungsteil ]
- [ Vorspann ]
- [ Wiederholungsteil ]
- [ Nachspann ]
-
- Initialisierungsteil :
- ( Kommandozeile #char (""124"")# Textzeile )*
- ( GRUPPE-Anweisung #char(""124"")# Textzeile )*
-
- Vorspann :
- VORSPANN-Anweisung Abschnitt
-
- Wiederholungsteil :
- WIEDERHOLUNG-Anweisung Abschnitt
-
- Nachspann :
- NACHSPANN-Anweisung Abschnitt
-
- Abschnitt :
- Musterteil
- [ ABKUERZUNGEN-Anweisung Abkürzungsteil ]
-
- Musterteil :
- ( Musterzeile #char(""124"")# Kommandozeile #char(""124"")#
- MODUS-Anweisung #char (""124"")# MEHR-Anweisung )*
-
-Zur Notation: [] bedeutet optional, ()* beliebig häufige Wiederho­
-lung, #char(""124"")# Alternative und keine Angabe einfache Aneinanderreihung.
-Die verschiedenen Zeilentypen werden weiter unten beschrieben.
- Zusätzlich gilt die Bedingung, daß von Vorspann, Wiederho­
-lungsteil und Nachspann mindestens einer vorhanden sein muß.
-
-#on("b")#Zeilentypen#off("b")# Im Druckmuster gibt es 6 verschiedene
-Zeilentypen:
-
-#on("i")#Kommandozeilen#off("i")#
- Eine Kommandozeile beginnt mit '%%' in der ersten und zweiten
- Spalte. Der Inhalt der Zeile ab Spalte 3 wird dem ELAN-Compi­
- ler übergeben. Die Bedeutung dieser Zeilen ergibt sich aus dem
- in 5.4 beschriebenen Übersetzungsmechanismus.
-
-#on("i")#Anweisungen#off("i")#
- Anweisungen beginnen mit '%' in der ersten Spalte und dienen
- zur Steuerung des Druckgenerators. Der Name der Anweisung
- muß in Großbuchstaben und ohne Leerzeichen geschrieben
- werden. Davor dürfen sich noch Leerzeichen befinden. An­
- schließend können noch Parameter folgen, die nur durch Leer­
- zeichen getrennt aneinander gereiht werden. Die Syntax einer
- Anweisung ähnelt der eines Operators in ELAN.
-
-#on("i")#Textzeilen#off("i")#
- Textzeilen sind die nicht anderweitig markierten Zeilen im
- Initialisierungsteil. Sie werden unverändert an den Anfang
- jeder Druckdatei gestellt.
-
-#on("i")#Musterzeilen#off("i")#
- Musterzeilen sind nicht besonders gekennzeichnete Zeilen im
- Musterteil. Sie enthalten Feldmuster und werden nach dem
- Einsetzen von Inhalten in die Ausgabedatei übernommen. Die
- Interpretation der Musterzeilen wird in Abschnitt 5.3 beschrie­
- ben.
-
-#on("i")#Abkürzungszeilen#off("i")#
- Abkürzungszeilen markieren den Beginn einer Abkürzung im
- Abkürzungsteil eines Abschnittes. Sie werden durch '&' in der
- ersten Spalte gekennzeichnet. Darauf folgt ohne Zwischenraum
- der Name einer Abkürzung (ohne Leerzeichen) und danach
- durch Leerzeichen getrennt ein Semikolon. Der Name der Ab­
- kürzung wird bei der Übersetzung durch einen Refinementnamen
- ersetzt und die Zeile dem ELAN-Compiler übergeben. Der Rest
- der Zeile kann also den Beginn eines werteliefernden Refine­
- ments enthalten.
-
-#on("i")#Programmzeilen#off("i")#
- Programmzeilen sind die nicht durch '&' markierten Zeilen im
- Abkürzungsteil. Sie werden unverändert an den ELAN-Compiler
- übergeben. Der erlaubte Inhalt richtet sich nach dem Überset­
- zungsmechanismus (5.4).
-
-
-5.2 Der Druckvorgang
-
-Der Druckvorgang besteht im wesentlichen darin, daß für alle zu
-bearbeitenden Sätze der Wiederholungsteil einmal interpretiert wird
-und das Ergebnis in eine Ausgabedatei geschrieben wird, die dann
-gedruckt werden kann. Wenn mindestens ein Satz markiert ist, wer­
-den alle markierten Sätze der virtuellen Datei bearbeitet, ansonsten
-alle durch die Suchbedingung erfaßten.
-
-#on("b")#Gruppen#off("b")# Eine #on("i")#Gruppe#off("i")# ist eine Folge von Sätzen, die in einem be­
-stimmten Merkmal übereinstimmen. Durch eine GRUPPE-Anweisung
-der Form
-
-
- % GRUPPE n Ausdruck
-
-
-werden aufeinanderfolgende Sätze mit gleichem Wert des angegebe­
-nen Ausdrucks gruppiert. Über die Nummer 'n' kann festgestellt
-werden, ob sich das angegebene Merkmal verändert hat. Dies ge­
-schieht mit der Prozedur
-
-
- BOOL PROC gruppenwechsel (INT CONST gruppennr)
-
-
-Immer wenn zwischen zwei Sätzen ein Gruppenwechsel stattfindet,
-wird beim vorigen Satz der Nachspann und beim folgenden Satz der
-Vorspann einmal interpretiert. Dies führt dazu, daß entsprechende
-Vorspann- bzw. Nachspannzeilen gedruckt werden.
- Vor dem ersten und nach dem letzten zu bearbeitenden Satz
-wechseln alle Gruppen, d.h. dort wird immer ein Vorspann bzw.
-Nachspann erzeugt.
- Ist ein zu interpretierender Abschnitt nicht vorhanden, so wird
-an dieser Stelle keine Ausgabe erzeugt. Die Textzeilen des Initali­
-sierungsteils werden auf jeden Fall bei Beginn des Druckvorganges
-in die Ausgabedatei geschrieben. Falls die Ausgabedatei voll ist,
-wird eine neue Datei angefangen und die Zeilen des Initialisie­
-rungsteils erneut an den Anfang gestellt.
-
-
- Satz- Gruppen- Ausgabe
- nummer merkmal
-#free (0.1)#
- Initialisierungsteil
- -------------------------------------------------
- 1 x Vorspann
- WDH-Teil
- 2 x WDH-Teil
- Nachspann
- -------------------------------------------------
- 3 y Vorspann
- WDH-Teil
- 4 y WDH-Teil
- 5 y WDH-Teil
- Nachspann
- -------------------------------------------------
- ENDE
-
-#center#Abb. 5-1 Ablauf des Druckvorganges mit Gruppen
-
-
-#on("b")#Spaltendruck#off("b")# Normalerweise werden die Ausgaben der
-einzelnen
-Abschnitte hintereinander in der Ausgabedatei plaziert. Durch An­
-gabe einer Nummer als Parameter in der WIEDERHOLUNG-Anweisung
-können auch soviel Spalten wie angegeben nebeneinander gedruckt
-werden. Die Spaltenbreite wird dabei durch das Dateilimit (Komman­
-do 'limit' im Editor) festgelegt. Alternativ kann die Spaltenbreite
-auch als zweiter Parameter durch Leerzeichen getrennt angegeben
-werden.
- Vorspann und Nachspann werden jedoch auf jeden Fall wieder
-in eine eigene Zeile geschrieben, der Spaltendruck also unterbro­
-chen.
-
-
-5.3 Interpretation von Musterzeilen
-
-Musterzeilen können Feldmuster enthalten, die bei der Interpreta­
-tion durch entsprechende Inhalte ersetzt werden, ehe die Muster­
-zeile in die Ausgabedatei übernommen wird. Der Beginn eines Feld­
-musters wird durch ein Musterzeichen ('&' oder '%') markiert. Wo
-und wie der Inhalt eingesetzt wird, kann durch folgende Variationen
-angegeben werden:
-
-
- Typ ! Beispiel ! Position ! Länge ! bündig
- ----+-----------+------------------------------
- 1 ! &Name ! fest ! variabel ! links
- 2 ! %Name ! variabel ! variabel ! links
- 3 ! &Name&&& ! fest ! fest ! links
- 4 ! %Name%%% ! variabel ! fest ! links
- 5 ! &&&Name& ! fest ! fest ! rechts
- 6 ! %%%Name% ! variabel ! fest ! rechts
-
-
-Der in dem Feldmuster angegebene Name muß Name einer Abkür­
-zung in irgendeinem Abkürzungsteil oder eines Feldes sein. Der
-Name darf kein Leerzeichen oder Musterzeichen enthalten. Falls dies
-doch der Fall ist, muß der Name in spitze Klammern eingeschlossen
-werden.
- Bei fester Länge wird bei zu kurzem Inhalt mit Leerzeichen
-aufgefüllt, bei zu langem Inhalt abgeschnitten. Bei linksbündigem
-Einsetzen geschieht dies an der rechten, sonst an der linken Seite.
- Feldmuster variabler Länge können je nach Inhalt dazu führen,
-daß der folgende Teil der Musterzeile verschoben wird. Für diesen
-Einsetzprozeß gelten die folgenden Regeln:
-
-#on("b")#Position#off("b")# Feldmuster fester Position (mit '&' beginnend)
-werden
-immer in der Position eingesetzt, in der sie stehen. Feldmuster
-variabler Position (mit '%' beginnen) können nach rechts verschoben
-werden, wenn vorherige Inhalte länger als ihre Muster sind, und
-nach links, wenn Modus 1 oder 3 eingestellt ist und vorherige In­
-halte kürzer sind.
-
-#on("b")#Länge#off("b")# Feldmuster variabler Länge erhalten auf jeden Fall
-den
-Platz, der durch die Länge des Feldmusters reserviert ist. Sind die
-Inhalte kürzer, kann der gewonnene Platz als Reserve für andere
-Feldmuster verwendet werden; sind die Inhalte länger, so wird der
-Inhalt so weit eingesetzt, wie noch Reserve vorhanden ist und der
-Rest abgeschnitten.
- Muß in ein Feldmuster variabler Länge ein leerer Inhalt einge­
-setzt werden, so werden beim Drucken auch die auf das Feldmuster
-folgenden Leerzeichen unterdrückt, falls vor dem Feldmuster noch
-ein Leerzeichen steht oder das Feldmuster in Spalte 1 beginnt.
- Feldmuster fester Länge werden immer in ihrer reservierten
-Länge eingesetzt. Sie werden im folgenden behandelt wie Feldmuster
-variabler Länge, deren Inhalt so lang ist wie das Feldmuster.
-
-#on("b")#Verteilung#off("b")# Die Verteilung der verschiebbaren Feldmuster
-auf der
-Zeile geschieht jeweils in dem Abschnitt zwischen zwei Feldmustern
-fester Position bzw. Zeilenanfang oder Zeilenende. Für jeden Ab­
-schnitt wird festgestellt, wieviel Stellen die Inhalte insgesamt mehr
-oder weniger als ihre Muster benötigen.
- Der Längenausgleich geschieht zwischen dem letzten Feldmuster
-und dem Ende des Abschnitts. Dort wird ein Pufferplatz bestimmt,
-der bei Überlänge bis auf ein Leerzeichen verkleinert werden kann
-und an dem bei Unterlänge zusätzliche Leerzeichen eingefügt wer­
-den.
- Außer am Pufferplatz wird an keinem Mustertext des Abschnitts
-etwas geändert. Zwischentexte zwischen den Feldmustern werden
-unverändert übertragen und mit den umgebenden Feldmustern ver­
-schoben.
- Als Pufferplatz wird die erste Lücke hinter dem letzten Feld­
-muster eines Abschnittes verwendet, die mehr als ein Leerzeichen
-enthält. Ist keine solche Lücke vorhanden, wird das Ende des Ab­
-schnitts verwendet, falls dort ein Leerzeichen steht, und sonst das
-Ende des letzten Feldmusters.
- Die durch den Pufferplatz und kürzere Inhalte gewonnene Re­
-serve wird von links an die Feldmuster mit Überlänge verteilt, bis
-die Reserve verbraucht ist.
-
-#on("b")#Zeilende#off("b")# Das Zeilenende wird als ein Quasi-Feldmuster mit
-fester
-Position aufgefaßt, das am Limit der Druckmusterdatei steht. Es
-sind also keine Einsetzungen möglich, die über das Limit der Datei
-hinausgehen. Als Pufferplatz wird hier jedoch die erste Blanklücke
-vom Zeilenende her verwendet, damit Mustertexte am Zeilenende
-gegebenenfalls stehenbleiben. Ist keine solche Lücke vorhanden, so
-wird das Zeilenende als Pufferplatz verwendet.
- Obwohl nicht als Pufferplatz ausgewiesen, kann der Raum zwi­
-schen Zeilenende und Dateilimit als Reserve verwendet werden.
-
-#on("b")#Modi#off("b")# Der Einsetzmechanismus kann durch die MODUS-Anweisung
-mit einem Parameter verändert werden. Folgende Modi stehen zur
-Verfügung:
-
-
- Modus ! Effekt
- ------+----------------------------------------
- 1 ! Normalmodus.
- ! '%'-Feldmuster werden auch
- ! nach links geschoben.
- ! Keine Zeilenwiederholung.
- ------+----------------------------------------
- 2 ! Tabellenmodus.
- ! '%'-Feldmuster werden nicht
- ! nach links geschoben.
- ! Keine Zeilenwiederholung.
- ------+----------------------------------------
- 3 ! Normalmodus mit Zeilenwiederholung.
- ! '%'-Feldmuster werden auch
- ! nach links geschoben.
- ! Zeilenwiederholung ohne Zwischentexte.
- ------+----------------------------------------
- 4 ! Tabellenmodus mit Zeilenwiederholung.
- ! '%'-Feldmuster werden nicht
- ! nach links geschoben.
- ! Zeilenwiederholung mit Zwischentexten.
- ------+----------------------------------------
-
-
-Bei Zeilenwiederholung werden Inhalte in einer folgenden Zeile
-fortgesetzt, falls sie in der ersten Zeile nicht untergebracht werden
-konnten. Dazu wird die Musterzeile mit den Restinhalten erneut
-interpretiert. Je nach Modus werden auch die Zwischentexte noch
-wiederholt. Der Restinhalt umfaßt immer noch das ganze letzte Wort,
-das nicht mehr auf die vorige Zeile paßte. Es findet also ein Um­
-bruch statt. Die Positionen, die in der vorigen Zeile vom Anfang des
-Wortes eingenommen würden, werden durch Leerzeichen ersetzt.
- Durch die MEHR-Anweisung mit einem Parameter kann die Zahl
-der Zeilenwiederholungen für die nächste Musterzeile festgesetzt
-werden. Dies hat jedoch nur eine Auswirkung, falls Zeilenwieder­
-holung zugelassen ist. Stehen zur Interpretation keine Restinhalte
-mehr zur Verfügung, wird mit leeren Inhalten weitergearbeitet. Kann
-ein Inhalt bei der vorgegebenen Anzahl von Zeilen nicht ganz dar­
-gestellt werden, wird der Rest nicht ausgegeben.
-
-
-5.4 Anschluß zum ELAN-Compiler
-
-Falls in einem Druckmuster Abkürzungen, Kommandozeilen oder
-Gruppendefinitionen vorkommen, wird das Druckmuster in ein
-ELAN-Programm umgewandelt, das dann vom ELAN-Compiler über­
-setzt wird.
- Alle Zeilen eines Abkürzungsteils werden direkt in das Pro­
-gramm übernommen, wobei der Name einer Abkürzung durch einen
-beliebig gewählten Refinementnamen ersetzt wird ('abk' + eine lau­
-fende Nummer). Alle Abkürzungen und Refinements werden als glo­
-bale Refinements definiert, also außerhalb von Prozeduren. Dadurch
-wird erreicht, daß sie an jeder Stelle verwendet werden können.
- Damit eine Abkürzung richtig als Refinement übersetzt wird,
-muß sie ein TEXT-Objekt als Wert liefern. Die anderen Refinements
-sind beliebig, da sie nur in selbstdefinierten Anweisungen verwen­
-det werden. Die Refinements der Abkürzungen werden in einer Zu­
-weisung an eine TEXT-Variable verwendet, damit der Druckgenera­
-tor auf den entsprechenden Wert zugreifen kann.
- Jeder Abschnitt wird dagegen als eine Prozedur übersetzt. Eine
-Folge von Musterzeilen wird in eine Anweisung übersetzt, diese
-Musterzeilen einzusetzen und zu drucken. Eine '%%'-Anweisung wird
-einfach unverändert dazwischengeschrieben. Die Prozedur für den
-Wiederholungsteil wird einmal für jeden ausgewählten Satz aufgeru­
-fen, die Vorspann- und die Nachspann-Prozedur einmal bei jedem
-Gruppenwechsel.
- Anweisungen im Initialisierungsteil werden an den Anfang des
-Programms als globale Definitionen gestellt.
-
-#on("b")#Fehler#off("b")# Findet sich in dem erzeugten ELAN-Programm ein
-Fehler,
-der durch den Druckgenerator nicht erkannt werden konnte (z.B.
-eine Abkürzung liefert keinen Wert), so muß der ELAN-Compiler
-diesen Fehler erkennen. Anschließend zeigt er das erzeugte Pro­
-gramm zusammen mit seinen Fehlermeldungen im Paralleleditor. Sie
-müssen nun die Fehlermeldung lokalisieren und anhand der eben
-gegebenen Hinweise in das ursprüngliche Druckmuster zurücküber­
-setzen, damit Sie dort den Fehler korrigieren können.
-
-
-5.5 Fehlermeldungen
-
-Folgende Fehlermeldungen können bei der Übersetzung eines Druck­
-musters auftreten:
-
-#on("i")#keine schliessende Klammer in Feldmuster#off("i")#
- Wenn der Name in einem Feldmuster in spitze Klammern einge­
- schlossen werden soll, muß noch in der gleichen Zeile eine
- schließende Klammer vorhanden sein.
-
-#on("i")#kein Kommando in Kommandozeile#off("i")#
- Eine Zeile, die mit '%' beginnt, enthält keinen weiteren Text.
-
-#on("i")#unbekanntes Kommando#off("i")#
- Das erste Wort in einer Kommandozeile ist kein bekanntes Kom­
- mando.
-
-#on("i")#kein % WIEDERHOLUNG gefunden#off("i")#
- Das Druckmuster enthält keine Anweisung, die den Beginn eines
- Abschnittes markiert. Es muß aber mindestens ein Abschnitt
- vorhanden sein.
-
-#on("i")#nur GRUPPE-Anweisung erlaubt#off("i")#
- Im Initialisierungsteil ist nur die GRUPPE-Anweisung erlaubt.
-
-#on("i")#keine ELAN-Anweisung im Initialisierungsteil nach Gruppen­
-definition#off("i")#
- Sobald im Initialisierungsteil eine GRUPPE-Anweisung aufgetreten
- ist, ist keine Kommandozeile mehr möglich.
-
-#on("i")#illegale Gruppennummer#off("i")#
- In einer GRUPPE-Anweisung wurde eine zu große Nummer angege­
- ben. Gruppen sollten von 1 an durchnumeriert werden.
-
-#on("i")#diese Gruppe wurde schon definiert#off("i")#
- Eine Gruppennummer wurde mehrfach verwendet.
-
-#on("i")#diese Abkürzung ist nicht definiert#off("i")#
- Ein Name in einem Feldmuster tritt nicht als Feld-oder Abkür­
- zungsname auf. Eventuell enthält er ein Leerzeichen!
-
-#on("i")#dieser Abschnitt wurde schon einmal definiert#off("i")#
- Kein Abschnitt kann mehrmals angegeben werden.
-
-#on("i")#falscher Modus#off("i")#
- In einer MODUS-Anweisung wurde ein nicht definierter Modus als
- Parameter angegeben.
-
-#on("i")#diese Anweisung darf im Musterteil nicht vorkommen#off("i")#
-
-#on("i")#im Abkürzungsteil darf keine Anweisung auftreten#off("i")#
-
-#on("i")#in dieser Zeile stehen zu viele Feldmuster#off("i")#
- Es können maximal 24 Feldmuster in einer Zeile stehen. Abhilfe:
- mehrere Feldmuster durch eine Abkürzung zusammenfassen.
-
-#on("i")#das Druckmuster enthält zu viele Feldmuster#off("i")#
- Die Gesamtanzahl der Feldmuster ist begrenzt. Abhilfe: mehrere
- Feldmuster durch eine Abkürzung zusammenfassen.
-
-#on("i")#nach dem "&" soll direkt der Name einer Abkürzung folgen#off("i")#
- In einer Abkürzungszeile stehen Leerzeichen hinter dem '&'.
-
-#on("i")#kein Doppelpunkt nach Abkürzung#off("i")#
- Nach dem Abkürzungsnamen in einer Abkürzungszeile muß durch
- ein Leerzeichen getrennt ein Doppelpunkt folgen.
-
-#on("i")#Abkürzung mehrfach definiert#off("i")#
- Die Abkürzung wurde unter dem gleichen Namen schon einmal,
- vielleicht in einem anderen Abschnitt, definiert.
-
-#on("i")#das Druckmuster enthält zu viele Abkürzungen#off("i")#
- Abhilfe: mehrere Abkürzungen zu einem Ausdruck zusammenfas­
- sen.
-
-
diff --git a/doc/eudas/eudas.ref.6 b/doc/eudas/eudas.ref.6
deleted file mode 100644
index 7c8ada6..0000000
--- a/doc/eudas/eudas.ref.6
+++ /dev/null
@@ -1,399 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (61)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-6 Struktur von EUDAS-Dateien
-
-
-
-EUDAS-Dateien können unabhängig von EUDAS über den Daten­
-typ EUDAT manipuliert werden. Die zur Verfügung stehenden Zu­
-griffsoperationen sind in diesem Kapitel beschrieben.
- Der Datentyp EUDAT ist analog zum Datentyp FILE. Jede
-EUDAT-Variable kann an eine EUDAS-Datei angekoppelt werden.
-Dadurch lassen sich beliebig viele EUDAS-Dateien gleichzeitig be­
-arbeiten. Wie der Abschnitt 6.6 zeigt, sind so auch ganz andere
-Anwendungen realisierbar.
- Die wesentlichen EUDAS-Funktionen (Ansehen, Suchen, Druk­
-ken) können jedoch nicht direkt auf EUDAT-Variablen angewendet
-werden, sondern greifen auf die virtuelle Datei zu, die im nächsten
-Kapitel beschreiben wird.
-
-
-6.1 Der Datentyp SATZ
-
-Der Datentyp SATZ stellt einen einzelnen EUDAS-Satz dar, der
-intern als TEXT realisiert ist. Ein SATZ besteht aus bis zu 256
-Feldern, die jeweils einen TEXT enthalten können. Nach dem Initi­
-alisieren sind alle Felder mit "" vorbelegt. Die Felder können über
-Nummern von 1 bis 256 angesprochen werden.
- Damit kann man sich einen SATZ als dynamisches ROW n TEXT
-vorstellen, das bis zu 256 Elemente haben kann. Anders als ein
-entsprechendes ROW belegt ein leerer SATZ praktisch keinen Spei­
-cherplatz.
- Folgende Zugriffsprozeduren stehen zur Verfügung:
-
-TYPE SATZ
-
-OP := (SATZ VAR, SATZ CONST)
-
-PROC satz initialisieren (SATZ VAR)
- Jeder SATZ muß vor Benutzung initialisiert werden.
-
-INT PROC felderzahl (SATZ CONST)
- Liefert die Nummer des höchsten belegten Feldes.
-
-PROC feld lesen (SATZ CONST, INT CONST feldnr,
- TEXT VAR inhalt)
- Liest den Inhalt des Feldes 'feldnr' in 'inhalt'.
-
- FEHLER:
-
- #on("i")#n ist keine Feldnummer#off("i")#
- 'n' liegt außerhalb des Bereiches 1..256.
-
-PROC feld bearbeiten (SATZ CONST, INT CONST feldnr,
- PROC (TEXT CONST, INT CONST, INT CONST) bearbeite)
- Ruft 'bearbeite' auf, wobei 'bearbeite' ein Text und zwei Posi­
- tionen in diesem Text übergeben werden. Die Positionen geben
- das erste und das letzte Zeichen des durch 'feldnr' ausgewähl­
- ten Feldes an. Ist der Anfang größer als das Ende, so ist das
- Feld leer.
-
- FEHLER:
-
- #on("i")#n ist keine Feldnummer#off("i")#
- 'n' liegt außerhalb des Bereiches 1..256.
-
-PROC feld aendern (SATZ VAR, INT CONST feldnr,
- TEXT CONST inhalt)
- Schreibt 'inhalt' in das Feld mit der Nummer 'feldnr'
-
- FEHLER:
-
- #on("i")#n ist keine Feldnummer#off("i")#
- 'n' liegt außerhalb des Bereiches 1..256.
-
-INT PROC feldindex (SATZ CONST, TEXT CONST muster)
- Falls eines der Felder 'muster' enthält, wird die Nummer dieses
- Feldes geliefert, sonst 0.
-
-
-6.2 Der Datentyp EUDAT
-
-Der Datentyp EUDAT muß ähnlich wie ein FILE an einen benann­
-ten oder unbenannten Datenraum angekoppelt werden. Der Daten­
-raum hat anschließend den Typ 3243. Weitere Zugriffe auf eine
-EUDAT-Variable sind erst nach erfolgtem Ankoppeln zulässig. An­
-derenfalls können undefinierte Fehler entstehen.
-
-TYPE EUDAT
-
-PROC oeffne (EUDAT VAR, TEXT CONST dateiname)
- Koppelt die EUDAT-Variable an die EUDAS-Datei mit dem
- Namen 'dateiname' an. Die Datei wird eingerichtet, falls sie
- noch nicht existiert.
-
- FEHLER:
-
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Die angegebene Datei hat nicht den Typ 3243.
-
-PROC oeffne (EUDAT VAR, DATASPACE CONST ds)
- Koppelt die EUDAT-Variable an den Datenraum 'ds'.
-
- FEHLER:
-
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Der Datenraum wurde bereits verwendet und hat nicht den Typ
- 3243.
-
-Eine EUDAS-Datei ist in Felder und Sätze unterteilt. Die Felder
-werden beim Zugriff über Nummern angesprochen. Jedem Feld ist
-jedoch zur Identifikation ein TEXT als Feldname zugeordnet. Die
-Feldnamen werden als SATZ gespeichert, wobei jedes Feld seinen
-zugeordneten Namen enthält.
-
-INT PROC felderzahl (EUDAT CONST)
- Liefert Anzahl der benannten Felder. Ist zu Anfang 0.
-
-PROC feldnamen aendern (EUDAT VAR,
- SATZ CONST neue namen)
- Setzt die Feldnamen einer Datei. Ist 'felderzahl (neue namen)'
- größer als die Felderzahl der Datei, so wird die Felderzahl der
- Datei entsprechend heraufgesetzt.
-
-PROC feldnamen lesen (EUDAT CONST, SATZ VAR namen)
- Liefert alle Feldnamen in einer SATZ-Variablen.
-
-Eine EUDAS-Datei enthält drei zusätzliche Notiztexte. Zwei davon
-sind bereits reserviert, und zwar:
-#free (0.2)#
- 1: Prüfbedingungen
- 2: Datum der letzten Änderung
-
-Der dritte kann für freie Notizen verwendet werden.
-
-PROC notizen lesen (EUDAT CONST, INT CONST notiz nr,
- TEXT VAR notizen)
- Schreibt die Notizen der EUDAS-Datei in 'notizen' ('notiz nr' =
- 1,2,3).
-
-PROC notizen aendern (EUDAT VAR, INT CONST notiz nr,
- TEXT CONST notizen)
- Ändert die Notizen. Alte Notizen werden dabei überschrieben
- ('notiz nr' = 1,2,3).
-
-
-6.3 Satzposition
-
-Eine EUDAS-Datei läßt sich sequentiell vorwärts und rückwärts
-bearbeiten. Dazu gibt es eine aktuelle Satzposition. Ein bestimmter
-Satz kann auch direkt angesprungen werden. Die Prozeduren, die
-nach dem Inhalt des ersten Feldes suchen, arbeiten besonders
-schnell, da die entsprechenden Sätze über eine Hashmethode gefun­
-den werden.
-
-INT PROC satznr (EUDAT CONST)
- Liefert aktuelle Satzposition.
-
-INT PROC saetze (EUDAT CONST)
- Liefert Anzahl der Sätze.
-
-BOOL PROC dateiende (EUDAT CONST)
- Liefert TRUE, wenn 'satznr' groesser als 'saetze' ist. Die letzte
- erreichbare Satzposition liegt um eins hinter dem letzten Satz
- (um auch am Ende anfügen zu können).
-
-PROC auf satz (EUDAT VAR, INT CONST satznr)
- Positioniert auf den gewünschten Satz. Bei nicht existierenden
- Sätzen wird auf den ersten bzw. hinter den letzten Satz ge­
- sprungen.
-
-PROC weiter (EUDAT VAR)
- Geht einen Satz weiter, jedoch nicht über das Dateiende hinaus.
-
-PROC zurueck (EUDAT VAR)
- Geht einen Satz zurück, falls der erste Satz noch nicht erreicht
- ist.
-
-PROC auf satz (EUDAT VAR, TEXT CONST muster)
- Positioniert auf den ersten Satz, der als erstes Feld 'muster'
- enthält, anderenfalls hinter den letzten Satz.
-
-PROC weiter (EUDAT VAR, TEXT CONST muster)
- Geht weiter, bis das erste Feld 'muster' enthält, bzw. bis hinter
- den letzten Satz.
-
-PROC zurueck (EUDAT VAR, TEXT CONST muster)
- Geht zurück, bis das erste Feld 'muster' enthält, bzw. auf den
- ersten Satz der EUDAS-Datei.
-
-
-6.4 Satzzugriffe
-
-Der aktuelle Satz ist ein SATZ-Objekt. Auf die Felder des aktuellen
-Satzes kann direkt zugegriffen werden.
-
-PROC feld lesen (EUDAT CONST, INT CONST feldnr,
- TEXT VAR inhalt)
- Wirkt wie 'feld lesen' auf den aktuellen Satz.
-
-PROC feld aendern (EUDAT VAR, INT CONST feldnr,
- TEXT CONST inhalt)
- Wirkt wie 'feld aendern' auf den aktuellen Satz.
-
-PROC feld bearbeiten (EUDAT CONST, INT CONST feldnr,
- PROC (TEXT CONST, INT CONST, INT CONST) bearbeite)
- Wirkt wie 'feld bearbeiten' auf den aktuellen Satz.
-
-Der aktuelle Satz kann auch als Ganzes bearbeitet werden.
-
-PROC satz lesen (EUDAT CONST, SATZ VAR satz)
- Liefert den aktuellen Satz.
-
-PROC satz aendern (EUDAT VAR, SATZ CONST satz)
- Ersetzt den aktuellen Satz durch 'satz'.
-
-PROC satz einfuegen (EUDAT VAR, SATZ CONST satz)
- Fügt 'satz' vor dem aktuellen Satz ein.
-
- FEHLER:
-
- #on("i")#EUDAS-Datei voll#off("i")#
- Eine EUDAS-Datei faßt mindestens 5000 Sätze.
-
-PROC satz loeschen (EUDAT VAR)
- Löscht den aktuellen Satz.
-
-
-6.5 Sortieren und Reorganisieren
-
-Zum Sortieren können für die einzelnen Felder Typen angegeben
-werden, damit auch Zahlen und Daten richtig sortiert werden kön­
-nen. Außerdem kann die Feldreihenfolge angegeben werden, nach
-der sortiert werden soll.
-
-PROC feldinfo (EUDAT VAR, INT CONST feldnr, info)
- Setzt den Feldtyp des Feldes 'feldnr'. Es bedeuten
- -1 : normaler Text (Standard)
- 0 : Text nach DIN. Ziffern und Sonderzeichen werden igno­
- riert. Groß-und Kleinbuchstaben gelten gleich. Umlaute
- werden beachtet.
- 1 : Zahl (beim Vergleich werden alle Zeichen außer Zif­
- fern ignoriert).
- 2 : Datum. Es werden Daten der Form "tt.mm.jj" vergli­
- chen.
-
-INT PROC feldinfo (EUDAT CONST, INT CONST feldnr)
- Der Feldtyp des angegebenen Feldes wird geliefert. Zu Anfang
- ist -1 voreingestellt.
-
-INT PROC unsortierte saetze (EUDAT CONST)
- Liefert die Anzahl von Sätzen, die seit dem letzten Sortiervor­
- gang geändert wurden. Bei einer neuen Datei, die noch nie
- sortiert wurde, wird immer 0 geliefert.
-
-PROC dezimalkomma (TEXT CONST komma)
- Stellt das Dezimalkomma ein, das beim Vergleich von Zahlen
- gelten soll.
-
- FEHLER:
-
- #on("i")#Nicht erlaubtes Dezimalkomma#off("i")#
- Nur Texte der Länge 1 sind zugelassen.
-
-TEXT PROC dezimalkomma
- Liefert das eingestellte Dezimalkomma ("," ist voreingestellt).
-
-PROC sortiere (EUDAT VAR, TEXT CONST reihenfolge)
- Sortiert die Datei in der von 'reihenfolge' angegebenen Reihen­
- folge. Dabei enthält 'reihenfolge' an der Stelle 2*i+1 den Code
- der Feldnummer, die als i-te in der Sortierung berücksichtigt
- werden soll. Das Zeichen an der Stelle 2*i gibt an, ob das Feld
- mit der davorstehenden Feldnummer aufsteigend ('+') oder
- absteigend ('-') sortiert werden soll.
-
-PROC sortiere (EUDAT VAR)
- Sortiert die Datei in der zuletzt eingestellten Reihenfolge.
- Wurde noch keine Reihenfolge angegeben, wird die Datei in der
- Feldreihenfolge sortiert.
-
-TEXT PROC sortierreihenfolge (EUDAT CONST)
- Liefert die zuletzt eingestellte Reihenfolge. Wurde noch nicht
- sortiert, so wird "" geliefert.
-
-Nach umfangreichen Änderungen an einer EUDAS-Datei ist eine
-Reorganisation sinnvoll, um "Textleichen" zu beseitigen.
-
-PROC reorganisiere (TEXT CONST dateiname)
- Die EUDAS-Datei mit dem Namen 'dateiname' wird reorgani­
- siert.
-
-
-6.6 EUDAS-Dateien als Assoziativspeicher
-
-In diesem Abschnitt soll ein Beispiel erläutert werden, in dem
-EUDAS-Dateien unabhängig von EUDAS für einen ganz anderen
-Zweck benutzt werden. Das folgende kurze Paket soll ein Abkür­
-zungsverzeichnis realisieren, das auf einer EUDAS-Datei basiert.
-
-
- PACKET abkuerzungsverzeichnis
- DEFINES
- verzeichnis laden,
- abkuerzung einfuegen,
- abkuerzung aendern,
- abkuerzung loeschen,
- langform :
-
- EUDAT VAR verz;
- SATZ VAR satz;
- TEXT VAR inhalt;
-
- PROC verzeichnis laden (TEXT CONST dateiname) :
-
- oeffne (verz, dateiname)
-
- END PROC verzeichnis laden;
-
- PROC abkuerzung einfuegen (TEXT CONST abk, lang) :
-
- auf satz (verz, abk);
- IF NOT dateiende (verz) THEN
- errorstop ("Abkürzung existiert bereits")
- ELSE
- satz initialisieren (satz);
- feld aendern (satz, 1, abk);
- feld aendern (satz, 2, lang);
- satz einfuegen (satz)
- END IF
-
- END PROC abkuerzung einfuegen;
-
- PROC abkuerzung aendern (TEXT CONST abk, lang) :
-
- auf satz (verz, abk);
- IF dateiende (verz) THEN
- errorstop ("Abkürzung existiert nicht")
- ELSE
- feld aendern (verz, 2, lang)
- END IF
-
- END PROC abkuerzung aendern;
-
- PROC abkuerzung loeschen (TEXT CONST abk) :
-
- auf satz (verz, abk);
- IF NOT dateiende (verz) THEN
- satz loeschen (verz)
- END IF
-
- END PROC abkuerzung loeschen;
-
- TEXT PROC langform (TEXT CONST abk) :
-
- auf satz (verz, abk);
- IF dateiende (verz) THEN
- inhalt := "";
- errorstop ("Abkürzung nicht vorhanden")
- ELSE
- feld lesen (verz, 2, inhalt)
- END IF;
- inhalt
-
- END PROC langform;
-
- END PACKET abkuerzungsverzeichnis;
-
-
-Die Prozedur 'verzeichnis laden' koppelt die interne EUDAT-Vari­
-able 'verz' an eine benannte EUDAS-Datei, die eventuell vorher mit
-EUDAS erstellt wurde. In diesem Beispiel sind die Feldnamen egal;
-falls die übergebene EUDAS-Datei noch nicht existiert, wird sie mit
-0 Feldern eingerichtet, was aber nur für eine spätere Anzeige mit
-EUDAS störend wäre.
- Grundlage für das Aufsuchen einer bestimmten Abkürzung bil­
-det immer die Prozedur 'auf satz', die nach dem Inhalt des ersten
-Feldes optimiert sucht. Falls die Abkürzung nicht gefunden wurde,
-wird auf das Dateiende positioniert, daher wird jeweils 'dateiende'
-abgefragt.
- Beim Einfügen eines neuen Satzes muß eine komplette Satz­
-variable angegeben werden, die bereits mit den Inhalten gefüllt ist.
-Beim späteren Ändern kann jedoch direkt auf ein Feld zugegriffen
-werden, ohne die Satzvariable explizit rauszuholen.
- Die Abfrage einer bestimmten Abkürzung bereitet dann keine
-Schwierigkeiten mehr.
- Für die Verwendung von EUDAS-Dateien in diesem Beispiel
-spricht zum einen die einfache Programmierung, zum anderen aber
-auch die Möglichkeit, das erstellte Verzeichnis mit den Hilfsmitteln
-
diff --git a/doc/eudas/eudas.ref.7 b/doc/eudas/eudas.ref.7
deleted file mode 100644
index 31b3031..0000000
--- a/doc/eudas/eudas.ref.7
+++ /dev/null
@@ -1,447 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (71)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-7 Verwaltung der offenen Dateien
-
-
-Die in diesem Kapitel beschriebene Schnittstelle verbindet mehrere
-EUDAS-Dateien zu einem großen Dateimodell. Diese virtuelle Datei
-dient als Grundlage für die meisten EUDAS-Funktionen. Zuerst muß
-eine Datei als Bestandteil der virtuellen Datei geöffnet werden, ehe
-sie bearbeitet werden kann. Es ist so bei den Funktionen keine
-Angabe mehr nötig, welche Datei gemeint ist.
- Diese Schnittstelle ist in vielen Teilen für die interne
-EUDAS-Anwendung ausgelegt. Bei einigen Prozeduren werden aus
-Effizienzgründen keinerlei Überprüfungen auf illegale Aufrufe oder
-Parameter durchgeführt. Wollen Sie eine solche Prozedur dennoch
-verwenden, sollten Sie die Einhaltung der angegebenen Bedingungen
-sorgfältig überprüfen.
-
-
-7.1 Dateiverwaltung
-
-Mit 'oeffne' wird eine Datei zum Bearbeiten geöffnet. Mit 'kette' und
-'kopple' können weitere Dateien dazugekettet bzw. dazugekoppelt
-werden. Durch 'sichere' können veränderte Kopien zurückgeschrie­
-ben werden. Durch 'dateien loeschen' werden die internen Kopien
-gelöscht.
- Mit 'anzahl dateien' kann die Anzahl der vorhandenen Dateien
-erfragt werden. 'anzahl koppeldateien' gibt Auskunft darüber, wie­
-viel Dateien davon gekoppelt sind. 'aendern erlaubt' gibt den Status
-wieder, der beim Öffnen der ersten Datei angegeben wurde. 'inhalt
-veraendert' gibt an, ob die angegebene Datei verändert wurde. Mit
-'eudas dateiname' können die Namen der geöffneten Dateien erfragt
-werden. Bei jedem 'oeffne' wird 'dateiversion' um 1 erhöht. Dies
-dient dazu, ein erfolgtes neues Öffnen von anderen Stellen aus zu
-entdecken.
- Mit 'auf koppeldatei' kann die virtuelle Datei auf eine Koppel­
-datei umgeschaltet werden, so daß der Eindruck entsteht, nur diese
-Datei wäre geöffnet worden.
-
-PROC oeffne (TEXT CONST dateiname,
- BOOL CONST aendern erlaubt)
- Falls Ändern erlaubt sein soll, wird eine Kopie der angegebenen
- Datei zur Bearbeitung für EUDAS angelegt. Vorher geöffnete
- Dateien werden gelöscht. Die Änderungserlaubnis wird entspre­
- chend gesetzt. Es wird die Satzposition der EUDAS-Datei ange­
- nommen (Ausnahme: steht die EUDAS-Datei hinter dem letzten
- Satz, wird auf Satz 1 positioniert). 'dateiversion' sowie 'anzahl
- dateien' werden um 1 erhöht.
-
- FEHLER:
-#f1#
- #on("i")#Datei nicht gesichert#off("i")#
- Eine vorher geöffnete Datei war verändert, aber nicht gesi­
- chert.
-#f1#
- #on("i")#Datei existiert nicht#off("i")#
- Die angegebene Datei ist nicht vorhanden.
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Die angegebene Datei hat nicht den für EUDAS-Dateien festge­
- legten Typ.
-
-PROC kopple (TEXT CONST dateiname)
- Die angegebene Datei wird zu den bereits geöffneten Dateien
- dazugekoppelt. Falls Ändern erlaubt ist, wird eine Kopie dieser
- Datei verwendet. Dabei werden die ersten Felder der Datei, die
- bereits in der Hauptdatei vorhanden sind, als Koppelfelder
- festgelegt. Alle weiteren Felder werden zusätzlich zu den bis­
- herigen angelegt. 'dateiversion', 'anzahl dateien' und 'anzahl 
- koppeldateien' werden um 1 erhöht.
-
- FEHLER:
-#f1#
- #on("i")#keine Datei geoeffnet#off("i")#
- Es muß vorher eine Datei geöffnet werden.
-#f1#
- #on("i")#Zuviel Dateien geoeffnet#off("i")#
- Die Anzahl der gleichzeitig geöffneten Dateien ist begrenzt.
-#f1#
- #on("i")#Datei existiert nicht#off("i")#
- Die angegebene Datei ist nicht vorhanden.
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Die angegebene Datei hat nicht den für EUDAS-Dateien festge­
- legten Typ.
-#f1#
- #on("i")#Zu viele Felder#off("i")#
- Die Anzahl der Felder insgesamt ist begrenzt.
-#f1#
- #on("i")#Zu viele Koppelfelder#off("i")#
- Die Anzahl der Koppelfelder ist begrenzt.
-#f1#
- #on("i")#keine Koppelfelder vorhanden#off("i")#
- Das erste Feld der zu koppelnden Datei ist in der Hauptdatei
- nicht vorhanden (unterschiedliche Feldnamen).
-
-PROC kette (TEXT CONST dateiname)
- Die angegebene Datei wird an die Hauptdatei angekettet, d.h.
- die Sätze der neuen Datei werden am bisherigen Dateiende
- angefügt. Falls Ändern erlaubt ist, wird eine Kopie dieser Datei
- verwendet. Die zu kettende Datei muß in der Feldstruktur nicht
- mit der Hauptdatei übereinstimmen. Die aktuelle Satzposition
- wird beibehalten. 'dateiversion' und 'anzahl dateien' werden um
- 1 erhöht.
-
- FEHLER:
-#f1#
- #on("i")#keine Datei geoeffnet#off("i")#
- Es muß vorher eine Datei geöffnet werden.
-#f1#
- #on("i")#Zuviel Dateien geoeffnet#off("i")#
- Die Anzahl der gleichzeitig geöffneten Dateien ist begrenzt.
-#f1#
- #on("i")#Datei existiert nicht#off("i")#
- Die angegebene Datei ist nicht vorhanden.
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Die angegebene Datei hat nicht den für EUDAS-Dateien festge­
- legten Typ.
-
-PROC sichere (INT CONST dateinr, TEXT CONST dateiname)
- Die geöffneten Dateien werden in der Reihenfolge ihres Öffnens
- durchnumeriert (von 1 an). Die Arbeitskopie mit der angegebe­
- nen Nummer wird unter dem angegebenen Namen gesichert, aber
- selbst nicht verändert. Die vorher unter diesem Namen vorhan­
- dene Datei wird gelöscht. War die zu sichernde Arbeitskopie
- verändert worden, so wird sie anschließend als nicht verändert
- angesehen.
- Bedingungen:
- 1 <= dateinr <= anzahl dateien
-
-PROC dateien loeschen (BOOL CONST auch geaenderte)
- Es werden alle geöffneten Arbeitskopien gelöscht. EUDAS wird
- wieder in den Anfangszustand versetzt. Wird 'auch geaenderte'
- angegeben, wird bei geänderten, aber nicht gesicherten Dateien
- die Fehlermeldung unterdrückt.
-
- FEHLER:
-#f1#
- #on("i")#Datei nicht gesichert#off("i")#
- Eine vorher geöffnete Datei war verändert, aber nicht gesi­
- chert.
-
-BOOL PROC auf koppeldatei
- Liefert TRUE, wenn auf eine Koppeldatei umgeschaltet wurde.
-
-PROC auf koppeldatei (INT CONST nr)
- Umschalten auf Koppeldatei 'nr'. Ist bereits umgeschaltet, wird
- wieder zurückgeschaltet. In diesem Fall werden bei 'nr' = 1 die
- Koppelfelder übernommen, anderenfalls nicht. Beim Umschalten
- bleiben Satzposition, Markierungen und Suchmuster gespeichert.
- In der Koppeldatei wird die beim letzten Umschalten eingestell­
- te Position wieder eingenommen. 'dateiversion' wird um 1 er­
- höht.
-
-INT PROC anzahl dateien
- Gibt die Anzahl der insgesamt geöffneten Dateien an.
-
-INT PROC anzahl koppeldateien
- Gibt die Anzahl der gekoppelten Dateien an.
-
-BOOL PROC aendern erlaubt
- Reflektiert den Status, der bei 'oeffne' gesetzt wurde.
-
-BOOL PROC inhalt veraendert (INT CONST dateinr)
- Gibt an, ob die geöffnete Datei mit der angegebenen Nummer
- verändert wurde. Wird ggf. von 'sichere' zurückgesetzt.
- Bedingung:
- 1 <= dateinr <= anzahl dateien
-
-TEXT PROC eudas dateiname (INT CONST dateinr)
- Liefert den Namen, unter dem die entsprechende Datei geöffnet
- wurde.
- Bedingung:
- 1 <= dateinr <= anzahl dateien
-
-INT PROC dateiversion
- Wird bei jedem 'oeffne', 'kette' und 'kopple' zyklisch erhöht.
-
-INT PROC folgedatei (INT CONST dateinr)
- Eine geöffnete EUDAS-Datei wird in eine von zwei Listen auf­
- genommen, die der geketteten Dateien und die der gekoppelten.
- Diese Prozedur liefert jeweils die Nummer der nächsten Datei in
- der Liste, am Ende aber 0. Die Liste der geketteten Dateien
- beginnt immer mit 1, mit 'folgedatei (0)' erhält man die erste
- gekoppelte Datei.
- Bedingung:
- 0 <= dateinr <= anzahl dateien
-
-
-7.2 Feldstruktur
-
-Die einzelnen Sätze der kombinierten EUDAS-Datei sind in Felder
-unterteilt. Diese setzen sich zusammen aus den Feldern der Haupt­
-datei und der einzelnen Koppeldateien, wobei die Koppelfelder je­
-weils nur einmal auftauchen.
- 'anzahl felder' liefert die Anzahl der vorhanden Felder. Mit
-'feldnamen lesen' und 'feldnamen bearbeiten' können die Feldnamen
-abgefragt werden. 'feldnummer' liefert einen Index für einen vor­
-gegebenen Feldnamen, da die Felder immer über Nummern angespro­
-chen werden.
- Die Prozeduren 'feld lesen' und 'feld bearbeiten' ermöglichen
-den Zugriff auf den Feldinhalt des aktuellen Satzes; durch 'feld
-aendern' kann dieser Inhalt abgeändert werden.
-
-INT PROC anzahl felder
- Liefert die Anzahl der vorhanden Felder.
-
-PROC feldnamen lesen (INT CONST feldnr,
- TEXT VAR feldname)
- Liefert in 'feldname' den Namen des Feldes mit der Nummer
- 'feldnr'.
- Bedingung:
- 1 <= feldnr <= anzahl felder
-
-PROC feldnamen bearbeiten (INT CONST feldnr,
- PROC (TEXT CONST, INT CONST, INT CONST) bearbeite)
- Die Prozedur 'bearbeite' wird aufgerufen. Als Parameter werden
- ein Text und Anfangs- und Endposition des gewünschten Feld­
- namens in diesem Text übergeben. Verhindert unnötiges Kopie­
- ren des Feldnamens in eine TEXT-Variable. Der übergebene
- Text darf nicht verändert werden!
- Bedingung:
- 1 <= feldnr <= anzahl felder
-
-INT PROC feldnummer (TEXT CONST feldname)
- Liefert den index zu dem angegebenen Feldnamen. Falls ein
- solcher Name nicht existiert, wird 0 geliefert.
-
-PROC feld lesen (INT CONST feldnr, TEXT VAR inhalt)
- Liefert den Inhalt des angegebenen Feldes.
- Bedingung:
- 1 <= feldnr <= anzahl felder
-
-PROC feld bearbeiten (INT CONST feldnr,
- PROC (TEXT CONST, INT CONST, INT CONST) bearbeite)
- Die Prozedur 'bearbeite' wird aufgerufen. Der Feldinhalt des
- angegebenen Feldes steht im übergebenen Text innerhalb der
- Grenzen. Ist die Obergrenze kleiner als die Untergrenze, so ist
- das Feld leer.
- Bedingung:
- 1 <= feldnr <= anzahl felder
-
-PROC feld aendern (INT CONST feldnr, TEXT CONST inhalt)
- Ändert den Inhalt des angegebenen Feldes.
- Bedingung:
- NOT ende der datei
- 1 <= feldnr <= anzahl felder
-
-INT PROC feldinfo (INT CONST feldnummer)
- Liefert den Typ des angegebenen Feldes.
- Bedingung:
- 1 <= feldnummer <= anzahl felder
-
-PROC notizen lesen (INT CONST nr, TEXT VAR inhalt)
- Liest die angegebenen Notizen ('nr' = 1,2,3) aus der ersten
- Datei oder der umgeschalteten Koppeldatei.
-
-PROC notizen aendern (INT CONST nr, TEXT CONST inhalt)
- Ändert die Notizen ('nr' = 1,2,3) der ersten Datei oder der um­
- geschalteten Koppeldatei.
-
-
-7.3 Positionierung
-
-Das virtuelle Dateimodell von EUDAS verfügt ebenfalls über eine
-Satzposition, die verändert werden kann.
- Durch 'satznummer' wird die aktuelle Satznummer geliefert,
-beim Koppeln kann über 'satzkombination' die Reihenfolge der Kop­
-pelkombinationen bestimmt werden. 'dateiende' zeigt an, ob die
-Satzposition hinter dem letzten Satz liegt. Mit 'weiter' und 'zurueck'
-erfolgt die eigentliche Positionierung. Hier kann außer der Positio­
-nierung um Einzelsätze auch die Positionierung auf den nächsten
-ausgewählten oder markierten Satz angefordert werden. Mit 'auf 
-satz' schließlich kann ein bestimmter Satz angesprungen werden.
-
-INT PROC satznummer
- Liefert die Nummer des aktuellen Satzes. Die Sätze werden von
- 1 an durchnumeriert, wobei über die geketteten Dateien wei­
- tergezählt wird.
- Bedingung:
- anzahl dateien > 0
-
-INT PROC satzkombination
- Liefert die laufende Nummer der Koppelkombination des aktuel­
- len Satzes. Wird nur durch 'weiter' im Einzelsatzmodus erhöht.
- Normalerweise 1.
- Bedingung:
- anzahl dateien > 0
-
-BOOL PROC dateiende
- Gibt an, ob die Satzposition hinter dem letzten Satz liegt.
-
-PROC weiter (INT CONST modus)
- Erhöht die aktuelle Satzposition. Für 'modus' gibt es 3 Möglich­
- keiten:
- 1: Falls eine weitere Satzkombination besteht, wird diese ein­
- genommen, sonst zum nächsten Satz.
- 2: Zum nächsten durch Suchbedingung ausgewählten Satz. Wird
- optimiert.
- 3: Zum nächsten markierten Satz. Wird optimiert.
- Ist kein Satz mehr vorhanden, wird die Satzposition hinter dem
- letzten Satz eingenommen.
- Bedingung:
- anzahl dateien > 0
-
-PROC zurueck (INT CONST modus)
- Geht um einen Satz zurück. Die Modusangabe ist wie bei 'wei­
- ter', jedoch wird im Modus 1 keine weitere Satzkombination
- ausprobiert. Die Positionierung endet bei Satz 1.
- Bedingung:
- anzahl dateien > 0
-
-PROC auf satz (INT CONST satznr)
- Geht auf den angegebenen Satz. Ist 'satznr' < 1, wird auf Satz 1
- positioniert, ist der angegebene Satz nicht vorhanden, wird
- hinter den letzten Satz positioniert. Es wird jeweils die erste
- Satzkombination eingenommen.
- Bedingung:
- anzahl dateien > 0
-
-
-7.4 Änderungen
-
-Sätze des Dateimodells können eingefügt oder gelöscht werden.
-Durch das Einfügen entsteht ein leerer Satz vor dem aktuellen Satz;
-alle weiteren Sätze rücken eine Stelle weiter. Beim Löschen wird
-dieser Vorgang wieder rückgängig gemacht.
- Durch 'satz einfuegen' wird ein Leersatz eingefügt; durch
-'satz loeschen' wird der aktuelle Satz gelöscht.
- Sätze in gekoppelten Dateien werden grundsätzlich nicht ge­
-löscht; auch beim Einfügen entsteht nicht automatisch ein Leersatz
-in den gekoppelten Dateien. Änderungen in den Koppeldateien
-(durch 'feld aendern') werden gepuffert. Durch 'aenderungen ein­
-tragen' werden die Änderungen dann in die Koppeldateien eingetra­
-gen. Dabei kann auch ein neuer Satz in die Koppeldatei eingefügt
-werden. Bei Positionierungen wird diese Prozedur automatisch auf­
-gerufen.
-
-PROC satz einfuegen
- Fügt vor dem aktuellen Satz einen Leersatz ein.
- Bedingung:
- anzahl dateien > 0
-
-PROC satz loeschen
- Löscht den aktuellen Satz. Hat hinter dem letzten Satz keine
- Wirkung.
- Bedingung:
- anzahl dateien > 0
-
-PROC aenderungen eintragen
- Trägt die gepufferten Änderungen in die Koppeldateien ein.
- Dabei können die folgenden Fälle auftreten:
- 1. Der Satz in der Koppeldatei wird geändert.
- Dies geschieht dann, wenn vorher ein passender Satz in der
- Koppeldatei vorhanden war und die Koppelfelder nicht ver­
- ändert wurden.
- 2. In der Koppeldatei wird ein neuer Satz eingefügt.
- Wenn die Koppelfelder und noch andere Felder einer Datei
- geändert wurden, wird in dieser Datei ein neuer Satz einge­
- fügt.
- 3. Es wird neu gekoppelt.
- Wurden nur die Koppelfelder einer Datei geändert, wird ein
- neuer, zu diesen Feldern passender Satz gesucht. Nach
- 'aenderungen eintragen' erscheinen unter den Feldern der
- Datei die neuen Inhalte.
-
-
-7.5 Suchbedingungen
-
-Über 'suchbedingung' kann eine Suchbedingung eingetragen werden,
-die für jeden Satz geprüft werden soll. Mit 'satz ausgewaehlt' wird
-erfragt, ob der aktuelle Satz die Suchbedingung erfüllt. Die Such­
-bedingung kann mit 'suchbedingung loeschen' wieder ausgeschaltet
-werden.
- Einzelne Sätze können auch markiert werden. Nach einem Öff­
-nen ist zunächst kein Satz markiert. Durch 'markierung  aendern'
-kann die Markierung eines Satzes geändert werden. 'satz markiert'
-fragt ab, ob der aktuelle Satz markiert ist. 'markierte saetze' liefert
-die Anzahl der markierten Sätze. Mit 'markierungen loeschen' wer­
-den alle Markierungen entfernt.
-
-PROC suchbedingung (INT CONST feldnr,
- TEXT CONST bedingung)
- Stellt für das angegebene Feld die im Text als Muster angege­
- bene Suchbedingung ein. Weitere Aufrufe verknüpfen die Be­
- dingungen mit UND (auch wenn das gleiche Feld erneut angege­
- ben wird).
- Bedingung:
- anzahl dateien > 0
- 1 <= feldnr <= anzahl felder
-
- FEHLER:
-#f1#
- #on("i")#Suchmuster zu umfangreich#off("i")#
- Es wurden zu viele Vergleiche gefordert.
-
-BOOL PROC satz ausgewaehlt
- Gibt an, ob die Suchbedingung auf den aktuellen Satz zutrifft.
- Hinter dem letzten Satz wird immer FALSE geliefert.
- Bedingung:
- anzahl dateien > 0
-
-PROC suchbedingung lesen (INT CONST feldnr, TEXT VAR bedingung)
- Liefert die zuletzt für das angegebene Feld eingestellte Bedin­
- gung, falls die Suchbedingung nicht gelöscht und keine Datei
- neu geöffnet wurde.
- Bedingung:
- 1 <= feldnr <= anzahl felder
-
-PROC suchbedingung loeschen
- Löscht die eingestellte Suchbedingung wieder. Anschließend
- sind alle Sätze ausgewählt.
- Bedingung:
- anzahl dateien > 0
-
-PROC markierung aendern
- Ändert die Markierung des aktuellen Satzes ins Gegenteil.
- Bedingung:
- anzahl dateien > 0
-
-BOOL PROC satz markiert
- Gibt an, ob der aktuelle Satz markiert ist.
- Bedingung:
- anzahl dateien > 0
-
-INT PROC markierte saetze
- Gibt an, wieviel Sätze insgesamt markiert sind.
- Bedingung:
- anzahl dateien > 0
-
-PROC markierungen loeschen
- Löscht alle Markierungen.
- Bedingung:
- anzahl dateien > 0
-
diff --git a/doc/eudas/eudas.ref.8 b/doc/eudas/eudas.ref.8
deleted file mode 100644
index fc2b3bc..0000000
--- a/doc/eudas/eudas.ref.8
+++ /dev/null
@@ -1,454 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (83)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-8 Funktionen zur Bearbeitung
-
-
-
-Die Verarbeitungsfunktionen arbeiten jeweils auf der aktuell geöff­
-neten Datei. Falls mindestens ein Satz markiert ist, werden nur
-markierte Sätze bearbeitet, anderenfalls die durch die Suchbedin­
-gung ausgewählten Sätze.
-
-
-8.1 Drucken
-
-Zum Drucken wird ein Druckmuster als Textdatei benötigt. Dessen
-Name muß beim Aufruf der Prozedur 'drucke' angegeben werden.
-Werden beim Übersetzen des Druckmusters Fehler entdeckt, so wird
-der Paralleleditor aufgerufen und kein Druckvorgang durchgeführt.
- Normalerweise sendet der Druckgenerator die Ausgabe direkt
-zum Drucker. Alternativ kann die Ausgabe auch in eine Datei ge­
-schrieben werden. Dieses Verfahren kann mit 'direkt drucken' umge­
-stellt werden. Der Aufruf
-
-
- direkt drucken (TRUE)
-
-
-sendet alle Dateien direkt zum Drucker, mit
-
-
- direkt drucken (FALSE)
-
-
-wird die Ausgabe in Dateien abgelegt. Diese Dateien erhalten Namen
-der Form
-
-
- "Druckmustername.a$n"
-
-
-wobei 'n' eine laufende Nummer zur Unterscheidung ist.
- Soll die Druckausgabe in eine ganz bestimmte Datei geleitet
-werden, so kann vor dem Aufruf von 'drucke' die Prozedur 'druck­
-datei' aufgerufen werden, die als Parameter den Namen der Ausga­
-bedatei erhält. Existiert die Datei noch nicht, wird sie eingerichtet,
-ansonsten wird die Ausgabe am Ende angehängt.
- Die Einstellung der Ausgabedatei gilt nur für einen Druckvor­
-gang und überschreibt für diesen Druckvorgang 'direkt drucken'.
-Beim nächsten Druckvorgang wird wieder die durch 'direkt drucken'
-festgelegte Einstellung verwendet.
- Wenn beim Drucken ein großes Ausgabevolumen anfällt, kann es
-sinnvoll sein, die Ausgabe in mehrere kleine Dateien aufzuteilen.
-Dies gilt auch, wenn direkt gedruckt werden soll, da auch in diesem
-Fall eine Zwischendatei erzeugt werden muß. Die maximale Anzahl
-von Zeilen pro Datei wird durch 'max druckzeilen' angegeben.
- Der dort angegeben Wert gilt nur ungefähr - ein Wechsel der
-Ausgabedatei findet dann statt, wenn die Ausgabedatei nach Bear­
-beitung eines Satzes die Maximalanzahl überschritten hat. In die
-neue Datei wird anschließend zuerst der Initialisierungsteil des
-Druckmusters kopiert, ehe mit der Ausgabe des nächsten Satzes
-fortgefahren wird.
-
-Die Prozeduren im einzelnen:
-
-
-PROC drucke (TEXT CONST druckmuster)
-
- Die aktuell geöffnete Datei wird nach dem angegebenen Druck­
- muster gedruckt.
-
- FEHLER:
-#f1#
- #on("i")#Datei "druckmuster" existiert nicht#off("i")#
- Das angegebene Druckmuster ist nicht vorhanden.
-#f1#
- #on("i")#keine Datei geoeffnet#off("i")#
- Zum Drucken muß eine Datei geöffnet sein.
-#f1#
- #on("i")#direkt Drucken nicht möglich#off("i")#
- Es ist kein Druckprogramm installiert oder der Spooler läßt sich
- mit 'print' nicht ansprechen. Der Druck wird abgebrochen, die
- Ausgabedatei ist noch vorhanden.
-
-
-PROC direkt drucken (BOOL CONST ja)
-
- Gibt an, ob die Druckausgaben direkt gedruckt oder in einer
- Datei gesammelt werden sollen.
-
-
-PROC druckdatei (TEXT CONST ausgabedatei)
-
- Leitet die Druckausgabe des nächsten Druckvorgangs in die
- Datei 'ausgabedatei'. Die Einstellung von 'direkt drucken' wird
- für diesen Druckvorgang überschrieben. Die Ausgabe wird am
- Ende der Datei angehängt, falls nötig, wird die Ausgabedatei
- vorher eingerichtet.
-
-
-PROC maxdruckzeilen (INT CONST zeilen)
-
- Stellt die maximale Anzahl von Zeilen für die Ausgabedatei ein.
- Beim Überschreiten dieses Wertes wird eine neue Datei ange­
- fangen. Standardwert ist 4000.
-
-
-TEXT PROC lfd nr
-
- Liefert während des Druckens die laufende Nummer des gerade
- gedruckten Satzes als Text.
-
-
-BOOL PROC gruppenwechsel (INT CONST gruppennr)
-
- Kann innerhalb eines Vor- oder Nachspanns beim Drucken ab­
- gefragt werden, um festzustellen, ob die angegebene Gruppe
- gewechselt und damit den Vor- bzw. Nachspann mitverursacht
- hat (es können zu einem Zeitpunkt mehrere Gruppen wechseln).
- Die Gruppennummer 0 gibt die Standardgruppe an, die nur vor
- dem ersten und nach dem letzten Satz wechselt.
-
-
-8.2 Kopieren
-
-Zum selektiven Kopieren von EUDAS-Dateien wird ein Kopiermuster
-benötigt. Dieses gibt die Zuordnung zwischen Feldern der Ziel- und
-der Quelldatei an. Die Quelldatei ist immer die aktuell geöffnete
-Datei.
- Die Kopierfunktion wird durch 'kopiere' aufgerufen. Parameter
-sind der Name der Zieldatei und das Kopiermuster als FILE. Alter­
-nativ kann statt des Kopiermusters eine Prozedur übergeben wer­
-den, die die Kopieranweisungen erhält.
- Der eigentliche Kopiervorgang wird durch den Operator 'K'
-bewirkt. Dieser erhält den Zielfeldnamen und einen TEXT-Aus­
-druck als Parameter. Der Wert des TEXT-Ausdrucks wird in das
-jeweilige Feld der Zieldatei geschrieben.
- Existiert die Zieldatei noch nicht, so wird sie mit den Feldern
-eingerichtet, die in den einzelnen 'K'-Ausdrücken angegeben sind
-und zwar in der angeführten Reihenfolge. Existiert die Zieldatei, so
-werden gegebenenfalls noch nicht vorhandene Felder am Ende ange­
-fügt.
- Die Prozedur 'std kopiermuster' liefert zu einer gegebenen
-Zieldatei ein Standard-Muster, das als Auswahlgrundlage dienen
-kann. Existiert die Zieldatei nicht, werden alle Felder der Quell­
-datei 1 : 1 kopiert, anderenfalls wird zu jedem Feld der Zieldatei
-ein passendes Feld der Quelldatei gesucht - die Feldreihenfolge
-richtet sich in diesem Fall nach der Zieldatei.
-
-
-PROC kopiere (TEXT CONST dateiname,
- FILE VAR kopiermuster)
-
- Die aktuell geöffnete Datei wird nach den Angaben in 'kopier­
- muster' in die Datei 'dateiname' kopiert. Das Kopiermuster wird
- dem ELAN-Compiler übergeben. Tritt bei der Übersetzung ein
- Fehler auf, wird der Paralleleditor aufgerufen.
-
- FEHLER:
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Zieldatei existiert, ist aber keine EUDAS-Datei.
-#f1#
- #on("i")#keine Datei geoeffnet#off("i")#
- Es muß eine virtuelle Datei vorhanden sein.
-
-
-PROC kopiere (TEXT CONST dateiname, PROC kopierfunktion)
-
- Wie oben, nur ist die Kopierfunktion gleich als Prozedur vor­
- handen.
-
- FEHLER:
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Zieldatei existiert, ist aber keine EUDAS-Datei.
-#f1#
- #on("i")#keine Datei geoeffnet#off("i")#
- Es muß eine virtuelle Datei vorhanden sein.
-
-
-OP K (TEXT CONST feldname, ausdruck)
-
- Kopiert den Ausdruck in das Feld 'feldname' der Zieldatei.
- Dieses Feld wird eingerichtet, falls es noch nicht existiert.
- Dieser Operator ist nur während eines Kopiervorganges de­
- finiert (also in einem Kopiermuster oder einer Kopierfunktion).
- Er darf nicht in einer IF-Klausel stehen, sondern muß bei
- jedem Satz mit gleichem Feldnamen an der gleichen Stelle auf­
- gerufen werden.
-
-
-PROC std kopiermuster (TEXT CONST dateiname,
- FILE VAR kopiermuster)
-
- Liefert ein Standard-Kopiermuster, abhängig von der Zieldatei
- 'dateiname'. Existiert diese nicht, wird die Quelldatei unverän­
- dert kopiert, ansonsten richtet sich das Kopiermuster nach der
- Zieldatei.
-
-
-8.3 Tragen
-
-Durch Tragen können Sätze komplett in eine Zieldatei transportiert
-werden. In der Quelldatei sind sie anschließend nicht mehr vorhan­
-den. Eine ganze Auswahl von Sätzen kann mit 'trage' transportiert
-werden. 'trage satz' transportiert nur den aktuellen Satz. Mit
-'hole satz' kann der letzte Satz der Zieldatei wieder zurückgeholt
-werden, so daß eine EUDAS-Datei auch als Zwischenspeicher für
-Einzelsätze verwendet werden kann.
- Existiert die Zieldatei bereits, muß sie mindestens so viele
-Felder wie die Quelldatei besitzen, damit keine Informationen ver­
-lorengehen können. Die Feldnamen müssen nicht übereinstimmen.
-Existiert die Zieldatei noch nicht, wird sie mit den Feldern der
-Quelldatei eingerichtet.
- Die Tragefunktion kann um eine gleichzeitige Prüfung erweitert
-werden. Dabei werden Bedingungen überprüft, die bei der Zieldatei
-gespeichert sind. Sätze, die diese Bedingungen verletzen, werden
-nicht getragen. Eine entsprechende Meldung wird in eine Protokoll­
-datei geschrieben, die als Parameter übergeben werden muß.
- Die Prüfbedingungen stehen als ausführbares Programm in den
-Notizen der Zieldatei. Prüfbedingungen können mit mehreren Proze­
-duren formuliert werden. 'pruefe' nimmt eine beliebige Bedingung als
-Parameter und gibt bei Mißerfolg eine Meldung aus. 'wertemenge'
-prüft auf Übereinstimmung mit einem der angegebenen Werte. 'feld­
-maske' legt eine Maske für ein Feld fest, die auf den Inhalt zutref­
-fen muß.
- Mit Hilfe der Prozedur 'eindeutige felder' können Satzduplikate
-erkannt werden. Auch diese werden nicht getragen.
- Die bei den Prüfbedingungen angegebenen Feldnamen müssen in
-der Quelldatei vorhanden sein. Falls eine Prüfprozedur außerhalb
-von 'trage' aufgerufen wird, führt eine Verletzung der Prüfbedin­
-gung zu einem 'errorstop'.
-
-
-PROC trage (TEXT CONST dateiname,
- FILE VAR protokoll, BOOL CONST test)
-
- Alle ausgewählten Sätze werden in die Datei 'dateiname' getra­
- gen. Diese wird gegebenenfalls eingerichtet. Falls 'test' ange­
- geben ist, werden die in den Notizen der Zieldatei enthaltenen
- Bedingungen geprüft. Nur in diesem Fall muß 'protokoll' initial­
- isiert sein.
-
- FEHLER:
-#f1#
- #on("i")#kein Satz zum Tragen vorhanden#off("i")#
- Die Quelldatei ist leer oder es ist keine Datei geöffnet.
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Zieldatei existiert, ist aber keine EUDAS-Datei.
-#f1#
- #on("i")#Zieldatei hat falsche Felderzahl#off("i")#
- Zu wenig Felder in der Zieldatei.
-
-
-PROC trage satz (TEXT CONST dateiname)
-
- Der aktuelle Satz wird in die Datei 'dateiname' getragen.
-
- FEHLER:
-#f1#
- #on("i")#kein Satz zum Tragen vorhanden#off("i")#
- Keine Datei geöffnet oder Datei ist am Ende.
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Zieldatei existiert, ist aber keine EUDAS-Datei.
-#f1#
- #on("i")#Zieldatei hat falsche Felderzahl#off("i")#
- Zu wenig Felder in der Zieldatei.
-
-
-PROC pruefe (TEXT CONST feldname, BOOL CONST bedingung)
-
- Wenn die angegebene Bedingung FALSE liefert, wird eine Mel­
- dung in die Protokolldatei geschrieben und der jeweilige Satz
- nicht getragen.
-
-
-PROC wertemenge (TEXT CONST feldname. menge)
-
- Es wird geprüft, ob das angegebene Feld in der Wertemenge
- enthalten ist. Die einzelnen Werte in der Wertemenge werden
- dabei durch Komma getrennt. Leerzeichen sind signifikant.
-
-
-PROC feldmaske (TEXT CONST feldname, maske)
-
- Es wird geprüft, ob das angegebene Feld zu der Maske paßt. Die
- Zeichen in der Maske haben dabei folgende Bedeutung:
- '9' trifft auf jede Ziffer zu
- 'X' trifft auf jedes Zeichen zu
- 'A' trifft auf jeden Großbuchstaben zu (einschließlich
- Umlaute)
- 'a' trifft auf jeden Kleinbuchstaben zu (einschließlich
- Umlaute und 'ß')
- '*' trifft auf eine Folge beliebiger Zeichen zu (auch die
- leere Folge). Eine sparsame Verwendung wird empfoh­
- len, da die Bearbeitung sehr aufwendig ist.
- Alle anderen Zeichen treffen nur auf ein gleiches Zeichen zu.
-
-
-PROC eindeutige felder (INT CONST anzahl)
-
- Gibt an, die wieviel ersten Felder einen Satz eindeutig identifi­
- zieren sollen. Ein Satz, der mit einem Satz der Datei in diesen
- Feldern übereinstimmt, wird nicht getragen. Ohne diese Angabe
- wird keine derartige Prüfung vorgenommen.
-
-
-PROC hole satz (TEXT CONST dateiname)
-
- Holt den letzten Satz der angegebenen Datei und fügt ihn vor
- dem aktuellen Satz ein.
-
- FEHLER:
-#f1#
- #on("i")#"dateiname" existiert nicht#off("i")#
-#f1#
- #on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Zieldatei existiert, ist aber keine EUDAS-Datei.
-#f1#
- #on("i")#Zieldatei hat falsche Felderzahl#off("i")#
- Zu viele Felder in der angegebenen Datei.
-#f1#
- #on("i")#Kein Satz zum Tragen vorhanden#off("i")#
- Die angegebene Datei ist leer.
-#f1#
- #on("i")#keine Datei geoeffnet#off("i")#
- Es muß eine virtuelle Datei vorhanden sein.
-
-
-8.4 Verarbeitung
-
-Die ausgewählten Sätze der aktuellen Datei können nach einer
-Verarbeitungsvorschrift verändert oder geprüft werden. Dies ge­
-schieht durch die Prozedur 'verarbeite'. Als Parameter kann ent­
-weder ein Verarbeitungsmuster als FILE oder die Verarbeitungs­
-funktion direkt als Prozedur übergeben werden.
- Die Vorschrift wird durch den Operator 'V' realisiert.
-
-
-PROC verarbeite (FILE VAR verarbeitungsmuster)
-
- Die aktuelle Datei wird nach dem angegebenen Muster bearbei­
- tet. Enthält die Vorschrift, die dem ELAN-Compiler übergeben
- wird, einen Fehler, wird der Paralleleditor aufgerufen.
-
- FEHLER:
-#f1#
- #on("i")#keine Datei geoeffnet#off("i")#
- Es muß eine virtuelle Datei vorhanden sein.
-
-
-PROC verarbeite (PROC verarbeitungsfunktion)
-
- Wie oben, nur wird die Vorschrift direkt als Prozedur überge­
- ben.
-
- FEHLER:
-#f1#
- #on("i")#keine Datei geoeffnet#off("i")#
- Es muß eine virtuelle Datei vorhanden sein.
-
-
-OP V (TEXT CONST feldname, ausdruck)
-
- Das angegebene Feld des aktuellen Satzes wird durch den Aus­
- druck ersetzt.
-
- FEHLER:
-#f1#
- #on("i")#Das Feld "feldname" ist nicht definiert.#off("i")#
- Das angegebene Feld ist nicht vorhanden.
-
-
-8.5 Funktionen in Ausdrücken
-
-Für Ausdrücke bei den in diesem Kapitel beschriebenen Prozeduren
-sind einfache Funktionen zur Abfrage von Feldinhalten vorhanden.
-Mit 'f' kann der Inhalt eines benannten Feldes erfragt werden, bei
-'wert' wird der Inhalt erst in eine REAL-Zahl umgewandelt, wobei
-nichtnumerische Zeichen ignoriert werden.
- Die Prozedur 'textdarstellung' kann dazu verwendet werden,
-den Wert einer TEXT-Variablen als TEXT-Denoter in ELAN-Syntax
-darzustellen.
- Die Prozedur 'zahltext' kann dazu verwendet werden, aus einer
-REAL-Zahl einen mit der richtigen Zahl von Nachkommastellen ver­
-sehenen, variabel langen Text zu machen.
-
-
-TEXT PROC f (TEXT CONST feldname)
-
- Liefert den Inhalt des angegebenen Feldes.
-
- FEHLER:
-#f1#
- #on("i")#Das Feld "feldname" ist nicht definiert.#off("i")#
-
-
-REAL PROC wert (TEXT CONST feldname)
-
- Liefert den Inhalt des angegebenen Feldes als REAL. Dabei
- werden nichtnumerische Zeichen ignoriert, ausgenommen das
- Minuszeichen und das eingestellte Dezimalkomma (s. 'dezimal­
- komma'). Tritt kein numerisches Zeichen auf, wird der Wert 0.0
- geliefert.
-
- FEHLER:
-#f1#
- #on("i")#Das Feld "feldname" ist nicht definiert.#off("i")#
-
-
-REAL PROC wert (TEXT CONST feldname, INT CONST kommastellen)
-
- Wie 'wert' mit einem Parameter, nur daß das Ergebnis auf die
- angegebene Anzahl von Nachkommastellen gerundet wird.
-
- FEHLER:
-#f1#
- #on("i")#Das Feld "feldname" ist nicht definiert.#off("i")#
-
-
-TEXT PROC textdarstellung (TEXT CONST anzeigetext)
-
- Liefert 'anzeigetext' als TEXT-Denoter, also in Anführungs­
- strichen. Anführungsstriche im Text werden dabei verdoppelt.
- Steuerzeichen von 0 bis 31 werden in lesbare Form gebracht.
-
-
-TEXT PROC zahltext (REAL CONST wert, INT CONST kommastellen)
-
- Liefert den Text des angegebenen Werts mit dem eingestellten
- Dezimalkomma und mit der angegebenen Zahl von Nachkomma­
- stellen. Sind die Kommastellen 0, wird auch das Komma unter­
- drückt. Der Text erhält soviel Stellen, wie zur Darstellung
- benötigt werden.
-
-
-TEXT PROC zahltext (TEXT CONST feldname,
- INT CONST kommastellen)
-
- Wirkt wie 'zahltext (wert (feldname), kommastellen)'.
-
diff --git a/doc/eudas/eudas.ref.9 b/doc/eudas/eudas.ref.9
deleted file mode 100644
index dc2dd0d..0000000
--- a/doc/eudas/eudas.ref.9
+++ /dev/null
@@ -1,194 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (93)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-9 Anzeige
-
-
-
-9.1 Fensterverwalter
-
-Funktionen, die einen Teil des Bildschirms in einem rechteckigen
-Fenster beschreiben, werden über den Fensterverwalter untereinan­
-der koordiniert. Jede Funktion fordert für ihren Fensterbereich eine
-Variable vom Typ FENSTER an. Vor jedem Bildschirmzugriff kann die
-Funktion erfahren, ob andere Programme den Bildschirm im Fenster­
-bereich überschrieben haben. Gleichzeitig meldet sie damit Verän­
-derungen an anderen Fenstern an, die sich mit dem eigenen über­
-schneiden.
-
-
-PROC fenster initialisieren (FENSTER VAR neu)
-
- Jede Fenstervariable muß vor Benutzung initialisiert werden.
-
-
-PROC fenstergroesse setzen (FENSTER VAR fenster,
- INT CONST x anf, y anf,
- x laenge, y laenge)
-
- Die Fenstergröße des Fensters wird gesetzt. 'x anf' und 'y anf'
- werden von 1..n gezählt. Die Größe eines 24x80-Bildschirms
- entspricht den Angaben (1, 1, 79, 24). Da das letzte Zeichen
- einer Zeile wegen Rollgefahr nicht benutzt werden kann, werden
- nur 79 Spalten angegeben.
-
- FEHLER:
-
- #on("i")#zu viele Fenster#off("i")#
- Es sind nur 16 verschiedene Fenstergrößen möglich.
-
-
-PROC fenstergroesse (FENSTER CONST fenster,
- INT VAR x anf, y anf,
- x laenge, y laenge)
-
- Meldet die eingestellte Größe des Fensters.
-
-
-PROC fensterzugriff (FENSTER CONST mein fenster,
- BOOL VAR veraendert)
-
- Ein Zugriff auf 'mein fenster' wird angemeldet. 'veraendert' gibt
- an, ob das Fenster seit dem letzten Zugriff durch einen über­
- schneidenden Zugriff verändert wurde. Beim ersten Zugriff ist
- 'veraendert' immer TRUE.
-
-
-PROC fenster veraendert (FENSTER CONST fenster)
-
- Falls ein Unterprogramm eine FENSTER-Variable des Hauptpro­
- grammes benutzt, kennzeichnet das Unterprogramm das Fenster
- mit dieser Prozedur als benutzt, damit das Hauptprogramm das
- Bild neu ausgibt.
-
-
-PROC bildschirm neu
-
- Gibt an, daß der Bildschirm von einer Funktion benutzt wurde,
- die ihre Zugriffe nicht über den Fensterverwalter anmeldet.
- Alle Fenster werden als verändert gekennzeichnet.
-
-
-9.2 Anzeigegrundfunktionen
-
-Sämtliche Anzeigefunktionen werden in einem Fenster abgewickelt,
-dessen Größe durch 'anzeigefenster' bestimmt wird.
- Die Funktion 'bildausgeben' übernimmt die eigentliche Ausgabe.
-Dabei kann durch Parameter mitgeteilt werden, ob sich an der Datei
-außer der Markierung etwas geändert hat. Hat sich nichts geändert,
-wird zur Optimierung unter Umständen nur die Markierung neu
-ausgegeben. Das Bild wird jedoch auf jeden Fall ganz ausgegeben,
-wenn das Fenster von anderer Seite verändert wurde. Auch das
-Öffnen einer neuen Datei wird automatisch erkannt und richtig
-behandelt.
- Welche Felder dargestellt werden sollen, kann durch 'feldaus­
-wahl' angegeben werden. Dabei ist für jeden Anzeigemodus eine
-eigene Feldauswahl möglich. Die Darstellung kann durch 'rollen' in
-vertikaler Richtung verschoben werden.
- Mit 'uebersicht' kann die Übersicht ausgegeben werden. Ihre
-Größe wird durch 'uebersichtsfenster' angegeben.
-
-
-PROC anzeigefenster (INT CONST x anf, y anf,
- x laenge, y laenge)
-
- Das Anzeigefenster wird in der entsprechenden Größe reser­
- viert.
-
- FEHLER:
-
- #on("i")#Anzeigefenster zu klein#off("i")#
- Das Fenster ist zu schmal (< 40 Zeichen), um eine sinnvolle
- Anzeige zuzulassen.
-
-
-PROC bild ausgeben (BOOL CONST datei veraendert)
-
- Im Anzeigefenster wird das Bild je nach eingestelltem Modus
- ausgegeben, wenn das Fenster verändert wurde oder 'satz ver­
- aendert' TRUE ist. 'satz veraendert' muß immer dann angegeben
- werden, wenn am Inhalt der virtuellen Datei etwas verändert
- wurde.
-
-
-PROC feldauswahl (TEXT CONST feldcode)
-
- Die im aktuellen Modus anzuzeigenden Felder und ihre Reihen­
- folge werden ausgewählt. Dabei enthält 'feldcodes' an der i-ten
- Stelle den Code der Feldnummer des Feldes, das an i-ter Posi­
- tion erscheinen soll.
-
-
-PROC rollen (INT CONST anzahl)
-
- Die Darstellung wird um die angegebene Anzahl von Zeilen
- gerollt. Bei einer positiven Angabe wird zu höheren Feld- bzw.
- Satznummern gerollt (Bild bewegt sich umgekehrt). Beim ersten
- bzw. letzten Feld bzw. Satz hört das Rollen automatisch auf.
-
-
-PROC uebersichtsfenster (INT CONST x anf, y anf,
- x laenge, y laenge)
-
- Legt die Größe des Übersichtsfensters fest.
-
-
-PROC uebersicht (TEXT CONST feldauswahl)
-
- Ruft eine Übersicht der aktuellen Datei auf, in der geblättert
- und markiert werden kann. In 'feldauswahl' steht an der Stelle
- i der Code der Feldnummer, die als i-tes in der Aufzählung
- erscheinen soll.
-
-
-9.3 Editorfunktionen
-
-Es stehen drei Funktionen zur Verfügung, die den Editor im Anzei­
-gemodus benutzen. Sie dienen zum Einfügen und Ändern sowie zum
-Eingeben eines Suchmusters.
- Der Editor wird durch ESC 'q' verlassen. Weitere ESC-Funk­
-tionen, die zum Verlassen führen sollen, können durch 'exit zeichen'
-angegegeben und nach Funktionsausführung mit 'exit durch' abge­
-fragt werden.
-
-
-PROC aendern (PROC hilfe)
-
- Bietet den aktuellen Satz zum Ändern an. Steht die virtuelle
- Datei am Ende, wird automatisch 'einfuegen' durchgeführt. Bei
- ESC '?' wird 'hilfe' aufgerufen.
-
-
-PROC einfuegen (PROC hilfe)
-
- Fügt vor dem aktuellen Satz einen Satz ein, dessen Inhalt im
- Editor angegeben wird. Bei ESC '?' wird 'hilfe' aufgerufen.
-
-
-PROC suchen (PROC hilfe)
-
- Im Editor wird eine neue Suchbedingung eingegeben. Bei ESC '?'
- wird 'hilfe' aufgerufen.
-
-
-PROC exit durch (TEXT CONST zeichenkette)
-
- Gibt die Zeichen an, die beim Drücken nach ESC zum Verlassen
- des Editors führen sollen. Die eingegebenen Daten werden je­
- doch vorher auf jeden Fall noch verarbeitet.
-
-
-TEXT PROC exit durch
-
- Gibt an, durch welches Zeichen der Editor verlassen wurde.
-
diff --git a/doc/eudas/eudas.ref.fehler b/doc/eudas/eudas.ref.fehler
deleted file mode 100644
index 736d009..0000000
--- a/doc/eudas/eudas.ref.fehler
+++ /dev/null
@@ -1,139 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (115)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-Fehlermeldungen
-
-
-
-In diesem Kapitel sind alle Fehlermeldungen aufgeführt, die von
-EUDAS erzeugt werden und zum Abbruch einer Funktion führen
-können.
-
-#on("i")#'n' ist keine Feldnummer#off("i")#
- Es wurde eine Nummer als Feldnummer angegeben, die nicht er­
- laubt ist.
-
-#on("i")#Datei ist keine EUDAS-Datei#off("i")#
- Es wurde versucht, eine andere Datei als EUDAS-Datei zu bear­
- beiten.
-
-#on("i")#inkonsistente EUDAS-Datei#off("i")#
- Die interne Struktur der Datei ist zerstört. Kann durch Hardware­
- probleme (Archiv-Lesefehler) oder EUDAS-interne Fehler ent­
- standen sein.
-
-#on("i")#EUDAS-Datei voll#off("i")#
- Eine EUDAS-Datei kann nur eine bestimmte Anzahl von Sätzen
- aufnehmen (mindestens 5000).
-
-#on("i")#Nicht erlaubtes Dezimalkomma#off("i")#
- Als Dezimalkomma kann nur ein einzelnes Zeichen angegeben
- werden.
-
-#on("i")#Zuviel Dateien geoeffnet#off("i")#
- Es können nicht mehr als 10 Dateien gleichzeitig geöffnet, geket­
- tet und gekoppelt sein.
-
-#on("i")#Zu viele Felder#off("i")#
- Alle geöffneten Dateien zusammen dürfen nicht mehr als 256
- Felder der virtuellen Datei ergeben.
-
-#on("i")#Zu viele Koppelfelder#off("i")#
- Es dürfen insgesamt nicht mehr als 32 Koppelfelder entstehen.
-
-#on("i")#keine Koppelfelder vorhanden#off("i")#
- Eine Datei kann nicht gekoppelt werden, wenn Sie kein Koppelfeld
- besitzt.
-
-#on("i")#keine Datei geoeffnet#off("i")#
- Es kann nicht gekettet oder gekoppelt werden, wenn noch keine
- Datei geöffnet wurde. Ebenfalls sind keine Verarbeitungsproze­
- duren möglich.
-
-#on("i")#Nicht möglich, wenn auf Koppeldatei geschaltet#off("i")#
- Wenn auf eine Koppeldatei umgeschaltet wurde, ist Öffnen, Ketten
- und Koppeln nicht möglich.
-
-#on("i")#kein direkter Dateizugriff bei geketteten oder gekoppelten Dateien#off("i")#
- Wenn Dateien gekettet oder gekoppelt sind, ist Sortieren und
- Ändern der Feldstruktur nicht möglich.
-
-#on("i")#Datei nicht gesichert#off("i")#
- Eine vorher geöffnete Datei ist verändert und nicht gesichert.
-
-#on("i")#Datei wird von anderer Task geändert#off("i")#
- Das Öffnen der Datei zum Ändern ist im Moment nicht möglich, da
- ein anderer Benutzer sie bereits ändert.
-
-#on("i")#Suchmuster zu umfangreich#off("i")#
- Ein Suchmuster darf nicht mehr als 100 Vergleiche erfordern.
-
-#on("i")#direkt Drucken nicht moeglich#off("i")#
- Entweder ist kein Druckprogramm installiert oder die Spooltask
- reagiert nicht.
-
-#on("i")#Das Feld "Feldname" ist nicht definiert#off("i")#
- Sie haben einen falschen Namen angegeben.
-
-#on("i")#Kein Satz zum Tragen vorhanden#off("i")#
- Es wurde versucht, aus einer leeren Datei oder am Dateiende zu
- tragen.
-
-#on("i")#Zieldatei hat falsche Felderzahl#off("i")#
- Eine Zieldatei beim Tragen hat weniger Felder als die aktuelle
- Datei. Daher würden beim Tragen Informationen verlorengehen.
-
-#on("i")#Zieldatei darf nicht geöffnet sein#off("i")#
- Eine geöffnete Datei ist als Zieldatei nicht zulässig.
-
-#on("i")#Das Feld "Feldname" verletzt die Pruefbedingung#off("i")#
- Eine Prüfprozedur wurde außerhalb des Tragens aufgerufen und
- die Bedingung war nicht erfüllt.
-
-#on("i")#Das Feld "Feldname" ist nicht in der Wertemenge#off("i")#
- Eine Prüfprozedur wurde außerhalb des Tragens aufgerufen und
- die Bedingung war nicht erfüllt.
-
-#on("i")#Das Feld "Feldname" stimmt nicht mit der Maske ueberein#off("i")#
- Eine Prüfprozedur wurde außerhalb des Tragens aufgerufen und
- die Bedingung war nicht erfüllt.
-
-#on("i")#Zu viele Fenster#off("i")#
- Es sind nicht mehr als 16 verschiedene Größen von Fenstern
- möglich.
-
-#on("i")#Fenster zu klein#off("i")#
- Ein Menü wurde in einem zu kleinen Fenster aufgerufen.
-
-#on("i")#Hilfe existiert nicht#off("i")#
- Es wurde versucht, eine nicht vorhandene Hilfestellung aufzu­
- rufen.
-
-#on("i")#Hilfe ist leer#off("i")#
- Die angewählte Hilfestellung enthält keinen Text.
-
-#on("i")#Anzeigefenster zu klein#off("i")#
- Das Anzeigefenster muß mindestens 40 Zeichen breit sein.
-
-#on("i")#Ungueltige Satznummer#off("i")#
- Der angegebene Text stellt keine Satznummer dar.
-
-#on("i")#kein rekursiver Aufruf#off("i")#
- Innerhalb von EUDAS darf 'eudas' nicht erneut aufgerufen wer­
- den.
-
-#on("i")#Task existiert nicht#off("i")#
- Es wurde versucht, eine nicht existente Task als Manager einzu­
- stellen.
-
-
diff --git a/doc/eudas/eudas.ref.inhalt b/doc/eudas/eudas.ref.inhalt
deleted file mode 100644
index ae997cb..0000000
--- a/doc/eudas/eudas.ref.inhalt
+++ /dev/null
@@ -1,120 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (3)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-Inhalt
-
-
-
- Vorwort . . . . . . . . . . . . . . . . . . . i
- Inhalt . . . . . . . . . . . . . . . . . . . . iii
-
-
-I. Funktionen zum Nachschlagen
-
-#on("b")#1 Zustände und Bedienung#off("b")#
-#free (0.2)#
-1.1 Zustände . . . . . . . . . . . . . . . . . . . 3
-1.2 Menüs . . . . . . . . . . . . . . . . . . . . 8
-1.3 Auswahl . . . . . . . . . . . . . . . . . . . 8
-1.4 Hilfe und Dialog . . . . . . . . . . . . . . . 9
-1.5 Editor . . . . . . . . . . . . . . . . . . . . 9
-
-#on("b")#2 Zusammenstellung der Funktionen#off("b")#
-#free (0.2)#
-2.1 Menü 'Öffnen' . . . . . . . . . . . . . . . . 13
-2.2 Menü 'Einzelsatz' . . . . . . . . . . . . . . 17
-2.3 Menü 'Gesamtdatei' . . . . . . . . . . . . . . 21
-2.4 Menü 'Drucken' . . . . . . . . . . . . . . . . 23
-2.5 Menü 'Dateien' . . . . . . . . . . . . . . . . 25
-2.6 Menü 'Archiv' . . . . . . . . . . . . . . . . 27
-2.7 Kurzabfrage . . . . . . . . . . . . . . . . . 29
-
-#on("b")#3 Das virtuelle Dateimodell#off("b")#
-#free (0.2)#
-3.1 Dateistruktur . . . . . . . . . . . . . . . . 31
-3.2 Öffnen . . . . . . . . . . . . . . . . . . . . 32
-3.3 Koppeln . . . . . . . . . . . . . . . . . . . 33
-3.4 Änderungen . . . . . . . . . . . . . . . . . . 34
-3.5 Sichern . . . . . . . . . . . . . . . . . . . 36
-3.6 Umschalten auf Koppeldatei . . . . . . . . . . 36
-3.7 Mehrbenutzerbetrieb . . . . . . . . . . . . . 37
-
-#on("b")#4 Ansehen und Bearbeiten#off("b")#
-#free (0.2)#
-4.1 Anzeige . . . . . . . . . . . . . . . . . . . 39
-4.2 Satzauswahl . . . . . . . . . . . . . . . . . 42
-4.3 Sortieren und Reorganisieren . . . . . . . . . 44
-4.4 Bearbeiten . . . . . . . . . . . . . . . . . . 46
-
-#on("b")#5 Drucken und Druckmuster#off("b")#
-#free (0.2)#
-5.1 Druckmustersyntax . . . . . . . . . . . . . . 49
-5.2 Der Druckvorgang . . . . . . . . . . . . . . . 51
-5.3 Interpretation von Musterzeilen . . . . . . . 52
-5.4 Anschluß zum ELAN-Compiler . . . . . . . . . . 56
-5.5 Fehlermeldungen . . . . . . . . . . . . . . . 57
-
-
-II. EUDAS für Programmierer
-
-#on("b")#6 Struktur von EUDAS-Dateien#off("b")#
-#free (0.2)#
-6.1 Der Datentyp SATZ . . . . . . . . . . . . . . 61
-6.2 Der Datentyp EUDAT . . . . . . . . . . . . . . 63
-6.3 Satzposition . . . . . . . . . . . . . . . . . 64
-6.4 Satzzugriffe . . . . . . . . . . . . . . . . . 65
-6.5 Sortieren und Reorganisieren . . . . . . . . . 66
-6.6 EUDAS-Dateien als Assoziativspeicher . . . . . 68
-
-#on("b")#7 Verwaltung der offenen Dateien#off("b")#
-#free (0.2)#
-7.1 Dateiverwaltung . . . . . . . . . . . . . . . 71
-7.2 Feldstruktur . . . . . . . . . . . . . . . . . 75
-7.3 Positionierung . . . . . . . . . . . . . . . . 77
-7.4 Änderungen . . . . . . . . . . . . . . . . . . 78
-7.5 Suchbedingungen . . . . . . . . . . . . . . . 79
-
-#on("b")#8 Funktionen zur Bearbeitung#off("b")#
-#free (0.2)#
-8.1 Drucken . . . . . . . . . . . . . . . . . . . 83
-8.2 Kopieren . . . . . . . . . . . . . . . . . . . 85
-8.3 Tragen . . . . . . . . . . . . . . . . . . . . 87
-8.4 Verarbeitung . . . . . . . . . . . . . . . . . 89
-8.5 Funktionen in Ausdrücken . . . . . . . . . . . 90
-
-#on("b")#9 Anzeige#off("b")#
-#free (0.2)#
-9.1 Fensterverwalter . . . . . . . . . . . . . . . 93
-9.2 Anzeigegrundfunktionen . . . . . . . . . . . . 94
-9.3 Editorfunktionen . . . . . . . . . . . . . . . 95
-
-#on("b")#10 Programmierung der Menüs#off("b")#
-#free (0.2)#
-10.1 Menüformat . . . . . . . . . . . . . . . . . . 97
-10.2 Verwaltung der Menüs . . . . . . . . . . . . . 99
-10.3 Aufruf . . . . . . . . . . . . . . . . . . . . 101
-10.4 Dialog . . . . . . . . . . . . . . . . . . . . 103
-
-#on("b")#11 Programmierung von Anwendungen#off("b")#
-#free (0.2)#
-11.1 Musterprogramme . . . . . . . . . . . . . . . 105
-11.2 Dateianwendungen . . . . . . . . . . . . . . . 109
-11.3 Integrierte Anwendungen . . . . . . . . . . . 111
-
-
-III. Anhang
-
- Fehlermeldungen . . . . . . . . . . . . . . . 115
- Prozeduren mit Parametern . . . . . . . . . . 119
- Register . . . . . . . . . . . . . . . . . . . 125
-
diff --git a/doc/eudas/eudas.ref.macros b/doc/eudas/eudas.ref.macros
deleted file mode 100644
index 1d24468..0000000
--- a/doc/eudas/eudas.ref.macros
+++ /dev/null
@@ -1,73 +0,0 @@
-#*format#
-#limit (13.5)##start (3.5,2.5)##pagelength (21.0)##block#
-#:firsthead (false)#
-#linefeed (1.07)#
-#*macro end#
-#*text#
-#type ("prop10")#
-#linefeed (1.07)#
-#*macro end#
-#*beispiel#
-#type ("12")#
-#linefeed (0.97)#
-#*macro end#
-#*bildschirm#
-#type ("15")#
-#linefeed(0.83)#
-#*macro end#
-#*proc#
-#type ("12")#
-#*macro end#
-#*endproc#
-#free (0.1)#
-#type ("prop10")#
-#linefeed (1.07)#
-#*macro end#
-#*abschnitt ($1,$2,$3)#
-#headodd#
-#on("b")#$1#right#$3 %#off("b")#
-#free (1.0)#
-#end#
-#on("b")##ib(9)#$1#ie(9,"   $3")# $2#off("b")#
-#*macro end#
-#*char($1)#
-$1
-#*macro end#
-#*kapitel ($1,$2,$3,$4)#
-#free (1.3)#
-#"nlq"#
-#type("roman.24")#
-#on("b")##center#$1#off("b")#
-#free (0.2)#
-#type ("roman.18")#
-#on("b")##center#$2 #off("b")#
-#on("b")##center# $3#off("b")#
-#on("b")##center#$4#off("b")#
-#type ("prop10")#
-#free (0.6)#
-#headeven#
-#on("b")#% $2 $3 $4#off("b")#
-#free (1.0)#
-#end#
-#headodd#
-#right##on("b")#%#off("b")#
-#free (1.0)#
-#end#
-#*macro end#
-#*f2#
-#free (0.2)#
-#*macro end#
-#*a ($1)#
-#on("b")#$1.#off("b")# 
-#*macro end#
-#*bsp ($1)#
-#type("12")#$1#type("prop")#
-#*macro end#
-#*f1#
-#free (0.1)#
-#*macro end#
-
-
-
-
-
diff --git a/doc/eudas/eudas.ref.proz b/doc/eudas/eudas.ref.proz
deleted file mode 100644
index 2007bc1..0000000
--- a/doc/eudas/eudas.ref.proz
+++ /dev/null
@@ -1,205 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (119)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-Prozeduren mit Parametern
-
-
-
-
-:= (SATZ VAR, SATZ CONST) 6.1
-
-aendern (PROC hilfe) 9.3
-aendern erlaubt : BOOL 7.1
-aenderungen eintragen 7.4
-anzahl dateien : INT 7.1
-anzahl felder : INT 7.2
-anzahl koppeldateien : INT 7.1
-anzeigefenster (INT CONST x anf, y anf,
- x laenge, y laenge) 9.2
-auf satz (EUDAT VAR, INT CONST satznr) 6.3
-auf satz (EUDAT VAR, TEXT CONST muster) 6.3
-auf satz (INT CONST satznr) 7.3
-ausfuehrtaste (TEXT CONST taste) 10.3
-auswahl anbieten (TEXT CONST name, FENSTER CONST f,
- TEXT CONST hilfe,
- PROC (TEXT VAR, INT CONST) inhalt) 10.3
-
-bild ausgeben (BOOL CONST datei veraendert) 9.2
-bildschirm neu 9.1
-
-dateiende (EUDAT CONST) : BOOL 6.3
-dateiende : BOOL 7.3
-dateien loeschen (BOOL CONST auch geaenderte) 7.1
-dateiversion : INT 7.1
-dezimalkomma (TEXT CONST komma) 6.5
-dezimalkomma : TEXT 6.5
-dialog 10.4
-dialogfenster (INT CONST x anf, y anf,
- x laenge, y laenge) 10.4
-direkt drucken (BOOL CONST ja) 8.1
-druckdatei (TEXT CONST dateiname) 8.1
-drucke (TEXT CONST mustername) 8.1
-
-editget (TEXT CONST prompt, TEXT VAR eingabe,
- TEXT CONST res, hilfe) 10.4
-eindeutige felder (INT CONST anzahl) 8.3
-einfuegen (PROC hilfe) 9.3
-eudas dateiname (INT CONST dateinr) : TEXT 7.1
-EUDAT 6.2
-exit durch (TEXT CONST exit zeichen) 9.3
-exit durch : TEXT 9.3
-
-f (TEXT CONST feldname) : TEXT 8.5
-fehler ausgeben 10.4
-feld aendern (SATZ VAR, INT CONST feldnr,
- TEXT CONST inhalt) 6.1
-feld aendern (EUDAT VAR, INT CONST feldnr,
- TEXT CONST inhalt) 6.4
-feld aendern (INT CONST feldnr, TEXT CONST inhalt) 7.2
-feldauswahl (TEXT CONST feldcodes) 9.2
-feld bearbeiten (SATZ CONST, INT CONST feldnr,
- PROC (TEXT CONST, INT CONST, INT CONST) bearbeite) 6.1
-feld bearbeiten (EUDAT CONST, INT CONST feldnr,
- PROC (TEXT CONST, INT CONST, INT CONST) bearbeite) 6.4
-feld bearbeiten (INT CONST feldnr,
- PROC (TEXT CONST, INT CONST, INT CONST) bearbeite) 7.2
-felderzahl (SATZ CONST) : INT 6.1
-felderzahl (EUDAT CONST) : INT 6.2
-feldindex (SATZ CONST, TEXT CONST muster) : INT 6.1
-feldinfo (EUDAT VAR, INT CONST feldnr, info) 6.5
-feldinfo (EUDAT CONST, INT CONST feldnr) : INT 6.5
-feld lesen (SATZ CONST, INT CONST feldnr,
- TEXT VAR inhalt) 6.1
-feld lesen (EUDAT CONST, INT CONST feldnr,
- TEXT VAR inhalt) 6.4
-feld lesen (INT CONST feldnr, TEXT VAR inhalt) 7.2
-feldmaske (TEXT CONST feldname, maske) 8.3
-feldnamen aendern (EUDAT VAR, SATZ CONST namen) 6.2
-feldnamen bearbeiten (INT CONST feldnr,
- PROC (TEXT CONST, INT CONST, INT CONST) bearbeite) 7.2
-feldnamen lesen (EUDAT CONST, SATZ VAR namen) 6.2
-feldnamen lesen (INT CONST feldnr, TEXT VAR name) 7.2
-feldnummer (TEXT CONST feldname) : INT 7.2
-FENSTER 9.1
-fenstergroesse (FENSTER CONST f,
- INT VAR x anf, y anf,
- x laenge, y laenge) 9.1
-fenstergroesse setzen (FENSTER VAR fenster,
- INT CONST x anf, y anf,
- x laenge, y laenge) 9.1
-fenster initialisieren (FENSTER VAR fenster) 9.1
-fenster veraendert (FENSTER CONST fenster) 9.1
-fensterzugriff (FENSTER CONST fenster,
- BOOL VAR veraendert) 9.1
-
-global manager 10.2
-gruppenwechsel (INT CONST gruppennr) : BOOL 8.1
-
-hilfe anbieten (TEXT CONST name, FENSTER CONST f) 10.3
-hole satz (TEXT CONST dateiname) 8.3
-
-inhalt veraendert (INT CONST dateinr) : BOOL 7.1
-ja (TEXT CONST frage, hilfe) : BOOL 10.4
-
-K (TEXT CONST feldname, ausdruck) 8.2
-kette (TEXT CONST dateiname) 7.1
-kopiere (TEXT CONST dateiname, FILE VAR muster) 8.2
-kopiere (TEXT CONST dateiname, PROC kopierfunktion) 8.2
-kopple (TEXT CONST dateiname) 7.1
-
-lfd nr : TEXT 8.1
-
-markierte saetze : INT 7.5
-markierung aendern 7.5
-markierungen loeschen 7.5
-maxdruckzeilen (INT CONST anzahl zeilen) 8.1
-menue anbieten (ROW 6 TEXT CONST menuenamen,
- FENSTER VAR f,
- BOOL CONST esc erlaubt,
- PROC (INT CONST, INT CONST) interpreter) 10.3
-menuedaten einlesen (TEXT CONST dateiname) 10.2
-menue loeschen (TEXT CONST name, INT CONST index) 10.2
-menue loeschen (BOOL CONST hilfen reduzieren) 10.2
-menue manager (DATASPACE VAR ds,
- INT CONST order, phase,
- TASK CONST order task) 10.2
-menuenamen (INT CONST index) : THESAURUS 10.2
-
-neuer dialog 10.4
-notizen aendern (EUDAT VAR, INT CONST notiz nr,
- TEXT CONST notizen) 6.2
-notizen lesen (EUDAT CONST, INT CONST notiz nr,
- TEXT VAR notizen) 6.2
-
-oeffne (EUDAT VAR, TEXT CONST dateiname) 6.2
-oeffne (TEXT CONST dateiname,
- BOOL CONST aendern erlaubt) 7.1
-
-pruefe (TEXT CONST feldname, BOOL CONST bedingung) 8.3
-
-reorganisiere (TEXT CONST dateiname) 6.5
-rollen (INT CONST anzahl) 9.2
-
-saetze (EUDAT CONST) : INT 6.3
-SATZ 6.1
-satz aendern (EUDAT VAR, SATZ CONST neuer satz) 6.4
-satz ausgewaehlt : BOOL 7.5
-satz einfuegen (EUDAT VAR, SATZ CONST satz) 6.4
-satz einfuegen 7.4
-satz initialisieren (SATZ VAR satz) 6.1
-satzkombination : INT 7.3
-satz lesen (EUDAT CONST, SATZ VAR satz) 6.4
-satz loeschen (EUDAT VAR) 6.4
-satz loeschen 7.4
-satz markiert : BOOL 7.5
-satznr (EUDAT CONST) : INT 6.3
-satznummer : INT 7.3
-sichere (INT CONST dateinr, TEXT CONST dateiname) 7.1
-sortiere (EUDAT VAR, TEXT CONST reihenfolge) 6.5
-sortiere (EUDAT VAR) 6.5
-sortierreihenfolge (EUDAT CONST) : TEXT 6.5
-status anzeigen (TEXT CONST zeile) 10.3
-std kopiermuster (TEXT CONST dateiname, FILE VAR f) 8.2
-suchbedingung (INT CONST feldnr,
- TEXT CONST bedingung) 7.5
-suchbedingung loeschen 7.5
-suchen (PROC hilfe) 9.3
-
-textdarstellung (TEXT CONST text) : TEXT 8.5
-trage (TEXT CONST dateiname, FILE VAR protokoll,
- BOOL CONST test) 8.3
-trage satz (TEXT CONST dateiname) 8.3
-
-unsortierte saetze (EUDAT CONST) : INT 6.5
-
-V (TEXT CONST feldname, ausdruck) 8.4
-verarbeite (FILE VAR verarbeitungsmuster) 8.4
-verarbeite (PROC verarbeitungsfunktion) 8.4
-
-waehlbar (INT CONST menuenr, funktionsnr,
- BOOL CONST moeglich) 10.3
-wahl (INT CONST stelle) : INT 10.3
-weiter (EUDAT VAR) 6.3
-weiter (EUDAT VAR, TEXT CONST muster) 6.3
-weiter (INT CONST modus) 7.3
-wert (TEXT CONST feldname) : REAL 8.5
-wert (TEXT CONST feldname, INT CONST kommastellen) : REAL 8.5
-wertemenge (TEXT CONST feldname, menge) 8.3
-
-zahltext (REAL CONST wert, INT CONST kommastellen) : TEXT 8.5
-zahltext (TEXT CONST feldname,
- INT CONST kommastellen) : TEXT 8.5
-zurueck (EUDAT VAR) 6.3
-zurueck (EUDAT VAR, TEXT CONST muster) 6.3
-zurueck (INT CONST modus) 7.3
-
diff --git a/doc/eudas/eudas.ref.reg b/doc/eudas/eudas.ref.reg
deleted file mode 100644
index a34307a..0000000
--- a/doc/eudas/eudas.ref.reg
+++ /dev/null
@@ -1,436 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (125)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-Register
-
-
-
-#columns (2, 0.5)#
-#limit (6.5)#
-ABKUERZUNGEN-Anweisung 49
-Abkürzungsteil 49
-Abkürzungsverzeichnis 68
-Abkürzungszeile 50
-Abschlußzeile 39
-aendern 96
-Ändern 10, 19
- -, nach Vorschrift 48
-aendern erlaubt 74
-Änderungen 34
-aenderungen eintragen 79
-Änderungsmuster 21
-Alternative 43
-Ankreuzen 8
-anzahl dateien 74
-anzahl felder 75
-anzahl koppeldateien 74
-Anzeige 39, 93
-anzeigefenster 95
-Arbeitskopie 13, 32
- -, löschen 15, 36
- -, sichern 15, 36
-Archivmanager 28
- -, reservieren 29
-Archiv (Menü) 27
-Archivübersicht drucken 27
-Assoziativspeicher 68
-auf koppeldatei 74
-Aufräumen 26
-auf satz 65, 78
-Auf Satz Nr. 17
-Ausdrucken 24
-Ausführen 8
-ausfuehrtaste 8, 102
-AUSWAHL 97
-AUSWAHL: 4
-Auswahl 8
- -, Format 98
-auswahl anbieten 103
-
-Bearbeiten 46
-BILD 97
-bild ausgeben 95
-bildschirm neu 94
-
-Datei, aufräumen 26
- -, kopieren (logisch) 25
- -, kopieren vom Archiv 27
- -, löschen 25
- -, löschen auf Archiv 28
- -, Platzbedarf 26
- -, reorganisieren 26
- -, schreiben auf Archiv 27
- -, umbenennen 25
- -, virtuelle 32, 71
-Dateianwendungen 109
-Dateien Archiv, Übersicht 27
-dateiende 64, 78
-dateien loeschen 74
-Dateien (Menü) 25
-Dateien System, Übersicht 25
-Dateilimit 52
-Dateimanager 28
-Dateiname 40
-dateiversion 75
-DATUM 45
-Dezimalkomma 45
-dezimalkomma 67
-dialog 104
-Dialog 9, 103
-dialogfenster 104
-DIN 45
-direkt drucken 83f.
-Druckausgabe, Richtung 23
-druckdatei 85
-drucke 84
-Drucken 23, 49, 83
- -, Archivübersicht 27
-Drucken (Menü) 23
-Druckmuster 23, 49, 83
- -, Fehler 56
-Druckvorgang 51
-
-editget 104
-EDITIEREN: 6
-Editieren 23
- -, Zeile 9
-Editor 9, 29
-eindeutige felder 47, 89
-einfuegen 96
-Einfügen 10, 19
- -, Satz 36
- -, Zeile 10
-EINGABE: 4
-Eingabe 9
-Einzelsatz (Menü) 17
-ELAN-Compiler 56
-ELAN-Kommandos 8
-ENDE 97
-Endekennzeichnung 40
-ESC '?' 6
-ESC '9' 4
-ESC '1' 4
-ESC '?' 4
-ESC '?' 3
-ESC 'D' 5
-ESC ESC 3
-ESC 'F' 5f.
-ESC 'g' 5
-ESC 'h' 4ff.
-ESC 'K' 36
-ESC OBEN 5
-ESC 'p' 5
-ESC 'q' 4, 6
-ESC RUBIN 5
-ESC RUBOUT 5
-ESC UNTEN 5
-ESC 'w' 4f.
-ESC 'z' 4f.
-eudas 29
-EUDAS: 3
-EUDAS-Datei, aufspalten 110
- -, drucken 23, 49, 83
- -, einrichten 13
- -, ketten 14, 32
- -, kopieren 21, 46, 85
- -, koppeln 14, 32
- -, nach Vorschrift ändern 48
- -, öffnen 13, 32
- -, reorganisieren 67
- -, sortieren 22
- -, Struktur 31, 61
- -, tragen 46, 87
- -, Übersicht 22
- -, verändern 21
-eudas dateiname 75
-EUDAT 61, 63, 109
-EUMEL-Netz 28
-exit durch 96
-
-f 91
-FEHLER 5
-fehler ausgeben 104
-Feld 31
-FELD 98
-feld aendern 62, 65, 76
-Feldauswahl 20, 41, 95
-feld bearbeiten 62, 65, 76
-felderzahl 62, 63
-feldindex 62
-feldinfo 66, 77
-Feldinhalt 31, 39
-feld lesen 65, 76
-feldmaske 47, 89
-Feldmuster 53
-Feldname 31, 39
- -, ändern 16
- -, anfügen 16
-feldnamen aendern 63
-feldnamen bearbeiten 76
-feldnamen lesen 64, 76
-feldnummer 76
-Feldstruktur 15
-Feldtyp 31, 42
-Feldtypen 45, 66
- -, ändern 16
-Feldvergleich 43
-Fenster 93
-fenstergroesse 94
-fenstergroesse setzen 93
-fenster initialisieren 93
-fenster veraendert 94
-fensterzugriff 94
-folgedatei 75
-Folgezeilen 41
-Formular 39
-FRAGE: 5
-Fragen 9
-Funktion, ausführen 8
- -, gesperrte 8
-
-Gesamtdatei (Menü) 21
-Gib Kommando: 6
-global manager 36, 100
-Gruppe 51
-GRUPPE-Anweisung 49
-gruppenwechsel 51, 85
-
-Hauptdatei 32
-HILFE: 4
-HILFE 97, 99
-Hilfe 9
- -, Format 98
-hilfe anbieten 103
-Holen 19
-hole satz 89
-HOP LINKS 4
-HOP 'o' 4
-HOP OBEN 3ff.
-HOP RECHTS 4
-HOP RETURN 4
-HOP RUBOUT 4
-HOP UNTEN 3ff.
-HOP 'x' 4
-
-inhalt veraendert 74
-Initialisieren 28
-Initialisierungsteil 49
-
-ja 104
-
-K 46, 86
-kette 73
-Ketten 14, 32
-Klassenwechsel 106
-Kombinationen 34
-Kommandos 8
-Kommandozeile 50
-kopiere 86
-Kopieren 21, 46, 85
-Kopieren (logisch) 25
-Kopieren vom Archiv 27
-Kopiermuster 21, 46
-KOPPEL 40
-Koppeldatei, umschalten auf 36
-Koppelfelder 33
-Koppeln 14, 32f.
-kopple 72
-Kurzabfrage 29
-
-LEER 3f.
-Leertaste 8
-lfd nr 85
-lineform 24
-LINKS 3f.
-Literaturangaben 108
-Löschen 25
- -, Satz 36
- -, Zeile 10
-Löschen auf Archiv 28
-
-Manager 13
-Manager (Mehrbenutzer) 16, 36
-markierte saetze 81
-Markierung 18, 40, 42
-markierung aendern 81
-Markierungen löschen 22
-markierungen loeschen 81
-maxdruckzeilen 85
-MEHR-Anweisung 50
-MENUE 97
-Menü 8
- -, Aufruf 101
- -, Verwaltung 99
-menue anbieten 101
-menuedaten einlesen 99
-Menüformat 97
-menue loeschen 100
-menue manager 100
-menuenamen 100
-Modi 55
-MODUS-Anweisung 50
-Musterprogramme 105
-Musterteil 50
-Musterzeichen 53
-Musterzeile 50
- -, Interpretation 52
-
-Nachbearbeiten 24
-Nachspann 49
-NACHSPANN-Anweisung 49
-Namenskonflikte 33
-neuer dialog 104
-Normalmodus 55
-Notizen 15, 31, 64
-notizen aendern 64, 77
-notizen lesen 64, 77
-
-'o' 4
-OBEN 3f.
-ODER-Verknüpfung 43
-oeffne 63, 72
-Öffnen 32
-Öffnen (Menü) 13
-
-pageform 24
-Paralleleditor 56, 83
-Paßwort 29
-Platzbedarf 26
-Positionieren 17, 31, 64, 77
-Priorität 44
-Programmzeile 51
-Protokolldatei 47
-Prüfbedingungen 16, 31, 47, 64,
- 87
-pruefe 47, 88
-Pufferplatz 54
-
-RECHTS 3f.
-Refinement 56
-reorganisiere 67
-Reorganisieren 26, 45, 67
-Reservieren 29
-RETURN 4
-Richtung Druckausgabe 23
-rollen 95
-Rollen 41
-RUBIN 4
-RUBOUT 4
-
-saetze 64
-SATZ 61
-Satz 31
-satz aendern 66
-satz ausgewaehlt 80
-Satzauswahl 42
-Satzeditor 9
-satz einfuegen 66, 79
-Satzformular 39
-satz initialisieren 62
-satzkombination 77
-satz lesen 66
-satz loeschen 66, 79
-satz markiert 81
-satznr 64
-satznummer 77
-Satznummer 39
-Satzposition 64
-Satzzeiger 31
-Satzzugriffe 65
-Schreiben auf Archiv 27
-SEITE 99
-sichere 73
-Sichern 15, 36
-sortiere 67
-Sortieren 22, 31, 44, 66
-Sortierreihenfolge 31, 44
-sortierreihenfolge 67
-Sortierzustand 45
-Spaltendruck 52
-Sperre 36
-Standard-Kopiermuster 21, 46
-status anzeigen 103
-Statuszeile 3
-std kopiermuster 87
-Suchbedingung 17, 39, 42
- -, löschen 18
- -, setzen 18
-suchbedingung 80
-suchbedingung lesen 80
-suchbedingung loeschen 80
-suchen 96
-Suchen, Optimierung 44
-Suchmuster 42
- -, eingeben 10
-
-Tabellenmodus 55
-Tasten 3
-Tastenfunktionen 3
-TEXT 45
-textdarstellung 91
-Textdatei, ausdrucken 24
- -, editieren 23
- -, nachbearbeiten 24
-Textzeile 49f.
-trage 88
-Tragen 16, 19, 21, 46, 87
-trage satz 88
-
-uebersicht 95
-uebersichtsfenster 95
-Umbenennen 25
-Umbruch 40, 55
-Umschalten auf Koppeldatei 36
-UND-Verknüpfung 43
-unsortierte saetze 67
-UNTEN 3f.
-Überschrift 39
-Übersicht 22, 41
-Übersicht Dateien Archiv 27
-Übersicht Dateien System 25
-
-V 48, 90
-Verändern 21
-verarbeite 90
-Verarbeitung 89
-Verknüpfung von Bedingungen
-43
-virtuelle Datei 32, 71
-VORSPANN 98
-Vorspann 49
-VORSPANN-Anweisung 49
-
-waehlbar 102
-wahl 103
-Warten 6
-weiter 65, 78
-Weiter 17
-wert 91
-wertemenge 47, 88
-WIEDERHOLUNG-Anweisung 49
-Wiederholungsteil 49
-
-'x' 4
-
-ZAHL 45
-zahltext 91
-Zeichen, reservierte 44
-ZEIGEN: 6
-Zeilenende 54
-Zeilenwiederholung 55
-Zielarchiv 28
-Zurück 17
-zurueck 65, 78
-Zustand 3
-Zustandsübergänge 7
-
diff --git a/doc/eudas/eudas.ref.titel b/doc/eudas/eudas.ref.titel
deleted file mode 100644
index 223a839..0000000
--- a/doc/eudas/eudas.ref.titel
+++ /dev/null
@@ -1,91 +0,0 @@
-#limit (14.0)#
-____________________________________________________________________________
-
-
-#on("b")##on ("u")#
-#center#Betriebssystem E U M E L
-#off ("u")#
-
-
-#center#gs-MP BAP
-
-
-
-
-#off("b")#
-#center#Lizenzfreie Software der
-#on ("b")#
-
-#center#Gesellschaft für Mathematik und Datenverarbeitung mbH,
-#center#5205 Sankt Augustin
-
-
-#off("b")#
-#center#Die Nutzung der Software ist nur im Schul- und Hochschulbereich für
-#center#nichtkommerzielle Zwecke gestattet.
-
-#center#Gewährleistung und Haftung werden ausgeschlossen
-
-
-____________________________________________________________________________
-#page#
-#free (6.0)#
-#on("b")#EUDAS#off("b")#
-#free (1.0)#
-#on("b")#Anwender-#off("b")#
-#on("b")#Datenverwaltungssystem#off("b")#
-#free (2.0)#
-#on ("b")#VERSION 4#off("b")#
-#free(1.0)#
-#on("u")#                                                    #off("u")#
-#free (0.5)#
-#on("b")#REFERENZHANDBUCH#off("b")#
-#block#
-#page#
-#free (9.5)#
-Hergestellt mit Hilfe der EUMEL-Textverarbeitung und des Pro­
-gramms FontMaster der Martin Schönbeck GmbH.
-#free (1.7)#
-Ausgabe September 1987
-
-Dieses Handbuch und das zugehörige Programm sind urheberrechtlich
-geschützt. Die dadurch begründeten Rechte, insbesondere der Ver­
-vielfältigung in irgendeiner Form, bleiben dem Autor vorbehalten.
-
-Es kann keine Garantie dafür übernommen werden, daß das Pro­
-gramm für eine bestimmte Anwendung geeignet ist. Die Verantwor­
-tung dafür liegt beim Kunden.
-
-Das Handbuch wurde mit größter Sorgfalt erstellt. Für die Korrekt­
-heit und Vollständigkeit der Angaben wird aber keine Gewähr über­
-nommen. Das Handbuch kann jederzeit ohne Ankündigung geändert
-werden.
-
-(c) Copyright 1987 Thomas Berlage
- Software-Systeme
- Im alten Keller 3
-#free (0.1)#
- D-5205 Sankt Augustin 1
-#page#
-#free (7.0)#
-#center##on("b")#I.#off("b")#
-#free (1.0)#
-#center##on("b")#FUNKTIONEN#off("b")#
-#center##on("b")#ZUM#off ("b")#
-#center##on("b")#NACHSCHLAGEN#off("b")#
-#page#
-#free (7.0)#
-#center##on("b")#II.#off("b")#
-#free (1.0)#
-#center##on("b")#EUDAS#off("b")#
-#center##on("b")#FÜR#off ("b")#
-#center##on("b")#PROGRAMMIERER#off("b")#
-#page#
-#free (7.0)#
-#center##on("b")#III.#off("b")#
-#free (1.0)#
-#center##on("b")#ANHANG#off("b")#
-
-
-
-
diff --git a/doc/eudas/eudas.ref.vorwort b/doc/eudas/eudas.ref.vorwort
deleted file mode 100644
index f911be8..0000000
--- a/doc/eudas/eudas.ref.vorwort
+++ /dev/null
@@ -1,81 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (1)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-____________________________________________________________________________
-
-
-#on("b")##on ("u")#
-#center#Betriebssystem E U M E L
-#off ("u")#
-
-
-#center#EUDAS
-
-
-
-
-#off("b")#
-#center#Lizenzfreie Software der
-#on ("b")#
-
-#center#Gesellschaft für Mathematik und Datenverarbeitung mbH,
-#center#5205 Sankt Augustin
-
-
-#off("b")#
-#center#Die Nutzung der Software ist nur im Schul- und Hochschulbereich für
-#center#nichtkommerzielle Zwecke gestattet.
-
-#center#Gewährleistung und Haftung werden ausgeschlossen
-
-
-____________________________________________________________________________
-#page#
-#center#1
-
-Vorwort
-
-
-
-Lieber EUDAS-Benutzer!
-
-Dies ist das zweite Handbuch, das Sie zu EUDAS bekommen. Wenn
-Sie sich mit EUDAS noch nicht auskennen, sollten Sie zunächst das
-#on("i")#Benutzerhandbuch#off("i")# zu Rate ziehen, ehe Sie in dieses Handbuch
-schauen.
-
- Das #on("i")#Referenzhandbuch#off("i")# ist in zwei Teile geteilt. Im ersten Teil
-finden Sie eine Übersicht über alle EUDAS-Funktionen (im Kapitel
-2) sowie zusammengefaßte Informationen über die Bedienung (Kapi­
-tel 1) und die genaue Wirkung der einzelnen Funktionen (Kapitel 3
-bis 5). Dieser Teil soll Ihnen zum Nachschlagen dienen, wenn Sie
-eine bestimmte Information suchen.
- Im zweiten Teil sind alle Informationen zusammengefaßt, die
-ein Programmierer zur Benutzung der EUDAS-Funktionen braucht. Es
-sei an dieser Stelle jedoch davon abgeraten, sofort eigene Program­
-me zu schreiben, da sich in vielen Fällen die gleiche Wirkung auch
-durch Programmierung innerhalb von EUDAS-Funktionen erreichen
-läßt (zum Beispiel in Druck- und Änderungsmustern).
- Im Zweifelsfall orientieren Sie sich anhand von Kapitel 11, wie
-Sie Ihr Problem am besten lösen können.
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/eudas/ref.abb.1-1 b/doc/eudas/ref.abb.1-1
deleted file mode 100644
index d3b3217..0000000
--- a/doc/eudas/ref.abb.1-1
+++ /dev/null
@@ -1,42 +0,0 @@
-#limit (13.5)#
-#start (3.5, 5.0)#
-#lpos (0.5)##c pos (3.5)##c pos (4.7)##cpos (7.0)##c pos (10.5)#
-#table#
-      eudas   ESC q  
-
-    ESC ESC   ESC h
-#free (0.2)#
-GIB KDO:     EUDAS  
-#free (0.2)#
-    ESC h    
-    RET        LEER  'Buchst.'  
-
-        ESC q          
-
-        FEHLER
-
-
-  WARTEN      
-      n, j  
-        FRAGE
-
-      RET  
-        EINGABE
-#linefeed (0.5)#
-
-
-        ESC z          
-      ESC q  
-#linefeed (1.0)#
-        AUSWAHL
-
-      ESC q  
-        EDITIEREN
-
-      ESC q  
-        SATZEDITOR
-ESC ?   ESC q        
-      ESC q  
-HILFE       ZEIGEN
-
-
diff --git a/doc/eudas/register b/doc/eudas/register
deleted file mode 100644
index 9cca0fc..0000000
--- a/doc/eudas/register
+++ /dev/null
@@ -1,490 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (181)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-Register
-
-
-
-#columns (2, 0.5)#
-#limit (6.5)#
-% 63, 69, 148
-%% 141
-& 63, 69, 103, 148
-<!> 57
--- 103
-.. 102
-.a$ 65
-'+' 107
-'-' 107
-
-Abbruch 35
-Abkürzungen 133
-Abkürzungsteil 134, 140
-Absatzmarken 125, 129
-Abschlußzeile 45
-Abschneiden 71
-Abschnitt 67, 69, 134
-Alternative 99
- -, globale 100
- -, lokale 99
-AND 162
-Ändern 55
-Änderungen 83, 85, 90, 95
- -, automatisch 121
-Änderungsmuster 121, 166
-Anführungsstrich 27, 34
-Ankreuzen 36, 40
-Anrede 138
-Anweisung 63
- -, Textkosmetik 74
-Anzeige 44
- -, rollen 97
-Arbeitsbereich 16
-Arbeitskopie 56, 84, 173
- -, Beispiel 58
- -, löschen 57
-Arbeitstask 16
-Archiv 32
- -, anmelden 34
- -diskette 36
- -, lesen 34
- -, löschen 176
- -manager 175, 177
- -menü 33, 174
- -name 34, 36
- -, schreiben 36
- -übersicht 175
-Arithmetik 161
-Attribut 4, 29
-Aufräumen 173
-Ausdrucken 66
-Ausdrücke 116, 151
- -, Zusammensetzung 152
-Ausgabedatei 66
-Ausgaberichtung 65
-Auswahlzustand 36, 40
-Automatische Änderungen 121
-
-Bedienungsregeln 39
-begin 16
-Benutzerhandbuch i
-Berechnungen 8
-Bewegen 45
-Bildschirmaufbau 45
-Bitte warten 34, 40
-blättern 46
-BOOL 154, 162
-
-Carriage Return 15
-CAT 167
-CONST 155
-CR 15
-Cursor 35, 46
- -tasten 54
-
-date 137
-Datei 27
- -arten 27
- -, aufräumen 173
- -auswahl 36
- -größe, Begrenzung 124
- -, kopieren 172
- -limit 71
- -, löschen 38, 172
- -namen 172
- -, Platzbedarf 173
- -, reorganisieren 174
- -sperre 95
- -, umbenennen 172
- -verwaltung 37
- -, virtuelle 83
-Dateien, Archiv 174
- - (Menü) 38, 171
- -, System 171
-DATEIENDE 106
-Daten, ändern 55
- -, anzeigen 44
- -, sichern 33
- -typen 152
- -typen, umwandeln 154
- -verwaltung 3
-Datum 44, 99, 133, 137
-DATUM 112
-DECR 167
-Denotation 154
-Dezimalkomma 111, 161
-Dezimalpunkt 148
-DIN 112
-Diskette 28, 32
- -, formatieren 176
- -, initialisieren 176
-Diskettenlaufwerk 175
-Doppeleinträge 121
-DOS 178
-Druckausgabe, Bearbeitung 125
-Drucken 7, 61
- -, Ablauf 66
- -, Aufruf 64, 66
- - (Menü) 22, 65
- -, Übersicht 175
-Druckersteuerungsanweisungen
- 74, 124
-Druckmuster 13, 23, 61, 166
- -, Fehler 134
- -, Übersetzung 134, 142
- -, Zeilenlänge 71
-Druckrichtung 123
-Druckverfahren 62
-
-Editieren 64
-Editor 34, 41, 52, 125
-eindeutige felder 121
-Einfügen 18, 52
-Eingabe, Daten 52
- -, Suchmuster 46
-Eingabeüberprüfung 112
-Eingabezustand 35, 40
-Eingangsmenü 17
-Einzelsatz (Menü) 18, 44, 92, 97
-ELAN-Anweisungen 141
-ELAN-Ausdrücke 116, 151
-ELAN-Compiler 134
-ELIF 168
-ELSE 139
-ENDE 45
-Endesatz 45, 48, 53, 85
-ENTER 15
-ESC '1' 107
-ESC '?' 31, 39, 40
-ESC '9' 107
-ESC 'D' 99
-ESC ESC 41, 111
-ESC 'F' 67
-ESC 'g' 99
-ESC 'h' 35, 39, 40, 55, 107
-ESC 'K' 92
-ESC OBEN 97
-ESC 'p' 99
-ESC 'P' 118
-ESC 'q' 32ff.,40 , 47, 65, 107
-ESC RUBIN 54
-ESC RUBOUT 54
-ESC UNTEN 97
-ESC 'w' 32, 40, 53
-ESC 'z' 32, 36, 40, 95
-Etiketten 126
-eudas 30, 125
-EUDAS-Archivdiskette 11, 29
-EUDAS-Datei 27, 61, 171
- -, drucken 61
- -, einrichten 17, 51
- -, Grenzen 29
- -, kopieren 113
- -, Mehrfachbenutzung 93
- -, Struktur 28
-EUDAS, Aufruf 30
- -, Installation 11
- -, Start 15
- -, Verlassen 24, 32
-EUMEL-Netz 175
-EUMEL-Textverarbeitung 5
-EUMEL-Zeichencode 110
-
-f 117, 134, 156
-FALSE 154
-Fehler, Druckmuster 66
- -, quittieren 36
- -zustand 35, 40
-Feld 29
-Feldauswahl 97, 106
-Felder, anfügen 111, 114
-Feldinhalt 29, 156, 160
-feldmaske 120
-Feldmuster 63, 69
-Feldmustertypen 71
-Feldnamen 29, 67
- -, abfragen 67
- -, Abgrenzung 72
- -, ändern 112
- -, eingeben 51
- -, Länge 133
-Feldreihenfolge 113
-Feldstruktur 111
-Feldteil 45
-Feldtypen 110, 154
- -, ändern 111
-Feldvergleich 103
-Formatieren 177
-Formbrief 74
-Formular 8, 44
-Fragezustand 38, 40
-Funktionen 152
- -, ausführen 31, 46
- -, auswählen 30
- -, gesperrt 31
-Fußzeile 44
-
-Gib Kommando 41, 11
-global manager 93
-GRUPPE 145
-Gruppen 144
- -definition 145
- -, mehrere 145
- -wechsel 145
-gruppenwechsel 145
-
-halt 39, 110
-Hardwarefehler 33
-Hauptdatei 87ff.
-Hilfe 31
-Hilfezustand 31, 40
-Hilfstexte 13, 31
-Hintergrunddiskette 12
-Hintergrundengpaß 124
-Holen 56
-HOP OBEN 40, 98, 106
-HOP RETURN 106
-HOP RUBIN 54
-HOP RUBOUT 54
-HOP UNTEN 40, 98, 106
-HOP 'x' 98
-
-IF 117
-IF-Abfragen 161, 168
-IF-Anweisungen 138
-INCR 167
-Init 176
-Initialisierungsteil 124, 143
-Installation 11
-int 140
-INT 153
-
-K 113
-Karteikarten 5
-KB 173
-Ketten 13, 83, 85, 95
-Kilobyte 173
-Klammern 163
- -, spitze 72
-Kombination 89
-Kombinationsnummer 90
-Kopieren, logisch 172
- -, EUDAS-Datei 112
- - (vom Archiv) 34, 176
-Kopieranweisung 113
-Kopiermuster 113, 115, 166
- -, Übersetzung 116
-KOPPEL 92
-Koppeldatei, Markierung 105
- -, Position 93
- -, umschalten 92
-Koppelfeld 86, 89
- -, übernehmen 92
-Koppeln 13, 83, 85, 95
- -, mehrere Dateien 87
-Koppelvorgang, Schema 87
-Korrekturversion 14
-
-Länge, feste 70, 137
- -, variable 70
-Leerautomatik 73
-Leertaste 17, 31
-length 158
-lfd nr 137, 157
-limit 71, 125
-lineform 125, 129
-LINKS 31, 35
-linksbündig 71
-Linksschieben 128
-list (archive) 34
-Löschen 55
- - (auf Archiv) 176
- - (Datei) 172
-
-Manager 93, 95
-Managertask 175
-MARK 104
-Markieren 104
- -, in Übersicht 107
-Markierung 104
- -, löschen 105
-maxdruckzeilen 124
-MEHR 129
-Mehrfachbenutzung 93
-Menü 30
-Menüzustand 31, 40
-min 155
-Modi 128
-Multi-User 12
-Multi-User-System 16
-Musterbrief 139
-Musterteil 135
-Musterzeichen 70
-
-Nachbearbeitung 125
-Nachspann 68, 144
-NACHSPANN 68
-Negation 103
-Netz 175
-Numerieren 137
-
-'o' 40, 98
-OBEN 30, 106
-ODER 100
-Öffnen 17, 21, 43, 51, 57, 83, 95
- - (Menü) 30
-Operatoren 152, 155
- -, Priorität 163
-OR 163
-
-pageform 125
-Paralleleditor 67, 142
-Parameter 152
-Paßwort 94, 177
-Pfeiltasten 54
-Platzbedarf, Datei 173
-pos 159
-Position, feste 69
- -, variable 69
-Positionierung 48
-Proportionalschrift 129
-Prüfbedingungen 118
-pruefe 120
-PUBLIC 13
-
-REAL 153
-real 155
-RECHTS 31, 55
-rechtsbündig 71, 137
-Referenzhandbuch i, 79
-Refinement 134, 140, 163
-Reorganisieren 174
-Reservieren 178
-RET 15
-RETURN 15
-Richtung, Druckausgabe 65, 123
-Rollen 97, 106
-RUBIN 35, 54
-RUBOUT 35, 54
-Runden 160
-
-Satz 29
- -, anwählen 46
- -editor 41, 47, 53, 92, 98
- -, einfügen 52
- -, holen 56
- -, löschen 55
- -, tragen 55
-Satz.Nr 46, 48
-Satznummer 45, 90
-Satzauswahl, kopieren 114
-Schreiben (auf Archiv) 36, 176
-Schreibmarke 35
-Schrifttypen 125
-Selektion 48
-Sichern 20, 56, 84, 95
-Single-User 12
-Single-User-System 16
-Sortieren 109
- -, Optimierung 110
- -, Zieldatei 115
-Sortierreihenfolge 109
-Spaltenbreite 126
-Spaltendruck 126
-Speicherplatz 14, 38, 176
- -, Datei 173
-Sperren von Dateien 95
-Standard-Kopiermuster 115
-Stationsnummer 175
-Statistik 169
-Statuszeile 31, 39
-Stern 50, 101
-SUB 158, 163
-subtext 158
-SUCH 47
-Suchbedingung f. Drucken 67
-Suchbedingung, Kombination 49
-Suchbedingung löschen 48
-Suchbedingung setzen 46
-Suchen 21, 46
- -, Optimierung 104
-Suchmuster 47, 99
- -, Eingabe 47
-SV-Taste 16, 39
-System 32
-
-Tabellenmodus 128
-Tagesdatum 99
-Task, Manager 93
-Tasks 13
-Teildatei 114
-Teiltexte 158
-TEXT 112, 153
-text 140
-Textdatei 28, 61, 171
- -, ändern 65
- -, ansehen 65
- -, ausdrucken 66
- -, editieren 64
-Texte, verketten 156
-Text-Funktionen 156
-Textkonstanten 139
-Text, konstanter 117
-Text, Länge 158
-Textverarbeitung 3, 123
-THEN 139
-Tragen 55, 118
-TRUE 154
-
-Uhrzeit 133
-Umbruch 129
-Umlaute 143
-Umschalten auf Koppeldatei 92
-UND 100ff.
-UNTEN 30, 106
-Überschrift 45, 68
-Übersicht (Archiv) 34, 175
- - (Dateien) 37, 171
- - (Sätze) 105
-
-V 122
-VAR 165
-Variablen 165
- -, Initialisierung 143, 167
- -, Lebensdauer 166
- -, Typ 165
-Verändern 121
-Vergleiche 102, 162
-virtuelle Datei 83
-Vorspann 68, 144
-VORSPANN 68
-
-Weiter 45, 48, 90
-wert 148, 160
-wertemenge 119
-WIEDERHOLUNG 63, 126
-
-'x' 36, 40
-
-ZAHL 110
-zahltext 148, 160
-Zeichen, reservierte 64, 69, 103
-Zeigen 40
-Zeile einfügen 54
-Zeilenfortsetzung 129
-Zeilenlänge 71
-Zielarchiv 175
-Zieldatei, Struktur 113
-Zurück 45, 48, 90
-Zustand 31, 40
-Zuweisung 166
-
-
diff --git a/doc/eudas/uedas.hdb.4 b/doc/eudas/uedas.hdb.4
deleted file mode 100644
index ecbfd58..0000000
--- a/doc/eudas/uedas.hdb.4
+++ /dev/null
@@ -1,686 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (27)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-4 Umgang mit Dateien und Menüs
-
-
-
-Zu Anfang dieses Teils sollen Sie zunächst die Terminologie von
-EUDAS kennenlernen. Das Karteikartenmodell des ersten Kapitels
-muß ja auf einem Rechner realisiert werden. Dazu müssen erst eini­
-ge Ausdrücke erklärt werden.
-
-
-4.1 EUDAS-Dateien
-
-Der wichtigste Ausdruck, der Ihnen noch sehr häufig begegnen wird,
-ist #on("i")#Datei#off("i")#. Eine Datei ist eine Sammlung von Informationen in einem
-Computer, die als ein Objekt transportiert und behandelt werden
-können. Dieser Name wurde analog zu "Kartei" gebildet, mit dem
-Unterschied, daß eine "Daten-Kartei" gemeint ist.
- Jede Datei hat einen eigenen Namen, durch den sie identifiziert
-wird. Der Name ist oft in Anführungsstriche eingeschlossen - die
-Anführungsstriche gehören jedoch nicht zum Namen, sondern dienen
-nur zur Abgrenzung, welche Zeichen zum Namen gehören. Der Name
-ist also wie die Aufschrift auf einem Aktenordner. Wenn alle Ordner
-im Schrank stehen, können Sie anhand des Namens den richtigen
-Ordner finden, anderenfalls müßten Sie alle Ordner öffnen.
-
-#on("b")#Dateiarten#off("b")# Dateien werden nun für viele verschiedene Arten
-von
-Informationen benutzt. Sie können einerseits Texte enthalten oder
-auch Karteien, Grafiken, Formeln oder Zahlenkolonnen. Sie haben
-bereits im ersten Kapitel den Unterschied zwischen Datenverwaltung
-und Textverarbeitung kennengelernt. In diesem Zusammenhang sind
-die beiden ersten Verwendungsweisen wichtig.
-
-#limit (12.0)#
- #on("i")#Textdateien#off("i")#
- sind Dateien, die normale Texte enthalten, die mit
- dem Editor verändert und einfach ausgedruckt
- werden können. In ihnen werden also Informationen
- gespeichert, wie die Textverarbeitung sie benötigt.
-
- #on("i")#EUDAS-Dateien#off("i")#
- sind dagegen Dateien, die Informationen in der
- Form von Karteikarten enthalten. Sie haben also
- die Struktur, wie sie von der Datenverwaltung be­
- nötigt wird.
-#limit (13.5)#
-
- Der Computer kann aber auch alle Arten von Dateien gleich­
-behandeln, und zwar dann, wenn der Inhalt der Dateien nicht be­
-trachtet werden muß.
- Ein häufiger Fall ist zum Beispiel, wenn Dateien zur Sicherung
-auf eine Diskette geschrieben werden sollen. In diesem Fall genügt
-die Angabe des Namens; dem Rechner ist es egal, welchen Inhalt die
-Datei hat.
- Anders ist es aber, wenn Sie den Inhalt betrachten wollen.
-Dazu brauchen Sie dann ein Programm, das die innere Struktur der
-Datei kennt. Textdateien können Sie zum Beispiel mit dem Editor
-ansehen. EUDAS-Dateien müssen Sie jedoch mit EUDAS ansehen, da
-der Editor die EUDAS-Struktur nicht kennt. Es ist in vielen Fällen
-sinnvoll, durch einen Zusatz im Dateinamen zu kennzeichnen, ob es
-sich um eine Textdatei oder eine EUDAS-Datei handelt.
-
-
-#free (3.7)#
-
-#center#Abb. 4-1 Struktur einer EUDAS-Datei
-
-
-#on("b")#Terminologie#off("b")# EUDAS verwendet bestimmte Ausdrücke, um die
-Strukturelemente einer EUDAS-Datei zu kennzeichnen. Die Struktur
-einer EUDAS-Datei ist schematisch in Abb. 4-1 dargestellt. Die
-Ausdrücke wurden nun nicht direkt aus dem Karteikartenmodell
-übernommen, da es auch noch andere Modelle gibt und keine fal­
-schen Assoziationen auftreten sollen.
- EUDAS verwendet die Bezeichnung #on("i")#Satz#off("i")# für eine Karteikarte.
-Eine EUDAS-Datei besteht also aus einer Anzahl von gleichartigen
-Sätzen. Zur Veranschaulichung kann man sich diese nebeneinander­
-gelegt vorstellen.
- Jeder Satz ist unterteilt in sogenannte #on("i")#Felder#off("i")#. Ein Feld ent­
-spricht einem Attribut bzw. einem Eintrag auf der Karteikarte. Ein
-Feld ist wiederum unterteilt in einen #on("i")#Feldnamen#off("i")# und einen #on("i")#Feldin­
-halt#off("i")#.
- Der Feldname identifiziert ein bestimmtes Feld innerhalb eines
-Satzes. Die Feldnamen sind natürlich für alle Sätze gleich. Die
-Feldnamen einer EUDAS-Datei sind beliebig und können von Ihnen
-selbst festgelegt werden.
- Der Feldinhalt enthält die eigentliche Information des entspre­
-chenden Attributs. Der Feldinhalt darf ebenfalls aus beliebig vielen
-Zeichen bestehen. Die Feldinhalte sind natürlich für jeden Satz
-verschieden und stellen die eigentliche gespeicherte Information
-dar.
-
-#on("b")#Grenzen#off("b")# Aus technischen Gründen gibt es natürlich auch
-einige
-Beschränkungen, die hier nicht verschwiegen werden sollen. Eine
-Datei kann maximal etwa 5000 Sätze enthalten, ein Satz darf aus
-maximal 255 Feldern bestehen. Insgesamt kann ein Satz etwa 32000
-Zeichen umfassen. Die einzelnen Sätze in der EUDAS-Datei werden
-durch ihre jeweilige Positionsnummer identifiziert, also quasi von 1
-bis 5000 durchnumeriert.
-
-
-4.2 EUDAS-Menüs
-
-In den folgenden Abschnitten sollen Sie lernen, wie die Bedienung
-von EUDAS funktioniert. Dazu sollen Sie eine EUDAS-Beispieldatei
-von der EUDAS-Diskette in Ihr System holen. Diese Datei brauchen
-Sie dann später, um die Funktionen von EUDAS zu kennenzulernen.
- Die Beispieldatei hat den gleichen Inhalt wie die in Kapitel 3
-von Ihnen erstellte Datei. Falls Ihnen also die EUDAS-Archiv­
-diskette nicht zur Verfügung steht, können Sie in diesem Kapitel
-auch jede andere Archivdiskette verwenden.
- Bitte beachten Sie im folgenden, daß Sie einfache Anführungs­
-striche nicht mit eingeben, doppelte Anführungsstriche aber wohl.
-
-#on("b")#EUDAS-Aufruf#off("b")# Zuerst müssen Sie EUDAS aufrufen. Dazu
-begeben
-Sie sich in die in Kapitel 3 eingerichtete Task ('continue ("arbeit")')
-und geben bei 'gib kommando:' das Kommando 'eudas':
-
-
- gib kommando:
- #on("i")#eudas#off("i")#<RET>
-
-
-Falls Ihr System über Menüs gesteuert wird, müssen Sie eine ent­
-sprechende Funktion wählen. Anschließend erscheint folgendes
-Menü:
-
-___________________________________________________________________________________________
-
- EUDAS: Öffnen Einzelsatz Gesamtdatei Drucken Dateien Archiv
- --------------:
- EUDAS-Datei :
- O Öffnen :
- - Ketten :
- - Koppeln :
- --------------:
- Arbeitskopie :
- - Sichern :
- --------------:
- Aktuelle Datei:
- - Notizen :
- - Feldstrukt. :
- - Prüfbeding. :
- --------------:
- Mehrbenutzer :
- M Manager :
- --------------:
- :
- :
- :
- :
- :
- Akt.Datei: Manager: Datum: 22.07.87
-___________________________________________________________________________________________
-
-
-#on("b")#Menüs#off("b")# Ein #on("i")#Menü#off("i")# ist eine Auswahl für einige verschiedene Funk­
-tionen. Die Funktionen sind jeweils benannt und werden durch einen
-davorstehenden Buchstaben oder ein Minuszeichen gekennzeichnet.
-Eine der Funktionen ist immer durch inverse Darstellung markiert.
- Diese Markierung können Sie nun mit Hilfe der Pfeiltasten OBEN
-und UNTEN verschieben. Auf diese Weise können Sie sich die ge­
-wünschte Funktion auswählen. Die Funktionen werden jedoch durch
-das Markieren nicht ausgeführt. Sie können also beliebig mit den
-Pfeiltasten herumexperimentieren.
- Ausgeführt wird die markierte Funktion, wenn Sie die Leertaste
-drücken. Sofort erscheint ein Stern vor dem Funktionsnamen, um
-anzuzeigen, daß die Ausführung beginnt. Probieren Sie dies jetzt
-nicht aus, dazu ist später Gelegenheit.
- Funktionen mit einem Minuszeichen davor können Sie zwar
-anwählen (markieren), aber nicht ausführen. Solche Funktionen sind
-momentan gesperrt, weil ihre Ausführung keinen Sinn hat oder sogar
-Fehler erzeugen würde.
- Mit den Pfeiltasten LINKS und RECHTS können Sie im Menüzu­
-stand weitere EUDAS-Menüs abrufen. Welche Menüs zur Verfügung
-stehen, zeigt Ihnen die oberste Bildschirmzeile. Das aktuelle Menü
-ist jeweils invers dargestellt.
-
-#on("b")#Hilfe#off("b")# Wenn Sie nun wissen möchten, welche Bedeutung die
-mar­
-kierte Funktion hat (die Funktionsbezeichnungen sind aus Platz­
-gründen sehr kurz gehalten), können Sie einen #on("i")#Hilfstext#off("i")# zu dieser
-Funktion abrufen. Dies erfolgt durch die Betätigung der Tasten ESC
-und '?' hintereinander. Diese doppelten Tastenkombinationen mit der
-ESC-Taste am Anfang werden Ihnen noch sehr häufig begegnen -
-denken Sie immer daran, die Tasten hintereinander und nicht
-gleichzeitig zu tippen. Der zeitliche Abstand zwischen den Tasten­
-drücken kann beliebig lang sein; hingegen sollten Sie eine Taste
-nicht zu lange drücken, da sonst eventuell eine automatische Wie­
-derholfunktion Ihrer Tastatur startet.
- Probieren Sie nun die Tastenkombination ESC '?' aus. Als Reak­
-tion erscheint in der rechten Hälfte des Bildschirms ein Text. Dieser
-sollte Ihnen die gewünschten Informationen bieten.
- Gleichzeitig hat sich aber auch die oberste Bildschirmzeile
-verändert. Sie zeigt jetzt folgendes Bild:
-
-___________________________________________________________________________________________
-
- HILFE: Beenden: ESC q Seite weiter: ESC w Seite zurueck: ESC z
-___________________________________________________________________________________________
-
-
-#on("b")#Zustände#off("b")# Wenn Sie sich nicht im Menü befinden, fungiert
-die ober­
-ste Zeile als sogenannte #on("i")#Statuszeile#off("i")#. Diese Zeile zeigt immer an, in
-welchem #on("i")#Zustand#off("i")# das Programm sich befindet. Der Zustand des Pro­
-gramms hat nämlich Einfluß darauf, welche Tasten Sie drücken
-können und wie das Programm darauf reagiert. Die Statuszeile zeigt
-daher außer dem Zustand auch die wichtigsten Tastenfunktionen.
- Sie kennen jetzt also schon zwei Zustände von EUDAS: den
-Menüzustand und den Hilfe-Zustand.
-
-#on("b")#Hilfe-Zustand#off("b")# Vom Menüzustand kommen Sie über die
-Tastenkom­
-bination ESC '?' in den Hilfe-Zustand. Im Hilfe-Zustand haben die
-Pfeiltasten OBEN und UNTEN keine Wirkung mehr (probieren Sie dies
-aus).
- Ein Hilfstext besteht im allgemeinen aus mehreren Seiten. Die
-erste Seite enthält dabei die speziellen Informationen, danach
-folgen dann allgemeine Informationen. Mit den Tastenkombinationen
-ESC 'w' und ESC 'z' können Sie zwischen den Seiten umschalten
-(denken Sie daran, was oben über Tastenkombinationen gesagt
-wurde). Wenn Sie dies ausprobieren, werden Sie auf der zweiten
-Seite allgemeine Hinweise zur Menübedienung finden. Auf der letz­
-ten Seite wird ESC 'w' ignoriert, ebenso ESC 'z' auf der ersten Seite.
- Mit der Tastenkombination ESC 'q' (quit) kehren Sie aus dem
-Hilfezustand in den vorherigen Zustand zurück. Diese Tastenkombi­
-nation löst allgemein in EUDAS die Rückkehr in den alten Zustand
-aus. Wenn Sie ESC 'q' getippt haben, erscheint die alte Menüzeile
-und Sie können wieder Funktionen auswählen.
- Der Hilfszustand läßt sich von nahezu allen (noch zu bespre­
-chenden) Zuständen mit ESC '?' aufrufen. Es wird jeweils ein zum
-aktuellen Zustand passender Hilfstext ausgegeben.
- Die möglichen Zustandsübergange sind nochmal in Abb. 4-2
-zusammengefaßt.
-
-
-#free (2.5)#
-
-#center#Abb. 4-2 Menü- und Hilfezustand
-
-
-#on("b")#EUDAS verlassen#off("b")# Im Menüzustand können Sie EUDAS jederzeit
-durch Tippen von ESC 'q' verlassen. Sie landen dann wieder bei 'gib
-kommando:'.
-
-
-4.3 Archivmenü
-
-#on("b")#System/Archiv#off("b")# An dieser Stelle müssen Sie sich die Begriffe #on("i")#Archiv#off("i")#
-und #on("i")#System#off("i")# klarmachen. Als Archiv bezeichnet man die Möglichkeit,
-bei Bedarf Disketten in Ihren Rechner einlegen können, um Dateien
-(und Programme) von anderen Rechnern zu übernehmen. Um diese
-Dateien bearbeiten zu können, müssen Sie sie in das System (Ihre
-Festplatte oder Hintergrunddiskette) kopieren.
- Die wichtigste Aufgabe des Archivs ist es, Daten vor Beschädi­
-gung zu sichern. Durch Fehlbedienung oder Systemfehler kann es
-nämlich leicht geschehen, daß die Daten in Ihrem System verloren
-gehen oder zerstört werden. Wenn Sie die Daten jedoch auf einer
-Diskette gesichert und die Diskette sicher verwahrt haben, können
-Sie die Daten wiederherstellen.
- Es ist sehr wichtig, daß Sie Ihre Dateien auf Archivdisketten
-sichern, denn ein einziger Hardwarefehler kann die Arbeit von
-Jahren vernichten (Sagen Sie nicht: "Mir passiert so etwas nicht" -
-bis jetzt hat es noch jeden erwischt).
-
-___________________________________________________________________________________________
-
- EUDAS: Öffnen Einzelsatz Gesamtdatei Drucken Dateien Archiv
- --------------:
- Dateien Archiv:
- U Übersicht :
- D Üb. Drucken :
- --------------:
- Datei :
- K Kopieren :
- vom Archiv :
- S Schreiben :
- auf Archiv :
- L Löschen :
- auf Archiv :
- --------------:
- Archivdiskette:
- I Init :
- --------------:
- Z Zielarchiv :
- P Paßwort :
- - Reservieren :
- --------------:
- :
- :
- Akt.Datei: Ziel: "ARCHIVE" Datum: 22.07.87
-___________________________________________________________________________________________
-
-
-#center#Abb. 4-3 Archivmenü
-
-
-#on("b")#Archivmenü#off("b")# Wenn Sie EUDAS aufrufen, befinden Sie sich
-immer im
-ersten Menü. Sie benötigen jedoch jetzt Funktionen aus dem sech­
-sten Menü 'Archiv'. Wählen Sie dieses Menü jetzt an. Es erscheint
-das in Abb. 4-3 dargestellte Bild. Die Funktionen in diesem Menü
-befassen sich mit beliebigen Dateien auf dem Archiv.
- Für den Versuch legen Sie bitte die EUDAS-Archivdiskette ein.
-Dann wählen Sie die Funktion 'Übersicht' in dem Menü an, wenn sie
-nicht schon markiert ist. Sie können nun die ausgewählte Funktion
-durch Tippen der Leertaste ausführen.
- In der obersten Zeile erscheint nun der Hinweis 'Bitte war­
-ten..'. Er zeigt an, daß nun eine Funktion ausgeführt wird, bei der
-Sie zunächst nichts tun können. Sie sollten in diesem Zustand keine
-Tasten drücken, denn EUDAS kann nicht darauf reagieren.
-
-#on("b")#Archivübersicht#off("b")# Nach einer mehr oder minder langen
-Aktivitäts­
-phase Ihres Diskettenlaufwerks erscheint dann die Archivübersicht.
-Das Erscheinungsbild mit dem markierten Editorbalken in der ober­
-sten Zeile kommt Ihnen vielleicht bekannt vor. Sie haben nämlich
-nichts anderes als das EUMEL-Kommando 'list (archive)' ausgeführt.
-Neu ist lediglich die Statuszeile:
-
-___________________________________________________________________________________________
-
- ZEIGEN: Blättern: HOP OBEN, HOP UNTEN Beenden: ESC q Hilfe: ESC ?
-___________________________________________________________________________________________
-
-
-Wenn Sie sich die Übersicht angeschaut haben, verlassen Sie den
-Editor wieder mit ESC 'q'.
- Beachten Sie, daß Sie unter EUDAS das Archiv nicht extra an­
-melden müssen; dies geschieht automatisch, wenn Sie eine Funktion
-aufrufen. Bei Leseoperationen müssen Sie nicht einmal den Archiv­
-namen wissen. Das Archiv wird automatisch wieder abgemeldet,
-wenn Sie das Archivmenü verlassen.
-
-#on("b")#Archiv lesen#off("b")# Unter den in der Übersicht aufgelisteten
-Dateien
-sollten Sie auch die Datei finden, die Sie brauchen. Sie heißt
-'Adressen'. An dieser Stelle ein kleiner Hinweis: An vielen Stellen
-werden Sie sehen, daß Dateinamen in Anführungsstriche einge­
-schlossen sind. Die Anführungsstriche gehören jedoch #on("i")#nicht#off("i")# zum
-Namen. Sie dienen nur zur Abgrenzung, da in Dateinamen beliebige
-Zeichen erlaubt sind. Wenn Sie aufgefordert werden, einen Datei­
-namen einzugeben, müssen Sie dies immer ohne Anführungsstriche
-tun.
- Hoffentlich haben Sie in der ganzen Diskussion nicht das Ziel
-aus den Augen verloren: Sie sollten eine Datei ins System holen, um
-nachher mit ihr zu experimentieren. Zu diesem Zweck gibt es im
-Archivmenü die Funktion
-#free (0.2)#
-
- K Kopieren
- (vom Archiv)
-
-#free (0.2)#
-Wählen Sie diese Funktion jetzt mit den Pfeiltasten aus und drücken
-Sie zum Ausführen die Leertaste.
-
-#on("b")#Eingabezustand#off("b")# Nach kurzem 'Bitte warten..'-Zustand werden
-Sie
-im rechten Bildschirmteil nach dem Namen der Datei gefragt. Gleich­
-zeitig erscheint eine neue Statuszeile. Es ergibt sich folgendes Bild:
-
-___________________________________________________________________________________________
-
- EINGABE: Bestätigen: RETURN Zeigen: ESC z Abbrechen: ESC h Hilfe: ESC ?
- --------------:Dateiname:
- Dateien Archiv:
- U Übersicht :
- D Üb. drucken :
- --------------:
- Datei :
- * Kopieren :
- vom Archiv :
- ...
-
-___________________________________________________________________________________________
-
-
-Sie können in diesem Zustand den Namen der gewünschten Datei
-eingeben. Außer den in der Statuszeile genannten Funktionen kön­
-nen Sie die aus dem Editor bekannten Tasten benutzen, um den
-Text in der Zeile gegebenenfalls zu korrigieren (Pfeiltasten LINKS
-und RECHTS, RUBOUT, RUBIN). Die Schreibmarke (Cursor) zeigt Ihnen
-an, wo das nächste Zeichen plaziert wird.
-
-#on("b")#Abbruch#off("b")# Eine Tastenkombination verdient noch besondere
-Beach­
-tung: Mit ESC 'h' können Sie in vielen Situationen eine Funktion
-noch abbrechen - zum Beispiel wenn Sie irrtümlich die falsche
-Funktion gewählt haben.
- Im Gegensatz zu ESC 'q' erfolgt hier die sofortige Rückkehr aus
-der Funktion ins Menü, möglichst ohne daß die Funktion Auswir­
-kungen hinterläßt. Bei einem Abbruch bleibt also in der Regel das
-System unverändert.
-
-#on("b")#Fehlerzustand#off("b")# Um auch die Fehlerbehandlung von EUDAS
-auszu­
-probieren, sollten Sie hier einen falschen Namen eingeben, zum
-Beispiel:
-#free (0.2)#
-
- Dateiname: #on("i")#Adresen#off("i")#<RET>
-
-#free (0.2)#
-EUDAS sucht jetzt auf der Diskette nach einer Datei dieses Namens,
-findet sie aber nicht. Als Reaktion erscheint dann die Meldung:
-
-___________________________________________________________________________________________
-
- !!! FEHLER !!! Quittieren: ESC q Hilfe zur Meldung: ESC ?
- --------------:Dateiname: Adresen
- Dateien Archiv:>>> "Adresen" gibt es nicht
- U Übersicht :
- D Üb. drucken :
- --------------:
- ...
-
-___________________________________________________________________________________________
-
-
-Im Normalfall sollten Sie die Fehlermeldung mit ESC 'q' quittieren,
-damit Sie den Befehl erneut versuchen können. Auch hier haben Sie
-die Möglichkeit, eine besondere Information zu dem Fehler abzurufen
-(es liegen jedoch nicht für alle möglichen Fehler spezielle Texte
-vor).
- Nach dem Quittieren des Fehlers befinden Sie sich wieder im
-Menüzustand. Wiederholen Sie jetzt die Funktion, indem Sie die
-Leertaste tippen. Sie werden dann erneut nach dem Namen gefragt.
-
-#on("b")#Auswahlzustand#off("b")# Um endlich ans Ziel zu kommen, benutzen Sie
-diesmal eine sehr komfortable Abkürzung, die EUDAS Ihnen bietet.
-Durch Drücken von ESC 'z' können Sie sich nämlich alle möglichen
-Namen anzeigen lassen und den gewünschten einfach ankreuzen.
- Anschließend sieht der Bildschirm wie in Abb. 4-4 aus. In die­
-sem Zustand können Sie mit den Pfeiltasten den Cursor zur ge­
-wünschten Datei bewegen und diese ankreuzen. Da Sie auch meh­
-rere Dateien in beliebiger Folge ankreuzen können, erscheint eine
-'1' vor der Datei zur Anzeige der Reihenfolge. Sie wollen aber nur
-diese eine Datei 'Adressen' holen und beenden die Auswahl daher
-mit ESC 'q'. Wenn alles glattgeht, wird jetzt die Datei vom Archiv
-ins System kopiert.
-
-#on("b")#Archiv schreiben#off("b")# Auf nahezu gleiche Weise können Sie mit
-der Funktion
-
-
- S Schreiben
- auf Archiv
-
-
-eine Datei wieder auf die Diskette schreiben. Als erstes müssen Sie
-dann den Namen der Archivdiskette eingeben, damit Sie nicht aus
-Versehen auf eine falsche Archivdiskette schreiben.
- Auch hier können Sie die gewünschten Dateien ankreuzen (na­
-türlich bietet EUDAS dann die Dateien des Systems an). Sie brau­
-chen keine Angst zu haben, aus Versehen eine Datei mit gleichem
-Namen zu überschreiben - EUDAS fragt in solchen Fällen immer
-nochmal an.
-
-___________________________________________________________________________________________
-
- AUSWAHL: Ankreuzen: 'x' Durchstreichen: 'o' Beenden: ESC q Hilfe: ESC ?
- --------------:--------------------------------------------------------------
- Dateien Archiv: Auswahl der Dateien auf dem Archiv.
- U Übersicht : Gewuenschte Datei(en) bitte ankreuzen:
- D Üb. Drucken :--------------------------------------------------------------
- --------------: o "eudas.1"
- Datei : o "eudas.2"
- * Kopieren : o "eudas.3"
- vom Archiv : o "eudas.4"
- S Schreiben : o "eudas.init"
- auf Archiv : o "eudas.generator"
- L Löschen : o "Adressen"
- auf Archiv :--------------------------------------------------------------
- --------------:
- Archivdiskette:
- I Init :
- --------------:
- Z Zielarchiv :
- P Paßwort :
- - Reservieren :
- --------------:
- :
- :
- Akt.Datei: Ziel: "ARCHIVE" Datum: 22.07.87
-___________________________________________________________________________________________
-
-
-#center#Abb. 4-4 Dateiauswahl
-
-
-
-4.4 Dateiverwaltung
-
-So: nach dieser anstrengenden Arbeit sollen Sie sich überzeugen,
-daß die Datei 'Adressen' nun wirklich im System zur Verfügung
-steht. Dazu gehen Sie mit LINKS ein Menü zurück. Dieses Menü
-beschäftigt sich mit Dateien im System und ist in Abb. 4-5 gezeigt.
- Auch hier finden Sie eine Funktion "Übersicht". Rufen Sie diese
-auf. Ganz analog zum Archiv erscheint eine Übersicht aller Dateien
-im Editor. Verlassen Sie die Übersicht wieder mit ESC 'q'.
-
-___________________________________________________________________________________________
-
- EUDAS: Öffnen Einzelsatz Gesamtdatei Drucken Dateien Archiv
- --------------:
- Dateien System:
- U Übersicht :
- --------------:
- Datei :
- L Löschen :
- N Umbenennen :
- K Kopieren :
- P Platzbedarf :
- A Aufräumen :
- --------------:
- :
- :
- :
- :
- :
- :
- :
- :
- :
- :
- :
- Akt.Datei: Task: "arbeit" Datum: 22.07.87
-___________________________________________________________________________________________
-
-
-#center#Abb. 4-5 Menü 'Dateien'
-
-
-#on("b")#Datei löschen#off("b")# Eine weitere Funktion aus diesem Menü werden
-Sie ebenfalls noch öfter brauchen, nämlich
-#free (0.2)#
-
- L Löschen
-
-#free (0.2)#
-Mit dieser Funktion können Sie eine Datei wieder aus dem System
-entfernen - zum Beispiel wenn Sie sich die Adressen angesehen
-haben und danach den Speicherplatz nicht weiter verschwenden
-wollen. Als letztes Beispiel sollen Sie auch diese Funktion aufrufen
-(keine Angst, wir löschen die Datei nicht wirklich, es gibt vorher
-noch eine Notbremse).
-
-#on("b")#Fragezustand#off("b")# Als erstes werden Sie wieder nach dem
-Dateinamen
-gefragt (dies ist Ihnen schon bekannt). Hier haben Sie jetzt die
-Wahl, ob Sie den Namen eingeben oder mit ESC 'z' ankreuzen. Da das
-Löschen unwiederbringlich ist, werden Sie anschließend zur Sicher­
-heit gefragt, ob Sie die Datei wirklich löschen wollen:
-
-___________________________________________________________________________________________
-
- FRAGE: Bejahen: j,J Verneinen: n,N Abbrechen: ESC h Hilfe: ESC ?
- --------------:Dateiname: Adressen
- Dateien System:"Adressen" im System loeschen (j/n) ?
- U Übersicht :
- --------------:
- ...
-
-___________________________________________________________________________________________
-
-
-Diese Frage können Sie bejahen oder verneinen (oder die Funktion
-ohne Auswirkungen abbrechen). In diesem Fall sollten Sie die Frage
-verneinen - es sei denn, Ihnen hat das Spielen mit EUDAS so gut
-gefallen, daß Sie die ganze Prozedur wiederholen und die Datei
-nochmal vom Archiv holen wollen.
-
-
-4.5 Bedienungsregeln
-
-Mit dieser letzten Demonstration haben Sie jetzt schon fast alle
-Arten des Umgangs mit EUDAS kennengelernt. Sicher ist dies beim
-ersten Mal sehr verwirrend. Mit vier Regeln können Sie jedoch
-EUDAS immer bedienen:
-
-#limit (12.0)#
- 1. Achten Sie darauf, welche möglichen Tastendrücke
- in der Statuszeile stehen. Richten Sie sich danach!
-#free (0.2)#
- 2. Sind Sie sich unsicher, rufen Sie Hilfsfunktion mit
- ESC '?' auf. Damit erhalten Sie weitere Informatio­
- nen.
-#free (0.2)#
- 3. Funktioniert diese Tastenkombination nicht (geben
- Sie dem Rechner eine kurze Zeit zum Reagieren),
- versuchen Sie die Tastenkombinationen ESC 'h' (Ab­
- bruch) oder ESC 'q' (Verlassen). Falls sich daraufhin
- etwas verändert, fangen Sie wieder mit 1. an.
-#free (0.2)#
- 4. Erfolgt darauf keine Reaktion, drücken Sie die SV-
- Taste und versuchen Sie das Programm mit 'halt' zu
- stoppen. Führt auch das nicht zum Erfolg, hat sich
- Ihr Rechner "aufgehängt". Sie müssen den Rechner
- dann neu starten. Wenn Sie keine Erfahrung mit
- einer solchen Situation haben, wenden Sie sich an
- Ihren Händler oder Systembetreuer.
-#limit (13.5)#
-
-Im Zusammenhang mit dem letzten Punkt sei nochmal auf die Wich­
-tigkeit einer regelmäßigen Datensicherung auf Archivdisketten
-hingewiesen. Im Normalfall sollten Sie aber mit den Punkten 1 bis 3
-zurechtkommen.
-
-#on("b")#Zustände#off("b")# Im letzten Abschnitt haben Sie eine ganze Reihe
-von
-Zuständen kennengelernt, die EUDAS einnehmen kann. In jedem
-Zustand haben Sie verschiedene Möglichkeiten zur Reaktion. Glück­
-licherweise erscheinen diese Möglichkeiten zum großen Teil in der
-Statuszeile.
- Damit Sie die verwirrenden Erfahrungen des letzten Abschnitts
-etwas ordnen können, wollen wir an dieser Stelle die verschiedenen
-Zustände noch einmal zusammenfassen. Der Beschreibung vorange­
-stellt ist die jeweilige Kennzeichnung am Beginn der Statuszeile.
-
-EUDAS: #on("b")# Sie können mit ESC 'w' und ESC 'z' im Hilfstext blättern. Mit
- ESC 'q' kommen Sie in den alten Zustand.
-
-AUSWAHL: Hier können Sie die gewünschten Namen mit 'x' ankreuzen
- und mit 'o' wieder entfernen. Normales Beenden mit ESC 'q'.
- Hilfestellung durch ESC '?'. Abbruch der gesamten Funktion mit
- ESC 'h'.
-
-EINGABE: Hier können Sie eine einzelne Zeile eingeben oder ändern
- (wie im Editor). Einfügen und Löschen mit RUBIN und RUBOUT.
- Abbruch und Hilfestellung möglich.
-
-FRAGE: Beantworten Sie die gestellte Frage mit 'j' oder 'n'. Abbruch
- (ESC 'h') und Hilfestellung (ESC '?') möglich.
-
-ZEIGEN: Mit HOP OBEN und HOP UNTEN können Sie in der Übersicht
- blättern. Ende der Übersicht mit ESC 'q'. Hilfestellung möglich.
-
-!!! FEHLER !!! Quittieren Sie die Meldung mit ESC 'q'. Hilfestellung
- möglich.
-
-Bitte warten.. In diesem Zustand keine Taste drücken, der Rechner
- ist beschäftigt.
-
-Drei weitere Zustände, die Sie noch nicht kennengelernt haben, sind
-hier schon mal der Vollständigkeit halber aufgeführt:
-
-SATZ ÄNDERN:
-SATZ EINFÜGEN:
-SUCHMUSTER EINGEBEN: Satzeditor zum Eingeben von Feldinhalten.
- Normales Verlassen mit ESC 'q'. Abbruch und Hilfestellung mög­
- lich. Beschreibung s. 6.2.
-
-EDITIEREN: EUMEL-Editor mit Änderungsmöglichkeit für beliebige
- Texte. Normales Verlassen mit ESC 'q'. Hilfestellung möglich.
- Beschreibung der Möglichkeiten siehe EUMEL-Benutzerhand­
- buch.
-
-Gib Kommando: Hier können Sie ein beliebiges ELAN-Kommando ein­
- geben und mit RETURN bestätigen. Abbruch und Hilfestellung
- möglich. Kann im Menü durch ESC ESC aufgerufen werden.
-
-Wie Sie sehen, werden auch hier wieder die gleichen Tastenkombi­
-nationen verwendet, die Sie schon kennen.
- In dieser Übersicht sind jeweils nur die wichtigsten Tastenkom­
-binationen aufgeführt. Informieren Sie sich gegebenenfalls mit ESC
-'?'. Einige weitere Tastenfunktionen werden Sie im folgenden noch
-kennenlernen. Eine vollständige Übersicht finden Sie im Referenz­
-handbuch.
-