


Option Explicit
Dim m() As Byte
Private Sub Form_Load()
Dim nf As Integer
nf = FreeFile
Open "name.ext" For Binary As #nf
ReDim m(LOF(nf) - 1)
Get #nf, , m()
Close #nf
End Sub

Mikle писал(а):Чем не устраивает?


Option Explicit
Private Sub Form_Load()
Dim strFileName As String, strData As String
Dim f As Long
Dim lSize As Long
strFileName = InputBox$("Введите имя файла:", "Открытие файла", "C:\boot.ini")
If strFileName = vbNullString Then Exit Sub
lSize = FileLen(strFileName)
strData = Space$(lSize)
f = FreeFile
Open strFileName For Binary Access Read As #f
Get #f, , strData
Close #f
rtbTextBox.Text = strData
End Sub
BV писал(а):Самый быстрый способ средствами VB, который я знаю.

Public Const MOVEFILE_REPLACE_EXISTING = &H1
Public Const FILE_ATTRIBUTE_TEMPORARY = &H100
Public Const FILE_BEGIN = 0
Public Const FILE_SHARE_READ = &H1
Public Const FILE_SHARE_WRITE = &H2
Public Const CREATE_NEW = 1
Public Const CREATE_ALWAYS = 2
Public Const OPEN_EXISTING = 3
Public Const GENERIC_READ = &H80000000
Public Const GENERIC_WRITE = &H40000000
Public Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Any) As Long
Public Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Any) As Long
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile 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
Public Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long
....
dim ReadBytesCount as long
dim fPtr as long
dim FileSize as long
dim fHandle as long
dim Temp_Var as (byte, integer,long...etc)
.....
fHandle = CreateFile(FileName, GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
FileSize = GetFileSize(fHandle, 0)
...
fptr=0
SetFilePointer fHandle, 0, 0, FILE_BEGIN
While fPtr < FileSize
ReadFile fHandle, Temp_Var,len(Temp_Var), ReadBytesCount, ByVal 0&
fPtr = fPtr +len(Temp_Var)
Wend
CloseHandle (fHandle)



.gGe.Value = 0
.gGe.Max = FileLen(CurFilePath)
ff = FreeFile
Open CurFilePath For Binary Access Read Lock Read As #ff
Do While Loc(ff) < LOF(ff)
DoEvents
If prStop Then SaveFileToBase = False: Exit Function
If prPause Then
Do
DoEvents
If prStop Then SaveFileToBase = False: Exit Function
If Not prPause Then Exit Do
Loop
End If
s1 = Input(1024 * 31, #ff)
.gGe.Value = .gGe.Value + Len(s1)
s = s & s1
Loop
.cmdStop_Click
Close
Set rS = dB.OpenRecordset("select SourceFile, FileName from tblProjects where NameID=" & Prj)
rS.Edit
rS!SourceFile = s
rS!FileName = TrimString(CurFileName)
rS.Update
Set rS = NothingСейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 8