home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* RNDDAT.PAS *)
- (* (c) 1990 Hans-Dieter Schmidt & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM RandomDatei(input, output);
-
- (* Kann nach reset ( datei ) ein write-Zugriff erfolgen ? *)
-
- TYPE
- complex = RECORD
- x, y : REAL;
- END;
- VAR
- datei : TEXT;
- filevar : FILE OF complex;
- c : complex;
-
- PROCEDURE konvert_daten;
- BEGIN
- Assign(datei, 'KOMPLEX.TXT');
- Reset(datei);
- Assign(filevar, 'KOMPLEX.DAT');
- Rewrite(filevar);
- WHILE NOT EOF(datei) DO BEGIN
- ReadLn(datei, c.x, c.y);
- Write(filevar, c);
- END;
- Close(datei);
- Close(filevar);
- END;
-
- PROCEDURE bearbeite_daten;
- VAR
- nr : INTEGER;
- BEGIN
- Assign(filevar, 'KOMPLEX.DAT');
- Reset(filevar);
- Write('Welcher Datensatz soll bearbeitet werden ? ',
- '( 0<=i<=');
- Write(Pred(FileSize(filevar)):2,') ' );
- ReadLn(nr);
- Seek(filevar, nr);
- read(filevar, c);
- WriteLn;
- WriteLn('Alter Wert : ', c.x:5:2, ' + ', c.y:5:2, '*i');
- Write('Neuer Wert x y ? ');
- ReadLn(c.x, c.y);
- Seek(filevar, Pred(FilePos(filevar)));
- Write(filevar, c);
- WriteLn;
- Write('Datei ergänzen x y ! ');
- ReadLn(c.x, c.y);
- Seek(filevar, FileSize(filevar));
- Write(filevar, c);
- Close(filevar);
- END;
-
- PROCEDURE show_daten;
- VAR
- i : INTEGER;
- BEGIN
- WriteLn;
- Assign(filevar, 'KOMPLEX.DAT');
- Reset(filevar);
- FOR i := 1 TO FileSize(filevar) DO BEGIN
- Read(filevar, c);
- WriteLn(c.x:10:2, ' + ', c.y:5:2, ' *i' );
- END;
- Close(filevar);
- WriteLn;
- END;
-
- BEGIN
- konvert_daten;
- show_daten;
- bearbeite_daten;
- show_daten;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von RNDDAT.PAS *)