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 16-05-2007
Narvaez Narvaez is offline
Registrado
 
Registrado: mar 2007
Posts: 3
Poder: 0
Narvaez Va por buen camino
aceptar un solo punto en un StringGrid

Hola de nuevo, tengo un nuevo problema:
metí el siguiente codigo en un Tedit para que me aceptara numeros reales y un solo punto, me funciona correctamente pero quisiera saber como se le hace para que eso funcione en las celdas de un StringGrid.

Código Delphi [-]procedure TDatosCultivo.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
If not (Key in ['0'..'9','.',#8]) then Key:=#0;
If (Key='.') and (Pos('.',Edit2.Text)>0) Then Key:=#0;
end;
Responder Con Cita
  #2  
Antiguo 16-05-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Talking

Bueno utilizando el codigo que muestras..yo haria lo siguiente..

Código Delphi [-]
 
procedure TForm1.TuGrillaKeyPress(Sender: TObject; var Key: Char);
begin

    //Suponiendo que  "TuGrilla" posee 4 columnas...
      WITH TuGrilla DO
      BEGIN
           CASE Col OF
                1:BEGIN
                       If not (Key in ['0'..'9','.',#8]) then Key:=#0;
                       If (Key='.') and (Pos('.',Cells[Col,Row])>0) Then Key:=#0;
                  END;
                2:BEGIN
                       If not (Key in ['0'..'9','.',#8]) then Key:=#0;
                       If (Key='.') and (Pos('.',Cells[Col,Row])>0) Then Key:=#0;
                  END;
                3:BEGIN
                       If not (Key in ['0'..'9','.',#8]) then Key:=#0;
                       If (Key='.') and (Pos('.',Cells[Col,Row])>0) Then Key:=#0;
                  END;
                4:BEGIN
                       If not (Key in ['0'..'9','.',#8]) then Key:=#0;
                       If (Key='.') and (Pos('.',Cells[Col,Row])>0) Then Key:=#0;
                  END;
           END;
      END;
 
end;

espero que te sirva...
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
StringGrid inicial sólo con FIXEDROW amadis OOP 3 18-04-2007 17:30:19
Error Access Violation Al Aceptar un PrinterSetup LuCkY_007 Impresión 2 15-02-2007 11:48:24
¿Como programo un boton Aceptar? Carmen Conexión con bases de datos 9 03-11-2004 22:11:32
aceptar solo digitos en Edit xbisont OOP 2 28-11-2003 22:51:59
Posición mensajes (ShowMessage, Aceptar-Cancelar) Tomás Varios 3 21-10-2003 20:33:46


La franja horaria es GMT +2. Ahora son las 04:25:30.


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