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: 141
- Joined: Thu Mar 16, 2017 4:08 pm
- Location: Ecuador
- Manuel Aranda
- Posts: 605
- 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 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Manuel
xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, 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 | Expand
#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
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
-
- Posts: 141
- 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