PASCAL ABC. Модуль Utils

  • docx
  • 11.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-00396.docx

PASCAL ABC.

Модуль Utils


Модуль Utils содержит различные вспомогательные процедуры и функции (работа с файлами и каталогами, с датой, форматирование строк и пр.). Ниже приводится интерфейс модуля Utils:

type
 
DateTime = record
    Day, Month, Year, Hour, Minute, Second, Milliseconds: integer;
  end;
  LongSize = record
    Megabytes, Bytes: integer;
  end;
 
SearchRec = record
 
  name: string;
    size: integer;
  end;
function
CreateDir(name: string): boolean;
function DeleteFile(name: string): boolean;
function DirectoryExists(name: string): boolean;
function GetCurrentDir: string;
function RemoveDir(name: string): boolean;
function RenameFile(OldName,NewName: string): boolean;
function SetCurrentDir(name: string): boolean;
procedure
ChDir(name: string);
function Milliseconds: integer;
function CompileTime: integer;
function CurrentDateTime: DateTime;
function CompareMem(p1,p2: pointer; len: integer): boolean;
function DiskSize(Drive: integer): LongSize;
function DiskFree(Drive: integer): LongSize;
procedure ShowMessage(s: string);
function PascalABCPath: string;
procedure FreeAndNil(var o: Object);
procedure Move(p1,p2: pointer; size: integer);
function
FindFirstFile(path: string; var sr: SearchRec): boolean;
function FindFirstDirectory(path: string; var sr: SearchRec): boolean;
function FindNext(var sr: SearchRec): boolean;
procedure FindClose(var sr: SearchRec);
function ExtractFileName(fname: string): string;
function ExtractFileExt(fname: string): string;
function ExtractFilePath(fname: string): string;
function ChangeFileExt(fname,ext: string): string;

CreateDir(name) - функция, создающая новый каталог с именем name и возвращающая True, если создание прошло успешно, и False в противном случае;

DeleteFile(name) - функция, удаляющая файл с именем name и возвращающая True, если удаление прошло успешно, и False в противном случае;

DirectoryExists(name) - функция, возвращающая True, если каталог с именем name существует, и False в противном случае;

GetCurrentDir - функция, возвращающая имя текущего каталога;

RemoveDir(name) - функция, удаляющая каталог с именем name и возвращающая True, если удаление прошло успешно, и False в противном случае;

RenameFile(OldName,NewName) - функция, переименовывающая файл с именем OldName в файл с именем NewName и возвращающая True, если создание прошло успешно, и False в противном случае;

SetCurrentDir(name) - функция, устанавливающая каталог с именем name текущим и возвращающая True, если текущий каталог был установлен, и False в противном случае;

ChDir(name) - процедура, меняющая текущий каталог на name;

Milliseconds - функция, возвращающая количество миллисекунд с момента начала выполнения программы;

CompileTime - функция, возвращающая количество миллисекунд, затраченное на компиляцию программы;

CurrentDateTime - функция, возвращающая текущие дату и время;

CompareMem(p1,p2,len) - функция, возвращающая True, если два участка памяти длины len байт, на которые указывают p1 и p2, идентичны, и False в противном случае;

DiskSize(Drive) - функция, возвращающая размер диска Drive (1 - диск A:, 2 - диск B:, 3 - диск C: и т.д.); если диск не существует, то в поле Megabytes возвращается 0, а в поле Bytes возвращается -1;

DiskFree(Drive) - функция, возвращающая размер свободного пространства на диске Drive.

PascalABCPath - функция, возвращающая полный путь к файлу PascalABC.exe.

ShowMessage(s) - процедура, показывающая окно с кнопкой OK и сообщением, задаваемым строкой s. Выполнение программы приостанавливается до нажатия кнопки OK.

FreeAndNil(o) - процедура, вызывающая деструктор объекта o в случае если o<>nil и присваивающая o значение nil.

FindFirstFile - функция, инициализирующая поиск файлов в каталоге path, помещающая в переменную sr первый найденный файл и возвращающая True, если поиск оказался успешным, и False в противном случае.

FindFirstDirectory - функция, инициализирующая поиск файлов в каталоге path, помещающая в переменную sr первый найденный каталог и возвращающая True, если поиск оказался успешным, и False в противном случае.

FindNext - функция, помещающая в переменную sr следующий найденный файл (если до этого вызвана функция FindFirstFile) или каталог (если до этого вызвана функция FindFirstDirectory), и возвращающая True, если поиск оказался успешным, и False в противном случае.

FindClose - процедура, освобождающая память, выделенную при поиске файлов или каталогов.

Приведем типичный пример использования FindFirstFile, FindNext, FindClose для поиска всех файлов в текущем каталоге:

uses Utils;
var sr: SearchRec;
begin
  if FindFirstFile('*.*',sr) then
  begin
    writeln(sr.Name);
    while FindNext(sr) do
      writeln(sr.Name);
  end;
  FindClose(sr);
end.

ExtractFileName(fname) - функция, выделяющающая имя и расширение файла из полного имени файла.

ExtractFileExt(fname) - функция, выделяющающая расширение файла из полного имени файла.

ExtractFilePath(fname) - функция, выделяющающая путь из полного имени файла.

ChangeFileExt(fname,ext) - функция, заменяющающая расширение файла на ext.