Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Структурные особенности Visual Basic.docx
Скачиваний:
44
Добавлен:
17.11.2019
Размер:
2.86 Mб
Скачать

Отображение контекстных меню

В Visual Basic 6.0 можно отобразить контекстное меню с помощью вызова метода PopupMenu, передав его любому объекту Menu верхнего уровня. Например, если имеется меню Правка с именем mnuEdit с подменю Вырезать, Копировать и Вставить, можно отобразить контекстное меню с командами Вырезать, Копировать и Вставить с помощью вызова PopupMenu mnuEdit.

Изменения кода для отображения контекстных меню

В следующем коде показано, как отобразить команды Вырезать, Копировать и Вставить существующего меню Правка в контекстном меню.

' Visual Basic 6.0

Private Sub mnuCut_Click()

MsgBox "You selected Cut"

End Sub

Private Sub mnuCopy_Click()

MsgBox "You selected Copy"

End Sub

Private Sub mnuPaste_Click()

MsgBox "You selected Paste"

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = vbRightButton Then

PopupMenu mnuEdit

End If

End Sub

19.Основные объекты (FileSystemObject, File, Drive, Folder и TextStream.), их свойства и методы библиотеки Scripting.FileSystemObject

Новая особенность для VB6 - модель объекта ( FSO ) Объектная Файловая Система, которая обеспечивает основанный на объектах инструмент для работы с папками и файлами. Это позволяет Вам использовать знакомый синтаксис object.method с богатым набором свойств, методов, и событий, чтобы обработать папки и файлы, в дополнение к использованию традиционных методов и команд Visual Basic. Объектная модель FSO дает вашим прикладным программам способность создавать, изменять, перемещать, и удалить папки, или выяснять, если специфические папки существуют, и если так, то где. Это также дает возможность Вам получить информацию относительно папок, типа их имен, дат, когда они были созданы или в последний раз изменялись, и т.д.

    Объектная модель FSO позволяет намного проще проводить обработку файлов. При обработке файлов, ваша основная цель состоит в том, чтобы сохранить данные в области - и ресурсо-эффективном, легко доступном формате. Вы сможете создавать файлы, вставлять и изменять(заменять) и выводить (считывать) данные Объектная модель FSO, которая содержится в библиотеке типов Scripting type library (Scrrun.Dll), поддерживает создание текстового файла и манипулирование им через объект TextStream. Однако это не поддерживает создание или манипулирование двоичными файлами. Чтобы управлять двоичными файлами, используется команда Open с бинарным флагом.

Объекты Файловой системы

Объектная модель FSO имеет следующие объекты:

  • Drive(Дисковод) - Позволяет Вам получить информацию относительно дисководов присоединенных к системе, их типа, количества доступного участка памяти, их обозначения, и т.д. Обратите внимание, что "дисковод" не обязательно жесткий диск. Это может быть дисковод CD-ROM, вертуальный диск, и т.д. Также не обязательно, чтобы дисководы были физически присоединенными к системе; они могут быть также логически подсоединены через локальную сеть.

  • Folder(Папка) - Позволяет Вам создавать, удалять, или перемещать папки, плюс запрос системы относительно их имен, путей, и так далее.

  • Files(Файлы) - Позволяет Вам создавать, удалять, или перемещать файлы, плюс запрос системы относительно их имен, путей, и так далее.

  • FileSystemObject - Основной объект группы, с полными методами, которые позволят Вам создать, удалять, получать информацию обовсем, и вообще, управляет дисководами, папками, и файлами. Многие из методов, связанных с этим объектом дублированы в других объектах.

  • TextStream - Дает возможность Вам читать и писать текстовые файлы.

Программирование в Объектной Модели FSO включает три основных задачи:

  • Использование метода CreateObject или объявления переменной как объект FileSystemObject, для создания объекта FileSystemObject;

  • Использование соответствующего метода в недавно созданном объекте;

  • Вызов свойств объекта.

Объектная Модель FSO содержится в библиотеке типов, называемой Scripting, которая размещена в файле Scrrun.Dll . Если Вы пока не имеете ссылку, то поставьте ее в меню References| Microsoft Scripting Runtime . Вы можете затем использовать Object Browser, чтобы просмотреть объекты, свойства, методы и события, а также константы.

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

    Первый шаг должен создать объект FileSystemObject, чтобы работать с ним. Вы можете сделать это двумя способами: Объявить переменную, как объект:

Dim fso As New FileSystemObject

Используя метод CreateObject создать объект FileSystemObject:

Set fso = CreateObject ( "Scripting.FileSystemObject" )

    Обратите внимание, что первый метод работает только в Visual Basic, в то время, как второй метод работает и в Visual Basic и в VBScript.

Вызов, существующих Drives (Дисководов) , Files (Файлов) и Folders (Папок)

    Чтобы получить доступ к существующему дисководу, файлу или папке, используется соответствующий метод "Get" объекта FileSystemObject:

GetDrive; GetFolder; GetFile;

Например: Dim fso As New FileSystemObject, fil As File Set fil = fso.GetFile("c:\test.txt")

Создание файлов и добавления данных с помощью File System Objects

    Имеются три способа создать последовательный текстовый файл (иногда упоминаемый как "текстовый поток"). Один путь состоит в том, чтобы использовать метод CreateTextFile. Создаем пустой текстовый файл:

Dim fso As New FileSystemObject, fil As File Set fil = fso.CreateTextFile("c:\testfile.txt", True)

    Обратите внимание, что модель объекта FSO еще не поддерживает создание произвольных (random) или двоичных (binary) файлов. Другой путь состоит в том, чтобы использовать метод OpenTextFile объекта FileSystemObject с установкой флага ForWriting:

Dim fso As New FileSystemObject, ts As New TextStream Set ts = fso.OpenTextFile("c:\test.txt", ForWriting)

Или Вы можете использовать метод OpenAsTextStream с установкой флага ForWriting:

Dim fso As New FileSystemObject, fil As File, ts As TextStream Set fso = CreateObject("Scripting.FileSystemObject") fso.CreateTextFile ("test1.txt") Set fil = fso.GetFile("test1.txt") Set ts = fil.OpenAsTextStream(ForWriting)