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 21-07-2010
Lutmak Lutmak is offline
Registrado
 
Registrado: feb 2010
Posts: 6
Poder: 0
Lutmak Va por buen camino
como detectar edit vacio y no hacer nada?

Hola primero que nada gracias por entrar a tratar de ayudarme de nuevo.
Bueno pues veran deje lo poco que sabia de delphi por un tiempo asi que ahora lo poco que sabia se me olvido [que no era mucho pero bueno....]

bien vamos al punto veran necesito detectar un edit vacio en una operacion
es decir si tengo un edit1, edit2 y un button1 hacer que si detecta que el edit1 no tiene nada es decir que este en blanco no aga nada [cancele la operacion] y muestre un mensaje en pantalla como lo ago?
anterior mente me dijeron como hacer que si no tenia ciertos caracteres mandara un beep :P pero esto no tengo idea como hacerlo espero me puedan ayudar.
Hasta ahora llevo esto:

Código:
procedure TForm1.Calcular1Click(Sender: TObject);
begin
if Trim(edit1.text) = '' then
//aqui no se orden iria :S
end;

de antemano gracias
Responder Con Cita
  #2  
Antiguo 21-07-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
Es muy simple, hazlo al revés.

En vez de
Código:
procedure TForm1.CalcularClick(Sender: TObject);
begin
  if Edit1.text='' then
  // no hacer nada
end;
lo que puedes hacer es:
Código:
procedure TForm1.CalcularClick(Sender: TObject);
begin
  if not Edit1.text='' then
  // hacer lo que quieras
end;
Ah, yo añadiría un trim al Edit1, para que quitase los espacios en blanco de delante y detrás:
Código:
 procedure TForm1.CalcularClick(Sender: TObject);
 begin
   if not Trim(Edit1.text)='' then
   // hacer lo que quieras
 end;
Así, si lo único que hay en Edit1 es una cadena de espacios en blanco, tampoco hará nada.

Saludos,

Marc
Responder Con Cita
  #3  
Antiguo 21-07-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Otra forma...

Código Delphi [-]
procedure TForm1.CalcularClick(Sender: TObject);
 begin
   if Edit1.GetTextLen>0 then
   // hacer lo que quieras
 end;

Saludos
Responder Con Cita
  #4  
Antiguo 21-07-2010
Lutmak Lutmak is offline
Registrado
 
Registrado: feb 2010
Posts: 6
Poder: 0
Lutmak Va por buen camino
Bueno primero que nada les doy las gracias por la ayuda pero lo que no me queda claro es como cancelar que aga la operacion osea que el edit1+edit2 no pase el resultado al label1 si detecta que esta vacio un campo eso es lo que me falta espero me puedan ayudar a lo que me refiero es que orden iria en
// hacer lo que quieras, aqui es donde se da la orden de no hacer nada pero ¿como lo ago?

de antemano gracias
Responder Con Cita
  #5  
Antiguo 21-07-2010
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 Lutmak.

Si no te entiendo mal, lo que queres es que, si el Edit1 está vació no se complete la operación de asignar la concatenación a Label1, no ?

Si es así, sería:
Código:
procedure TForm1.Calcular1Click(Sender: TObject);
begin
   if Edit1.Text > '' then 
     Label1.Caption := Edit1.Text + Edit2.Text;
end;
Si deseas que no se realize la asignación si cualquiera de los Edit's está vacío, sería:
Código:
procedure TForm1.Calcular1Click(Sender: TObject);
begin
   if (Edit1.Text > '') and (Edit2.Text > '') then 
     Label1.Caption := Edit1.Text + Edit2.Text;
end;
Espero haberte entendido.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 23-07-2010
Lutmak Lutmak is offline
Registrado
 
Registrado: feb 2010
Posts: 6
Poder: 0
Lutmak Va por buen camino
muchas gracias a todos encontre la solocion a mi problema con ayuda de ustedes!
gracias

aqui dejo el code por si alguien mas en algun futuro la nesesitara..
Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if edit1.text ='' then
 begin
   beep;
   statictext1.Caption :=#0;
   showmessage ('ingrese un valor valido');
 end else
 if edit2.text ='' then
 begin
   beep;
   statictext1.Caption :=#0;
   showmessage ('ingrese un valor valido');
 end else

 statictext1.Caption :=floattostr ( strtofloat (edit1.text)+ strtofloat (edit2.text));

end;
end.
Responder Con Cita
  #7  
Antiguo 23-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
uses MMSystem;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if edit1.text ='' then
 begin
   sndPlaySound('C:\Windows\Media\windaVinciClose.wav',
  SND_NODEFAULT Or SND_ASYNC Or SND_LOOP);
   statictext1.Caption :=#0;
   showmessage ('ingrese un valor valido');
 end else
 if edit2.text ='' then
 begin
   sndPlaySound('C:\Windows\Media\windaVinciClose.wav',
  SND_NODEFAULT Or SND_ASYNC Or SND_LOOP);
   statictext1.Caption :=#0;
   showmessage ('ingrese un valor valido');
 end else

 statictext1.Caption :=floattostr ( strtofloat (edit1.text)+ strtofloat (edit2.text));

end;
end.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 23-07-2010
Avatar de Jac fcc
Jac fcc Jac fcc is offline
Miembro
 
Registrado: ene 2010
Posts: 33
Poder: 0
Jac fcc Va por buen camino
yo agregaría al codigo de Caral el trim usado por mcs.
Código Delphi [-]
if Trim(edit1.text)='' then
...
 if Trim(edit2.text)='' then
...

pues si el usuario se le ocurre oprimir la barra espaciadora,
no se cumple la igualdad.
Incluso el usar GetTextLen no se cumpliría,
pues se tendría longitud uno, dos, ...(por cada espacio)
aunque sean espacios blancos.
__________________
Para una vida sana hay que ocupar 30 de 24hrs diarias...Ups!
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
¿como hacer un incremental en un edit? Nelly Varios 3 18-09-2007 20:18:42
¿Como puedo hacer que aumente el valor de un edit? Nelly Varios 7 18-04-2007 05:33:27
de un form a otro sin hacer nada ? mainau Varios 5 26-07-2004 19:32:35
Como Saber Si Dbedit O Edit Esta Vacio mainau Varios 5 17-07-2004 12:42:04
Como hacer un Hook Para detectar internet carlosmoralesm Internet 1 03-04-2004 10:40:34


La franja horaria es GMT +2. Ahora son las 03:05:21.


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