Hola invitado         10 Sep, 2010 - 09:04
Menú principal
 
Ads
 
Patrocinadores
 
Anuncios
 
© 2009 PortalFox
Ordenar (Christof Wollenhaupt) Traducción lecturas 2334
 Enviado por amby en Miércoles, 24 Enero, 2007
Artículos En una línea de comando, Christof Wollenhaupt muestra como ordenar cadenas alfanuméricas.

Ordenar

Artículo original: Sorting
http://www.foxpert.com/KnowlBits_200609_4.htm
Autor: Christof Wollenhaupt (http://www.foxpert.com/knowlbits.htm)
Traducido por: Ana María Bisbé York (amby@telefonica.net)
Para: PortalFox (http://www.portalfox.com)


En la mayoría de los lenguajes de programación se encuentran algoritmos de ordenamiento; pero es difícil encontrar la implementación de algoritmos de ordenamiento en Visual FoxPro. Por supuesto, Calvin Hsia tiene algunos en su Blog; pero es muy difícil encontrar otros. La razón más obvia es que Visual FoxPro admite ordenar de forma nativa tanto por índices como por matrices.

Ordenar cadenas mixtas

Si tiene los datos del tipo

1/1A
1/1B
2/A
10/2
10/3

Puede querer ordenar la primera parte numéricamente. Es decir, el orden debe ser 1, 2, 10 y no 1, 10, 2 como ocurriría si Visual FoxPro lo trata como cadena. Al mismo tiempo, sin embargo, desea ordenar la parte restante en orden alfabético. La siguiente expresión de índice lo soluciona:

INDEX ON STR(VAL(field)) + field TAG _Sort

Ordenar con COLLATE

Virtualmente cada aplicación tiene solamente una secuencia COLLATION que utiliza cada vez. La mayoría utiliza MACHINE, seguido por GENERAL, seguido por versiones específicas del país. Sin embargo, a veces necesita ordenar y buscar los datos con orden diferente. Por ejemplo, puede utilizar MACHINE como secuencia collate; pero en algunos casos para ordenar casos independientes (¡esto es sólo un ejemplo!)

Cuando usted crea un índice, Visual FoxPro utiliza la secuencia COLLATE activa o alguna que esté especificada en la cláusula COLLATE. Un detalle conocido es que Visual FoxPro siempre utiliza la secuencia COLLATE que pertenece a un índice cuando Visual FoxPro busca u ordena utilizando los índices. Esto es verdad incluso cuando la aplicación activa una secuencia COLLATE diferente.

Create Cursor curTest (cName C(10))
Insert into curTest Values("Straße")
Set Collate To "GERMAN"
Index on cName Tag cName
Set Collate To "MACHINE"
? Seek("Strasse") && Muestra .T.

 Versión imprimible  
Ordenar (Christof Wollenhaupt) Traducción | Entrar/Crear una cuenta | 0 Comentarios
Los comentarios son propiedad de sus respectivos autores.
No somos responsables de su contenido.



Todas las marcas y los logos utilizados en este sitio son propiedad de sus respectivos dueños.
Los artículos, noticias y comentarios son propiedad y responsabilidad de sus respectivos autores.
Copyright © 2000-2010 PortalFox. Todos los derechos reservados.