Практическая работа 48. Использование Windows АPI
Использовать функцию Windows АPI копирование файла; для этого выполнить следующее: 1. Создать на форме (рис. 7.3): o элементы управления DriveListBox, DirListBox, FileListBox; синхронизировать их работу, обеспечить вывод содержимого каталога после его маркировки и нажатия клавиши Enter, o две командные кнопки, четыре поля метки, см. код процедур, 2. ввести код, данный ниже, пояснения даны под комментариями, 3. стартовать проект, выбрать для копирования файл в дереве файлов, выведенном в поля элементов DriveListBox, DirListBox, FileListBox (здесь - файл Net14.ICO на дискете), маркировать файл. Сделать щелчок на кнопках Command2 и (последровательно несколько раз) на Command1 (Function:) - в поля меток выводятся: имя дискового устройства, имя каталога, путь и имя файла, сообщение о числе копирований файла, рис. 7.3 ' объявление функции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 + 1End Sub' синхронизация работы элементов управления Dir1 и Drive1; ' обеспечение вывода содержимого каталога при его ' маркировке и нажатии клавиши EnterPrivate Sub Drive1_Change() Dir1.Path = Drive1.DriveEnd SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathEnd SubPrivate 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 = File1End SubРис. 7.3. Пример использования Windows API Лекция 8:
|