Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2010
mezli mezli is offline
Registrado
 
Registrado: may 2010
Posts: 1
Poder: 0
mezli Va por buen camino
Unhappy Validar Introduccion De Datos

hola a todos tengo una aplicacioncita, donde introduzco algunos datos, y quiero validar que no pase ninguno vacio, o sea "". si alguno de los campos esta asi y se presiona el boton, que se muestre un msg y que el focus vuelva al campo correspondiente... hice un disparate mas o menos asi... if(edtNombre->Text=="") MessageDlg(msg, mtInformation, TMsgDlgButtons() SetFocus(); return; if(edtCodigo->Text=="") MessageDlg(msg, mtInformation, TMsgDlgButtons() SetFocus(); return; y no me sirve.... lo estoy haciendo en el event OnClick del boton "Aceptar" please... acepto cualquier sugerencia!!! muchas gracias...
Responder Con Cita
  #2  
Antiguo 02-06-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Hola mezli.

Procura utilizar las etiquetas de código, así se entenderá mejos el código que escribas.

Trata de hacerlo así:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    if(edtNombre->Text == ""){
      ShowMessage("No introdujo datos");
      edtNombre->SetFocus();
    }
}
Saludos.
Responder Con Cita
  #3  
Antiguo 03-06-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 20
mcs Va por buen camino
en C, para comparar cadenas no puedes usar el signo ==, ya que te mira si la dirección de memoria de la variable edtNombre->Text tiene la misma dirección que la cadena "".

Para comparar cadenas, puedes usar la función strcmp(cad1, cad2), o para mirar si la cadena es vacía usar strlen(cadena).

O sea, tu codigo tendría que ser:

if(strlen(edtNombre->Text)==0){
...
}
Responder Con Cita
  #4  
Antiguo 03-06-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por mcs Ver Mensaje
en C, para comparar cadenas no puedes usar el signo ==, ya que te mira si la dirección de memoria de la variable edtNombre->Text tiene la misma dirección que la cadena "".

Para comparar cadenas, puedes usar la función strcmp(cad1, cad2), o para mirar si la cadena es vacía usar strlen(cadena).

O sea, tu codigo tendría que ser:

if(strlen(edtNombre->Text)==0){
...
}
En C no, pero en C++....

El tema es que edtNombre->Text no es una cadena tipo char* o char[] sino un objeto de la clase String que tiene definido el operador == con lo que puedes comparar cadenas tipo String perfectamente.

Saludos.
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
Ayudas Problemas introduccion base de datos j_flores3000 OOP 4 13-11-2008 16:33:20
validar datos de un campo GustavoCruz SQL 2 12-07-2007 18:55:04
validar datos en TEdit Luli Varios 1 26-01-2005 02:35:45
Introduccion datos en IB mediante DBedit tomasgarcia Firebird e Interbase 2 09-07-2004 17:46:08
Validar datos en dbgrid jgutti Varios 1 08-09-2003 23:49:23


La franja horaria es GMT +2. Ahora son las 22:29:53.


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