Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2012
Demarck Demarck is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 10
Poder: 0
Demarck Va por buen camino
Abrir form acorde a contraseña

Bueno mi duda es esta:

Tengo 2 Fomularios (Form1, Form2), en el Formulario1 tengo un Edit y un Botón, y en formulario 2 no tengo nada xD !

Pero bueno la cosa es así, yo le puse una Contraseña al boton para que al Escribir esa contraseña dentro del Edit1 me salga un MessageBox que diga, "Contraseña Correcta" y me abra el Form2.

Y si la Contraseña no es Correcta que me salga un MessageBox que dia, "Contraseña Incorrecta" y que regrese al Form1 hasta que no atine la Contraseña Correcta.


Y bueno yo estuve intentando y si me sale, pero al poner una Contraseña Incorrecta si me sale ese mensaje pero se abre el Form2 y eso no quiero yo, sino que si no es la Contra que se quede en el Form1 y si es la correcta abrir el form2, eso si, ocultando el Form1.

Código Delphi [-]
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if edit1.Text = ('') then
messagebox(0,
PChar('Contraseña Incorrecta'),
PChar('Aviso'),
MB_OK)

else
if edit1.Text = ('Esta es la Contraseña') then
messagebox(0,
PChar('Contraseña Correcta'),
PChar('Bienvenido'),
MB_OK);
form1.Hide;
Form2.Show;
end;

Edit:

Verdad, también quier que al poner un messagebox me salga con un estilo de mensaje, osea por ejemplo un Estilo Critical ...
Si la contraseña esta mal que Diga, "Contraseña Incorrecta" pero con Estilo de Error o Critical como se llame :$

Última edición por Demarck fecha: 12-03-2012 a las 18:53:46.
Responder Con Cita
  #2  
Antiguo 12-03-2012
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 Demark y bienvenido a Club Delphi.

Como a todo recién ingresado te invitamos a que leas nuestra guía de estilo. (en especial el punto 1)

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 12-03-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Hola,

bienvenido al club.

Con respecto a lo que preguntas, si el form1 es el formulario principal de la aplicación no puedes hacerlo desaparecer a no ser que lo destruyas y pases el testigo de formulario principal al Form2, creo que es así sino ya me corregirán, te faltan los begin-end en el if y en el else y para poner iconos de advertencia, o exclamación, etc. haz lo siguiente.

Código Delphi [-]
application.messagebox('Hola','Saludo',MB_OK+MB_ICONWARNING);

MB_ICONEXCLAMATION, MB_ICONERROR, MB_ICONQUESTION son algunos de los que puedes poner.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #4  
Antiguo 12-03-2012
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 de nuevo.

Para que funcione tu código tendrías que salir del procedimiento si se cumple la condición Edit1.Text = '' :
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Edit1.Text = '' then
  begin
    messagebox(0,
      PChar('Contraseña Incorrecta'),
      PChar('Aviso'),
      MB_OK);
      Exit;  // <- Salir
  end
  else if Edit1.Text = ('Esta es la Contraseña') then
  begin
    messagebox(0,
      PChar('Contraseña Correcta'),
      PChar('Bienvenido'),
      MB_OK);
      Hide;
      Form2.Show;
  end;
end;

Aunque creo que sería mejor:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Edit1.Text <> 'Esta es la Contraseña' then
    messagebox(0,
      PChar('Contraseña Incorrecta'),
      PChar('Aviso'),
      MB_OK)
  else
  begin
    messagebox(0,
      PChar('Contraseña Correcta'),
      PChar('Bienvenido'),
      MB_OK);
      Hide;
      Form2.Show;
  end;
end;

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 12-03-2012 a las 19:07:17.
Responder Con Cita
  #5  
Antiguo 12-03-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Un punto a agregar, que creo que estaba en la Guía de Estilo pero ya no lo está: Aquí no hacemos tareas.

Sin dudarlo, creo que esta es una tarea que tienes que presentar en unas horas, por eso de tu urgencia.

No te expondré el código que solucionaría tu problema. Si lo hiciera realmente no te estuviera ayudando. Pero te voy a decir cuál es el problema porque sé que estos dolores de cabeza al iniciarte en la programación son muy molestos.

Solución: La condicional no está cumpliendo con lo esperado porque cierto código no está dentro de ella.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #6  
Antiguo 12-03-2012
Demarck Demarck is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 10
Poder: 0
Demarck Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola Demark y bienvenido a Club Delphi.

Como a todo recién ingresado te invitamos a que leas nuestra . (en especial el punto 1)

Saludos.
Disculpa, como sabes soy nuevo y no sabía, si pudeses cambiar el Nombre a uno más Específico ya que yo no se que título poner te lo agradecería.

Cita:
Empezado por ElDioni Ver Mensaje
Hola,

bienvenido al club.

Con respecto a lo que preguntas, si el form1 es el formulario principal de la aplicación no puedes hacerlo desaparecer a no ser que lo destruyas y pases el testigo de formulario principal al Form2, creo que es así sino ya me corregirán, te faltan los begin-end en el if y en el else y para poner iconos de advertencia, o exclamación, etc. haz lo siguiente.

Código Delphi [-]
application.messagebox('Hola','Saludo',MB_OK+MB_ICONWARNING);

MB_ICONEXCLAMATION, MB_ICONERROR, MB_ICONQUESTION son algunos de los que puedes poner.

Saludos.
Bueno el Form1 si es el Principal, y no lo quiero desaparecer, sólo Ocultarlo con el "hide;" y por el otro lado de que me faltan begin-end, no falta nada ya que si pongo eso me salta errores.
Responder Con Cita
  #7  
Antiguo 12-03-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por Demarck Ver Mensaje
Verdad, también quier que al poner un messagebox me salga con un estilo de mensaje, osea por ejemplo un Estilo Critical ...
Si la contraseña esta mal que Diga, "Contraseña Incorrecta" pero con Estilo de Error o Critical como se llame :$
A menos que un tonto profesor te lo halla pedido, una contraseña incorrecta no es un error ni mucho menos representa un estado crítico. De hecho, pocas cosas son críticas en el mundo virtual. Mi consejo: Si vas a utilizar un icono, utiliza el de información para este caso. Por estas malas prácticas es que después dicen que los programadores no sabemos de usabilidad.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #8  
Antiguo 12-03-2012
Demarck Demarck is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 10
Poder: 0
Demarck Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola de nuevo.

Para que funcione tu código tendrías que salir del procedimiento si se cumple la condición Edit1.Text = '' :
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Edit1.Text = '' then
  begin
    messagebox(0,
      PChar('Contraseña Incorrecta'),
      PChar('Aviso'),
      MB_OK);
      Exit;  // <- Salir
  end
  else if Edit1.Text = ('Esta es la Contraseña') then
  begin
    messagebox(0,
      PChar('Contraseña Correcta'),
      PChar('Bienvenido'),
      MB_OK);
      Hide;
      Form2.Show;
  end;
end;

Aunque creo que sería mejor:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Edit1.Text <> 'Esta es la Contraseña' then
    messagebox(0,
      PChar('Contraseña Incorrecta'),
      PChar('Aviso'),
      MB_OK)
  else
  begin
    messagebox(0,
      PChar('Contraseña Correcta'),
      PChar('Bienvenido'),
      MB_OK);
      Hide;
      Form2.Show;
  end;
end;

Saludos.
Exacto justo lo que buscaba, muchas Gracias

Cita:
Empezado por Chris Ver Mensaje
Un punto a agregar, que creo que estaba en la Guía de Estilo pero ya no lo está: Aquí no hacemos tareas.

Sin dudarlo, creo que esta es una tarea que tienes que presentar en unas horas, por eso de tu urgencia.

No te expondré el código que solucionaría tu problema. Si lo hiciera realmente no te estuviera ayudando. Pero te voy a decir cuál es el problema porque sé que estos dolores de cabeza al iniciarte en la programación son muy molestos.

Solución: La condicional no está cumpliendo con lo esperado porque cierto código no está dentro de ella.
Bueno puse de suma urgencia porque estoy empleando un proyecto y ese error me lleva desde hace 2 días y dentro de un rato tengo que ir a Estudiar y no era para un trabajo, ya que no estudio Programación.
Responder Con Cita
  #9  
Antiguo 12-03-2012
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Chris Ver Mensaje
A menos que un tonto profesor te lo halla pedido, una contraseña incorrecta no es un error ni mucho menos representa un estado crítico. De hecho, pocas cosas son críticas en el mundo virtual. Mi consejo: Si vas a utilizar un icono, utiliza el de información para este caso. Por estas malas prácticas es que después dicen que los programadores no sabemos de usabilidad.
Coincido con tu comentario amigo Chris, es más yo sostengo que en sistemas no hay errores, sólo requerimientos incompletos

Saludos
Responder Con Cita
  #10  
Antiguo 12-03-2012
Demarck Demarck is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 10
Poder: 0
Demarck Va por buen camino
Cita:
Empezado por Chris Ver Mensaje
A menos que un tonto profesor te lo halla pedido, una contraseña incorrecta no es un error ni mucho menos representa un estado crítico. De hecho, pocas cosas son críticas en el mundo virtual. Mi consejo: Si vas a utilizar un icono, utiliza el de información para este caso. Por estas malas prácticas es que después dicen que los programadores no sabemos de usabilidad.
Bueno como te digo, no estudio progamación por ende ningún "Profesor" me ha pedido nada, y si lees bien
yo puse que me salga un Estilo de mensaje por ejemplo estilo de Error.
Responder Con Cita
  #11  
Antiguo 12-03-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por Demarck Ver Mensaje
Bueno como te digo, no estudio progamación por ende ningún "Profesor" me ha pedido nada, y si lees bien
yo puse que me salga un Estilo de mensaje por ejemplo estilo de Error.
No, no te ofendas compañero. Me imaginé que estabas empezando en esto por el problema que planteaste y por el código sin identación que compartiste. Además de ser tu primer mensaje. Pero bueno, bien dicen que todo no es lo que parece

Según leí bien, querías mostrar el mensaje junto a un icono de error o icono crítico. Es por eso que te sugerí que evitarás hacer esto porque una contraseña incorrecta no es un error ni algo crítico. Es simplemente, una contraseña incorrecta.

Saludos!
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #12  
Antiguo 13-03-2012
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Cita:
Empezado por Demarck Ver Mensaje
Bueno el Form1 si es el Principal, y no lo quiero desaparecer, sólo Ocultarlo con el "hide;" y por el otro lado de que me faltan begin-end, no falta nada ya que si pongo eso me salta errores.
Si te fijas en el código que has cogido de ecfisa y que dices que te funciona, verás que si que tienen los begin y los end en las condiciones del if y del else que son los que yo te indicaba que te faltaban en tu código, no se porque dices que te daban error si los ponías.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
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
Abrir Form sin Pop Up.?? vagobiker Varios 5 20-12-2010 17:24:05
Abrir una Carpeta con contraseña Chogo API de Windows 14 21-02-2009 21:38:47
Form con usuario y contraseña nenufer Varios 3 19-05-2006 11:37:35
Contraseña en inicio de un form + MySQL Maury Manosalva OOP 1 05-05-2006 22:23:15
Ingreso al form mediante contraseña o sin ella Pablo Carlos Varios 2 25-07-2005 17:53:15


La franja horaria es GMT +2. Ahora son las 16:26:23.


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