要求:
1、使用API
2、把字符串使用二进制保存
3、写入时获取数据的开始和结束范围数值(记录用途)
4、指定读取的范围(从X开始到Y结束)使用OPEN、GET那些会方便好多,但我想在效率上得到更好的效果所以想用API,但对API不熟。麻烦大家给个简单的例子让小弟参考。
1、使用API
2、把字符串使用二进制保存
3、写入时获取数据的开始和结束范围数值(记录用途)
4、指定读取的范围(从X开始到Y结束)使用OPEN、GET那些会方便好多,但我想在效率上得到更好的效果所以想用API,但对API不熟。麻烦大家给个简单的例子让小弟参考。
解决方案 »
- vb运行中的错误
- 达人帮忙~Winsock(高分马上奉送)
- 如何通过VB打开网页上的源代码,哥哥们来帮帮我!
- 请问各为api高手,用api时我怎么知道要用那些常数呢。
- 求教 --如何在系统状态条上显示应用程序的图标
- 怎样使图片框中的图随图片框的大小同比例变化呢?
- 今晚必须解决的问题,请大家帮帮忙,让小弟能睡个安稳觉吧. 我已经没分可送了. 急!!!!!!!!!!!!!!!!!
- 数据库的程序打包后有13M怎么办?
- 有谁可以帮我看看错在哪,我找不出原因!
- 如何从VB程序中直接打开WORD文档?
- 使用Codejock Xtreme时的严重问题
- 我想实现xp风格,如何将manifest以资源导入到exe中呢?我不想多带一个.manifest文件
如果不是超过 2GB 的文件,效率相差很小。用 Open, Get 就好。'API function for large files
Public 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 LongPublic Declare Function GetFileType Lib "kernel32" (ByVal hFile As Long) As LongPublic Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As LongPublic Declare Function GetFileSizeEx Lib "kernel32" (ByVal hFile As Long, lpFileSize As Currency) As LongPublic Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As Long) As LongPublic Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As LongPublic Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As Long) As LongPublic Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongPublic Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As LongPublic Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As LongPublic Declare Function GetLastError Lib "kernel32" () As LongPublic Const FILE_ADD_FILE = (&H2)Public Const FILE_APPEND_DATA = (&H4)Public Const STANDARD_RIGHTS_REQUIRED = &HF0000Public Const SYNCHRONIZE = &H100000Public Const FILE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &H1FF)Public Const FILE_BEGIN = 0Public Const FILE_END = 2Public Const FILE_CURRENT = 1Public Const FILE_READ_DATA = (&H1)Public Const FILE_SHARE_READ = &H1Public Const FILE_SHARE_WRITE = &H2Public Const GENERIC_READ = &H80000000Public Const GENERIC_WRITE = &H40000000Public Const CREATE_NEW = 1Public Const OPEN_EXISTING = 3Public Const MOVEFILE_COPY_ALLOWED = &H2Public Const MOVEFILE_REPLACE_EXISTING = &H1Public Const FILE_TYPE_CHAR = &H2Public Const FILE_TYPE_DISK = &H1Public Const FILE_TYPE_PIPE = &H3Public Const FILE_TYPE_REMOTE = &H8000Public Const FILE_TYPE_UNKNOWN = &H0Public Const FILE_FLAG_BACKUP_SEMANTICS = &H2000000Public Const FILE_FLAG_DELETE_ON_CLOSE = &H4000000Public Const FILE_FLAG_NO_BUFFERING = &H20000000Public Const FILE_FLAG_OVERLAPPED = &H40000000Public Const FILE_FLAG_POSIX_SEMANTICS = &H1000000Public Const FILE_FLAG_RANDOM_ACCESS = &H10000000Public Const FILE_FLAG_SEQUENTIAL_SCAN = &H8000000Public Const FILE_FLAG_WRITE_THROUGH = &H80000000Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End TypePublic Type OVERLAPPED
Internal As Long
InternalHigh As Long
offset As Long
OffsetHigh As Long
hEvent As Long
End Type