Студопедия — ЗАДАНИЕ. Написать программу, производящую сканирование диска, определение его размера, объема свободного пространства
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ЗАДАНИЕ. Написать программу, производящую сканирование диска, определение его размера, объема свободного пространства






Написать программу, производящую сканирование диска, определение его размера, объема свободного пространства, вывод списка файлов по заданному шаблону, поиск указанного файла и его переименование.

Program Find_Ren_File;

uses Dos, Crt;

var

Fil: File of byte;

FileInfo: SearchRec;

H, M, S, Hund: word; {переменные ч, мин, с, 0.01 с для GetTime}

Ftime: longint; {упакованные время и дата в GetFTime}

T: DateTime; {распакованные дата и время в переменной типа DateTime}

Dir_s, N, E, Name, New_Name: string;

I, P: integer;

function LeadingZero (W: Word): string; {преобразовать время в строку

var

S: string;

begin

Str (W: 0, s);

If Length (S)=1 then

S: =’0’+S;

LeadingZero: =S;

end;

procedure Nam_Ext_File; {отделить имя и расширение файла}

begin

P: =Pos (‘.’, FileInfo, Name); {определить позицию символа «.» в имени файла}

if P> 1 then

begin

N: =Copy (FileInfo. Name, 1, P-1);

E: =Copy (FileInfo. Name, P+1, 3);

end else {расширение отсутствует}

begin

N: =FileInfo. Name;

E: =’ ‘;

end;

end;

procedure Rename_File; {переименовать файл}

begin

write (‘Введите новое имя файла: ’);

readln (New_Name);

rename (Fil, New_Name);

writeln (‘Файл’, Name, ‘переименован в’, New_Name, ‘, нажмите Enter…’);

readln;

end;

begin {основная программа}

ClrScr;

GetTime (H, M, S, Hund); {прочитать системное время}

Writeln (‘Текущее время: ‘, LeadingZero (H), ‘: ’, LeadingZero (M), ‘: ’, LeadingZero (S));

GetDir (0, Dir_s); {0=читать каталог текущего диска}

Writeln (DiskSize (0) div 1024, ‘Кбайт на диске’);

Writeln (DiscFree(0) div 1024, ‘Кбайт свободно’);

Writeln;

I: =0; {пока не найдено ни одного файла}

FindFirst (‘*.pas’, Archive, FileInfo);

Writeln (‘Имя файла Размер (байт) Дата Время создания’);

Writeln;

while DosError=0 do {пока поиск файла завершается успешно}

begin

I: =I+1; {найден еще один файл}

Assign (Fil, FileInfo. Name);

Nam_Ext_File; {отделить имя файла от расширения}

Write (N, ‘ ‘: 9 – Length (N), E, ‘ ‘: 4 – Length (E));

Write (‘ ‘, FileInfo. Size: 8);

GetFTime (Fil, Ftime); {возвратить дату и время последнего изменения файла}

UnpackTime (FileInfo. Time, T); {преобразует 4-байтовые, упакованные в Longint время и дату в распакованную запись типа DateTime}

Write (‘ ‘, T. Day: 2, ‘-‘, T. Month: 2, ‘-‘, T. Year: 4);

Writeln (‘ ‘, T. Hour: 2, ‘: ’, T. Min: 2, ‘: ’, T. Sec: 2);

FindNext (FileInfo);

end;

writeln;

writeln (‘В текущем каталоге найдено’, I, ‘архивных файлов с расширением.PAS’);

repeat

write (‘Введите имя файла для переименования > ’);

readln (Name);

{искать файл в каталогах, описанных в переменной окружения PATH}

if Fsearch (Name, GetEnv (‘PATH’))=’ ‘ then

writeln (‘на диске нет файла’, Name);

until Fsearch (Name, GetEnv (‘PATH’)) < < @062> ‘ ‘; {найден файл Name}

Assign (Fil, Name);

Rename_File; {вызов процедуры переименования файла}

end.

 







Дата добавления: 2014-11-10; просмотров: 536. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия