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 14-12-2008
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Para validar edits vacíos y que no te de error al convertirlos en entero basta con poner un 0 (cero) delante del texto a convertir:

.... auxiliar:= strtoint(Trim( '0' + LbSelectorCarton.Text))
Responder Con Cita
  #2  
Antiguo 16-12-2008
Loreiev Loreiev is offline
Miembro
 
Registrado: oct 2008
Posts: 14
Poder: 0
Loreiev Va por buen camino
Unhappy Sigue el error de edit vacío

Cita:
Empezado por fidel Ver Mensaje
Para validar edits vacíos y que no te de error al convertirlos en entero basta con poner un 0 (cero) delante del texto a convertir:

.... auxiliar:= strtoint(Trim( '0' + LbSelectorCarton.Text))
Hola, que tal? prové con eso de poner 0 pero tampoco funciona, sique saltando el error de que '' no es un valor entero válido.

Este error salta cuando cierro el formulario que muestra los cartones de lotería y te permite editarlos, al aceptar los cambios da error y marca el último close dentro de este procedimiento:

Código Delphi [-]
procedure TFrmCartones.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
 if MessageDlg('Desea guardar los cambios en el cartón?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
 begin
  if contfila then
  begin
   if not contnum then
   begin
    showmessage('El cartón debe tener 15 números',);
    exit;
   end
   else
   begin
    if not cartondistinto then showmessage('Ese cartón ya existe')
    else
    begin
     editformato;
     EditarCarton(0+lbNumeroCarton.Value);
    end;
   end;
  end;
 end;
 Close;
end;

El código de Editar cartón es:

Código Delphi [-]
Procedure EditarCarton (num:integer);
var
i,j,k,l:integer;
Begin
 k:=0;
 l:= num - 1;
 for i:=0 to 8 do
 begin
  for j:=0 to 2 do
  begin
   numerocarton[l,k]:= strtoint(frmCartones.GrillaCarton.Cells[i,j]) ;
   inc(k);
  end;
 end;
end;


Bueno, si necistás más información avisame. Porque yo sigo igual de perdida con esto.

Gracias por sus respuestas

Última edición por Loreiev fecha: 16-12-2008 a las 00:22:32. Razón: error de formato
Responder Con Cita
  #3  
Antiguo 16-12-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
cambia el "Close" donde te marca el error por "Action := caFree;"
__________________

Responder Con Cita
  #4  
Antiguo 17-12-2008
Loreiev Loreiev is offline
Miembro
 
Registrado: oct 2008
Posts: 14
Poder: 0
Loreiev Va por buen camino
Cita:
Empezado por ContraVeneno Ver Mensaje
cambia el "Close" donde te marca el error por "Action := caFree;"
Hola, prové lo que me dijiste pero sigue dando el mismo error, sólo que ahora marca la sentencia: Action := caFree;
Se te ocurre que puede ser?

Desde ya muchas gracias
Responder Con Cita
  #5  
Antiguo 17-12-2008
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
un 0 (cero) delante de un valor númerico no sirve para nada
EditarCarton(0+lbNumeroCarton.Value);

Tienes que ponerlo como caracter, entre comillas a la hora de
transformar el string a número para que si el edit estáa vacio
no de error al transformar un string vacio.
Creo que serría en esta línea.
numerocarton[l,k]:= strtoint('0' + frmCartones.GrillaCarton.Cells[i,j]) ;
Responder Con Cita
  #6  
Antiguo 18-12-2008
Loreiev Loreiev is offline
Miembro
 
Registrado: oct 2008
Posts: 14
Poder: 0
Loreiev Va por buen camino
Smile Resuelto el problema

Cita:
Empezado por fidel Ver Mensaje
un 0 (cero) delante de un valor númerico no sirve para nada
EditarCarton(0+lbNumeroCarton.Value);

Tienes que ponerlo como caracter, entre comillas a la hora de
transformar el string a número para que si el edit estáa vacio
no de error al transformar un string vacio.
Creo que serría en esta línea.
numerocarton[l,k]:= strtoint('0' + frmCartones.GrillaCarton.Cells[i,j]) ;
Efectivamente es como vos decís, me dí cuenta ayer que el problema no estaba donde yo pensaba (en el edit) sino en la línea

numerocarton[l,k]:= strtoint('0' + frmCartones.GrillaCarton.Cells[i,j])

donde aparecían valores nulos.

Muchas gracias a todos por sus aportes.

Saludos
Responder Con Cita
  #7  
Antiguo 12-01-2009
Avatar de miado
miado miado is offline
Miembro
 
Registrado: mar 2008
Posts: 28
Poder: 0
miado Va por buen camino
Smile algo sencillo

Puedes utilizar esto en el evento OnKeyPress del Edit;

procedure TForm1.DBEdit1KeyPress(Sender: TObject;
var Key: Char);
begin

if (StrScan('1234567890', Key) = nil) and (Key <> #8) then Key := #0;

end;
Responder Con Cita
  #8  
Antiguo 24-09-2010
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
hola reviviendo este hilo alguno de ustedes sabe en que pestaña encuentro el componente TjvValidateEdit, ya que instale la jedi y he buscado en todas las pestañas pero no lo ubico, gracias por sua tención

Última edición por microbiano fecha: 24-09-2010 a las 16:29:17. Razón: modificar emnsaje
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
Solo letras y numeros en edit oesteve OOP 30 28-06-2013 21:30:43
Validar numeros y letras en un Edit? danytorres Varios 12 12-11-2010 21:42:27
Validar Ingreso De Letras En Un Edit sdiaz1983 Varios 10 21-03-2008 01:16:33
Validar Edit solo Texto Elite237 OOP 13 28-07-2007 21:45:25
como se puede validar un edit para solo numeros carlos gonzalez Varios 3 30-09-2006 21:22:38


La franja horaria es GMT +2. Ahora son las 19:23:05.


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