Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Обновление программной библиотеки

Читайте также:
  1. II. Охрана от загрязнений, рациональное использование и возобновление природных водных ресурсов.
  2. Библиотеки с адресами.
  3. Возобновление войны
  4. Возобновление правительственного контроля за движением валюты и капитала
  5. Возобновление производства по уголовному делу ввиду новых или вновь открывшихся обстоятельств - глава 49 УПК РФ.
  6. Возобновление расследования по приостановленным уголовным делам.
  7. Есенинский зал-музей городской библиотеки им. С. Есенина

Давайте дополним нашу библиотеку новой функцией, которая проверяет, существует ли на диске файл с заданным именем. Эту функцию следует вызывать перед попыткой открыть файл или создать его (чтобы предотвратить случайное уничтожение существующего файла):

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 | Нарушение авторских прав


Читайте в этой же книге: События деревьев | Свойства табличных списков | Вкладка General | События табличных списков | Все вместе | Строка состояния | Работа со строкой состояния | Что нового мы узнали? | Модули и классы | Процедуры |
<== предыдущая страница | следующая страница ==>
Функции| Передача параметров

mybiblioteka.su - 2015-2024 год. (0.009 сек.)