Estimados:
Una consulta sencilla sobre el funcionamiento de la función Asort. Pongo el siguiente ejemplo:
Tengo un arreglo con esta composición original:
aMatriz:={"HAWAI", "CALIFORNIA", "<Sin selección>", "1er. ESTADO", "NUEVA YORK", "WASHINGTON"}
Si pongo esta cadena de texto en filas en excel, y las ordeno, me da el siguiente resultado (Y ES EL QUE DESEO):
aMatriz:={"<Sin selección>", "1er. ESTADO", "CALIFORNIA", "HAWAI", "NUEVA YORK", "WASHINGTON"}
Pero usando la función ASort, me resulta esto:
aMatriz:={"1er. ESTADO", "<Sin selección>", "CALIFORNIA", "HAWAI","NUEVA YORK", "WASHINGTON"}
¿Porque y como lo puedo corregir?
Saludos
Fernando Espinoza A.
Una consulta sobre la función ASort
-
- Posts: 105
- Joined: Thu Mar 16, 2017 4:08 pm
- Location: Ecuador
- Manuel Aranda
- Posts: 561
- Joined: Wed Oct 19, 2005 8:20 pm
- Location: España
Re: Una consulta sobre la función ASort
No sé si la solución es muy ortodoxa, pero si metes un espacio en blanco delante de " <Sin selección>" igual lo arreglas.
Un saludo,
Manuel
xH 1.2.3, FWH 14.09, BC++ 5.8.2, xVerce CW 1.0, PellesC
Manuel
xH 1.2.3, FWH 14.09, BC++ 5.8.2, xVerce CW 1.0, PellesC
Re: Una consulta sobre la función ASort
Fernando, intenta así ( con esto yo creo que tienes por donde meterle mano al tema ):
Code: Select all
#include "Fivewin.ch"
Function Main()
local aMatriz:={"HAWAI", "CALIFORNIA", "<Sin selección>", "1er. ESTADO", "NUEVA YORK", "WASHINGTON"}
ASort( aMatriz, , , { | x, y | Ordena( x, y ) } )
XBrowse( aMatriz )
Return nil
Function Ordena( x, y )
local lSw := .F.
if Asc( Left( x, 1 ) ) >= 65 .and. Asc( Left( y, 1 ) ) >= 65
if x < y
lSw := .T.
endif
else
if Asc( Left( y, 1 ) ) >= 65
lSw := .T.
endif
endif
Return lSw
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
-
- Posts: 105
- Joined: Thu Mar 16, 2017 4:08 pm
- Location: Ecuador
Re: Una consulta sobre la función ASort
Estimados
Gracias, funcionó perfecto (las 2 soluciones), aunque me quede con la de Cristóbal..
Saludos
Gracias, funcionó perfecto (las 2 soluciones), aunque me quede con la de Cristóbal..
Saludos