12.08.2012 Aufrufe

A Der PASCAL – Teil

A Der PASCAL – Teil

A Der PASCAL – Teil

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!