Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 25-08-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Hola de nuevo, primero para mi sería mucho mejor que controlaras en el momento que escribe, en vez de mostrale un mensaje que ha escrito mal, para ello puedes hacerlo de esta forma.

Código Delphi [-]
     Coordenadas : TGridCoord;//variable global
.................
.................
procedure TForm1.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 //Obtenemos la columna y fila de la posición X y Y
 Coordenadas := StringGrid1.MouseCoord(X,Y);
end;

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
 //Si nuestra columna es la 3 entonces, solo le permitimos escribir numeros y la coma.
 if Coordenadas.X=3 then
  begin
   if not( key in ['0'..'9',',',#8]) then
    key := #0;
  end;
end;

Ahora para que el cursor se vaya al final de todo lo que se ha escrito en esa celda se puede usar SelStart y SelLength, según esta pagina http://www.swissdelphicenter.ch/torr...ode.php?id=349 , se puede usar la propiedad ImplaceEditor del StringGrid. Mas o menos quedaría asi el codigo:

Código Delphi [-]
  type
    //De esta forma podremos acceder a ImplaceEdit ya que esta protejido  
   TStringG = class(TStringGrid); 
  ..................
  .................

  StringGrid1.SetFocus;
  //Aprovechamos la columna y fila que tenemos en coordenadas
  StringGrid1.Col := Coordenadas.X; 
  StringGrid1.Row := Coordenadas.Y;
  //ponemos el cursor al final
  TStringG(StringGrid1).InPlaceEditor.SelStart :=  TStringG(StringGrid1).InPlaceEditor.SelLength;

Para reemplazar el punto por la coma, sería mejor que utilizaras la función StringReplace, como te dice el amigo Coso.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Trabajando con ListView Ledian_Fdez OOP 2 15-04-2010 23:22:22
trabajando con ListView !!! Ledian_Fdez C++ Builder 11 09-07-2008 22:43:01
trabajando en red jdg C++ Builder 2 18-02-2007 16:10:48
Trabajando con ListBox gsilvei Varios 1 11-07-2006 16:16:38
Trabajando con DLL b3nshi Varios 1 16-03-2005 18:21:55


La franja horaria es GMT +2. Ahora son las 20:04:41.


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