vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
The LargeSeekPointer Class 
Autor: VBStein
Datum: 15.09.08 18:01

Hai, so da ist sie.

Private Const MAX_PATH As Long = 260
Private Const FILE_SHARE_WRITE As Long = &H2
Private Const FILE_SHARE_READ As Long = &H1
Private Const FILE_SHARE_DELETE As Long = &H4
Private Const INVALID_HANDLE_VALUE As Long = (-1)
Private Const GENERIC_READ As Long = &H80000000
Private Const GENERIC_WRITE As Long = &H40000000
Private Const CREATE_ALWAYS As Long = 2
Private Const OPEN_EXISTING As Long = 3
Private Const CREATE_NEW As Long = 1
Private Const OPEN_ALWAYS As Long = 4
Private Const FILE_BEGIN As Long = 0
Private Const FILE_CURRENT As Long = 1
Private Const FILE_END As Long = 2
 
Private Type SECURITY_ATTRIBUTES
    nLength As Long
    lpSecurityDescriptor As Long
    bInheritHandle As Long
End Type
 
Private Type LargeSeekPointer
    Lolong As Long
    HiLong As Long
End Type
 
Private Declare Function GetFileSize Lib "kernel32.dll" ( _
     ByVal hFile As Long, _
     ByRef lpFileSizeHigh As Long) As Long
 
Private Declare Function ReadFile Lib "kernel32.dll" ( _
     ByVal hFile As Long, _
     ByVal lpBuffer As String, _
     ByVal nNumberOfBytesToRead As Long, _
     ByRef lpNumberOfBytesRead As Long, _
     ByVal lpOverlapped As Long) As Long
 
Private Declare Function SetFilePointer Lib "kernel32.dll" ( _
     ByVal hFile As Long, _
     ByVal lDistanceToMove As Long, _
     ByRef lpDistanceToMoveHigh As Long, _
     ByVal dwMoveMethod As Long) As Long
 
Private Declare Function CreateFile Lib "kernel32.dll" Alias "CreateFileA" ( _
     ByVal lpFileName As String, _
     ByVal dwDesiredAccess As Long, _
     ByVal dwShareMode As Long, _
     ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, _
     ByVal dwCreationDisposition As Long, _
     ByVal dwFlagsAndAttributes As Long, _
     ByVal hTemplateFile As Long) As Long
 
Private Declare Function CloseHandle Lib "kernel32.dll" ( _
     ByVal hObject As Long) As Long
 
Private hFile As Long
Private tmpShare As Long
Private tmpGeneric As Long
Private tmpFileName As String * MAX_PATH
Private tmpCreate As CreateFlags
Private mySeekPtr As LargeSeekPointer
 
Public Enum CreateFlags
   OpenExist = OPEN_EXISTING
   CreateNew = CREATE_NEW
   Overwrite = CREATE_ALWAYS
   OpenEver = OPEN_ALWAYS
End Enum
 
Public Event FileClose(hFile As Long)
Public Event FileOpen(hFile As Long)
Public Event BevoreFileSeek(hFile As Long, Lolong As Long, HiLong As Long)
Public Event AfterFileSeek(hFile As Long, Lolong As Long, HiLong As Long)
 
Public Property Get OpenMode() As Long
   OpenMode = tmpCreate
End Property
 
Public Property Get MaxPathLen() As Long
   MaxPathLen = MAX_PATH
End Property
 
Public Property Get FileHandle() As Long
   FileHandle = hFile
End Property
 
Public Property Get AccessMode() As Long
   AccessMode = tmpGeneric
End Property
Public Property Let AccessMode(ByVal nGeneric As Long)
   tmpGeneric = nGeneric
End Property
 
Public Property Get ShareMode() As Long
   ShareMode = tmpShare
End Property
Public Property Let ShareMode(ByVal nShareM As Long)
   tmpShare = nShareM
End Property
 
Private Sub Class_Initialize()
   hFile = INVALID_HANDLE_VALUE
   tmpShare = FILE_SHARE_READ
   tmpGeneric = GENERIC_READ
   tmpCreate = OPEN_ALWAYS
End Sub
 
Public Property Get IsShareRead() As Boolean
   If hFile = 0 Then Exit Property
   IsShareRead = CBool(tmpShare And FILE_SHARE_READ)
End Property
 
Public Property Get IsShareWrite() As Boolean
   If hFile = 0 Then Exit Property
   IsShareWrite = CBool(tmpShare And FILE_SHARE_WRITE)
End Property
 
Public Property Get IsShareDelete() As Boolean
   If hFile = 0 Then Exit Property
   IsShareDelete = CBool(tmpShare And FILE_SHARE_DELETE)
End Property
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Sehr grosses Textfile lesen1.826tinzu08.09.08 19:01
Re: Sehr grosses Textfile lesen1.207VBStein08.09.08 19:10
Re: Sehr grosses Textfile lesen1.206tinzu08.09.08 19:16
Re: Sehr grosses Textfile lesen1.178icetea12308.09.08 19:20
Re: Sehr grosses Textfile lesen1.188VBStein08.09.08 20:01
Re: Sehr grosses Textfile lesen1.144tinzu08.09.08 20:31
Re: Sehr grosses Textfile lesen1.163VBStein08.09.08 20:52
Re: Sehr grosses Textfile lesen1.245effeff09.09.08 10:02
Re: Sehr grosses Textfile lesen1.161VBStein09.09.08 23:06
Re: Sehr grosses Textfile lesen1.162effeff10.09.08 09:26
Re: Sehr grosses Textfile lesen1.109tinzu10.09.08 17:12
Re: Sehr grosses Textfile lesen1.108VBStein10.09.08 18:30
Re: Sehr grosses Textfile lesen1.095VBStein10.09.08 20:09
Re: Sehr grosses Textfile lesen1.135tinzu10.09.08 20:24
Re: Sehr grosses Textfile lesen1.113VBStein10.09.08 20:38
Re: Sehr grosses Textfile lesen1.109tinzu10.09.08 20:55
Re: Sehr grosses Textfile lesen1.089TheNukeduke13.09.08 12:16
Re: Sehr grosses Textfile lesen1.084tinzu14.09.08 19:22
Re: Sehr grosses Textfile lesen1.046VBStein14.09.08 22:33
The LargeSeekPointer Class1.132VBStein15.09.08 18:01
Re: The LargeSeekPointer Class 2.1.122VBStein15.09.08 18:02
Re: The LargeSeekPointer Class 3.1.202VBStein15.09.08 18:02
Re: The LargeSeekPointer Class 3.1.057tinzu16.09.08 21:50
Re: The LargeSeekPointer Class 3.1.074VBStein17.09.08 19:28
Re: The LargeSeekPointer Class 3.1.052tinzu17.09.08 20:23
Re: The LargeSeekPointer Class 3.1.072VBStein17.09.08 21:25
Re: The LargeSeekPointer Class 3.1.041tinzu18.09.08 21:06
Re: The LargeSeekPointer Class 3.1.108VBStein18.09.08 21:39
Re: The LargeSeekPointer Class 3.1.098tinzu18.09.08 22:25
Re: The LargeSeekPointer Class 3.1.103tinzu23.09.08 18:23
Re: The LargeSeekPointer Class 3.1.094tinzu23.09.08 18:34
Re: The LargeSeekPointer Class 3.1.008VBStein23.09.08 19:07
Re: Sehr grosses Textfile lesen1.132tinzu23.09.08 18:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel