Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-08-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 20
rgstuamigo Va por buen camino
Trabajando con StringGrid

Hola amigos foristas, tengo un StringGrid el cual 5 columnas y una de ellas es solo para datos numericos, La situasion es la siguiente:
Cuando el usuario esta editando la columna numerica y esta poniendo numeros reales; internamente en el evento OnSetEditText de StringGrid se va sumando la columna y mostrando en un edit; el problema es cuando en ves de poner el caracter coma "," pone un punto , entonces ahi se produce un error al convertir a Float esa celda, quise solucionarlo haciendo una conversion llamando a un metodo que yo mismo me hize;pero cuando lo llamo
la celda se seleciona con azul por defecto, y por tanto si el usuario sigue introduciedo decimales ,estos se reeplazan a los que antes habia escrito;
Lo que quiero es la celda no se seleccione al al llamar a mi metodo,que internamente siga el cursor en donde corresponde.
Aqui pongo mi metodo que transforma un string que tiene punto(.) por otro string que tenga coma(,):

Código Delphi [-]
function TPrincipal.ToComaReal(s: String): String;//dentra un string //numerico que tiene  punto 
var p:Smallint;
begin
         p:=Pos('.',s);
       if(p>0)then
        begin
           Delete(s,p,1);
           Insert(',',s,p);
        end;
      result:=s;
end;

Y aqui el evento OnSetEditText:
procedure TPrincipal.tablaSetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
Begin
 if (ACol=3)and (value<>'') then
  begin
       if(pos('.',value)>0)then
       begin
         tabla.Cells[ACol,ARow]:=ToComaReal(tabla.Cells[ACol,ARow]);
         //El problema segun yo es aqui despues de llamar al metodo
         // la celda me aparece seleccionada 
       end;
//de aqui en adelante hay mas codigo
//donde hace la suma  correspondiente todo esta bien de aqui en adelante
//....... 
  end;

end;
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 23-04-2010 a las 22:52:55.
Responder Con Cita
 



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 17:30: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