Mit Hilfe nachfolgender Funktion können Sie ab sofort eine bestimmte Anzahl Zeichen ab einer frei festlegbaren Position innerhalb einer Datei auslesen. ' bestimmte Anzahl Bytes einer Datei auslesen Public Function FileRead(ByVal sFile As String, _ Optional ByVal nStartPos As Long = 1, _ Optional ByVal nBytesToRead As Long = 0) As String Dim F As Integer Dim nFileLen As Long Dim sBuffer As String ' Datei im Binary-Mode öffnen F = FreeFile Open sFile For Binary As #F ' Dateigröße in Bytes nFileLen = LOF(F) ' Falls "BytesToRead" nicht angegeben oder 0, ' gesamten Inhalt ab "StartPos" auslesen If nBytesToRead = 0 Then nBytesToRead = nFileLen ' Falls StartPos < 1, Bytes rückwärts vom ' Dateiende auslesen If nStartPos < 1 Then nStartPos = nFileLen nBytesToRead = -Abs(nBytesToRead) End If ' Falls "StartPos" > Dateigröße und ' "BytesToRead" < 0, Funktion beenden If nStartPos > nFileLen And nBytesToRead < 0 Then Close #F Exit Function End If ' Leseposition ermitteln If nBytesToRead < 1 Then nBytesToRead = Abs(nBytesToRead) nStartPos = nStartPos - nBytesToRead + 1 If nStartPos < 1 Then nBytesToRead = nBytesToRead - Abs(nStartPos) - 1 nStartPos = 1 End If End If If nStartPos + nBytesToRead - 1 > nFileLen Then nBytesToRead = nFileLen - nStartPos + 1 End If ' Inhalt auslesen sBuffer = Space$(nBytesToRead) Seek #F, nStartPos Get #F, , sBuffer ' Datei schließen Close #F FileRead = sBuffer End Function Ein paar Anwendungsbeispiele: 1. Gesamten Inhalt einer Datei auslesen sBuffer = FileRead("d:\test.txt") 2. Nur die ersten 10 Bytes auslesen sBuffer = FileRead("d:\test.txt", 1, 10) 3. 10 Bytes ab Position 120 auslesen sBuffer = FileRead("d:\test.txt", 120, 10) 4. 15 Bytes ab Position 500 rückwärts auslesen (entspricht Bytes 486 bis 500) sBuffer = FileRead("d:\test.txt", 500, -15) 5. Die letzen 20 Bytes einer Datei auslesen sBuffer = FileRead("d:\test.txt", 0, 20) Dieser Tipp wurde bereits 23.368 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
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. |