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 01-06-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 20
gontxalo Va por buen camino
Form de registro (rellenar todos los edit)

Hola.
Tengo un Form, (vcl) el cual es de registro de usuarios. Tengo varias cajas de Edit (nombre, apellidos, e-mail ........).
Como puedo hacer para que si el usuario que se registra no rellena alguno de las cajas edit, que al dar al botón de registrar, salte otro form que diga por ejemplo: rellene todos los campos.

Gracias
Responder Con Cita
  #2  
Antiguo 01-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Para aquellos cajas que sean obligatorias ponle en la propiedad tag un 1 (por ejemplo). Despues realiza un bucle con Form1.Components[i] y si el tag es 1, y la caja está vacia (edit1.text='') añades el Hint a un String que se mostrará despues en el ShowMessage.

El mensaje final, mostrará "Por favor, rellene los siguientes campos: Nombre direccion"

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 01-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Algo menos elaborado, pero mas sencillo si sos novato es:

Código Delphi [-]
Function TForm1.ValidarDatos : Boolean;
Var
  s : Mensaje;

Begin
  s := '';
  if Trim(EditNombre.Text) = '' Then
    s := s + '[Nombre] ';
  if Trim(EditApellido.Text) = '' Then
    s := s + '[Apellido] ';
  ....
  if s <> '' Then
    ShowMessage('Error: Debe rellenar los siguientes campos: ' + s);
  result := s = '';
end;

//luego simplemente llamas a la función ValidarDatos

Procedure TForm1.BtnGrabarClick(Sender : TObject);

Begin
  if ValidarDatos Then
    Graba;
end;

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 02-06-2005
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Hola:

Puedes poner en el evento OnExit del primer edit que quieres que no quede vacío una información general que diga algo así como:

If edit1.text := '' then ShowMessage('No se puede dejar vacio, ponga algún dato');

y conectar este procedimiento en el evento OnExit de todos los demás edits que no quieres que queden vacíos.

Un saludo.
Responder Con Cita
  #5  
Antiguo 02-06-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
saludos
Código Delphi [-]
procedure cualquiera;
var
  n:integer;
begin
  for n:= 0 to componentcount-1 do
    if components[n] is tedit then
      if tedit(components[n]).Text = '' then 
         ShowMessage('No se puede dejar vacio, ponga algún dato');
end;
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #6  
Antiguo 02-06-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 20
gontxalo Va por buen camino
Me he adelantado creo.

Hola
Gracias.
Lo dejo para más adelante.
Creo que me he adelantado.
No tengo las bases de datos...... hechas ni nada y creo que tiene que estar primero funcionando el botón con la orden grabar a datos antes de ponerle lo de las cajas vacías.

Estoy estudiando las bases de datos así que guardo estos mensajes para cuando este en funcionamiento poder ponerlo.
Responder Con Cita
  #7  
Antiguo 02-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Si es una aplicación de bases de datos, basta poner la propiedad Required de los TField a true.

hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 03-06-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 20
gontxalo Va por buen camino
Funciona

Gracias.
Lo he probado de todas las maneras en form nuevo para probar y me funciona bien.
Gracias a todos.
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


La franja horaria es GMT +2. Ahora son las 11:39:27.


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