Читайте также:
|
|
Давайте дополним нашу библиотеку новой функцией, которая проверяет, существует ли на диске файл с заданным именем. Эту функцию следует вызывать перед попыткой открыть файл или создать его (чтобы предотвратить случайное уничтожение существующего файла):
1. Если проект из предыдущего раздела не сохранился, создайте новый проект командой File > New Project.
2. Если модуль MyLibrary.Bas не был включен в проект, щелкните правой кнопкой мыши в окне проекта и выполните команду Add > Module из контекстного меню.
3. В диалоговом окне Add Module перейдите на вкладку Existing, найдите файл MyLibrary.Bas и нажмите кнопку Open. Программный модуль включается в проект.
4. Дважды щелкните на файле MyLibrary.Bas в окне проекта. В открывшемся окне программы вставьте следующий фрагмент в секцию (Genera)(Declarations):
Public Function IsFile(FileName As String) As Boolean
If Len(Dir(Filename)) > 0 Then
‘Файл существует
IsFile = True
Else
‘Файл не существует
IsFile = False
End If
End Function
5. Сохраните библиотеку командой File > Save MyLibrary. Вся основная работа выполняется в строке
If Len(Dir(Filename)) > 0 Then
В ней вызываются еще две функции, которые формируют одно итоговое значение. Функция Dir() получает один параметр — Filename. Она проверяет, существуют ли файлы, соответствующие заданному критерию (например, *. txt), и возвращает первый подходящий файл, если он существует. Например, если в папке Мои документы существует файл FooBar.txt и переменной Filename будет присвоено значение С:\Мои документы\FооВаг.txt, функция возвращает текстовую строку FooBar, txt. Если файл не существует, Dir() возвращает пустую строку. После функции Dir() вызывается функция Len(). Она возвращает длину строки, переданной ей в качестве аргумента. Например, функция Len("abc") возвращает значение 3, потому что строка abc состоит из трех байтов. Поскольку Diг() возвращает имя файла, соответствующего переданному критерию, цепочка Len(Dir()) эквивалентна вызову Len("FooBar. txt"), который возвращает значение 10. Наконец, мы проверяем, возвратила ли функция Len() положительное число. Длина FooBar. txt равна 10; несомненно, это число больше нуля, поэтому переменной IsFile присваивается значение True — оно показывает, что файл действительно существует. Если Dir() вернет пустую строку, функция Len() возвращает 0. Это число не является положительным, поэтому IsFile присваивается значение False -следовательно, файл не существует.
ПОДСКАЗКА Функция, в которой скрывается более сложный код, называется оболочкой. Функции-оболочки играют важную роль в программировании и часто используются для упрощения вызова функций API. Дополнительные сведения приведены в уроке 19, «Использование DLL и Windows API».
Первый модуль готов, и теперь вы можете включать его в свои проекты для выполнения некоторых простых задач. Функция IsFile проверяет, существует ли на жестком диске файл с заданным именем. Подобную проверку следует выполнять перед попыткой открытия файла в программе. От вас требуется лишь указать, какой файл вас интересует:
If IsFile("C:\CONFIG.SYS") Then
... действия вашей программы...
End If
Дата добавления: 2015-07-20; просмотров: 89 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Функции | | | Передача параметров |