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 11-02-2019
tarco35 tarco35 is offline
Miembro
 
Registrado: sep 2003
Posts: 210
Poder: 21
tarco35 Va por buen camino
Muestro como lo he resuelto:
Código Delphi [-]
procedure TFormNuevaVisita.Edit2KeyPress(Sender: TObject; var Key: Char);
var
  cd:string;
begin
  If Key='.' then Key:=',';
  cd :=(Sender as TEdit).Text;  // variable intermedia para clarificar codigo
  If ((Pos(',',Cd))<>0) AND (Key=',') Then Key:=#0;  // solo se permite un signo de puntuacion
  (Sender as TEdit).ReadOnly := not (key in [#8,#46, ',','0'..'9']);  // sentencia encontrada por el foro, no recuerdo de quien
end;

Ahora ya puedo asignarle al evento OnKeyPress de los 9 TEdit la misma rutina
Gracias a todos.
Responder Con Cita
  #2  
Antiguo 11-02-2019
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Para que no te enredes con lo del formato...

Código Delphi [-]
procedure TForm1.NumericKeyPress(Sender: TObject; var Key: Char);
  var
    lExTemp: Extended;
begin
  if not TryStrToFloat(TEdit(Sender).Text+Key, lExTemp) then
    Key := #0;
end;
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #3  
Antiguo 11-02-2019
tarco35 tarco35 is offline
Miembro
 
Registrado: sep 2003
Posts: 210
Poder: 21
tarco35 Va por buen camino
Gracias, aunque Delphi6 no la tiene, tiene una parecida.
Muy buena aportacion.
Responder Con Cita
  #4  
Antiguo 11-02-2019
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.

Te aconsejo usar un código similar en los eventos OnExit de los Edits para verificar los datos que pudieran ingresar por copiado/pegado.

Ej.:
Código Delphi [-]
procedure TForm1.EditsExit(Sender: TObject);
var
  ed: TEdit;
  v: Extended;
begin
  ed := TEdit(Sender);
  if (ed.Text > '') and not TryStrToFloat(ed.Text, v)  then
  begin
    ed.SetFocus;
    raise Exception.Create('Número inválido');
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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 una llamada a Onchange de tedit. ¿Se puede? jotaeme Varios 4 06-03-2009 11:43:04
TEdit, que admita sólo números con 2 decimales David OOP 5 09-02-2008 17:09:58
¿Cómo pasar varios datos de un TEdit a un DbGrid? day_eli Conexión con bases de datos 3 29-05-2007 22:22:29
TEdit que acepte solo integer Dave B. Varios 2 09-09-2004 01:14:48
un tEdit que sólo tome datos de tipo integer? Giniromero Conexión con bases de datos 9 25-09-2003 17:04:54


La franja horaria es GMT +2. Ahora son las 04:16:47.


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