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.377 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 Neu! sevDTA 3.0 Pro SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. |
||||||||||||||||
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. |