On Thu, 29 Jul 2004 15:30:49 +0200, "Lars Strange"
<larsstrangefjernresten@hotmail.com> wrote:
>Det er lidt svært at gennemskue, når man ikke kender din input linje, men
>kan det tænkes at dit mellemrum befinder sig FØR teksten "picasso" + 10
>tegn? Af en eller anden årsag vælger du at starte din søgning derfra..
Næh, det er ikke noget i den stil. Ikke jeg lige kan få øje på...
>I øvrigt har du 2 mellemrum i linjen;
>iEnd = InStr(iStart, strLine, " ", vbTextCompare)
Det er rent faktisk 2 mellemrum jeg leder efter...
Jeg har smidt en bid af filen på
http://dbconsult.dk/dbconsult/ms.log
Hele koden er her:
'--kode start
Function HandleLogFile()
Dim strFile As String, strLine As String
Dim strFilter As String
Dim i As Variant, iStart As Integer, iEnd As Integer
Open "D:\ms.log" For Input As #1
Do While Not EOF(1)
DoEvents
Line Input #1, strLine
i = InStr(1, strLine, "Morten Snedker", vbTextCompare)
If i > 0 Then
iStart = InStr(1, strLine, "picasso", vbTextCompare) + 10
iEnd = InStr(iStart, strLine, " ", vbTextCompare)
Debug.Print Mid(strLine, iStart, iEnd - iStart)
End If
Loop
Close #1
End Function
'--kode slut
Og det er, som før nævnt, iEnd = ... som fejler, da InStr på dén linie
returnerer 0.
På forhånd tak.
mvh /Snedker
---
http://dbconsult.dk
Email: mortenatdbconsultdotdk