Operacje na plikach
FILE
var f: file;
TEXT
var f: text; // zamiennie TEXT
g: textfile; // lub TEXTFILE
ASSIGN
Przykład otwarcia kanału dla urządzenia S: (ekran) w celu wyprowadzania znaków w trybie GRAPHICS 1
, GRAPHICS 2
var scr: text;
s: string = 'color COLOR ' + #155 + 'COLOR '* + 'color '*;
begin
assign(scr, 'S:'); // koniecznie przed InitGraph
rewrite(scr); // koniecznie przed InitGraph
InitGraph(2); // Graphics 2
GotoXY(1,6);
write(scr, s);
close(scr);
end.
RESET
var t: text;
reset(t); // dla odczytu pliku tekstowego, brak dodatkowego parametru z rozmiarem rekordu
var f: file;
reset(t, 1); // dla odczytu pliku binarnego (rekord = 1)
W przypadku braku podania długości rekordu dla pliku binarnego FILE
zostanie przyjęta wartość domyślna =128
REWRITE
var t: text;
rewrite(t); // dla zapisu pliku tekstowego, brak dodatkowego parametru z rozmiarem rekordu
var f: file;
rewrite(f, 1); // dla zapisu pliku binarnego (rekord = 1)
W przypadku braku podania długości rekordu dla pliku binarnego FILE
zostanie przyjęta wartość domyślna =128
APPEND
var
t: text;
begin
assign(t, 'D:TEXT.TXT');
append(t);
writeln(t, 'ATARI');
writeln(t, 'C64');
write(t, 'Amstrad');
close(t);
BLOCKREAD
var f: file;
pnt: pointer;
begin
pnt:=pointer(dpeek(88));
assign(f, 'D:FILENAME');
reset(f, 1);
blockread(f, pnt^, 8);
close(f);
end.
var f: file;
buf: array [0..0] of byte;
begin
buf:=pointer(dpeek(88));
assign(f, 'D:FILENAME');
reset(f, 1);
blockread(f, buf, 8);
close(f);
end.
BLOCKWRITE
var f: file;
buf: array [0..0] of byte ABSOLUTE $bc40;
begin
assign(f, 'D:FILENAME');
rewrite(f, 1);
blockwrite(f, buf, 40*24);
close(f);
end.
CLOSE
begin
assign(f, 'D:FILENAME');
reset(f, 1);
close(f);
end.