рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Другие средства обработки файлов и модуль DOS

Другие средства обработки файлов и модуль DOS - раздел Транспорт, От автора Для Того Чтобы Определить, Есть Ли На Диске Файл С Заданным Именем, Удобно Ис...

Для того чтобы определить, есть ли на диске файл с заданным именем, удобно использовать уже известную нам стандартную функцию IOResult , которая возвращает ноль при успешном завершении последней операции ввода-вывода и ненулевое значение в случае ошибки. Открытие файла также является операцией ввода-вывода, а открытие несуществующего файла процедурой Reset является ошибкой. Запишем программу, которая будет вводить имя файла и определять, есть ли такой файл в текущей директории.

 

Var

Name : String[12];

f : File;

Begin

Write(‘Введите имя файла ’);

ReadLn(Name);

Assign(f,Name); {инициализируем файл, пока не важно, существует ли он}

{$I-} {отключаем контроль ошибок ввода-вывода, чтобы избежать аварийного завершения программы}

Reset(f); {если файла нет, то IOResult вернет не ноль}

If IOResult<>0 Then Begin WriteLn(‘Файла нет’); Halt(1); End;

{$I+} {вновь включаем контроль ошибок ввода-вывода}

{здесь можно читать файл }

End.

 

В Паскале есть четыре стандартных процедуры для работы с директориями:

Procedure GetDir(Disk: Byte; VarDir: String) - возвращает полное имя (включающее путь) текущей директории на указанном диске, входной параметр Dir может принимать значения 0 - текущий диск, 1 - диск A, 2 - диск B,... 26 - диск Z.

Procedure ChDir(Dir: String) - позволяет перейти в директорию, заданную параметром Dir, аналогична команде chdir (или cd) операционной системы DOS. Значением параметра Dir может быть как полное имя директории, так и простое имя, в этом случае она считается поддиректорией текущей директории. Если директории Dir не существует, происходит ошибка ввода-вывода.

Procedure MkDir(Dir: String) - создает поддиректорию текущей директории с именем Dir, аналогична одноименной команде DOS; если такая директория уже существует, происходит ошибка ввода-вывода.

Procedure RmDir(Dir: String) - уничтожает поддиректорию Dir, аналогична одноименной команде DOS, если директория не пуста или ее не существует, происходит ошибка ввода-вывода. Используя опцию компилятора {$I-} и функцию IOResult, вы можете писать надежные программы, работающие с директориями, которые будут застрахованы от аварийных прерываний.

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

1. Procedure GetDate(Var Year, Month, Day, DayOfWeek: Word) - возвращает текущую дату: год, номер месяца, число и номер дня недели; 0 соответствует воскресенью, 6 - субботе.

2.Procedure GetTime(VarHour, Minute, Second, Sec100: Word) - возвращает текущее время: часы, минуты, секунды и сотые доли секунды.

3. Procedure FindFirst(Mask: String; Attr: Byte; Var F: SearchRec) - ищет в текущей или указанной директории первый файл, соответствующий заданной маске и атрибуту. Возвращает информацию о файле в переменной F. Маска может включать путь (если путь не задан, то поиск происходит в текущей директории) и должна содержать либо имя файла, либо шаблон (с использованием символов *и ?). Параметр Attr может принимать одно из следующих значений :

ReadOnly=$01 - файл только для чтения,

Hidden=$02 - скрытый файл,

SysFile=$04 - системный файл,

VolumeID =$08 - заголовок тома,

Directory=$10 - директория,

Archive=$20 - архивный файл,

AnyFile=$3F - любой файл

либо быть равным сумме какой-нибудь комбинации этих констант. Тип SearchRec определен в модуле DOS таким образом:

– Конец работы –

Эта тема принадлежит разделу:

От автора

B r... Теперь мы можем присвоить переменным их значения...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Другие средства обработки файлов и модуль DOS

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

От автора
Первое издание этой книги вышло в свет в 1997 году и довольно быстро стало библиографической редкостью. Автор несколько неожиданно для себя обнаружил, что книга пользуется черезвычайно высоким спро

Round(x) - округленное до целого вещественное число, преобразованное к типуLongInt
6. Sqr(x) - квадрат числа 7. Sqrt(x) - квадратный корень 8. Exp(x) - экспонента 9. Ln

Символьный тип данных
Для хранения символьной информации в Паскале предусмотрен специальный тип данных Char. Допустимы переменные, нетипизированные и типизированные константы такого типа. Данные типа

Caseвыражение Of
список значений : оператор/блок .................................. список значений: оператор/блок

Процедуры и функции. Сфера действия описаний
В языке Паскаль (как вы уже поняли из предыдущего материала) существуют понятия процедуры и функции. Процедуры и функции можно определить как замкнут

Открытые массивы и нетипизированные параметры
Из предыдущего раздела мы узнали, что параметры подпрограмм описываются как [Var] имя : имя типа , это правда, но не вся правда - существует еще два

Множества
Понятие множества в Паскале очень близко к математическому определению: множество - это совокупность однотипных неиндексированных объектов. Множества

Графические средства языка Паскаль
Монитор персонального компьютера может работать в двух режимах - текстовом и графическом. Все, что мы делали до сих пор, мы делали в текстовом режиме. Текстовый экран содержит 2000 знако

Особенности вещественных вычислений
В отличие от целочисленных выражений, которые всегда вычисляются точно, вещественные выражения дают приближенный результат и вещественные переменные содержат приближенные значения. Это обстоятельст

Case тип Of
константа 1 : (описание поля); константа 2 : (описание поля); .....................

Модуль Crt
Crt - еще один стандартный модуль Паскаля, в котором содержатся разнообразные средства консольного ввода-вывода (то есть ввода с клавиатуры и вывода на текстовый экран). Процедуры

Var TextAttr : Byte
В ней содержится текущий цвет фона и цвет символов, используемые при выводе на экран процедурами Write иWriteLn. Изменив эту переменную, вы задаете новый

Type SearchRec=Record
Fill : Array[1..21] of Byte; Attr : Byte; Time : LongInt; Size : LongInt; Name : Stri

Процедурные типы
Язык Паскаль позволяет использовать в программе данные типа “процедура” или типа “функция”. Такие данные можно передавать как аргументы подпрограмм, можно описывать и использовать массивы процедур

Указатели и динамическая память
Указателями называются переменные и константы, значениями которых являются адреса. Различаются два вида указателей - обобщенные указатели и

Динамические структуры: списки, деревья
Примеры программ, использующих динамические массивы, приведенные в предыдущей главе, все еще были плохими. Для того чтобы использовать динамические массивы таким образом, мы должны заранее знать ра

Открытые строки
  Открытыми строками, или длинными строками, или C-строками, называются символьные последовательности длиной до 65535 символов, ограниченные справа нуль-символ

Использование командной строки и вызов внешних программ
Паскаль позволяет передавать информацию в программу при ее запуске через командную строку. Для этого служат две стандартные функции -ParamCount и ParamStr.

Обработка программных прерываний
Программное прерывание - это ситуация, возникающая, когда дальнейшее выполнение программы невозможно. Например, деление на ноль, переполнение, ошибка Range check error, обращение по неверному адрес

Объекты
Объектом в языке Паскаль называется совокупность данных и подпрограмм, обрабатывающих эти данные. Программирование с использованием объектов называется объектно-о

Type имя типа=Object
описание полей описание методов End; Поля объектов описываются так же, как поля записей, а описание метода - это заголовок процедуры или функции. Сами методы распол

Рекурсия и динамическое программирование
В этом и всех последующих разделах речь пойдет уже не о языке программирования Паскаль, а о задачах, которые вы можете решать с помощью этого языка, о наиболее интересных и полезных алгоритмах и пр

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

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

Комбинаторные алгоритмы
В этом разделе мы рассмотрим три наиболее важные задачи комбинаторики: нахождение всех подмножеств множества из n элементов; нахождение всех выборок по m элементов из n элементов и нахождение всех

Бинарные деревья
В этом разделе мы рассмотрим различные алгоритмы обхода бинарного дерева. К алгоритмам создания бинарного дерева мы обратимся несколько позже, а пока будем считать, что дере

Упорядоченные бинарные деревья и приоритетные очереди
Упорядоченным бинарным деревом, или бинарным деревом поиска, называют дерево, в любой части которого элементы левого поддерева меньше корневого элеме

Алгоритмы сортировки
В этом разделе мы рассмотрим различные алгоритмы решения задачи сортировки. Задача сортировки ставится следующим образом: дана последовательность записей R1,R

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги