Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-06-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Busqueda recursiva en un ListView

Necesito de su ayuda ya que no me llevo bien con las funciones recursivas. Lo que quiero es poder hacer una búsqueda recursiva dentro de un ListView.

Para el caso lo que tiene que hacer es buscar por la columna código de producto, si lo encuentra en alguna de sus filas fijarse si la cantidad es cero y si es asi buscar el siguiente con cantidad mayor a cero. De ser el único que existe debe quedarse en el que encuentra.

Ejemplo:

Producto Cantidad
1 1
2 0
3 3
4 6
1 5
2 7 <-- debe quedarse parado en este si lo que se buscó es el producto con código 2.

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #2  
Antiguo 19-06-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Gente, pude hacer lo que necesitaba. Para el que le sirva acá dejo la función que he implementado.

El parámetro de la posición que saco a fuera de la función es proque luego selecciono la fila que me interesa con lo encontrado. El resultado de la función es para indicar si se encontró o no el dato buscado.

Código Delphi [-]
function BuscarEnLista(const aLista: ListView; const aColumna: Integer; const aValor: String; var aPosicion: Integer): Boolean; overload;
var
  i: Integer;
  intItem: Integer;

begin
  i := 0;
  intItem := -1;

  while (i < aLista.items.Count) do
  begin
    if (aLista.Items[i].SubItems[aColumna].Text = aValor) and (StrToInt(aLista.Items[i].SubItems[_lv_Cantidad].Text) <> 0) then
    begin
      intItem := i;
      i := aLista.Items.Count;
    end;

    Inc(i);
  end;

  aPosicion := intItem;
  Result := (intItem <> -1);
end;


Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
Respuesta



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
busqueda binaria recursiva alba13 OOP 3 20-04-2009 01:36:14
Busqueda recursiva en disco desde java gulder JAVA 0 10-11-2006 19:02:37
busqueda en listview munheko OOP 2 23-05-2005 09:09:10
Funcion Recursiva Aztaroth Varios 5 09-09-2004 18:37:19
Busqueda recursiva Descendents Varios 2 06-02-2004 17:40:19


La franja horaria es GMT +2. Ahora son las 16:10:13.


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