A Der PASCAL – Teil
A Der PASCAL – Teil
A Der PASCAL – Teil
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Skript zur Vorlesung Allgemeine Datenverarbeitung 83<br />
Element aus einer typisierten Datei löschen:<br />
Das Löschen eines Elementes erfolgt dadurch, daß das zu löschende Element<br />
mit dem Inhalt des letzten Elementes der Datei überschrieben und anschließend<br />
die Datei vor dem letzten Element abgeschnitten wird.<br />
program loeschen;<br />
uses wincrt;<br />
const name = 'namen.dat';<br />
type daten = string[20];<br />
var element :daten; {Zwischenspeicher}<br />
f :file of daten; {Dateivariable}<br />
{--Daten aus Datei auslesen----------------------------------------}<br />
procedure lesen;<br />
var i:byte; {Zählvariable}<br />
begin<br />
clrscr;<br />
writeln('Datei enthält ',filesize(f),' Datensätze');<br />
seek(f,0); {Dateizeiger auf erstes Element setzen}<br />
i:=0;<br />
while not eof(f) do<br />
begin<br />
inc(i); {Zählvar. um eins erhöhen}<br />
read(f,element); {Datensatz aus Datei auslesen}<br />
writeln(i:3,'. Datensatz: ',element);<br />
end; {--while--}<br />
readln;<br />
end; {--lesen--}<br />
{--Datensatz loeschen----------------------------------------------}<br />
procedure loesch;<br />
var bereich:set of byte;<br />
num,pos,anz:byte;<br />
begin<br />
repeat<br />
anz:=filesize(f); {Anzahl Datensätze}<br />
if anz > 0<br />
then<br />
begin<br />
bereich:=[0..filesize(f)-1]; {Gültiger Bereich für "pos"}<br />
writeln;writeln;<br />
writeln('Datensatz löschen');writeln;<br />
repeat<br />
write('Nummer des Datensatzes (1..',anz,') ?: ');<br />
readln(num);<br />
pos:=num-1;<br />
until pos in bereich;<br />
if pos anz-1 {Wenn nicht letztes Element dann..}<br />
then<br />
begin<br />
seek(f,anz-1); {Dateizeiger auf letztes Element setzen}<br />
read(f,element); {und Element lesen}<br />
seek(f,pos); {Dateizeiger auf "Löschposition" setzen}<br />
write(f,element); {und mit letztem Element überschreiben}<br />
end; {--then 2--}<br />
Fachhochschule Gelsenkirchen Prof. Dr.-Ing. A. Rinschede<br />
Fachbereich Versorgungs- und Entsorgungstechnik