Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateien durchsuchen
ich arbeite momentan in einer firma an einem eigentlich "einfachen" projekt.
es geht darum eine datei nach einem string zu durchsuchen.
dies soll auf die schnellst mögliche art geschehn,
die datei is maximal 20MB groß.
ich hatte einen lösungsansatz, der die datei bei änderungen in ein array einliest, und bei anfragen recht zügig das ergebniss ausspucken konnte.
das problem ist jetz nur, es funktioniert nicht mit der entsprechenden datei (wegen fehlenden CRLFs).
mir wurde gesagt es gäbe eine möglichkeit die datei zu durchsuchen ohne sie komplett auszulesen. dazu hab ich noch einen verweis auf den "Seek" command gekriegt.
ich hab nur leider keine ahnung was der Seek-Command mit ner suche zu tun hat.
falls mir irgendjemand in irgendeiner richtung weiterhelfen kann, wär ich sehr dankbar.
Cord Worthmann
17.06.2002, 17:26
also, diese funktion ist mir unbekannt...
aber du könntest es evtl. so machen:
Dim strText, strSuchString
strText = "mein ganzer langer text..."
strSuchString = "Eine kleine Mickeymaus"
If InStr(strText, strSuchString, 1) Then string ist enthalten!
grtz
chief
:D he he
die kannt ich schon, das war nich ganz das was ich gesucht hab.
es sollte mehr in die richtung gehn das ich ner funktion nur das suchwort übergebe und sie packt mir sofort alle zeilen in der das wort steht aufn tisch.
trotzdem danke ;)
wir ham übrigens den aufbau des programms nochma bissel umgebaut, bis morgens weiss ichs genauer. also zerbrecht euch nich den kopf solang :)
USSEraser
17.06.2002, 20:42
Linux hat etliche Funktionen die sowas können
http://www.insaneboard.net/ubb/Smilies/pengy.gif
USSEraser
17.06.2002, 20:44
Es gibt noch die Nöglichkeit eine Datei As Random zu öffnen. Dann kann man per Get einzelne Teile auslesen. Hab aber nie kapiert wie man das genau macht :(
...oder man liest mir der Input(..)-Funktion z.B. gleich 30.000 Bytes (z.B.) auf einmal ein und durchsucht diese mit Instr und dann die nächsten 30.000 Bytes, bis lof.
gruss
DarkTemplar
17.06.2002, 23:20
Erst einmal gibt es noch andere Optionen im Einlesemodus als nur Input und Random. Probier es doch 'mal mit binary, da kann man auch Teilstücke auslesen lassen! Alle Möglichkeiten mit vor und nachteilen sind in der Hilfe eigentlich recht gut erklärt (entsprechende Links dürften bei der open-Anweisung zu finden sein).
Was nun dein spezielles Problem mit dem Suche nach einem bestimmten String betrifft, so kann ich (bzw. dieses orum) dir glaube ich auch weiterhelfen.
Codeq war nämlich so nett, im Forumabschnitt Allgorythmen die Adressen von allen Möglichen Routinenerklärungen aufzuführen! Unter der Adresse: http://www.inf.fh-flensburg.de/lang/algorithmen/pattern/index.htm
finden sich nun verschiedene Möglichkeiten der Lösung deines Problems auf deren Grundlage sich eigene Funktionen schreiben lassen!
Hoffe, das hilft dir weiter!
Bye,
DarkTemplar
also erstma bin ich für eure hilfe natürlich dankbar, vor allem kommentare wie "Linux hat etliche Funktionen die sowas können" haben mir sehr weiter geholfen.
dank euch weiss ich jetz auch wie man eine datei öffnen kann, und das sogar auf verschiedene arten WOW!
der einizge der mit hier wirklich weitergeholfen hat ist Dark Templar, danke für die aufführung des links.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.