Avatar billede train Nybegynder
12. februar 2004 - 12:44 Der er 14 kommentarer og
1 løsning

ATT Kabbak - fortsættelse på logfil redigering

Kabbak tak for hjælpen vdr min logfil, men jeg er stødt ind i nogle problemer når jeg kører hele logfilen igennem. Dette er selvfølgelig min fejl, da jeg kun havde vist et uddrag af logfilen, som du så lavdede denne fortrinelige kode til. Men jeg har ikke magtet at rette den til at fungere på hele logfilen. Var det noget du måske gad at kigge på?

ps. logfilen er ikke voldsom stor, men lige lang nok til at liste det hele herinde.
Avatar billede kabbak Professor
12. februar 2004 - 12:48 #1
send logfilen til Sendtil#kabbak@tiscali.dk , så skal jeg kikke på den.

fjern Sendtil#
Avatar billede train Nybegynder
12. februar 2004 - 13:43 #2
jeg har sendt en mail far train@mailme.dk, mange tak skal du have
Avatar billede kabbak Professor
12. februar 2004 - 14:01 #3
Jeg kikker på den i aften.
Avatar billede kabbak Professor
13. februar 2004 - 02:37 #4
Option Explicit
Dim LogData() As Variant
Dim NyLogData() As Variant
Dim MidStr() As Variant
Dim I As Long
Dim P As Long
Dim X As Long
Dim Str As Variant
Private Sub Command1_Click()
Call hent
End Sub
Public Sub hent()
Dim A As Long
I = 0: X = 0
  Open "C:\log.txt" For Input As #1
  Do
  ReDim Preserve LogData(I)
      Line Input #1, LogData(I)
      If LogData(I) = "" Then GoTo GO
      I = I + 1
GO:
  Loop Until EOF(1)
Close #1

Call Filbehandling

  Open "C:\NYlog.txt" For Output As #1
For I = 0 To UBound(NyLogData)
  Print #1, NyLogData(I)
Next
Close #1


End Sub

Public Sub Filbehandling()
Dim Navn As String, Ip As String, A As Integer, Bem As Boolean
Dim Ws As String, Note As String, OK As Boolean, GK As String, G As Integer
GK = Chr(34) & Chr(44) & Chr(34)
Bem = False
'On Error Resume Next
P = 0
For I = 0 To UBound(LogData)
  OK = False
  If Mid(LogData(I), 5, 1) = "-" Then GoTo Slettes
 
      If I > 0 Then
        If Left(LogData(I - 1), 1) = "-" And Left(LogData(I + 1), 1) = "-" Then
          Str = Split(LogData(I), "(")
          Navn = Str(0) ' server
          Ip = Left(Str(1), Len(Str(1)) - 1) ' ip nummer
          Ws = ""
        GoTo Slettes
        End If
    End If
   
  Call Splitbhandling ' kald af split rutine
 
  If Bem = True Then
        Ws = MidStr(0)
        Bem = False
        GoTo Slettes
      End If
    If Left(MidStr(0), 1) = "*" Then
        Bem = False
        Ws = Right(MidStr(0), Len(MidStr(0)) - 2)
      If Len(Ws) < 2 Then Bem = True
        GoTo Slettes
    End If
         
      Note = ""
      For A = 0 To UBound(MidStr)
        Note = Note & MidStr(A) & GK
      Next
      Note = Left(Note, Len(Note) - 2)
    OK = True
 

   
Videre:
If OK = True Then
ReDim Preserve NyLogData(P)
NyLogData(P) = Chr(34) & Date & GK & Navn & GK & Ip & GK & Ws & GK & Note
List1.AddItem Chr(34) & Date & GK & Navn & GK & Ip & GK & Ws & GK & Note
P = P + 1
End If

Slettes:
Next
I = 0
End Sub
Public Sub Splitbhandling()
Dim Str As Variant, A As Variant
  Str = Split(LogData(I), Chr(9))
      X = 0
      For A = 0 To UBound(Str)
        If Str(A) <> "" Then
          ReDim Preserve MidStr(X)
          MidStr(X) = Str(A)
          X = X + 1
        End If
      Next
End Sub


det tog sin tid, sorry ;-(
Avatar billede train Nybegynder
13. februar 2004 - 11:03 #5
1000 tak skal du ahve, det ser jo kanon ud. Jeg for do en felj når jeg prøver at køre dette.

List1 bliver sat som "compile error: variable not defined", hvordan skal jeg definere denne?
mvh og stor taknemmelighed
JSG
Avatar billede kabbak Professor
13. februar 2004 - 11:10 #6
Slet denne linie,eller sæt en ' foran, den viser resultatet i en listboks, så kunne jeg se hvad den lavede.

List1.AddItem Chr(34) & Date & GK & Navn & GK & Ip & GK & Ws & GK & Note
Avatar billede train Nybegynder
13. februar 2004 - 11:13 #7
det var lige til et UG+, mange tak for den enorme hjælp
Avatar billede train Nybegynder
13. februar 2004 - 11:13 #8
hmm jeg kan ikke få lov til at acceptere
Avatar billede train Nybegynder
13. februar 2004 - 11:14 #9
sådan :)
Avatar billede kabbak Professor
13. februar 2004 - 11:14 #10
selv tak, da jeg fik filen kunne jeg se at den var tabulator separerer, så det hjalp jo lidt.
Avatar billede kabbak Professor
13. februar 2004 - 11:15 #11
Tak for pointz. ;-))
Avatar billede train Nybegynder
13. februar 2004 - 11:17 #12
lige en sidste ting, er det muligt al lave datoen så den kommer til at stå i #date# istædet for "date", uden det kræver at for meget arbejde?
Avatar billede kabbak Professor
13. februar 2004 - 11:25 #13
Linien
NyLogData(P) = Chr(34) & Date & GK & Navn & GK & Ip & GK & Ws & GK & Note

rettes til


NyLogData(P) = Chr(35) & Date Chr(35) & Chr(44) & Chr(34) Navn & GK & Ip & GK & Ws & GK & Note
Avatar billede kabbak Professor
13. februar 2004 - 11:26 #14
NyLogData(P) = Chr(35) & Date & Chr(35) & Chr(44) & Chr(34)& Navn & GK & Ip & GK & Ws & GK & Note

der manglede lige et par &
Avatar billede train Nybegynder
13. februar 2004 - 11:49 #15
perfekt tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester