In modernen Sprachsystemen ist es üblich, die Gemeinsamkeiten zu betonen. Es werden entweder Unterprogramme bereitgestellt, die sowohl für externe als auch für interne Dateien arbeiten oder aber separate Unterprogramme für beide Fälle mit einer verwandten Nutzerschnittstelle.
Turbo Pascal
Interne Dateien sind in Turbo Pascal nicht in echtem Sinn realisiert.
Zur Konvertierung Zahl - Zeichenkette sind statt dessen folgende
vordefinierte Unterprogramme zu nutzen:
Konvertierung Zahl nach Zeichenkette
Str(zk, var);zk ist eine Zeichenkettenvariable, var eine Variable bzw. ein Ausdruck mit numerischem Wert.
var kann eine Formatierungsangabe nachgestellt werden:
var:w var:w:dw ist eine ganze Zahl und gibt an, wieviele Zeichen ausgegeben werden sollen. Die Angabe wird ignoriert, wenn zur Ausgabe des Wert mehr Zeichen als angegeben benötigt werden.
Konvertierung Zeichenkette nach Zahl
Val(zk, var, err);zk ist eine Zeichenkettenvariable, var eine Variable mit numerischem Datentyp (Integer, Real).
Extended Pascal
Die Arbeit mit internen Dateien ist möglich:
Anstelle von Read und Write werden die Prozeduren
ReadStr und WriteStr verwendet.
Schreiben auf eine Zeichenkette
WriteStr(zk, var_1, ..., var_n);zk ist eine Zeichenkettenvariable, var_1, ..., var_n sind Variablen bzw. Ausdrücke, deren Werte in der angegebenen Reihenfolge auf die Zeichenkettenvariable geschrieben werden.
var:w var:w:dw ist eine ganze Zahl und gibt an, wieviele Zeichen ausgegeben werden sollen.
Lesen von einer Zeichenkette
ReadStr(zk, var_1, ..., var_n);zk ist eine Zeichenkettenvariable, var_1, ..., var_n sind Variablen, deren Werte entsprechend des Inhaltes der Zeichenkette aktualisiert werden.
var kann keine Formatierungsangabe nachgestellt werden.
Beispiel (Extended Pascal):
PROGRAM str_rw(OUTPUT);
VAR i : INTEGER VALUE 11;
r : REAL VALUE 11.11;
s : STRING(80);
s1, s2 : STRING(4);
BEGIN
WriteStr(s, 'i = ', i:2, ' r = ', r:5:2);
Writeln(s);
ReadStr(s, s1, i, s2, r);
Writeln('i = ', i:2, ' r = ', r:5:2);
Writeln('i = ', i, ' r = ', r);
END.
XL Pascal
XL Pascal stellt wie Extended Pascal die Prozeduren WriteStr und
ReadStr zur Verfügung.
Abweichend vom Extended Pascal Standard darf auch bei ReadStr eine
Formatierungsvorschrift angegeben werden.