5,139
社区成员
发帖
与我相关
我的任务
分享
’读取
f=CreateFile(strHis,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,/*OPEN_ALWAYS*/OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (f!=NULL && f!=INVALID_HANDLE_VALUE)
{
SetFilePointer(f,sizeof(HISKWHDD)*saveno,NULL,FILE_BEGIN);
ReadFile(f,&his_dd,sizeof(HISKWHDD),&lBytesWritten,0);
}
‘结构体
struct HISKWHDD
{
float Value[36];
};
复制代码
//实现函数
Private Sub CommandButton1_Click()
Dim PosL As Long
Dim PosH As Long
Dim SizeRead As Long
Dim Ret1 As Long, Ret2 As Long, Ret3 As Long
Dim temp As SECURITY_ATTRIBUTES
Dim data As DATA_SAVE
Dim handle As Long
handle = CreateFile("D:\BDZHT\His\S20140319DD.His", GENERIC_WRITE Or GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, temp, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, 0)
If handle <> 0 Then
Ret1 = SetFilePointer(handle, 144 * 2, 0, FILE_BEGIN)
Ret2 = ReadFile(handle, data, 144, SizeRead, 0)
Ret3 = CloseHandle(handle)
End If
End Sub
//对应结构体
Public Type DATA_SAVE
data(0 To 36) As Single
End Type
Private Sub CommandButton1_Click()
'²âÊÔFileSystemObject
'Set fs = CreateObject("Scripting.FileSystemObject")
'Set a = fs.CreateTextFile("f:\testfile.HIS", True)
'a.WriteLine ("This is a test.")
'a.Close
'²âÊÔOpen
' Dim txt As String
'Open "D:\BDZHT\His\S20140319DD.His" For Input As #1
' Do While Not EOF(1)
'Line Input #1, txt
'MsgBox txt
' Loop
' Close #1
'²âÊÔAPIʹÓÃ
Dim temp As SECURITY_ATTRIBUTES
Dim data As DATA_SAVE
Dim handle As Long
Dim Buffer(1000) As Byte
Dim loc As Long
' Dim data(0 To 36) As Byte
' Dim str As String
Dim i As Integer
Dim PosL As Long
Dim PosH As Long
Dim SizeRead As Long
Dim Ret1 As Long, Ret2 As Long, Ret3 As Long
handle = CreateFile("D:\S20111108DD.His", GENERIC_WRITE Or GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, temp, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, 0)
If handle <> 0 Then
Ret1 = SetFilePointer(handle, 144 * 10, 0, FILE_BEGIN)
loc = SetFilePointer(handle, 0, 0, FILE_CURRENT)
For i = 0 To 10
Ret2 = ReadFile(handle, data, 144, SizeRead, 0)
loc = SetFilePointer(handle, 144 * 10 + (i + 1) * 144, 0, FILE_BEGIN)
Next
Ret3 = CloseHandle(handle)
End If
End Sub
Private Sub UserForm_Click()
End Sub
Public TabType As Integer '±¨±íµÄ״̬£º1±íʾÖÆ×÷ÈÕ±¨±í£¬2±íʾÖÆ×÷Ô±¨±í
Public TimeId As Integer 'ʱ¼äµÄµÄСʱ»òÌ죬µ«ÐèÒªÏòÏÂÌî³äʱÔòµ±×öÌî³äÆðʼµØÖ·
Public StepLengh As Integer '²½³¤£¬Ö»Óе±ÏòÏÂÌî³äÑ¡ÔñÖ®ºó²ÅÓÐЧ
Public IsFull As Integer 'ÅжÏÊÇ·ñÐèÒªÏòÏÂÌî³ä£¬0ʱÔò²»ÐèÒª£¬1ʱÔòÐèÒª
Public HisDate As Integer 'ÀúÊ·ÈÕÆÚ£¬ÓÃÓÚ±£´æ
Public AccseeDataId As Integer '±£´æÊý¾ÝµÄId£¬ÓÃÓÚ¶¨Î»ÄǸöµç¶È
Public tableDate As Date '¶¨Ò屨±íÊä³öʱµÄʱ¼ä
Public fastTableCount As Integer '¿ìËÙÖÆ×÷±¨±íÖÐÑ¡Ôñ±¨±íÊý¾ÝÌõÊý
'¶¨ÒåAPI
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Public Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long
'Public Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As Any) As Long
Public Declare Function ReadFile Lib "kernel32.dll" (ByVal hFile As Long, ByRef lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, ByRef lpNumberOfBytesRead As Long, ByVal lpOverlapped As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
'¶¨ÒåʹÓÃAPIµÄ²ÎÊý¶¨Òå
Public Const GENERIC_WRITE = &H40000000
Public Const GENERIC_READ = &H80000000
Public Const CREATE_NEW = 1
Public Const OPEN_EXISTING = 3
Public Const FILE_ATTRIBUTE_READONLY = &H1
Public Const FILE_SHARE_READ = &H1
Public Const FILE_SHARE_WRITE = &H2
Public Const FILE_BEGIN = 0
Public Const FILE_CURRENT = 1
'¶¨Òå½á¹¹ÌåSECURITY_ATTRIBUTES (°²È«ÊôÐÔ)
Public Type SECURITY_ATTRIBUTES
nLength As Long
bInheritHandle As Long
lpSecurityDescriptor As Long
End Type
Public Type DATA_SAVE
data(0 To 35) As Single
End Type