Club Delphi  
    FTP   CCD     Enlaces   Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Desplegado
  #1  
Antiguo 31-10-2008
marcosmendozaa marcosmendozaa is offline
Miembro
 
Registrado: oct 2008
Posts: 15
marcosmendozaa Va por buen camino
locate

Hola...yo de nuevo, ahora tengo una cuestion, tengo una tabla donde agrego informacion, y quiero hacer una busqueda sencilla para ello utilizo el comando locate (el campo a buscar es un string) y quisiera que no me diferenciara entre mayusculas y minusculas, es decir si en a tabla existe el registron "SISTEMAS" que si el usuario busca "sisTEMAS" lo detecte, tengo el siguente codigo:

Código Delphi [-]
if(dm.T_deptoimpre.Locate('nombre_departamento',edit1.Text,[]))then
            dm.T_deptoimpre.Locate('nombre_departamento',edit1.Text,[ ])
                else
                     showmessage('No hay impresoras en ese departamento')

el codigo va en un boton que busca lo que el usuario pone en un edit1

este codigo si e funciona muy bien pero diferencia mayusculas de minusculas, habra alguna forma de que no diferencie???? de antemano gracias.
Responder Con Cita
  #2  
Antiguo 31-10-2008
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 801
ElKurgan Va por buen camino
Debes usar la opción "loCaseInsensitive" para que no diferencie entre mayúsculas y minúsculas, con lo que tu código quedaría asi:


Código:
 
Código Delphi [-]
 
if(dm.T_deptoimpre.Locate('nombre_departamento',edit1.Text,
  [loCaseInsensitive])) then
  dm.T_deptoimpre.Locate('nombre_departamento',edit1.Text,
    [loCaseInsensitive])
else
  showmessage('No hay impresoras en ese departamento')
Un saludo
Responder Con Cita
  #3  
Antiguo 31-10-2008
Avatar de Caro
Caro Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.545
Caro Va por buen camino
Hola marcosmendozaa, como te dice el amigo elkurgan, la opción que necesitas es loCaseInsensitive, en tu codigo no necesitas hacer doble vez el Locate, si el Locate te devuelve True es porque ya lo ha encontrado y se ha posicionado en ese registro.

Código Delphi [-]
if(dm.T_deptoimpre.Locate('nombre_departamento',edit1.Text,[]))then
 showmessage('Ha encontrado y se ha posicionado en el registro '+
                     dm.T_deptoimpre.FieldByName(nombre_departamento).AsString)
else
 showmessage('No hay impresoras en ese departamento');

También tienes la opción loPartialKey que te hace una busqueda aproximada.

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
  #4  
Antiguo 01-11-2008
marcosmendozaa marcosmendozaa is offline
Miembro
 
Registrado: oct 2008
Posts: 15
marcosmendozaa Va por buen camino
ps muchas gracias por tu respuesta me parece muy logica, i ps asi puse el codigo

if(dm.T_deptoimpre.Locate('nombre_departamento',edit1.Text,
[loCaseInsensitive])) then
dm.T_deptoimpre.Locate('nombre_departamento',edit1.Text,
[loCaseInsensitive])
else
showmessage('No hay impresoras en ese departamento')


incluso lo intente con el lopartialkey

y no me funciona tampoco me marca error:

undeclared identifier: "loCaseInsensitive"
Incompatible types:'Tlocateoptions' and integer
Responder Con Cita
  #5  
Antiguo 01-11-2008
Avatar de Caro
Caro Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.545
Caro Va por buen camino
Cita:
Empezado por marcosmendozaa Ver Mensaje
undeclared identifier: "loCaseInsensitive"
Incompatible types:'Tlocateoptions' and integer
Hola de nuevo, debes añadir la unit BD en el uses de tu unidad y te repito, no necesitas el Locate que esta dentro del If, es suficiente con el que estas haciendo la condición.

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 29-05-2014
xion xion is offline
Registrado
 
Registrado: dic 2006
Posts: 4
xion Va por buen camino
Db

en la DB no BD por si acaso


Cita:
Empezado por Caro Ver Mensaje
Hola de nuevo, debes añadir la unit BD en el uses de tu unidad y te repito, no necesitas el Locate que esta dentro del If, es suficiente con el que estas haciendo la condición.

Saluditos
Responder Con Cita
  #7  
Antiguo 29-05-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador gruñón
 
Registrado: sep 2004
Ubicación: Planeta Agua
Posts: 22.723
Casimiro Notevi Va camino a la fama
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración


Cita:
Empezado por xion Ver Mensaje
en la DB no BD por si acaso
En español, Base de Datos, será BD
__________________
/* Saludos
*/
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código

$ sudo mv system > /dev/null

Responder Con Cita
Respuesta


Herramientas
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
Locate mauqu Varios 9 06-08-2007 18:27:20
Yo uso LOCATE y tu......... JULIOCTORRESG Varios 1 02-03-2007 02:10:47
Locate sanrp2004 Varios 3 21-06-2006 21:30:37
Uso del Locate jzk Conexión con bases de datos 8 22-04-2005 14:05:03
Locate hgiacobone Conexión con bases de datos 6 08-07-2003 16:33:49


La franja horaria es GMT +2. Ahora son las 15:46:19.


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