Страница: 1 | 2 |
|
Вопрос: Что быстрее?
|
Добавлено: 29.04.09 14:50
|
|
Автор вопроса: Sergey
|
Что быстрее работает в VB 2008: API-функции или стандартные функции VB?
Ответить
|
Номер ответа: 4 Автор ответа: Arseny
ICQ: 298826769
Вопросов: 53 Ответов: 1732
|
Профиль | | #4
|
Добавлено: 29.04.09 16:13
|
тебе же уже говорили имя функции.
пример из API-Guide:
- Private Type FILETIME
- dwLowDateTime As Long
- dwHighDateTime As Long
- End Type
- Private Type SHFILEOPSTRUCT
- hWnd As Long
- wFunc As Long
- pFrom As String
- pTo As String
- fFlags As Integer
- fAborted As Boolean
- hNameMaps As Long
- sProgress As String
- End Type
- Private Type SYSTEMTIME
- wYear As Integer
- wMonth As Integer
- wDayOfWeek As Integer
- wDay As Integer
- wHour As Integer
- wMinute As Integer
- wSecond As Integer
- wMilliseconds As Integer
- End Type
- Private Const GENERIC_WRITE = &H40000000
- Private Const OPEN_EXISTING = 3
- Private Const FILE_SHARE_READ = &H1
- Private Const FILE_SHARE_WRITE = &H2
- Private Const FO_DELETE = &H3
- Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
- Private Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpPathName As String, lpSecurityAttributes As Long) As Long
- Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
- Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
- Private Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long
- Private Declare Function MoveFile Lib "kernel32" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long
- Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
- Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
- Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
- Private Declare Function FileTimeToSystemTime Lib "kernel32" (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long
- Private Declare Function FileTimeToLocalFileTime Lib "kernel32" (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long
- Private Sub Form_Load()
-
-
-
- Dim lngHandle As Long, SHDirOp As SHFILEOPSTRUCT, lngLong As Long
- Dim Ft1 As FILETIME, Ft2 As FILETIME, SysTime As SYSTEMTIME
-
- CDBox.DialogTitle = "Choose a file ..."
-
- CDBox.CancelError = True
-
- CDBox.ShowOpen
-
- CreateDirectory "C:\KPD-Team", ByVal &H0
-
- CopyFile CDBox.filename, "C:\KPD-Team\" + CDBox.FileTitle, 0
-
- MoveFile "C:\KPD-Team\" + CDBox.FileTitle, "C:\KPD-Team\test.kpd"
-
- lngHandle = CreateFile("C:\KPD-Team\test.kpd", GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
-
- MsgBox "The size of the selected file is" + Str$(GetFileSize(lngHandle, lngLong)) + " bytes."
-
- GetFileTime lngHandle, Ft1, Ft1, Ft2
-
- FileTimeToLocalFileTime Ft2, Ft1
-
- FileTimeToSystemTime Ft1, SysTime
- MsgBox "The selected file was created on" + Str$(SysTime.wMonth) + "/" + LTrim(Str$(SysTime.wDay)) + "/" + LTrim(Str$(SysTime.wYear))
-
- CloseHandle lngHandle
-
- DeleteFile "C:\KPD-Team\test.kpd"
- With SHDirOp
- .wFunc = FO_DELETE
- .pFrom = "C:\KPD-Team"
- End With
-
- SHFileOperation SHDirOp
- End
- End Sub
не знаю, как это впишется в 2008 студию...
кстати, под дотнет там тоже еть пример:
- Imports System
- Imports System.IO
- Public Module modmain
- Sub Main()
-
-
-
- Console.WriteLine("Autoexec.bat was created on " + _
- File.GetCreationTime("c:\autoexec.bat").ToString)
- End Sub
- End Module
Ответить
|
Страница: 1 | 2 |
Поиск по форуму