Seite 1 von 2
Text-Datei
Verfasst: 22.06.2008 15:50
von Marc-21
Hi möchte gerne das eine Text-Datei komplett durch sucht wird .
Soweit habe ich das auch aber wenn ich sage er soll was bestimmtest finden hört es sofort auf und sucht nicht noch mal nach dem Suchwort es kommt mehrfach vor .
Wie bekomme ich es hin das er alle übereinstimmungen findet?
Und den im CLipbord speichert?
If ReadFile(0, "C:\test.txt")
While Eof(0) = 0
Code$+ReadString(0)
Wend
Code$ = Right(Code$, Len(Code$)-FindString(Code$, "
http://download", 0)+1)
Code$ = Left(Code$, FindString(Code$, " STYLE=", 0))
MessageRequester("info", Code$)
Else
MessageRequester("Information","Konnte Datei nicht öffnen!")
EndIf
Kann einer helfen
Re: Text-Datei
Verfasst: 22.06.2008 16:04
von Kiffi
wenn Du ohnehin den gesamten Inhalt der Datei lesen willst, böte sich an,
dieses in einem Rutsch zu tun (ist schneller als das zeilenweise Lesen):
Code: Alles auswählen
FF=ReadFile(#PB_Any, "C:\test.txt")
If FF
Code$ = Space(Lof(FF))
ReadData(FF, @Code$, Len(Code$))
CloseFile(FF)
EndIf
Marc-21 hat geschrieben:Und den im CLipbord speichert?
Grüße ... Kiffi
Verfasst: 22.06.2008 16:48
von Marc-21
danke
Verfasst: 24.06.2008 18:40
von Marc-21
noch eine frage wie stelle ich das an das er alle Übereinstimmungen findet.
Verfasst: 24.06.2008 18:47
von gnasen
Der gibt dir ja bei FindString() die Stelle zurück, an der er den String findet. Der letzte Parameter war glaube ich die Stelle, an der er anfangen soll. Also mal quick'n'dirty
Code: Alles auswählen
stelle = 0
repeat
find = FindString(Code$, "http://download", stelle)
if find
debug find
stelle = find + len("http://download")
else
break
endif
forever
ist ungetestet, sollte aber funktionieren. find und stelle habe ich jetzt besser erstmal seperat aufgeführt (sollte leichter sein zu verstehen).
Verfasst: 24.06.2008 18:58
von Marc-21
danke
klappt, es wird angezeigt wo er es gefunden hat aber nicht den text mal schauen !
Verfasst: 24.06.2008 20:13
von Kiffi
Marc-21 hat geschrieben:aber nicht den text
dafür verwendest Du dann Left(), Mid() und Right().
Grüße ... Kiffi
Verfasst: 24.06.2008 20:16
von Marc-21
So weit habe ich es durch eure hilfe danke.
ER findet jetzt alle aber erhört nicht auf der letzte srting kommt immer wieder.
Könnt mir noch mal helfen verstehe das nicht im orginal geht es
Code: Alles auswählen
FF=ReadFile(#PB_Any, "C:\test2.txt")
If FF
Code$ = Space(Lof(FF))
ReadData(FF, @Code$, Len(Code$))
CloseFile(FF)
EndIf
stelle = 0
Repeat
Code$ = Right(Code$, Len(Code$)-FindString(Code$, "http://download", stelle)+1)
If Code$
Debug Code$
Delay(700)
stelle = find + Len("http://download")
Else
Break
EndIf
ForEver
Verfasst: 24.06.2008 21:16
von gnasen
Marc-21 hat geschrieben:So weit habe ich es durch eure hilfe danke.
ER findet jetzt alle aber erhört nicht auf der letzte srting kommt immer wieder.
Könnt mir noch mal helfen verstehe das nicht im orginal geht es
Code: Alles auswählen
FF=ReadFile(#PB_Any, "C:\test2.txt")
If FF
Code$ = Space(Lof(FF))
ReadData(FF, @Code$, Len(Code$))
CloseFile(FF)
EndIf
stelle = 0
Repeat
Code$ = Right(Code$, Len(Code$)-FindString(Code$, "http://download", stelle)+1)
If Code$
Debug Code$
Delay(700)
stelle = find + Len("http://download")
Else
Break
EndIf
ForEver
ich vermute mal, dass code$ immer einen wert zurückgibt
Verfasst: 24.06.2008 21:17
von Kiffi
Code: Alles auswählen
Repeat
P1 = FindString(Code$, "http://download", P2)
If P1
P1 + Len("http://download")
P2 = FindString(Code$, " STYLE=", P1)
If P2
Debug Mid(Code$, P1, P2-P1)
Else
Break
EndIf
Else
Break
EndIf
ForEver
und bitte tu mir den Gefallen und finde mal heraus, wie dieser Code
genau funktioniert. Wenn Du den einen oder anderen Befehl nicht kennst,
dann stell den Cursor darauf und drücke <F1>. Dort findest Du weitere
Infos.
Grüße ... Kiffi