Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Ayuda Con .locate En Delphi 7 (https://www.clubdelphi.com/foros/showthread.php?t=44377)

eudy.net 05-06-2007 05:54:33

Ayuda Con .locate En Delphi 7
 
:confused::confused::confused::confused: NO ENTIENDO NADA DE NADA DE LOCATE OSEA NO SE ACTIVAR EL: TLOCATEOPTIONS POR MAS QUE BUSCO NADA ME SALE. SI ALGUIEN PUEDE AYUDARME Y MANDARME LOS CODIGOS DE UN PROGRAMA SENCILLO SOLO QUIERO VER DONDE ES QUE SE PONE:

Unit

DB

type
TLocateOption = (loCaseInsensitive, loPartialKey);
TLocateOptions = set of TLocateOption;

SE LO AGRADECERIA EN EL ALMA

ATT. EUDYNET

droguerman 05-06-2007 06:11:22

recordar q locate devuelve verdadero cuando encuentra un registro:

ejemplo 1:
Código Delphi [-]
 tuDataset.locate('codigo', valorABuscar, [loCaseInsensitive]);
ejemplo 2:
Código Delphi [-]
 tuDataset.locate('codigo', valorABuscar, [loCaseInsensitive, loPartialKey]);
ejemplo 3:
Código Delphi [-]
  tuDataset.locate('codigo;nombre', VarArrayCreate([valorABuscar, variable2]), [loCaseInsensitive, loPartialKey]);

eudy.net 05-06-2007 06:16:52

Ayudaaaa
 
GRACIAS POR LA AYUDA. PERO LO QUE EN VERDAD NECESITO SABER ES DONDE ES QUE DEBO DE PONER :

Unit

DB

type
TLocateOption = (loCaseInsensitive, loPartialKey);
TLocateOptions = set of TLocateOption;

NO SE DONDE SE PONE ESO :( AYUDENME POR FAVOR
AYUDENME QUE ESO ES PARA AHORITA :(

roman 05-06-2007 07:56:12

No tienes que ponerlo en ningún lado, son tipos de datos que ya están declarados en la unidad db.pas. Si en lugar de desesperarte revisas con atención el ejemplo que te puso droguerman, verás que el LocateOptions no es algo que debas activar, sino que se trata de un parámetro que indica a Locate cómo hacer la búsqueda.

Y por favor, no repitas hilos.

// Saludos

Neftali [Germán.Estévez] 05-06-2007 10:57:39

Cita:

Empezado por roman
Y por favor, no repitas hilos.

Yo añadiría que por favor no escribas en mayúsculas; no hay ninguna razón para ello.
Revisa la Guía de estilo y recordarte que una búsqueda en los foros sobre locate te dará muchos hilos sobre el tema con mucho código de ejemplo.

zanyodark 08-06-2007 08:47:46

exacto como dicen el locate te devuelve un valor falso o verdadero, lo unico que tienes que hacer es declarar una variable (opcion:TLocateOptions;)
y donde vayas a utilizar el locate puede ser como esto...

ZTable1.Locate('Clave',Edit1.Text,opcion);
if ZTable1.Locate('Clave',Edit1.Text,opcion)=False then
Begin
ShowMessage('Escuela no encontrada, por favor escriba otra DPR');
Edit1.Clear();
Edit1.SetFocus();
end
else
Button8.Enabled:=True;
end;

donde clave es el nombre del campo en donde va a buscar, edit1.text de donde va a sacar lo que va a buscar. si es false quiere decir que no encontro y si es true es encontrado.

karlaoax 08-06-2007 18:17:30

Mira aqui te pongo un codigo que hice hace como 6 años, ahora todo lo manejo por query's, busca en el foro para que empieces a dominar delphi, por lo que veo utilizas Paradox, buena eleccion para empezar pero te recomiendo que leas mas acerca de Firebird y MySQL para que veas que existe un abismo entre Paradox y los otros 2 :D

Tenia un Edit (txtclave)
1 Table
1 datasource
En tu caso los DBedits que vayas a necesitar ;)

var
options:tlocateoptions;
clave:string;
begin
clave:=txtclave.Text;
// In this section I'm checking that someboby writes the Clave, to avoid show dates wrongs :D
if(clave='')then
begin
txtclave.Text:='Escribe tu codigo';
txtclave.SetFocus();
messagebox (handle,'Escribe la clave','Error',mb_ok);
end else
begin
// And in this section i begin to find the dates :D
if not table1.locate ('clave',txtclave.text,options) then begin
messagebox (handle,'Clave no existente','Information',mb_ok);
txtclave.Text:='Escribe de nuevo';
txtclave.SetFocus();

end
else begin

// Aqui pones tus campos de tu tabla
DBEdit1.DataField:='campo1';
DBEdit2.DataField:='campo2';
..... N campos
options:=[lopartialkey];
end;
end;

Atte: Karla :p

Neftali [Germán.Estévez] 11-06-2007 13:50:48

Usad TAG's cuando escribáis código Delphi, no es tan difícil...


La franja horaria es GMT +2. Ahora son las 03:30:31.

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