![]() |
Практическая работа 48. Использование Windows АPIDate: 2015-10-07; view: 410. Использовать функцию Windows АPI копирование файла; для этого выполнить следующее: 1. Создать на форме o элементы управления DriveListBox, DirListBox, FileListBox; синхронизировать их работу, обеспечить вывод содержимого каталога после его маркировки и нажатия клавиши Enter, o две командные кнопки, четыре поля метки, см. код процедур, 2. ввести код, данный ниже, пояснения даны под комментариями, 3. стартовать проект, выбрать для копирования файл в дереве файлов, выведенном в поля элементов DriveListBox, DirListBox, FileListBox (здесь - файл Net14.ICO на дискете), маркировать файл. Сделать щелчок на кнопках Command2 и (последровательно несколько раз) на Command1 (Function:) - в поля меток выводятся: имя дискового устройства, имя каталога, путь и имя файла, сообщение о числе копирований файла, 4. ' объявление функции Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA"_ (ByVal lpExistingFileName As String, ByVal lpNewFileName _ As String, ByVal bFailIfExists As Long) As Long ' описание переменной для хранения возвращаемого функцией значения Dim RetVal As Long
Private Sub Command1_Click() ' процедура копирования файла ' переменная описана как Static для обеспечения ' многократного копирования файла последовательным ' нажатием командной кнопки Static i As Integer RetVal = CopyFile(File1, "lpNewFileName", 1) ' копирование Print File1 ' вывод имени копируемого файла на форме ' вывод имени файла и числа копирований Label1 = File1 & " Copy " & i + 1 i = i + 1 End Sub
' синхронизация работы элементов управления Dir1 и Drive1; ' обеспечение вывода содержимого каталога при его ' маркировке и нажатии клавиши Enter Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub
Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub
Private Sub Dir1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Dir1.Path = Dir1.List(Dir1.ListIndex) End Sub
' вывод в поля меток имени дискового устройства, каталога, ' пути и имени файла Private Sub Command2_Click() Label2 = Drive1: Label3 = Dir1: Label4 = File1 End Sub
Лекция 8:
|