Jag skrev detta inlägg tidigare (se nedan) och fick svar av Skall du bara kolla för senaste dagen?Söka i text filer igen..
Nettan (Tack!!)
Problemet ligger i att jag inte vet hur strängen ser ut i förhand. På ett ungfär vet jag men filnamnet är ett löpnr.
Jag har alltså en textfil som är en logg fil från ett annat program. Mitt program är tänkt att funka som en övervakare som skall larma om något gått snett. I filen loggas händelserna på var sin rad som börjar med dagensdatum, en sökväg, och status (sucess,Error).
Jag vill alltså söka på datumet och där ifrån kontrollera vad som står i slutet på raden. Succe eller error.
Finns det någon som förstår vad jag menar och som kan hjälpa mig?
Jag förklara gärna närmare, tack på förhand.
---------------------------------------------------------
Jag gör ett program som bl.a. hämtar en textfil via ftp.
Textfilen är en log fil där datum lagras resp succe eller error och lite annan text. Hur söker man i en sån textfil?
Så här ser en lyckad dag ut.
2001.10.29 11:22:34 Import XXX Information....: Import av XX filen /vol01/users/XXX/import/XXX/Error/20011029112044.25074.XXX succe
Jag vill alltså med hjälp av timern ta fram dagen datum söka fram dagens rad i textfilen och kontrollera om det står succe eller error i slutet av raden och om det står error skall det hända nåt..
Någon som har några smarta ideér att bjuda på så skulle jag vara tacksam. (Jag har klickat på sponsorerna idag)
Rubrik:Sv: Söka i text filer
2001-11-02 14:29:15 - Nettan
Dim var As String
Dim strArr() As String
var = "2001.10.29 11:22:34 Import XXX Information....: Import av XX filen /vol01/users/XXX/import/XXX/Error/20011029112044.25074.XXX succe"
strArr = Split(var, "/", , vbTextCompare)
Dim i As Integer
For i = LBound(strArr()) To UBound(strArr())
Debug.Print strArr(i)
Next i
Så splittar du upp strängen i delar. Varje del kan du sedan titta på för att kolla om det tex står succe eller error Tex if instr(strArr(index),0,"Error") then osv....
Sv: Söka i text filer igen..
I så fall läser du en rad lättast med Line Input (tycker jag):
<code>
Dim sRad As String, sSuccess As String
Open "filnamn.txt" For Input As #1
Do Until Eof(1)
Line Input #1, sRad
'Om du vill ha något annat sökkriterium kan du kolla efter det här
'och ta Exit Do när det är rätt rad.
Loop
sSuccess = Right$(sRad, 5)
If sSuccess="Error" Then
MsgBox "Fel"
Else
MsgBox "Rätt"
End If
</code>
/Niklas Jansson