home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turbo Toolbox
/
Turbo_Toolbox.iso
/
1990
/
02
/
praxis
/
rnddat.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1990-01-03
|
2KB
|
81 lines
(* ------------------------------------------------------ *)
(* 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 *)