Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Collate problem
Message
De
17/02/2009 08:41:51
Lutz Scheffler
Lutz Scheffler Software Ingenieurbüro
Dresden, Allemagne
 
 
À
17/02/2009 07:54:32
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Versions des environnements
Visual FoxPro:
VFP 9 SP2
Divers
Thread ID:
01382300
Message ID:
01382323
Vues:
27
Gregory,

I do have names in a table only. The files may exist somewhere, but out of my scope.

Agnes

>Agnes,
>
>
>Try this - seems to sort like windows explorer (if this does not work>> then plan C - Regular expressions)
>
>
>
>	ofs = CreateObject("Scripting.FileSystemObject")
>	folder = ofs.GetFolder('d:\tmp\')
>	for each file in folder.Files 
>		?file.Name
>	endfor
>
>
>
>>Hi Gregory,
>>
>>it was example only. ::)
>>
>>Anyway, it seems not that easy
>>
>>it sorts like
>>0A.txt
>>1.1.txt
>>1.txt
>>1A.txt
>>9A.txt
>>10.txt
>>11A.txt
>>111.txt
>>A.txt
>>
>>so I can not simple swap the characters. Infact, I can not see a dynamic way like index to do this. It would require a "key column" and a special run to order it. (just like the explorer, it does not sort on the fly.
>>
>>
>>Hm now I run into StrCmpLogicalW but this compares two strings, not sorting an array. Does this realy mean I have to do the sorting myself?
>>
>>>hi Agnes,
>>>
>>>I would include lower case as well (verify the strings)
>>>
>>>
>>>>INDEX ON chrtran(c1,'ABCDEFGHIJKLMNIOQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','0123456789ABCDEFGHIJKLMNIO0123456789ABCDEFGHIJKLMNIOQRSTUVWXYZ') TAG _c2
>>>
>>>
>>>>Hi Gregory,
>>>>
>>>>that seems to be the start.
>>>>
>>>>I think I will simply use something like
>>>>
>>>>INDEX ON chrtran(c1,'ABCDEFGHIJKLMNIOQRSTUVWXYZ0123456789','0123456789ABCDEFGHIJKLMNIOQRSTUVWXYZ') TAG _c2
>>>>
>>>>
>>>>> ...re-educate the customer...
>>>>
>>>>I have no idea what to teach them here.
>>>>
>>>>Agnes
>>>>
>>>>>Agnes,
>>>>>
>>>>>The sort order of the Windows Explorer is described here http://windowsxp.mvps.org/xpsortorder.htm
>>>>>
>>>>>The only way out for you is to have an extra field in your cursor with the filename strtran() in such a way that the digits come after the alphabet
>>>>>eg map
>>>>>a, A to hex 01
>>>>>b, B to hex 02
>>>>>...
>>>>>
>>>>>0 to 0x01 + 0x20 or so
>>>>>
>>>>>Then the index has to be Machine
>>>>>
>>>>>
>>>>>Then you have to watch out for the accented chars + eszet
>>>>>
>>>>>You can try to re-educate the customer...
Words are given to man to enable him to conceal his true feelings.
Charles Maurice de Talleyrand-Périgord

Weeks of programming can save you hours of planning.

Off

There is no place like [::1]
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform