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 13-11-2008
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Poder: 21
Jose Manuel Va por buen camino
Busqueda dentro de un array

Tengo un array "ncod_trabajo :array[1..250] of String" y quisiera saber como puedo hacer una busqueda dentro del array para saber si existe un dato, algo parecido a un LOCATE pero no sé cual es la forma de hacerlo, sin tener que recorrer toda la tabla comparando un tedit.text con cada celda del array.
Responder Con Cita
  #2  
Antiguo 13-11-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
hola, creo que deberas hacer exactamente eso: crear una funcion que te recorra el array y te devuelva true o false segun lo encuentre. Tambien podrias copiar todo a un unico buffer y usar Pos(substr,str) para ver si esta, aunque segun como lo hicieses te daria problemas. saludos.
Responder Con Cita
  #3  
Antiguo 13-11-2008
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Hola,
también podrías utilizar un TStringlist ( si sólo tienes una dimensión en el array ). Tiene función de busqueda, ordenación, ... y te hace todo el trabajo sucio.

Valóralo al menos.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #4  
Antiguo 13-11-2008
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Poder: 21
Jose Manuel Va por buen camino
Thumbs up

Muchas gracias por la respuesta, el array es utilizado como un campo indice para llenar otros arrays, y una vez calculados los datos de ltodos os arrays pasan a varias tablas.

Con vuestras respuestas me habeis confirmado que la forma en que haga la busqueda es correcta, aunque veré si puedo utilizar el TStringlist.

Gracías de nuevo y un saludo.

Jose Manuel.
Responder Con Cita
  #5  
Antiguo 13-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, sería mucho mejor que utilizaras un TStringList, como te dijo el amigo fjcg02.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 13-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si estuviera ordenado el array podrías hacer búsqueda dicotómica, si el array no está ordenado sólo te queda secuencial.
Otra cosa, el TStringList como te han dicho ya posee búsqueda y ordenación, pero si el TStringList no está ordenado (a veces no se puede) acaba haciendo búsqueda secuencial, así que si es el caso, tal vez no merezca la pena cambiar.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 13-11-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
concuerdo, aun haber puesto lo de la funcion de busqueda : un TStringList te ahorrara faena. saludos.
Responder Con Cita
  #8  
Antiguo 15-11-2008
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Paz Entre Ríos
Posts: 354
Poder: 18
Cañones Va por buen camino
Hola. Si sigues con Arrays, tambien podes buscar algoritmos mejorados de busquedas dentro de arrays como puede ser el de la burbuja y otros mas.
Saludos.
Responder Con Cita
  #9  
Antiguo 15-11-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por Cañones Ver Mensaje
Hola. Si sigues con Arrays, tambien podes buscar algoritmos mejorados de busquedas dentro de arrays como puede ser el de la burbuja y otros mas.
Saludos.
En realidad Burbuja es de ordenamiento. Yo sólo conozco dos modos de hacer una búsqueda: lineal, y binaria.
El primero se emplea cuando los elementos no están ordenados, mientras que el segundo cuando está ordenado.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 16-11-2008
Khronos Khronos is offline
Miembro
 
Registrado: abr 2007
Posts: 298
Poder: 18
Khronos Va por buen camino
Una busqueda secuencial con ese array sería muy muy rápida. Algo como esto:

Código Delphi [-]
type
  Tncod_trabajo = array [1..250] of string;


function ExisteRegistro(const Reg: TNcod_trabajo; const Registro: string): boolean;
var
i: integer;
begin
result:= false;
for i:= 1 to 250 do begin
If Registro = Reg[i] then
begin
result:= true;
break;
end;
end;
end;

Salu2

Última edición por Khronos fecha: 16-11-2008 a las 11:14:08.
Responder Con Cita
  #11  
Antiguo 16-11-2008
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Paz Entre Ríos
Posts: 354
Poder: 18
Cañones Va por buen camino
Tal cual dice Delphius.
Disculpas por el dato erroneo, pero alguna vez lo vi y nunca mas lo toque.
Saludos.
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
insertar un array dentro de otro Yoli PHP 2 30-10-2007 22:06:45
busqueda de un Texto dentro de un .dfm sinalocarlos Varios 3 23-06-2007 04:33:30
Busqueda en un array jjorell Varios 4 30-12-2006 22:47:24
busqueda dentro de en un listbox Max_E. Varios 7 01-10-2006 07:51:52
Como tener un Array Constante dentro de una clase cmurua71 OOP 7 18-11-2005 02:52:45


La franja horaria es GMT +2. Ahora son las 15:20:03.


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