vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: The LargeSeekPointer Class 3. 
Autor: tinzu
Datum: 23.09.08 18:23

Sali

Ich werde den Code welcher ich in einem einfachen Modul erstellt habe einfügen.
Falls Du ein kleineres Testfile benötigst so habe ich eine vorbereitet. Wie Du siehst hält mich dieses Problem immer noch am rennen.


'Zeile für Bus oder Zug
'
Dim QBEZNR As Integer
Dim ZBEZNR As Integer
Dim WEGIND As Integer
Dim TWEGIND As Integer
Dim PFAHRT As Single
Dim VONHPUNKTNR As Long
Dim NACHHPUNKTNR As Long
Dim VSYSCODE As String

Dim intAttrNr As Integer
'
Dim bolFirstRead As Boolean '
Dim bolZeilekomplett As Boolean
Dim bolBus As Boolean
Dim bolZug As Boolean

Dim intAttrZähler As Integer
Dim intStartBlock As Integer
Dim varAttrWert As Variant
Dim bolAttrOk As Boolean
Dim strBackslash As Boolean

'
Sub testread()
'
'ARETeilwege.txt 4'236'023 KB
'
'Inhalt:
'*
'* Tabelle: ÖV-Teilwege
'$OEVTEILWEG:QBEZNR;ZBEZNR;WEGIND;TWEGIND;PFAHRT;VONHPUNKTNR;NACHHPUNKTNR;FAHRZEITPROFIL\VSYSCODE
'1;3;1;1;0.172;;8573733;
'1;3;1;4;0.172;8502224;8502222;ZUG
'1;3;1;4;0.172;8502224;8502222;
'1;3;1;4;0.172;8502224;8502222;
'1;3;1;4;0.172;8502224;8502222;BUS
'1;3;2;1;0.134;;8573733;
'
'viele viele viele Zeilen hab noch keine Ahnung wieviele
'
Dim cF As clsLargeSeekPtr
Dim strtest As String
Dim strEinZeichen As String
Dim lngZeile As Long

Set cF = New clsLargeSeekPtr
cF.FileOpen "E:\Mosi\VB\BigFiles\ARETeilwege.txt", OpenExist
'
'Ersten Block des Files lesen
'
's = cF.SeekAndGet(cF.LoSeekPointer, cF.HiSeekPointer, cF.GetLoFileSize)
s = cF.LGet(800)
lngZeile = Len(s)

intAttrNr = 1
bolFirstRead = True
bolReadnextBlock = False
'
'Erster Block mit FileHeader lesen und suchen nach den ersten Werten einer Zeile
'
If bolFirstRead = True Then
'
'Verarbeitung des ersten Blockes
'
lngZeile = Len(s)
For i = 1 To lngZeile
strEinZeichen = Mid(s, i, 1)
'Suchen nach den ersten Werten einer Zeile
'\VSYSCODE ist die bezeichnung des letzten Attributes (Kommentar)
'bevor die Werte einer Zeile beginnen
If strEinZeichen = "\" Then
strtest = strtest & strEinZeichen
strBackslash = True
ElseIf strBackslash = True Then
strtest = strtest & strEinZeichen
If strtest = "\VSYSCODE" Then
bolZeilestart = True
intStartBlock = i + 3
i = lngZeile
End If
End If
Next i
'
End If
'
' Ab hier müsste das File eigentlich sequentiell gelesen werden können damit die Attribute für die Tabellen extrahiert werden können
'
intAttrZähler = 1
bolAttrOk = True
bolZeilekomplett = False

While Not bolMeinEnde = True
'intAttrNr steht für das Attribut einer Zeile falls beim lesen eines Blockes die Zeile gebrochen wird
Call fncReadZeile(Mid(s, intStartBlock, lngZeile), lngZeile, intAttrNr)
s = cF.LGet(800)
intStartBlock = 1
lngZeile = Len(s)
Wend

End Sub
'
'Die Funktion erhält den gelesenen String und sollte den abarbeiteten. Dabei werden folgende Fälle berücksichtigt
' 1) Es kommen 2 Semikolon nacheinander ==> Zeile ist unbrauchbar
' 2) Nach dem letzten Semikolon kommt kein Wert ==> Zeile ist unbrauchbar
' 3) Der String ist zu Ende und ein neuer Block muss eingelesen werden
' Dabei wird gemerkt welches Attribut wurde zuletzt bearbeitet und an der Stelle wird wieder aufgesetzt
'
' Input: strBlock ==> String der mit cF.Lget() gelesen wird
' lngBlock ==> Länge des Strings als Long
' AttrNr ==> Nummer des Attributes welches bearbeitet wird
'
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Sehr grosses Textfile lesen1.826tinzu08.09.08 19:01
Re: Sehr grosses Textfile lesen1.207VBStein08.09.08 19:10
Re: Sehr grosses Textfile lesen1.206tinzu08.09.08 19:16
Re: Sehr grosses Textfile lesen1.178icetea12308.09.08 19:20
Re: Sehr grosses Textfile lesen1.188VBStein08.09.08 20:01
Re: Sehr grosses Textfile lesen1.144tinzu08.09.08 20:31
Re: Sehr grosses Textfile lesen1.163VBStein08.09.08 20:52
Re: Sehr grosses Textfile lesen1.245effeff09.09.08 10:02
Re: Sehr grosses Textfile lesen1.161VBStein09.09.08 23:06
Re: Sehr grosses Textfile lesen1.162effeff10.09.08 09:26
Re: Sehr grosses Textfile lesen1.109tinzu10.09.08 17:12
Re: Sehr grosses Textfile lesen1.107VBStein10.09.08 18:30
Re: Sehr grosses Textfile lesen1.095VBStein10.09.08 20:09
Re: Sehr grosses Textfile lesen1.135tinzu10.09.08 20:24
Re: Sehr grosses Textfile lesen1.113VBStein10.09.08 20:38
Re: Sehr grosses Textfile lesen1.109tinzu10.09.08 20:55
Re: Sehr grosses Textfile lesen1.089TheNukeduke13.09.08 12:16
Re: Sehr grosses Textfile lesen1.084tinzu14.09.08 19:22
Re: Sehr grosses Textfile lesen1.046VBStein14.09.08 22:33
The LargeSeekPointer Class1.131VBStein15.09.08 18:01
Re: The LargeSeekPointer Class 2.1.122VBStein15.09.08 18:02
Re: The LargeSeekPointer Class 3.1.202VBStein15.09.08 18:02
Re: The LargeSeekPointer Class 3.1.057tinzu16.09.08 21:50
Re: The LargeSeekPointer Class 3.1.074VBStein17.09.08 19:28
Re: The LargeSeekPointer Class 3.1.051tinzu17.09.08 20:23
Re: The LargeSeekPointer Class 3.1.071VBStein17.09.08 21:25
Re: The LargeSeekPointer Class 3.1.041tinzu18.09.08 21:06
Re: The LargeSeekPointer Class 3.1.107VBStein18.09.08 21:39
Re: The LargeSeekPointer Class 3.1.097tinzu18.09.08 22:25
Re: The LargeSeekPointer Class 3.1.103tinzu23.09.08 18:23
Re: The LargeSeekPointer Class 3.1.093tinzu23.09.08 18:34
Re: The LargeSeekPointer Class 3.1.008VBStein23.09.08 19:07
Re: Sehr grosses Textfile lesen1.131tinzu23.09.08 18:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel