Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: audiojosi am 03.11.04 - 06:44:18

Titel: Sortierreihenfolge bei Verwendung von dir($)
Beitrag von: audiojosi am 03.11.04 - 06:44:18
Hallo @all,

kann mir wer sagen, wodurch die Sortierreihenfolge von Dateien festgelegt wird, wenn ein Verzeichnis mit dir($) durchlaufen wird ? Wenn ich das so teste, scheint es alphabetisch sortiert zu sein.

Ist das generell und überall alphabetisch oder wovon hängt die Sortierreihenfolge denn ab  ???

Vielen Grüße
Jürgen
Titel: Re: Sortierreihenfolge bei Verwendung von dir($)
Beitrag von: pedsola am 03.11.04 - 10:06:45
Hallo,

Auszug aus der KBASE:

Problem 
Is it possible to control the order in which the script function DIR$ pulls in file names, for example in alphabetical order by name, by size or by type? 
   
Solution
No, it is not. However, you can create an array of strings and populate this array with the file names and then sort the array based upon file names.

An enhancement request to add an additional parameter to the DIR$ function to allow you to specify what order you want the files to be brought in has been submitted to Lotus Quality Engineering.


Titel: Re: Sortierreihenfolge bei Verwendung von dir($)
Beitrag von: audiojosi am 03.11.04 - 10:14:03
Hallo ?

danke für den Hinweis. Bedeutet das letztlich, dass die Sortierung quasi von der "Schuhgröße" des Benutzers abhängt, oder kann man wenigstens von alphabetischer Sortierung ausgehen ?

Jürgen
Titel: Re: Sortierreihenfolge bei Verwendung von dir($)
Beitrag von: m3 am 03.11.04 - 10:35:04
Wie man dem zitierten Artiekl entnehmen kann, darfst Du von keinerlei sortierung in irgendeiner weise ausgehen.
Titel: Re: Sortierreihenfolge bei Verwendung von dir($)
Beitrag von: pedsola am 03.11.04 - 10:39:00
Hallo Jürgen,

evtl. hat es auch mit der Nasenlänge zu tun  ;D
Nee, im Ernst, ich weiß es selber nicht genau, da ich bislang keinerlei Sortierfunktion gebraucht habe für dir$. Mirs wars bislang wurscht wie es gekommen ist.
Lt. KBASE-Artikel ist aber wohl keine wirklich beabsichtigte Sortierung drin.

Gruß
Pedro


Titel: Re: Sortierreihenfolge bei Verwendung von dir($)
Beitrag von: koehlerbv am 03.11.04 - 10:44:09
Offensichtlich wird direkt auf OS-Ebene die Table des Directories ausgelesen, und dort landen die Einträge in der Reihenfolge ihres Aufschlagens. Braucht man's sortiert: Auf das Lotus Quality Engineering warten oder selber sortieren  ;)

Bernhard
Titel: Re: Sortierreihenfolge bei Verwendung von dir($)
Beitrag von: Semeaphoros am 03.11.04 - 18:22:45
Ist in etwa so, wie Bernhard sagt. Dir$ geht direkt auf zwei noch aus DOS-Zeiten (was Win anbelangt) stammende Api-Funktionen des Betriebssystemes zurück und die Reihenfolge, in der die Einträge kommen, hängen vom Betriebssystem ab. Dabei gibt es Unterschiede zwischen den verwendeten Filesystemen (Fat, Fat16, Fat32, NTFS, HPFS ........ ). Jünbere OS' und jüngere Filesysteme tendieren zur alphabetischen Lieferung der Daten.
Titel: Re: Sortierreihenfolge bei Verwendung von dir($)
Beitrag von: koehlerbv am 03.11.04 - 18:28:31
Danke für die Ergänzung, Jens.
Unterm Strich bleibt aber: Ein Programmierer kann und darf sich auf die Reihenfolge der Rückgabewerte von Dir$ nicht verlassen. Der LS-Programmierer kann sich aber trösten: Es ist bei weitem nicht einzige Sprache, die davon betroffen ist.

Bernhard
Titel: Re: Sortierreihenfolge bei Verwendung von dir($)
Beitrag von: Semeaphoros am 03.11.04 - 18:30:08
Das ist so, da sind alle Sprachen betroffen, die keine eigene Funktion dafür gebaut haben, sondern "nur" das OS durchschlaufen.