Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-08-2011
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Question Ayuda con un codigo de cambio de clave.

Hola a todos, de nuevo preguntando por aqui.
Tengo que hacer este ejercicio, crear una tabla en paradox, con nro, clave y usuario. El sistema me debe permitir cargar usuario, contraseña o clave, ingresar una nueva clave y confirmarla, si hay algun error enviar un mensaje sino modificar la clave de la tabla.
Mis conocimientos son basicos, y el codigo que les muestro, tambien lo es, se muy bien que debe haber mejores formas y comandos para hacer lo que necesito, pero quien me pueda ayudar, le pediria que se mantenga dentro de esos parametros, para poder yo entenderlo, gracias.
Código Delphi [-]
procedure TForm3.Button2Click(Sender: TObject);
var
    apellido, contrasena, newclave, clavebis: String;
   
begin
    apellido := Edit1.Text;    // apellido
    contrasena := Edit2.Text;  // clave antigua
    newclave:= Edit3.Text;     // nueva clave
    clavebis:= Edit4.text;  //  repite nueva clave
    
    edit1.Clear;                 //  limpio los edit
    edit2.Clear;
    edit3.Clear;
    edit4.Clear;
    Table1.First;
    edit1.SetFocus;       // lo focaliso en el primer edit
    
    while Table1.eof = false do     //  corro la tabla
    begin             //comparo el apellido y la clave
        if (Table1.FieldByName('Apellido').AsString = apellido) and
           (Table1.FieldByName('Clave').AsString = contrasena) then
            if  newclave = clavebis then    //comparo las nuevas claves
                begin        //Modifico la clave
                  table1.Edit;
                  table1.FieldByName('Clave').AsString:=newclave;
                  table1.Post;
                  table1.Next;
                 end
             else
               ShowMessage('Clave o Nombre Incorrectos');
     end;

end;

end.

El programa me tira error no cuando lo compilo sino cuando lo corro.

Última edición por DOS fecha: 05-08-2011 a las 02:35:48.
Responder Con Cita
  #2  
Antiguo 05-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
1- Cual error.
2- Esto no se ha visto en el foro últimamente muchas veces ?
Sera un dejavú ?????.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 05-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
A ver:
1- Tienes un usuario y una clave en la tabla.
2- Una vez que el usuario y la clave son correctos el programa tiene que poder MODIFICAR la clave de ese usuario.
Es asi o entiendo mal ?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 05-08-2011
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
El error dice sos un pelo"@~$po te olvidaste de activar la tabla.
Era para ver si estabas atento Caral, me volvi loco durante un par de dias y cuando preguntaste, cual error?, me pregunte lo mismo y ahi me di cuenta. Saludos y perdonen a este newbie.
Responder Con Cita
  #5  
Antiguo 05-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pues esto se puede llamar ''un caso auto resuelto''
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 05-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola DOS.

Una observación sobre el código que tarde o temprano te dará un dolor de cabeza:
Si no sacas el Table1.First; de dentro del condicional (if newclave = clavebis then), sólo va a cambiar la clave si el dato buscado corresponde al primer registro y luego sea este caso o no, el programa va quedar frizado...

Mejor sería:
Código Delphi [-]
...
  while Table1.eof = false do     //  corro la tabla
  begin 
     if ...
       if ...
       begin
          ...
       end;
     Table1.Next;
  end;
Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 05-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Cita:
Empezado por ecfisa Ver Mensaje
.........
Si no sacas el Table1.First; de dentro del condicional (if newclave = clavebis then), ..........

Código Delphi [-]
...
  while Table1.eof = false do     //  corro la tabla
  begin 
     if ...
       if ...
       begin
          ...
       end;
     Table1.Next;
  end;

Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 05-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Errare humanum est, la intención fue buena...

Edito: Ya hacía rato que no me mandaba una...
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 05-08-2011 a las 03:48:08.
Responder Con Cita
  #9  
Antiguo 05-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Cámbialo, que para eso eres moderador..
Aprovéchate del poder...
Lo que pasa es que sigo tus pasos amigo.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #10  
Antiguo 05-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Lo que pasa es que sigo tus pasos amigo.
Realmente me halaga, no creo ser merecedor de tanta antención...

Un abrazo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 05-08-2011
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Ok, gracias ecfisa, le realice alguna modificacion.

Código Delphi [-]
 Lo mismo de antes +
  if  newclave = clavebis then    //comparo las nuevas claves
  begin        //Modifico la clave
    table1.Edit;
    table1.FieldByName('Clave').AsString:=newclave;
    table1.Post;
    table1.Next;
    if application.messagebox('la clave a sido cambiada correctamente'+
          ', ¿desea volver al menu principal?',
          'consulta',MB_OKcancel+MB_iconquestion)=IDOK then
    begin
      form3.Hide;
      form2.Show;
    end;
  end
  else
    ShowMessage('Clave o Nombre Incorrectos');
end;
end.

El problema ahora es si ingreso mal un dato, despues de aparecer el mensaje de clave incorrecta, se cuelga ahi.

Última edición por ecfisa fecha: 05-08-2011 a las 04:27:20. Razón: Corregir identación
Responder Con Cita
  #12  
Antiguo 05-08-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
A los Maestros hay que seguirlos amigo.
Si no, como se aprende.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #13  
Antiguo 05-08-2011
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Juro que no toque nada no se porque sale horizontal, ya lo edite

Última edición por DOS fecha: 05-08-2011 a las 04:10:36. Razón: Aca hay muchos maestros y algunos Newbie(yo)
Responder Con Cita
  #14  
Antiguo 05-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola DOS.

En realidad me referería a que movieras la línea así:
Código Delphi [-]
...
    while Table1.eof = false do     //  corro la tabla
    begin             //comparo el apellido y la clave
      if (Table1.FieldByName('Apellido').AsString = apellido) and
         (Table1.FieldByName('Clave').AsString = contrasena) then
          if  newclave = clavebis then    //comparo las nuevas claves
          begin        //Modifico la clave
            table1.Edit;
            table1.FieldByName('Clave').AsString:=newclave;
            table1.Post;
            //  table1.Next;  --> De aquí
          end
          else
            ShowMessage('Clave o Nombre Incorrectos');
       table1.Next; // < --- A esta posición
    end;
...
(Tomando en cuenta el primer código)

Un saludo.

Nota: Ya corregí la identación del mensaje #11 ( creo que a eso te referías ).
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 05-08-2011 a las 05:08:11.
Responder Con Cita
  #15  
Antiguo 09-08-2011
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Muchas gracias y disculpen la tardanza en responder.
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
Cambio de Color de una linea de codigo en Delphi IDE elopezf OOP 3 28-06-2007 12:01:36
Cambio de linea al mandar un email por codigo. alt126 C++ Builder 1 08-11-2005 12:46:07
Cambio clave de usuario del foro clubdelphi Cabanyaler Varios 1 08-11-2005 09:30:41
Extraer datos de una pagina en java que tiene clave (sabiendo la clave claro) ;) kalimocho Internet 2 29-06-2005 05:11:24
Ayuda Con Clave Primaria pablo2244 MySQL 4 30-05-2005 21:49:01


La franja horaria es GMT +2. Ahora son las 17:11:06.


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