Hola Nelsonguzmans,
Bienvenido a DelphiAccess.
¿Podrías explicarte mejor? No termino de entender lo que pretendes hacer. Dedica minutos a reordenar y pensar bien tus palabras. Esto no está bien escrito:
necesito hacer un programa de menor o mayor que
ejm
del StringGrid "SG_NUMEROS"
'Menor a qué? ¿Mayor a qué?
¿Qué debemos entender por Clasificar? Hay dos acepciones a ese término: agrupar, u ordenar. Por que no es lo mismo pretender separar una pila en 2, que ordenar.
Entiendo que tienes una Pila original, y pareciera que la idea es de ésta pasar los items a 2 pilas. Pero insisto: no es lo mismo simplemente pasar, que los mismos estén ordenados.
Si es lo primero lo que necesitas es ir leyendo la pila, y pasarlo hacia una u otra dependiendo del valor.
Si es lo 2do, es algo ya mucho más elaborado, y deberías pensar en un algoritmo de ordenamiento y empleando pilas. Vas a necesitar al menos una pila auxiliar o temporal en la vayas poniendo y sacando items para ir ordenando a medida que lees desde la original.
Recuerda: Lo importante del concepto de PILA, o más en genera una estructura Lista LIFO es justamente que el ULTIMO ELEMENTO en ENTRAR sea el PRIMERO en SALIR. De allí su nombre en Inglés: Last In, Firt Out. Para hacerlo gráfico, piénsalo como una pila de platos que vas a poner a lavar. El primero a lavar será el que esté por encima de todo, y el último en lavar el que estaba debajo de todo.
Cuando uno saca de una pila y pone en otra, los elementos quedan exactamente en el orden inverso.
Tu código va bien.
Pero puntualicemos, ¿concretamente, en que tienes dudas? ¿En que parte te sientes trabajo? ¿Que código además de este estuviste probando? ¿Te salieron errores, cuáles?
En DelphiAccess no hacemos la tarea a nadie. Es parte de nuestras normas y reglas, en su lugar ayudamos y brindamos guías y propuestas para que cada quien pueda llegar a su solución. Además, brindarte código asi como sin más, no te beneficia. Lo importante es que hagas el ejercicio craneal.
Saludos,