Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2007
Avatar de alexander_lv
alexander_lv alexander_lv is offline
Miembro
 
Registrado: mar 2007
Ubicación: Colombia - Quindio - Circasia
Posts: 11
Poder: 0
alexander_lv Va por buen camino
buscar en un StringGrid

estoy usando delphi7 y el componente StringGrid

tengo una lista de 1000 registros y aveces mas y aveces necesito ubicar informacion alli


como puedo ubicarme en una columna y escribir lo que necestio y que me lleve inmediatame hasta esa linea
Responder Con Cita
  #2  
Antiguo 06-12-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola!

Existen varias alternativas de solución. Eso que mencionas pertenece a un proceso conocido como "búsqueda incremental", el cual consiste en que un listado de información va enfocando el dato que más se asemeja a una cadena de caracteres que el usuario teclea.

Hay componentes rejilla (grid) de terceras partes muy buenos que tienen esa característica. Pero no sé si tú quieras implementarlo "a pie" con componentes nativos. Que yo sepa las rejillas nativas de Delphi (hasta la versión 7, cuando menos), no poseen esa capacidad nativamente integrada, mas sí puedes programarla con relativo esfuerzo.

Estamos en contacto.

Al González.
Responder Con Cita
  #3  
Antiguo 06-12-2007
Avatar de alexander_lv
alexander_lv alexander_lv is offline
Miembro
 
Registrado: mar 2007
Ubicación: Colombia - Quindio - Circasia
Posts: 11
Poder: 0
alexander_lv Va por buen camino
y que componente me recomiendas porque no pienzo gastar tiempo en algo que ya esta desarrollado
Responder Con Cita
  #4  
Antiguo 06-12-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Acabo de construir este algoritmo que busca en un TStringGrid usando un TFindDialog llamado FindDialog1, el algoritmo es muy simple ya que solo busca lo que se necesita sin tener en cuenta las demas funciones marcadas por el usuario en el FindDialog en tiempo de ejecución (Como por ejemplo "Tener en cuenta las minusculas y las mayusculas", "Buscar para arriba o para abajo" y demas cosas), que seguro con este codigo podras comenzar y terminar para mostrarnos el resultado final .

1) colocas un TFindDialog en el Form.

2) En un boton haces lo siguiente:

Código Delphi [-]
FindDialog1.Execute;

3) En el OnFind del TFindDialog haces lo siguiente:

Código Delphi [-]
var
  i, j :Integer;
  Siga :Boolean;
begin
  Siga := True;
  i := StringGrid1.Row;
  j := StringGrid1.Col+1;
  while (Siga) and (i <= StringGrid1.RowCount-1) do
  begin
    while (Siga) and (j <= StringGrid1.ColCount -1) do
    begin
      if AnsiContainsText(StringGrid1.Cells[j, i], FindDialog1.FindText) then
      begin
        StringGrid1.Col := j;
        StringGrid1.Row := i;
        Siga := False;
      end;
      inc(j);
    end;
    j := 0;
    inc(i);
  end;

Ese metodo te buscara el primero, que encuentre desde donde se encuentre el cursor (Celda seleccionada) en ese momento y si haces siguiente sobre el boton "siguiente" del FindDialog, pues te buscara el que sigue .

Espero te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 06-12-2007 a las 21:28:57.
Responder Con Cita
  #5  
Antiguo 06-12-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por alexander_lv Ver Mensaje
y que componente me recomiendas porque no pienzo gastar tiempo en algo que ya esta desarrollado
En torry.net deben haber algunos de esos componentes .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #6  
Antiguo 06-12-2007
Avatar de alexander_lv
alexander_lv alexander_lv is offline
Miembro
 
Registrado: mar 2007
Ubicación: Colombia - Quindio - Circasia
Posts: 11
Poder: 0
alexander_lv Va por buen camino
muchas gracias ya implemente este codigo y me funciono perfecto

ademas tambien estube buscando y encontre uno que tiene muhcas funcionabilidades mas que ni te imaginas

se llama

AdvStringGrid

lo puedes encontrar aqui
http://www.tmssoftware.com/

lo malo es que vale mucho dinero, o no es mucho pero no lo tengo
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
Buscar TAB en un string unreal4u Varios 4 13-07-2012 23:13:27
Buscar en un Stringgrid txaba C++ Builder 2 13-04-2007 01:56:30
Buscar en .PAS raorre Conexión con bases de datos 1 18-01-2006 09:46:56
Buscar en un PDF Alexander Varios 2 08-11-2005 22:31:08
buscar con pos migueilichenco Varios 9 08-09-2003 16:41:53


La franja horaria es GMT +2. Ahora son las 13:11:24.


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