Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 10-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Hay otro método que quizás te sirva:

Lo primero es definir una función de comparación, tal y como hace la VCL de delphi:
Código Delphi [-]
type TObjetoComp = function (obj1:Tobjeto; obj2:Tobjeto):integer;
esto viene a decir que eso será una función que recibe 2 objetos y devuelve un número enteronormalmente:
-1 si obj1 < obj2
0 si obj1 = obj2
1 si obj1 = obj2

Ahora se trataría de crear tantas funciones como posibilidades tengas (este es el rollo y puede que sea demasiado... no lo sé):
Código Delphi [-]
function OrdenaNombreAsc(obj1:Tobjeto; obj2:Tobjeto):integer;
begin
    Result := compareText (obj1.nombre, obj2.nombre);
end;

function OrdenaCliente(obj1:Tobjeto; obj2:Tobjeto):integer;
begin
  if obj1.idcliente < obj2.idcliente then
      Result := -1
 else if obj1.idlciente > obj2.idcliente then
     Result := 1
 else Result := 0;
end;

Estas funciones son muy fáciles de implementar y muy rápido, ahora tu algoritmo de ordenación pregunta al usuario cómo quiere ordenarla y llama a la función concreta:
Código Delphi [-]
procedure Tobjeto.Sort;
var fun: TobjetoComp;
begin
  if OrdenaNombre then
     fun := OrdenaNombreAsc
  else if ordenaPorCliente then
      fun := OrdenaCliente;
  while i < listaObjetos.count-2 do
  begin
     res :=  fun(listaObjetos[i], listaObjetos[i+1]);
     mover_objetos_de_sitio
    inc(i);
  end;
end;

Así es como funciona el método Sort del TObjectList, y si usas un TObjectList para almacenar tus objetos, sólo necesitas implementar las funciones de ordenación y llamar a ObjectList1.Sort.

Espero te sirva.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
acceso a propiedades con nombre de control almacenado en string Byfed OOP 2 24-07-2007 20:29:55
¿Como creo una lista de checkbox y luego acceso a sus propiedades?!!! NovatoEnObjetos OOP 10 16-07-2007 21:44:26
Acceso a las propiedades de un objeto desde el editor de propiedades Hugo OOP 0 24-11-2006 12:58:22
controlar acceso a un objeto desde diferentes threads derteo OOP 2 07-02-2006 19:16:36
Problema acceso propiedades de un componente de otro formulario mguixot OOP 3 01-11-2004 01:40:09


La franja horaria es GMT +2. Ahora son las 12:32:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi