home *** CD-ROM | disk | FTP | other *** search
- PROCEDURE DateiEingabe (VAR Anzahl : Index;
- VAR x,y : Messwerte;
- VAR Erfolg : BOOLEAN );
-
- PROCEDURE Verwandle ( s : Zeile; VAR x,y : Real;
- VAR Erfolg : BOOLEAN );
- { Verwandelt den uebergebenen String s in die beiden Zahlenwerte x und y }
-
- PROCEDURE Fehler (k:Word);
- BEGIN
- Erfolg := FALSE;
- WriteLn;
- WriteLn ('Datei - Fehler, Wert falsch !');
- CASE k OF
- 1 : WriteLn ('Kein Trennzeichen');
- 2 : WriteLn ('kein y - Wert');
- 3 : WriteLn ('x - Wert keine Zahl');
- 4 : WriteLn ('y - Wert keine Zahl');
- END;
- WriteLn ('Zur Fortsetzung Enter - Taste pressen.');
- ReadLn;
- END; { Fehler }
-
- VAR p,fx,fy : integer ;
- xs,ys : Zeile ;
-
- BEGIN { Verwandle }
- Erfolg := TRUE; { auf Verdacht }
- WHILE s[1] = ' ' DO s := Copy (s,2,255); { Leerzeichen ueberlesen }
-
- p := pos (' ',s); { Trennzeichen suchen }
- IF p = 0 THEN Fehler (1) { kein Trennzeichen => Fehler }
- ELSE
- BEGIN
- xs := Copy (s,1,pred(p)) ; { x - String vom y - String }
- ys := Copy (s,succ(p),255) ; { trennen }
-
- WHILE ys [1] = ' ' DO
- ys := Copy (ys,2,255); { Leerzeichen ueberlesen }
-
- IF ys = '' then Fehler (2) { kein y - Wert => Fehler }
- ELSE
- BEGIN
- Val (xs,x,fx); { Verwandlung der Strings }
- Val (ys,y,fy); { in Zahlen }
- IF fx <> 0 THEN Fehler (3);
- { x - Wert konnte nicht kon- }
- { vertiert werden }
- IF fy <> 0 THEN Fehler (4); { dto. y - Wert }
- END;
- END;
- END; { Verwandle }
-
- VAR Datei : Text;
- z,DateiName : Zeile;
-
- BEGIN { Dateieingabe }
- WriteLn;WriteLn;
- Write ('Bitte geben Sie den DateiNamen ein : ');
- ReadLn (DateiName);
- Assign (Datei,DateiName);
- Erfolg := FALSE;
- {$I-}
- Reset (Datei);
- {$I+}
- IF IOResult <> 0 THEN
- BEGIN
- WriteLn;WriteLn;
- WriteLn ('Datei existiert nicht ! Eingabe wiederholen.');
- WriteLn ('Zur Fortsetzung Enter - Taste pressen.');
- ReadLn;
- EXIT;
- END;
- Anzahl := 0; Erfolg := TRUE;
- WriteLn;
- WriteLn ('Ausgabe der eingelesenen Daten');
- WriteLn;
- WriteLn;
-
- WHILE (NOT Eof (Datei)) AND Erfolg DO
- BEGIN
- Anzahl := Succ (Anzahl);
- ReadLn (Datei,z);
- WriteLn (z);
- Verwandle (z,x[Anzahl],y[Anzahl],Erfolg);
- END;
- Close (Datei);
-
- END;