ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
930
930
EMPFEHLEN
-
22.09.04 02:16 #1
Hi ersma.....
Mein Problem ist folgendes:
Ich lese eine Datei ein "wertung.htm" aus dem Ordner "output"
mit folgendem Code:
Dim zeile As String
Open "output/wertung.htm" For Input As 4
Do Until EOF(4) = True
Line Input #4, zeile
ausleser = ausleser & zeile
DoEvents
Loop
Close 4
die variable "ausleser" habe ich in einem modul als "string" definiert
diese variable (so habe ich gehofft) sollte nun den Inhalt der eingelesenen Datei aufnehmen damit ich sie systematisch durchsuchen und auswerten kann.
unter anderem mit dieser Routine:
a = Len(ausleser)
b = InStr(ausleser, "%")
c = Mid(ausleser, b, a - b)
treffer = c
Es funktioniert auch alles einwandfrei......bis zu einem bestimmten Punkt
Dann scheinen keine Daten mehr in meiner Variable "ausleser" vorhanden zu sein.
Info:
Größe der Htm-Datei: ca. 1,5 MB
Meine Frage(n)
Wieviel Bytes kann eine Variable aufnehmen? (da ich glaube das es daran liegt)
Wie kann ich trotzdem diese "grosse" Datei in eine Variable einlesen?
Darf ich keine Variable verwenden? Wie dann? (ein textfeld funktioniert auch nicht)
Was mache ich falsch - welcher weg führt mich zum erfolg!?
Bitte helft mir
Danke !
-
In einen String passen Zeichenketten in der Länge von 0 bis 2 * 10^9, sollte sich also für dein Vorhaben ausgehen. Der Fehler scheint woanders zu liegen.
Bist Du Dir sicher, dass die komplette Datei eingelesen wird?
Weitere Informationen zu Visual Basic und Datentypen (und deren Längen) findest Du hier .
-
22.09.04 16:45 #3
Hallo danke für die schnelle Antwort!
Ich bin mir eigentlich ziemlich sicher das die ganze Datei gelesen wird da der ganze Vorgang 2 Minuten dauert .
Ich habe jetzt nocheinmal eingefügt das man in einem Textfeld sehen kann das jede einzelne Zeile einmal durchläuft (während des einlesens gebe ich die aktuelle Zeile an ein textfeld wo alle durchlaufen)
Dim zeile As String
Open "output/wertung.htm" For Input As 4
Do Until EOF(4) = True
Line Input #4, zeile
txtpruef.text = zeile
ausleser = ausleser & zeile
DoEvents
Loop
Close 4
Aber die Variable "ausleser" an die ich dann die einzelnen Zeilen übergebe nimmt ab einem bestimmten Zeitpunkt keine Daten mehr auf. Dein Link hilft mir leider nicht weiter. Fällt dir oder jemand anderem noch eine Lösung ein ?
-
22.09.04 17:30 #4
- Registriert seit
- Apr 2004
- Ort
- CH
- Beiträge
- 76
Ciao,
Also das der String zu klein ist, halte ich für fast unmöglich, denn ich lese ein Textfile ein das ca 66 MByte hat und alles passt in eine Variable.
Schau dir mal dies an, evtl. hilft dir das weiter:
Nun kannst du einzelne Zeilen ausgeben:Code :1 2 3 4 5 6 7 8 9 10 11 12 13
Dim KNr As Integer Dim Inhalt As String Dim Zeile() As String Dim Datei As String Datei = "C:\Datei.txt" KNr = FreeFile Inhalt = Space(FileLen(Datei)) Open Datei For Binary As KNr Get KNr, , Inhalt Zeile = Split(Inhalt, vbNewLine) Close KNr
oder suchenCode :1
MsgBox Zeile(1)
Hoffe konnte dir weiterhelfen.Code :1
AnzahlX = IntStr(Zeile, "X")
Grüsse
-
23.09.04 01:46 #5
Vielen Dank !
Es lag nicht daran das die Daten nicht in die Variable passten - sondern das ich versucht habe die Komplette Variable zu durchsuchen. Es war also alles drin nur ich kam nicht ran.
Mit deiner Lösung ist mein Programm jetzt nicht nur funktionstüchtig (wohl das wichtigste) da ich nun Zeilenweise auswerte sondern auch um ein vielfaches schneller ! Das Einlesen geht jetzt in ca. 10 Sekunden statt vorher ca. 2 Minuten und das auswerten rast je nach Abfragemenge in 10 bis 30 Sekunden durch statt vorher 3 bis 5 Minuten (hatte ja teilweise funktioniert - nur das eben 90% der Daten nicht da waren)
Ich bin rundum Glücklich, verneige mich in Ehrfurcht und weiss jetzt wo ich mal nachschauen kann wenn ich wieder ein Problem habe.
Danke an euch beiden für die Hilfe
Ähnliche Themen
-
Downloadskript setzt Leerzeichen in meine Datei
Von Christian030783 im Forum PHPAntworten: 6Letzter Beitrag: 28.05.10, 12:37 -
Preloader für meine .swf datei
Von joker55 im Forum Flash PlattformAntworten: 13Letzter Beitrag: 03.04.07, 19:36 -
[Oracle] Wie gross ist meine Tabelle
Von m3000 im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 29.09.05, 11:44 -
Datei berücksichtigt meine ext.CSS nicht
Von Jan-Frederik Stieler im Forum CSSAntworten: 5Letzter Beitrag: 17.07.05, 20:42 -
Wo ist meine .xsession Datei (Suse 9.0) ?
Von daniel2000 im Forum Linux & UnixAntworten: 7Letzter Beitrag: 04.05.04, 21:22





Zitieren
Login





