Rubrik: Dateisystem · Dateien lesen/schreiben | VB-Versionen: VB4, VB5, VB6 | 06.06.02 |
Logdateien - Größe begrenzen Beschneidet eine angegebene Textdatei auf die angegebene Anzahl von Zeichen. | ||
Autor: Lars M. | Bewertung: | Views: 16.136 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Falls man in seinem Programm Logdateien einsetzt, um bestimmte Aktionen zu protokollieren, kann es wünschenswert sein, diese auf eine bestimmte Größe zu beschränken. Genau dies macht die Funktion LimitSize.
Übergeben werden der Dateiname und die gewünschte Größe der Datei. Dann wird von dieser Datei der Anfang quasi abgeschnitten, sodass nur noch der Rest mit den aktuellsten Einträgen der Logdatei übrig bleibt.
Public Sub LimitSize(ByVal sFilename As String, _ ByVal lLimit As Long) ' beschneidet die angegebene Textdatei auf die ' angegebene Anzahl von Zeichen ' nützlich z.B. für Logdateien, die eine bestimmte ' Größe nicht überschreiten sollen Dim nFile As Integer Dim sText As String ' da beim abschliessenden Schreiben in die Textdatei ' zwei Zeichen hinzugefügt werden, werden diese hier ' vom Limit abgezogen, damit die Dateigröße passt lLimit = lLimit - 2 If lLimit < 0 Then Exit Sub ' freies Dateihandle ermitteln nFile = FreeFile() ' Datei zum Lesen öffnen Open sFilename For Input As #nFile ' gesamten Text einlesen sText = Input(LOF(nFile), #nFile) Close #nFile ' Text auf angegebene Anzahl Zeichen begrenzen ' neuere Einträge in der Logdatei stehen unten, ' also von rechts aus begrenzen sText = Right$(sText, lLimit) ' gleiche Datei zum Schreiben öffnen, alter ' Dateiinhalt wird überschrieben Open sFilename For Output As #nFile Print #nFile, sText Close #nFile End Sub