назад | содержание | вперед
Работа на уровне файлов
Для создания файла можно использовать метод createTextFile класса FileSystemObject:
Dim NewFSO As New FileSystemObject, NewFile As TextStream
Set NewFile = NewFSO.CreateTextFile ("C:\NewFile.txt")
Для удаления файла используется метод Delete класса File. Необходимо заметить, что перед удалением файл должен быть закрыт с помощью метода close. Программный код, выполняющий удаление файла в приложении, выглядит следующим образом:
Dim NewFile As TextStream, File
Set NewFile = NewFSO.CreateTextFile("c:\NewFile.txt")
NewFile.Close
Set File = NewFSO.GetFile("c:\NewFile.txt")
File.Delete
В этом примере файл сначала создается, а затем удаляется.
Перемещение файлов выполняется с помощью метода Move класса File. Если воспользоваться предыдущим текстом, то код, выполняющий перемещение файла, выглядит следующим образом:
Dim NewFile As TextStream, File
Set NewFile = NewFSO.CreateTextFile("c:\NewFile.txt")
NewFile.Close
Set File = NewFSO.GetFile("c:\NewFile.txt")
File.Move ("c:\NewFile.txt")
При этом, как и при удалении, необходимо закрывать файл.
Копирование файла выполняется аналогично перемещению с использованием метода copy.
Разработаем приложение для изучения работы с файлами. Для этого воспользуемся приложением, созданным в предыдущем примере при рассмотрении работы с папками. Откройте приложение и модифицируйте его следующим образом:
1. Увеличьте размер формы, переставьте кнопки и текстовое поле с меткой, как показано на рис. 9.13. Текст метки измените на Имя файла.
2. Добавьте в форму объект типа FileListBox (Список файлов), дважды щелкнув мышью кнопку FileListBox на панели элементов управления. Используя свойство Name, назовите его filFiles.
3. Измените текст кода в приложении на указанный ниже:
Dim NewFSO As New FileSystemObject, Folder As Folder
Dim sNameFolder As String
Dim sNameFile As String
Dim File
Private Sub cbCreate_Click()
' Создание файла
Dim NewFile As TextStream
sNameFile = dirFolders.Path + "\" + txtNameFile.Text
Set NewFile = NewFSO.CreateTextFile(sNameFile)
filFiles.Refresh
End Sub
Private Sub cbDelete_Click()
' Удаление файла
sNameFolder = dirFolders.Path
Set Folder = NewFSO.GetFolder(sNameFolder)
If Folder.IsRootFolder = True Then
sNameFile = filFiles.Path + filFiles.FileName
Else
sNameFile = filFiles.Path + "\" + filFiles.FileName
End If
Set File = NewFSO.GetFile(sNameFile)
File.Delete
filFiles.Refresh
End Sub
Private Sub cbRename_Click ()
' Переименование файла
sNameFolder = dirFolders.Path
Set Folder = NewFSO.GetFolder(sNameFolder)
If Folder.IsRootFolder = True Then
sNameFile = filFiles.Path + filFiles.FileName
Else
sNameFile = filFiles.Path + "\" + filFiles.FileName
End If
Set File = NewFSO.GetFile(sNameFile)
File.Name = txtNameFile.Text fil
Files.Refresh
End Sub
Private Sub dirFolders Change()
filFiles.Path = dirFolders.Path
End Sub
Private Sub drvSelectDrive_Change()
dirFolders.Path = drvSelectDrive.Drive
End Sub
Private Sub filFiles_Click()
txtNameFile.Text = filFiles.FileName
End Sub
Рис. 9.13. Приложение для изучения работы с файлами
В этом приложении создаются, удаляются и переименовываются файлы. Работа списков синхронизирована по событию change списков устройств и папок.
назад | содержание | вперед