Добавил:
Mendeleev
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
(*
* жХОЛГЙС filestatus ПРЙУЩЧБЕФ ФЕЛХЭЙК УФБФХУ ЖБКМБ
*)
uses linux;
function filestatus(filedes:integer):integer;
var
arg1:integer;
begin
arg1 := fcntl (filedes, F_GETFL);
if arg1 = -1 then
begin
writeln('пЫЙВЛБ ЮФЕОЙС УФБФХУБ ЖБКМБ');
filestatus := -1;
exit;
end;
write('дЕУЛТЙРФПТ ЖБКМБ ', filedes, ': ');
(*
* уТБЧОЙФШ БТЗХНЕОФ У ЖМБЗБНЙ ПФЛТЩФЙС ЖБКМБ.
*)
case (arg1 and Open_ACCMODE) of
Open_WRONLY:
write('фПМШЛП ДМС ЪБРЙУЙ');
Open_RDWR:
write('дМС ЮФЕОЙС-ЪБРЙУЙ');
Open_RDONLY:
write('фПМШЛП ДМС ЮФЕОЙС');
else
write('тЕЦЙН ОЕ УХЭЕУФЧХЕФ');
end;
if (arg1 and Open_APPEND)<>0 then
write (' - ХУФБОПЧМЕО ЖМБЗ append');
writeln;
filestatus := 0;
end;
var
fd:integer;
begin
if paramcount > 0 then
begin
fd := fdopen (paramstr(1), Open_WRONLY or Open_APPEND, 0);
if fd <> -1 then
begin
filestatus (fd);
fdclose (fd);
end;
end;
end.
* жХОЛГЙС filestatus ПРЙУЩЧБЕФ ФЕЛХЭЙК УФБФХУ ЖБКМБ
*)
uses linux;
function filestatus(filedes:integer):integer;
var
arg1:integer;
begin
arg1 := fcntl (filedes, F_GETFL);
if arg1 = -1 then
begin
writeln('пЫЙВЛБ ЮФЕОЙС УФБФХУБ ЖБКМБ');
filestatus := -1;
exit;
end;
write('дЕУЛТЙРФПТ ЖБКМБ ', filedes, ': ');
(*
* уТБЧОЙФШ БТЗХНЕОФ У ЖМБЗБНЙ ПФЛТЩФЙС ЖБКМБ.
*)
case (arg1 and Open_ACCMODE) of
Open_WRONLY:
write('фПМШЛП ДМС ЪБРЙУЙ');
Open_RDWR:
write('дМС ЮФЕОЙС-ЪБРЙУЙ');
Open_RDONLY:
write('фПМШЛП ДМС ЮФЕОЙС');
else
write('тЕЦЙН ОЕ УХЭЕУФЧХЕФ');
end;
if (arg1 and Open_APPEND)<>0 then
write (' - ХУФБОПЧМЕО ЖМБЗ append');
writeln;
filestatus := 0;
end;
var
fd:integer;
begin
if paramcount > 0 then
begin
fd := fdopen (paramstr(1), Open_WRONLY or Open_APPEND, 0);
if fd <> -1 then
begin
filestatus (fd);
fdclose (fd);
end;
end;
end.
Соседние файлы в папке 2