PBOSL: FastTextSearch
Verfasst: 13.01.2006 12:12
Hallo,
ich habe die PBOSL-Library geladen und die FastFile-Funktionen genutzt, um einen Report mit enthaltenen Bankverbindungen zu überprüfen, ob die vorhandenen Bankleitzahlen existieren. Dazu habe ich in einer anderen Datei (.blz) alle aktuellen BLZ zur Überprüfung abgespeichert. Die Idee ist folgende:
Nimm aus einer Bankverbindung die Bankleitzahl aus dem Report
Schau in der BLZ-Datei nach, ob existiert
wenn nicht: anzeigen
Hier wollte ich FastTextSearch verwenden. Allerdings meldet der Debugger "Invalid memory access", obwohl die erste Bankleitzahl eindeutig im BLZ-Verzeichnis existiert.
Vielleicht haben die PBOSLer eine Idee. Eventuell gibt es Probleme mit dem Finden von Zahlen innerhalb von Textdateien.
Gruß Karl
ich habe die PBOSL-Library geladen und die FastFile-Funktionen genutzt, um einen Report mit enthaltenen Bankverbindungen zu überprüfen, ob die vorhandenen Bankleitzahlen existieren. Dazu habe ich in einer anderen Datei (.blz) alle aktuellen BLZ zur Überprüfung abgespeichert. Die Idee ist folgende:
Nimm aus einer Bankverbindung die Bankleitzahl aus dem Report
Schau in der BLZ-Datei nach, ob existiert
wenn nicht: anzeigen
Hier wollte ich FastTextSearch verwenden. Allerdings meldet der Debugger "Invalid memory access", obwohl die erste Bankleitzahl eindeutig im BLZ-Verzeichnis existiert.
Code: Alles auswählen
BLZDatei = OpenFileRequester("Bitte wählen Sie die BLZ-Datei:", "", "BLZ-Datei (*.blz) | *.blz", 0)
If BLZDatei
ENr = OpenFileRequester("Bitte wählen Sie die Abrufdatei:", "", "Abrufdatei (*.txt) | *.txt", 0)
If ENr
BLZZeilen = FastOpenTextFile(0, BLZDatei, Chr(13) + Chr(10))
ENrZeilen = FastOpenTextFile(1, ENr, Chr(13) + Chr(10))
;Zeilen von ENr einlesen
For i = 1 To ENrZeilen
zeile = FastReadLine(1, i)
blztest = RemoveString(Mid(zeile, 93, 10), " ")
;BLZ isolieren und unnötige Zwischenräume löschen
If Val(blztest) >= 10000000
Debug blztest
;in der BLZ-Datei nachschauen und prüfen
finde = FastTextSearch(0, blztest, 1)
If finde <= 0
MessageRequester("Nicht gefunden:", Left(zeile, 5))
Else
check = FastReadLine(0, finde)
If Left(check, 8) <> blztest
;oder weitersuchen
MessageRequester("Nicht gefunden:", Left(zeile, 5))
EndIf
EndIf
EndIf
Next
FastCloseFile(1)
FastCloseFile(0)
EndIf
EndIf
End
Gruß Karl