Расположенная в директории Visual FoxPro \Tools\Filer библиотека Filer.dll это базовый компонент, который обеспечивает поиск файла и текста без использования пользовательского интерфейса. Вы можете включить Filer.dll и связанные с ним файлы Filer.ico, Filer.scx и Filer.sct в дистрибутив созданного Вами приложения на Visual FoxPro.

NoteЗамечание

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

Для получения дополнительной информации об использовании Filer.dll смотрите следующие разделы:

Создание объекта Filer

Вы можете использовать Filer.dll чтобы получить возможность программным способом искать и манипулировать файлами без участия пользователя. Filer.dll также включает поддержку поиска текстовых строк в файлах и возможность открытия нескольких файлов для редактирования.

Filer.dll это COM объект, поддерживающий режим автоматизации. Поэтому, Вы можете создавать экземпляр Filer для других серверов автоматизации, таких как Microsoft Visual Basic и Microsoft Excel.

Создание экземпляра поисковой системы Filer

  • Включите следующую строку кода для того, чтобы создать экземпляр объекта Filer.

     CopyCode imageКопировать код
    oMyFiler = CREATEOBJECT('Filer.FileUtil')

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

Создание пользовательского интерфейса для объекта Filer

Visual FoxPro включает пример формы Filer.scx (и Filer.sct) для того, чтобы показать, как Вы можете создать пользовательский интерфейс для объекта Filer. Когда Вы запустите форму, появится диалоговое окно File Finder и пункт меню Filer будет добавлен в выпадающее меню Tools текущей сессии Visual FoxPro.

Запустить форму Filer

  • Выполните команду DO FORM как показано в следующем примере:

     CopyCode imageКопировать код
    DO FORM (HOME(1) + 'Tools\Filer\Filer.scx')

Для получения дополнительной информации смотрите Диалоговое окно поиска файла (File Finder).

Просмотреть или изменить код формы Filer

  • Выполните команду MODIFY FORM как показано в следующем примере:

     CopyCode imageКопировать код
    MODIFY FORM (HOME(1) + 'Tools\Filer\Filer.scx')

Использование свойств и методов объекта Filer

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

Когда Вы выполняете поиск файла, используя метод Find объекта Filer, то создается коллекция объектов с именем Files. Коллекция объектов Files имеет свойства, которые Вы можете использовать для определения информации о файлах, удовлетворяющих условиям поиска. Коллекция объектов Files также имеет методы, которые Вы можете использовать для того, чтобы открыть или удалить найденные файлы.

Следующий пример демонстрирует, как Вы можете найти и открыть текстовый файл из среды Visual FoxPro.

 CopyCode imageКопировать код
oMyFiler = CREATEOBJECT('Filer.FileUtil')
oMyFiler.SearchPath = HOME() && Домашний каталог, как место, откуда надо начинать поиск.
oMyFiler.FileExpression = '*.TXT' && Указание поиска текстовых файлов.
oMyFiler.Find(0) && Выполнить поиск, удалив результаты предыдущего поиска

FOR nFileCount = 1 TO oMyFiler.Files.Count
   oMyFiler.Files.Item(nFileCount).Edit && Открыть файлы.
ENDFOR

Свойства объекта Filer

Следующая таблица описывает свойства, связанные с объектом Filer.

Свойство Тип данных Описание

SearchPath

C

Директория, из которой начинается поиск. Поддерживает универсальное соглашение о наименованиях "Universal naming conventions" (UNC).
Данное свойство можно как читать, так и изменять.

FileExpression

C

Маска для поиска файла, которая может включать несколько масок, разделенных символом точки с запятой (;). Например, маска поиска файла "*.scx; *.sct" означает, что необходимо искать все файлы, которые имеют как расширение ".scx", так и расширение ".sct".
По умолчанию, маска поиска файла устанавливается в значение "*.*".
Данное свойство можно как читать, так и изменять.

SubFolder

N

Числовое значение, которое определяет, будет ли поиск выполняться только в директории, указанной в свойстве SearchPath или же и в ее поддиректориях.
Если свойство SubFolder имеет значение 0, то поиск файла будет осуществлен только в директории, указанной в свойстве SearchPath. Если свойство SubFolder имеет значение 1, то поиск файла будет осуществлен как в директории, указанной в свойстве SearchPath, так и во всех ее поддиректориях. Следует заметить, что объект Filer игнорирует системные папки.
По умолчанию, данное свойство имеет значение 0.
Данное свойство можно как читать, так и изменять.

SearchText1

C

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

SearchText2

C

Еще одна, дополнительная, символьная строка, которую следует искать внутри файлов, удовлетворяющих условию поиска, заданному в свойстве FileExpression. Данное свойство игнорируется, если свойство SearchText1 содержит пустую строку.
По умолчанию, значение этого свойства равно пустой строке.
Данное свойство можно как читать, так и изменять.

SearchText3

C

Еще одна, дополнительная, символьная строка, которую следует искать внутри файлов, удовлетворяющих условию поиска, заданному в свойстве FileExpression. Данное свойство игнорируется, если свойства SearchText1 и SearchText2 содержат пустые строки.
По умолчанию, значение этого свойства равно пустой строке.
Данное свойство можно как читать, так и изменять.

IgnoreCase

N

Числовое значение, которое определяет, следует ли учитывать или игнорировать регистр текста (большие или маленькие буквы) в текстовых строках, указанных в свойствах SearchText1, SearchText2 и SearchText3. Если значение свойства IgnoreCase имеет значение 0, то значение регистра букв учитывается (большие и маленькие буквы различаются). Если значение свойства IgnoreCase имеет значение 1, то регистр букв игнорируется.
По умолчанию, значение этого свойства равно 1.
Данное свойство можно как читать, так и изменять.

WholeWords

N

Числовое значение, которое определяет, следует ли воспринимать как слово целиком или как фрагмент слова текст в текстовых строках, указанных в свойствах SearchText1, SearchText2 и SearchText3. Если значение свойства WholeWords имеет значение 0, то текст в текстовых строках - это фрагмент (часть) слова. Если значение свойства WholeWords имеет значение 1, то текст в текстовых строках - это слово целиком, а не часть слова.
По умолчанию, значение этого свойства равно 0.
Данное свойство можно как читать, так и изменять.

SearchAnd

N

Числовое значение, которое определяет, следует ли обязательно найти все тексты в текстовых строках, указанных в свойствах SearchText1, SearchText2 и SearchText3 или достаточно найти какой-либо один из указанных текстов. Если свойство SearchAnd имеет значение 0, то достаточно найти любой из указанных текстов. Если свойство SearchAnd имеет значение 1, то необходимо найти все указанные тексты.
По умолчанию, значение этого свойства равно 0.
Данное свойство можно как читать, так и изменять.

Editor

C

Программа-редактор, в которой будет открыт файл из коллекции Files при использовании метода Open. Данное свойство игнорируется, если свойство IsHostedByFox имеет значение 1.
Программой редактором по умолчанию назначена программа Notepad.
Данное свойство можно как читать, так и изменять.

IsHostedByFox

N

Числовое значение, которое определяет, кто является клиентом для COM-объекта созданного на базе Filer.dll. Если свойство IsHostedByFox имеет значение 1, то клиентом является Visual FoxPro и редактор Visual FoxPro используется для открытия файла. Если свойство IsHostedByFox имеет значение 0, то клиентом является приложение, отличное от Visual FoxPro, и в качестве редактора для открытия файлов используется приложение, указанное в свойстве Editor.
По умолчанию, значение этого свойства равно 1 в Visual FoxPro.
Данное свойство можно как читать, так и изменять.

SortBy

N

Числовое значение, которое определяет порядок, в котором будут отсортированы объекты в коллекции найденных файлов Files. Следующая таблица содержит список возможных значений свойства SortBy и порядок сортировки файлов для каждого из значений.

0   Нет сортировки
1   Путь и имя файла
2   Имя файла
3   Расширение файла
4   Размер файла
5   Дата последней модификации файла
6   Дата последнего обращения к файлу
7   Дата создания файла
8   Атрибуты файла

По умолчанию, данное свойство имеет значение 1.
Данное свойство можно как читать, так и изменять.

SortDirection

N

Числовое значение, которое определяет, следует ли упорядочивать элементы в коллекции Files по возрастанию или по убыванию значений. Если свойство SortDirection имеет значение 0, то элементы в коллекции Files упорядочены по возрастанию значения. Если свойство SortDirection имеет значение 1, то элементы в коллекции Files упорядочены по убыванию значения.
По умолчанию, данное свойство имеет значение 0.
Данное свойство можно как читать, так и изменять.

Методы объекта Filer

Следующая таблица описывает методы, связанные с объектом Filer.

Метод Описание

Find(nValue)

Метод, который собственно и выполняет поиск файлов и создает коллекцию Files. Метод Find возвращает числовое значение, которое определяет, количество элементов в коллекции Files.

nValue это числовое значение, которое определяет, следует ли удалить из коллекции Files результаты предыдущего поиска. Если свойство nValue имеет значение 0, то результаты предыдущего поиска удаляются из коллекции Files. Если свойство nValue имеет значение 1, то результаты нового поиска добавляются к результатам предыдущего поиска в коллекции Files.

Обратите внимание, что свойство nValue является обязательным. Нет значения по умолчанию.

Объекты коллекции Files

Следующая таблица описывает объектные ссылки, связанные с коллекцией Files.

Объект Описание

Item(nValue)

Объектная ссылка на файл в коллекции Files. nValue - это индекс файла в коллекции Files. nValue начинается с 1 и до количества файлов, содержащихся в коллекции Files. Вы можете использовать свойство Count, описанное ниже, для того, чтобы определить общее количество файлов в коллекции Files.

Свойства коллекции Files

Следующая таблица описывает свойства, связанные с коллекцией Files.

Свойство Тип данных Описание

Count

N

Содержит количество файлов в коллекции Files.
Данное свойство доступно только для чтения.

Name

C

Имя файла, исключая путь доступа.
Данное свойство доступно только для чтения.

Size

N

Размер файла в байтах.
Данное свойство доступно только для чтения.

SizeHigh

N

Старшие 4 байта, если размер файла превышает 4 гигабайта.
Данное свойство доступно только для чтения.

Attr

N

Атрибуты файла в системе Windows. Следующий список содержит числовые значение типичных атрибутов файлов.

0   Нет установленных атрибутов
1   Файл только на чтение
2   Скрытый файл
4   Системный файл
32   Архивный файл

Значение свойства Attr может содержать сумму нескольких файловых атрибутов. Например, если свойство Attr имеет значение 7 (1+2+4), то файл доступен только на чтение, и является скрытым и системным файлом.
Дополнительную информацию о других файловых атрибутах, которые может возвращать свойство Attr, смотрите в описании к функции GetFileAttributes в "Microsoft Developer's Network library" (MSDN).
Данное свойство можно как читать, так и изменять.

DateTime

N

Отметка времени, установленная системой Windows в момент создания файла. Дата и время создания файла
Целая часть этой отметки - это количество дней, прошедших с даты 12/30/1899, а дробная часть - это отношение количества секунд прошедших с полуночи до момента создания файла к общему количеству секунд в сутках.
Форма Filer (Filer.scx), содержит пользовательский метод с именем GetTime, который демонстрирует, как Вы можете определить дату и время создания файла из свойства DateTime.
Замечание от переводчика: На самом деле в этой форме такого метода нет. Но Вы можете легко создать его сами по приведенному описанию.
Данное свойство доступно только на чтение.

LastAccessTime

N

Отметка времени, установленная системой Windows в момент последнего обращения к файлу.
Данное свойство доступно только на чтение.

LastWriteTime

N

Отметка времени, установленная системой Windows в момент последнего изменения файла.
Данное свойство доступно только на чтение.

AlternateName

C

Короткое имя файла, если количество символов в имени файла больше, чем допускается соглашением о наименованиях MS-DOS® 8.3.
Данное свойство доступно только на чтение.

Path

C

Полный путь доступа к файлу.
Данное свойство доступно только на чтение.

Методы коллекции Files

Следующая таблица описывает методы связанные с коллекцией Files.

Метод Описание

Edit

Открывает указанный файл для редактирования. Если свойство IsHostedByFox имеет значение 1 (это значение по умолчанию для Visual FoxPro), то файл открывается в редакторе Visual FoxPro. Если свойство IsHostedByFox имеет значение 0, то файл открывается в редакторе, определенном в свойстве Editor (по умолчанию - это NotePad).

Delete

Удаляет указанный файл с диска. Файл не помещается в корзину (Recycling Bin). Удаление без возможности восстановления

Смотрите также