Textdatei schreiben, bis bestimmte Größe

Dieses Thema Textdatei schreiben, bis bestimmte Größe im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von sp00n, 2. Feb. 2006.

Thema: Textdatei schreiben, bis bestimmte Größe Hi, mal ne kleine Frage zu VisualBasic ;) Ich möchte bei meinem Programm, bei allen Ereignissen, eine Logdatei...

  1. Hi,

    mal ne kleine Frage zu VisualBasic ;)
    Ich möchte bei meinem Programm, bei allen Ereignissen, eine Logdatei mitschreiben.

    So..
    ..wie stelle ich es an, dass die Logdatei z.B. nur max. 30mb groß sein darf.
    Sobald sie 30mb erreicht hat, soll nicht mehr neuer Text dazu geschrieben werden, sondern der alte Text mit dem neuen überschrieben werden.

    Damit meine ich aber nicht, das ich abfrage, ob die Logdatei 30mb erreicht hat, und wenn ja, das sie komplett geleert wird.

    Ich möchte, dass die ältesten Einträge (die ganz unten :D) gelöscht werden und neue (oben :D) hinzugefügt werden. Und das ganze eben im Rahmen von z.B. 30mb bleibt :)


    Ich hoffe ich hab mich verständlich ausgedrückt ;)

    mfG
    sß00n
     
  2. ich glaube nicht dass das so sinnvoll umsetzbar ist. 30mb ist eine monstertextdatei. wenn du unbedingt so viel logdaten brauchst, solltest du dir eine logdatenbank aufbauen. dann hast du auch komfortabel und vor allem SCHNELL lese-/schreib-(lösch-)zugriff auf einzelne einträge.
     
  3. 30mb war nur ein beispiel.. ;)
    Die richtige Größe der textdatei überlege ich mir dann, wenn ich ne passende Funtion dafür habe :)
     
  4. wie schon angedeutet: falsche reihenfolge!
    du entscheidest ja auch zuerst ob du zum nächsten supermarkt oder nach brasilien gehst, und wählst dann erst das passende verkehrsmittel dafür aus. ;-)
     
  5. hää? Muss ich das peilen :D

    Das wichtige hier ist doch die Function.. die Dateigröße ist doch noch ganz egal..
    soll ja variabel sein..

    Die Function könnte zum Beispiel so aussehen: SchreibeLog(.\log.txt, 30000)

    ^^Natürlich hier sehr stark vereinfacht dargestellt :D
    ^^Die 30000 wären dann die 30000kb
     
  6. Bitteschön ;)

    Code:
    Private Sub WriteLogEntry(sLogFilePath As String, nMaxFileSize As Long, sEntry As String)
     Dim iFN_1 As Integer
     Dim iFN_2 As Integer
     Dim sLine As String
     Dim sTempLogFilePath As String
     
     sTempLogFilePath = sLogFilePath & .tmp
     
     If Dir$(sLogFilePath) <>  Then
      iFN_1 = FreeFile: Open sLogFilePath For Input As #iFN_1
      iFN_2 = FreeFile: Open sTempLogFilePath For Output As #iFN_2
      Print #iFN_2, sEntry
      Do Until EOF(iFN_1)
       Line Input #iFN_1, sLine
       If (LOF(iFN_2) + Len(sEntry & vbCrLf)) > nMaxFileSize Then
        Exit Do
       End If
       Print #iFN_2, sLine
      Loop
      Close #iFN_1, #iFN_2
      Kill sLogFilePath
      Name sTempLogFilePath As sLogFilePath
     Else
      iFN_1 = FreeFile: Open sLogFilePath For Output As #iFN_1
      Print #iFN_1, sEntry
      Close #iFN_1
     End If
    End Sub
    
    Private Sub Command1_Click()
    -> Hier wird die Begrenzung auf 50 Bytes gesetzt
     WriteLogEntry C:\Log.txt, 50, EintragText
    End Sub
    Mfg Alexander
     
  7. Vielen Dank :)
     
Die Seite wird geladen...

Textdatei schreiben, bis bestimmte Größe - Ähnliche Themen

Forum Datum
VBScript: Textdatei auslesen und überschreiben Webentwicklung, Hosting & Programmierung 19. Apr. 2005
Mit PHP in eine neue Zeile einer Textdatei schreiben Windows XP Forum 3. März 2004
mehrere textdateien in sql datnbank schreiben Windows XP Forum 5. Juni 2003
DVD brennen mit IFO, BUP, VOB und einer Textdatei Windows XP Forum 28. Okt. 2012
PHP - Wort in einer Textdatei suchen und die Zeile löschen Webentwicklung, Hosting & Programmierung 10. Feb. 2011