Ver Mensaje Individual
  #4  
Antiguo 18-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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 Rofocale.

No conozco el componente TcxTextEdit, y este comentario:
Código Delphi [-]
//Permite que desepues de se digite el . solo se puedan ingresar 2 Registros Mas
Me hace dudar si hago bién al suponer que queres limitar el ingreso a dos caracteres luego del separador decimal. Si es eso, fijate si podés adaptar este código para el TcxTextEdit:
Código Delphi [-]
procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
var
  PosDe: Integer;  // posicion separador decimal
  LenDe: Integer;  // nro de caracteres a partir del separador
begin
  if Key = '.' then Key:= ',';             // respetando tu código.
  if not(Key in ['0'..'9', #8, ',']) then  // no es caracter válido
  begin
    MessageBeep(MB_ICONERROR);
    Key:= #0
  end
  else
  begin
    PosDe:= Pos(',', TEdit(Sender).Text);  // posición separador
    if PosDe > 0 then
    begin
      LenDe:= Length(TEdit(Sender).Text) - PosDe; // nro caracteres decimales
      if(LenDe > 1) and (Key in ['0'..'9']) and   // evaluar nro caracteres decimales
        (TEdit(Sender).SelStart > PosDe-1) then
       Key:= #0;
    end;
  end;
end;
Pienso que cambiando los cast TEdit(Sender) por TcxTextEdit(Sender) debería funcionar si este último tiene la propiedad SelStart.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-06-2011 a las 20:03:23.
Responder Con Cita