Hardware Reference
In-Depth Information
Mit der Vereinbarung eines Typs für Dateiobjekte werden implizit je eine Pro-
zedur zum Lesen, eine Prozedur zum Schreiben und eine Funktion zum Testen,
ob beim Lesen das Dateiende erreicht ist, bereitgestellt. Für Dateiobjekte vom
Typ text haben diese Unterprogramme die Aufrufschnittstellen
procedure read( file f: text ; s: out string ; len: out natural);
procedure write( file f: text ; s: string );
function endfile( file f: text ) return boolean;
Wie der Typbezeichner text müssen diese Bezeichner aus dem Package
std.textio importiert werden.
Der Objekttyp eines Dateiobjekts ist in der Parameterliste eines Unter-
programms immer »file«. Die Leseprozedur kopiert den Inhalt der aktuellen
Textzeile in den Ausgabeparameter »s«. Wenn die Eingabezeile kürzer als
die Zeichenkette »s« ist, bleibt der Rest von »s« unverändert. Sonst, wenn sie
länger als »s« ist, gehen die restlichen Zeichen verloren. Der zweite Rückgabe-
parameter, die Zeichenanzahl »len«, gibt auch, wenn der Zeichenkettenpara-
meter »s« zu kurz ist, die tatsächliche Länge der gelesenen Dateizeile zurück.
Die Schreibfunktion hängt den übergebenen Text als neue Textzeile an die
Datei an. Die Testfunktion endfile liefert, wenn beim Lesen das Dateiende
erreicht ist, den Wert true und sonst den Wert false.
Dateiobjekte können in Packages, Entwurfseinheiten, Prozessen und Un-
terprogrammen vereinbart werden. Der Vereinbarungsort beeinflusst die Le-
bensdauer und die Sichtbarkeit des Dateiobjekts. In Packages und Entwurfs-
einheiten vereinbarte Dateiobjekte bleiben während der gesamten Simulation
geöffnet
. In Prozessen vereinbarte Dateiobjekte werden zum Simulationsbe-
ginn geöffnet und bei Beendigung des Prozesses geschlossen. Dateiobjekte in
Unterprogrammen werden bei jedem Unterprogrammaufruf geöffnet und beim
Verlassen wieder geschlossen. Die Sichtbarkeit unterscheidet sich nicht von
der anderer Datenobjekte. Vereinbarungen in Packages sind in den dort ver-
einbarten Unterprogrammen sichtbar und können in andere Beschreibungen
importiert werden. Vereinbarungen in Entwurfseinheiten, in Prozessen und in
Unterprogrammen sind nur in diesen und deren Bestandteilen sichtbar.
8
3.3.2 Textausgabe
Die bisher verwendete Write-Funktion aus »Tuc.Ausgabe« ruft die Schreib-
funktion für den Dateityp text mit der Standardausgabe als Dateiobjekt
auf:
procedure write(s:string) is
begin
write(output, s);
end procedure ;
8 wenn sie nicht explizit geschlossen werden
Search WWH ::




Custom Search