Club Delphi  
    Paypal   FTP   CCD     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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-07-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Bueno, no se si al amigo DOS le funciona, pero a mi definitivamente no me funciona el codigo del amigo Chris, evidentemente no lo reviso, eso pasa.
Aqui te dejo el codigo que hice (presiona el boton Caral) y el codigo de Chris (presiona el boton Chris), asi entenderas mejor el concepto y la diferencia.
Esto esta hecho con BD access, pero es lo mismo, para que funcione en tu programa simplemente cambia donde veas ADOTABLE1 por Table1 y listo, copia y pega.
Saludos
PD: pruebalo con estos:
usuario ( caral )
clave ( car )
Puedes equivocarte tanto en la clave como en el usuario.
__________________
Siempre Novato

Última edición por Caral fecha: 31-07-2011 a las 20:25:15.
Responder Con Cita
  #2  
Antiguo 31-07-2011
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 15
DOS Va por buen camino
Thumbs up

Bueno, Caral, no quiero que se cree una polemica o una pelea entre ustedes muchachos, Le agradesco la ayuda a ambos. En cuanto al programa puedo decir que Chris esta dentro de lo que conosco del lenguaje para tratar de encontrar la solucion, pero, si es verdad que no corre bien, talvez sea la parte del contador.
En cuanto al de Caral, sin dudas funciona, pero hay parte del lenguaje que todavia no he visto y se muy bien que se puede hacer con lo poco que se, sin dudas no sera algo optimo, pero es lo que tengo que realizar.
Nuevamente muchas gracias por sus molestias e interes, que no he visto en ningun otro foro.
Responder Con Cita
  #3  
Antiguo 31-07-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
No es pelea ni polémica amigo, para nada, si bien es cierto yo no soy programador y Chris lo sabe, solo trato de hacer los ejemplos y probarlos, con mi poco conocimiento.
Con relacion a lo que sabes o lo que quieres usar es lo mismo.
Si te fijas bien en los dos codigos veras las diferencias, por eso puse los dos.
1- Filtrar, eso no es un problema, si quieres recorrer la tabla hazlo, no hay problema.
2- varables por cada edit, si lo quieres poner no hay problema.
3- revisar tanto el usuario como la clave con un solo IF, esto si que no me parece correcto ya que deberias dar la oportunidad del error en cada uno.
4- crear o devolver el foco solo a edit1 aunque sea la clave la del error me parece una equivocación, pero de que se puede se puede.
5- Mostrar el form2 directamente no es conveniente, es mejor crearlo y luego destruirlo.
Como dije, no es pelea o polemica ni tampoco ver cual es el mejor codigo, solo es mostrar las diferencias.
No puedo y eso lo tengo claro, competir contra un programador como Chris, pero tampoco lo quiero, solo trato de ayudar.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 31-07-2011
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 15
DOS Va por buen camino
Gracias Caral, mañana, un poco mas despierto y descansado reelere los codigos y vere que pasa, saludos.
Responder Con Cita
  #5  
Antiguo 31-07-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Ya que entiendes mejor el codigo del amigo Chris veamos en lo que falla.
1- la variable que va sumando los intentos hay que declararla global, osea en donde se declara el form, aqui:
Código Delphi [-]
var
  Form1: TForm1;
  Intentos: Integer;

implementation
Por que?, por que si se declara en el mismo procedimiento no suma, aquí el valor se suma.
2- Cuando la clave y el usuario son correctos el form 2 se abre, PERO al cerrarse el programa se cuelga, no se cierra, queda el form 1 ahi, pero no se ve, hay que eliminar el form 2 y cerrar el programa.
Aqui te dejo el codigo, copialo y pegalo, ya esta probado.
Código Delphi [-]
var
    apellido, contrasena: String;
    ClaveCorrecta: Boolean;
begin
    apellido := Edit1.Text;
    contrasena := Edit2.Text;
    ClaveCorrecta := False;
    edit1.Clear;
    edit2.Clear;
    Table1.First;
    edit1.SetFocus;
    
    while Table1.eof = false do
    begin
        if (Table1.FieldByName('Usuario').AsString = apellido) and
           (Table1.FieldByName('Clave').AsString = contrasena) then
        begin
        try
        Form1.Visible:= False; // aqui se esconde el form 1
        Form2.ShowModal;  // aqui se muestra el form 2
        finally
        Form2.Free;  // aqui se elimina el form 2
        Application.Terminate;  // aqui termina el programa
        end;
        end;
        Table1.Next;
    end;
    if not ClaveCorrecta then
    begin
        ShowMessage('Clave o Nombre Incorrectos');
        Inc(Intentos);
        if Intentos >= 4 then
        begin
        ShowMessage('Adios!');
        Application.Terminate;
        end;
    end;

end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 31-07-2011
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 15
DOS Va por buen camino
Hola Caral
Debo decir que el programa funciona de maravillas, si bien todavia no vi el TRY y Finally, debe ser un poco mas avanzado a lo que vimos hasta ahora, seguramente para ti debe ser como tratar de que con las herramientas de un cavernicola trates de programar, asi que muchisimas gracias.
Responder Con Cita
  #7  
Antiguo 31-07-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
El asunto con el try y finally es que tal como dice en español:
Try = trata de.
finally = finalmente haz.
Osea, al llamar a lo que sea, un procedimiento un form etc. lo que se intenta es que TRATE de hacerlo y una vez que lo haga termina o FINALIZA el proceso anterior.
Saludos
__________________
Siempre Novato
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
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
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
Consulta sobre App MDI MaMu OOP 4 15-07-2007 21:30:15
Consejo sobre uso de contraseña. alfredosg19 Varios 2 08-03-2005 14:22:43
consulta sobre .ini bytecero Varios 2 02-02-2005 21:01:09


La franja horaria es GMT +2. Ahora son las 15:01:33.


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
Copyright 1996-2007 Club Delphi