Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Утилиты сервисного обслуживания (УСО)
К УСО относятся все виды сервисных программ, такие как утилиты по: дефрагментации, проверке и исправлению структуры разделов жёсткого диска, исправлению системных зависимостей, тонкой настройке системы и т. д.. Утилиты расширения функциональности Расширяют функциональность существующих прикладных или системных средств, например, утилиты автоматизации и переконвертации медиа-тегов (mp3 id3, Ogg tags), безопасного (невосстановимого) удаления файлов, утилиты переконвертирования файлов различных форматов, утилиты системного менеджмента. Информационные утилиты Включают в себя мониторы, бенчмарки, и утилиты общей (статической) информации. Работа с дисковыми файлами в языках программирования. Каждый файл на диске имеет обозначение, кот. состоит из 2 частей: имени-это выражение строкового типа (м. б. от 1 до 8 символов: пропис. и строч. латин-е буквы, цифры и символы: !, @, #, %, ^, &, (, ), ‘, ~, —, _) и расширения (начинается с точки (ей отделяется от имени), за которой следуют от 1 до 3 символов, описывает содержание файла и не является обяз-ым, т.е. по нему можно узнать, какая программа создала файл), н-р: command.com, turbo.exe, autoexec.bat, turbo.tph, proba.pas. Н-р: com, exe - готовые к исполнению программы; bat - командные (Batch) файлы; txt, doc - текстовые файлы Устройства в Турбо Паскале. Входящие в комп-р компоненты принято наз. устройствами. Некоторые из них наряду с файлами во внеш. памяти Турбо Паскаль использует как файлы. При этом для указания этих файловиспользуются спец-ые имена (которые не могут иметь " настоящие" файлы), н-р: А: , В: - накопители на гибких магнитных дисках; C: , D: , E: и т.д.- винчестер; LPT1, LPT2, LPT3 - устройства, подключенные к || портам 1, 2, 3 (портом называют многоразрядный вход или выход в устройстве; PRN – принтер и др. Характеристика каждого файла - размер (число входящих в него байтов), дата и время (изменяются при изменении файла, создания файла). Имена файлов регистрируются на магнитных дисках в каталогах (или директориях)— спец-ое место на диске, в котором хранятся имена файлов, сведения о размере файлов, дате и времени их последнего обновления, атрибуты (свойства) файлов. На магнитном диске м.б. несколько каталогов. Их имена задаются по таким же правилам, как имена файлов. Каждый магнитный диск обязательно имеет главный (корневой) каталог, в котором зарегистрированы файлы пользователей и подкаталоги 1 ур-ня, в кот-х зарегистрированы файлы пользователей, и подкаталоги 2 ур-ня, и т.д. Структура оглавлений: Послед-сть оглавлений, ведущая от корневого каталога к файлу, наз. путем. Путь к файлу в сочетании с именем представляет строку символов, полностью идентифицирующую файл, и наз. спецификацией (или полным именем), например: E: \WORK\PASCAL\TURBO.EXE или d: \program\proba.pas. Т.о., обобщенный вид полного имени файла выглядит так: Диск: \ИмяКаталога\.ИмяКаталога\ИмяФайла, где идентификатор < Диск> задается литерой логического устройства от А: до Z:, и если он опущен, то подразумевается логическое устройство, принятое по умолчанию. Если опущены идентификаторы < ИмяКаталога>, то по умолчанию принимается, что файл находится в текущем каталоге. Описание файлового типа. Любой файл имеет три харак-ые особ-сти. 1) у него есть имя, что дает возможность программе работать одновременно с несколькими файлами, 2) он содержит компоненты одного типа (любой тип Турбо Паскаля, кроме файлового). Н-р, допускается файл записей или файл строк, но нельзя создать " файл файлов". 3) длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти. В большинстве случаев файлы состоят из текстовых строк, или записей. Для его описания используется словосочетание file of. Для доступа к файлу опис-ся спец-ая файловая переменная, которая считается представителем файлов в Паскаль-программе (обозн. F). Если файл состоит из записей, дополнительно описывается переменная для доступа к полям записи (обозн. R). Формат: Type < имя типа> = < тип компонентов>; Var < F> : file of < имя типа>; < R> : < имя типа>; В любой момент времени программе доступен только один эл-нт файла, на который ссылается текущий указатель (указатель обработки). Позиция размещения доступного эл-та наз. текущей позицией. Все действия с файлом (чтение из файла, запись в файл) производятся поэлементно, с эл-нта файла, который обозн-тся текущим указателем. По способу доступа к эл-ам различают файлы последов-ого (файл, к эл-там кот-го обеспечивается доступ в такой же послед-сти, в какой они записывались) и прямого (файл, доступ к эл-ам которого осуществляется по адресу эл-та) доступа. Н-р, для поиска нужного эл-та в посл-ом файле необходимо, начиная с нулевого, перемещать указатель обработки до тех пор, пока он не будет указывать на искомый эл-нт, а при поиске нужного эл-та в файле прямого доступа достаточно указать номер его позиции. Компилятор Турбо Паскаля поддерживает 3 типа файлов: текстовые, типизированные, нетипизированные. Средства обработки файлов. Каждому файлу в языке Паскаля ставится в соответствие файловая переменная определенного типа, поэтому перед началом работы с файлом необходимо установить данное соответствие. Для этого в языке используется процедура Assign (var F; Name: string); где F — переменная любого файлового типа, а строковое выражение Name содержит полное имя файла, удовлетворяющее требованиям операционной системы. Процедура Assign всегда предшествует другим процедурам работы с файлами, т.к. ставит в соответствие конкретному файлу на внешнем устройстве логическую файловую переменную языка, к которой впоследствии будут обращаться все другие файловые процедуры. Недопустимо использование процедуры Assign для уже открытого файла, значит необходимо его закрыть с помощью процедуры Close(var F) (логическое окончание работы с любым открытым файлом). Для работы с файлом прежде всего необходимо его открыть. В языке Паскаль предусмотрены для этого две процедуры: Reset(var F: file ); - открывает существующий файл; Rewrite(var F: file ); - создает и открывает новый файл. Открытие внешнего файла с помощью процедуры Reset в случае его отсутствия на диске может привести к ошибке при выполнении программы. Использование процедуры Close позволяет устранить связь файловой переменной с внешним файлом, установленную с помощью процедуры Assigp. Н-р: полная цепочка команд для создания простого текстового файла с именем WORK.TXT: Var F: text; Begin Assign(F, 'WORK.TXT')"; Rewrite(F); Write(F, 'Простой текстовый файл'); Close(F); End.. К языковым средствам обслуживания файлов необходимо отнести процедуры переименования ( Rename(var F; NewName: string); - переим-ет неоткр-й файл F любого типа. Новое имя задается строкой NewName) и удаления ( Erase(var F); - удаляет неоткрытый внешний файл любого типа, задаваемый переменной F)неоткрытых файлов. Если использовать для открытых файлов, возникнут нежелательные последствия со стороны ОС. Для того чтобы файловые операции выполнялись четко и без ошибок, необходимо использовать специальную функцию IOresult. Она работает без параметров и возвращает значение типа integer, представляющее статус последней выполненной операции вв/в. Исп-ние этой функции в программах возможно лишь в том случае, если на время выполнения файловых операций отключена стандартная проверка операций вв/в. После корректного выполнения операции вв/в функция IOresult возвращает значение, = 0, в остальных случаях функция возвращает соответствующий код ошибки. Текстовые файлы. Текстовый файл можно рассматривать как последовательность символов, разбитую на строки длиной от 0 до 256 символов. Для описания исп-тся станд-ый тип Text: Var F: text; {F — файловая переменная} Открытие текстового файла можно произвести 2 станд-ми способами: 1) поставить в соответствие файловой переменной имя файла (процедура Assign), открыть новый текс-й файл (процедура Rewrite); 2) поставить в соответствие файловой переменной имя файла (процедура Assign), открыть уже существующий файл (процедура Reset). Текс-й файл во время работы допускает к-л 1 вид операции: чтение или запись. В связи с этим для работы с текстовыми файлами появляется еще 1 процедура открытия файла: Append(var F: text); - открывает уже сущ-щий файл и позиционирует указатель обработки на конец файла. После такого открытия текстовый файл можно только дополнять информацией, начиная с конца строки. Для обработки текстовых файлов используются процедуры Read и Write, обеспечивающие соответственно чтение и запись одной строки и более в текстовый файл. Процедуры: Readln и Writeln приводят к обязательному переходу к следующей строке текстового файла, т.е. вв/в данных осуществляется из различных строк. Общий вид представления процедур следующий: Readln(var F: text; VI [, V2, ...Vn]); Writeln(var F: text; VI [, V2,...Vn]); где V1...Vn переменные разных типов. При организации операций вв/в используются специальные языковые средства в виде функций Eoln(var F: text)- возвращает булевское значение True, если текущая файловая позиция находится на маркере конца строки); Eof(var F: text)- возвр-ет булевское значение True, если указатель конца файла находится сразу за последним компонентом, и False — в противном случае; SeekEoln(var F: text)- возвращает булевское значение True при достижении маркера конца строки, причем указатель файла пропускает все пробелы и знаки табуляции, предшествующие маркеру. В противном случае SeekEof(var F: text) возвращает значение True, если указатель файла находится на маркере конца файла, пропускает все пробелы и знаки табуляции, предшествующие маркеру, и выполняет автоматический пропуск маркера конца строки. Харак-ым прмером использования этих функций может служить чтение числовых величин из текс-го файла, когда необходимо пропустить обработку разделяющих эти числа пробелов или знаков табуляции. Н-р: Прочитать посл-сть длиной 6 символов из первой строки тек-го файла EXAMPLE.PAS. Var F: text; St: string[6]; Begin Assign(F, 'EXAMPLE. PAS '); {Файл EXAMPLE.PAS должен существовать } Reset(F); while not Eoln(F) do begin {Проверка конца строки} Read(F, St); Writeln('St = ', St); {Вывод на экран} end; Readln(F); Close(F); End. Типизированные файлы. К типизированным файлам относятся файлы строго определенного типа. Чаще всего это файлы, состоящие из записей. Они применяются для создания различных БД. Единицей измерения набора данных является сама запись. Длина записи определяется как SizeOf(FileRec). Так как длина любого компонента типизированного файла строго постоянна, это дает возможность организовать прямой доступ к любому компоненту по его порядковому номеру, поэтому типизированные файлы часто называют файлами прямого доступа. Типизированные файлы позволяют организовать работу в режиме чтения-записи. Эта возможность играет решающую роль при определении, каким типам файлов отдать предпочтение для большинства прикладных задач. Популярное:
|
Последнее изменение этой страницы: 2016-05-03; Просмотров: 682; Нарушение авторского права страницы