Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   problema con locate (https://www.clubdelphi.com/foros/showthread.php?t=44321)

anubis 04-06-2007 03:12:20

problema con locate
 
Buenas. Sigo con problemas, sorry.
tengo un recuadro donde meto un usuario y una contraseña, lo primero es buscar el usuario para posicionarse en el registro en cuestion con esta linea
Código Delphi [-]

datausuarios.tablasusuarios.Tusuario.locate('Usuario',usuario.Text,[loPartialKey]);
le paso usuario.text para localizar el registro, esto es correcto?, encontrarmelo me lo encuentra, pero si le meto uno que no existe me devuelve el primero de la tabla pero quiero la posibilidad que me devuelva un valor d eno encontrado.

Se puede hacer con locate?

ya puestos, tengo un datamodule, con el datasource y la tabla, hay alguna manera de no tener que repetir cada vez que quiera acceder a la tabla de ese datamodule sin tener qu eescribir toda la linea hasta llegar a la tabla?

gracias

anubis 04-06-2007 03:27:46

lo he solucionado asi, nose si es ortodoxo, una ayudita plis.

Código Delphi [-]
procedure Tfsegur.entrar1Click(Sender: TObject);
BEGIN
  with datausuarios.tablasusuarios do
    begin
      tusuario.Locate('Usuario',usuario.Text,[]);
        if (tusuario.FieldByName('Usuario').AsString)=usuario.Text then
          begin
          if (tusuario.fieldbyname('Clave').AsString)=contra.text then
            begin
            visualizaentrada;
            tusuario.close;
            end
          else
            begin
              showmessage('La contraseña no es correcta');
              contra.Text:='';
            end
          end
        else
          begin
            showmessage('el usuario no existe');
            usuario.text:=''
          end;
  end;
end;

Alguien me puede decir si esto puede ser correcto?, si se deben hacer asi las cosas?

marcoszorrilla 04-06-2007 07:58:04

Cita:

This function returns False, indicating that a matching record was not found and the cursor is not repositioned.
Código Delphi [-]
If datausuarios.tablasusuarios.Tusuario.locate('Usuario',usuario.Text,[loPartialKey])then
ShowMessage('Encontrado.')
Else
ShowMessage('No encontrado.');

Un Saludo.

anubis 04-06-2007 22:20:07

gracias marcos, asi por lo menos tengo mas referencias ;)

eudy.net 05-06-2007 05:50:15

Urgente Auxilio .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
Código Delphi [-]
DB

type
  TLocateOption = (loCaseInsensitive, loPartialKey);
  TLocateOptions = set of TLocateOption;
SE LO AGRADECERIA EN EL ALMA

ATT. EUDYNET

anubis 05-06-2007 06:52:57

poco te puedo ayudar, pero lo que me han explicadoaqui en los foros y he entendido es esto:
Código Delphi [-]
table1.locate('Usuario',usuario.Text,[loPartialKey]);
El locate sirve para buscar registros. En este caso, si buscas un usuario que se llama
pepe que esta almacenado en usuario.text, lo que realiza es una busqueda
al primer registro que contenga pepe, de ahi lo de lopartialkey, pero tambien puedes poner
loCaseInsensitiveen vez de lopartialkey.
La primera sirve para que le de igual que este en mayusculas o minusculas y la segunda permite buscar
cadenas de claves parciales, esto es, si quieres buscar pe, te encuentra el primer registro
que contenga la cadena pe.

Como nota adicional fijate en lo que pone marcoszorrilla, que sirve para el caso que lo encuentre o no lo encuentre.

Resumiendo, en el locate puedes poner lo que esta en rojo o locaseinsensitive o no poner nada y dejar los corchetes [].

espero haberte aclarado algo sino te lo aclaro mas hasta donde voy aprendiendo.

un saludo


La franja horaria es GMT +2. Ahora son las 09:35:57.

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