ich beobachte gerade in einem Einzelfall ein völlig verrücktes Verhalten des Befehls DIRECTORY():
Ich habe ein Verzeichnis (nennen wir es TEST), in dem viele Dateien stehen, deren Namen alle 11-stellige Nummern sind. Zum Beispiel diese:
86020200630.JPG
86120200630.JPG
86220200630.JPG
86320200630.JPG
86420200630.JPG
86520200630.JPG
86720200630.JPG
86720200819.JPG
86720201023.JPG
86720210114.JPG
86720210702.JPG
86820200630.JPG
86920200630.JPG
(Alle anderen Dateien im Verzeichnis beginnen nicht mit 86)
Wenn ich jetzt
dirarray := DIRECTORY("TEST\862*.JPG")
ausführe, erhalte ich erstaunlicherweise ein Array mit ZWEI Elementen, nämlich
dirarray[1][F_NAME] = "86220200630.JPG" (richtig!) und
dirarray[2][F_NAME] = "86720210702.JPG" (falsch!!).
Wieso zum Teufel wird diese zweite Datei aufgesammelt, die an dritter Stelle eine falsche Ziffer (7 statt 2) hat?
Und jetzt wird's ganz seltsam:
- Wenn ich die Datei 86720210702.JPG umbenenne in 86720210701.JPG oder 86720210703.JPG (also die LETZTE Stelle ändere), tritt der Fehler nicht mehr auf (das Array enthält also beim erneuten Test nur noch ein Element).
- Wenn ich danach die Datei wieder in 86720210702.JPG zurückbenenne, tritt der Fehler wieder auf.
Der Fehler tritt auch dann noch auf, wenn ich
- den Verzeichnisnamen ändere
- das Verzeichnis oder die Dateien darin woandershin kopiere
- alle Dateien außer den beiden betroffenen aus dem Verzeichnis entferne
- das Verzeichnis statt auf dem Server lokal auf C: kopiere und dort aufrufe
- den Dateien 86220200630.JPG und 86720210702.JPG andere Namen gebe, zwei neue Dateien im Verzeichnis generiere und diese in 86220200630.JPG und 86720210702.JPG umbenenne (selbst wenn das eigentlich keine JPGs, sondern leere Textdateien sind)
- 86720210702.JPG in 86720210207.JPG umbenenne (also hinten 2 und 7 vertausche).
- ein neues Verzeichnis mit zwei neuen Dateien erstelle, die ebenfalls 86220200630.JPG und 86720210702.JPG heißen.
- Ich habe es bisher nicht geschafft, diesen Fehler mit einer anderen Nummer als 862* zu bekommen. (Ich habe das mit einer Schleife getestet und alle dreistelligen Nummern durchprobiert.)
- Wenn ich mir den Inhalt des Verzeichnisses mit einem Editor (der nichts mit Xbase zu tun hat) angucke und dort auf 862* einschränke, wird mir nur die richtige Datei angezeigt.
- Ich arbeite hier unter Windows-10-Pro Version 2004 mit Xbase 2.0 Built 1176.
Liebe Grüße, bleibt gesund
Martin