Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 25-11-2010
Kubelo Kubelo is offline
Miembro
 
Registrado: feb 2010
Posts: 58
Poder: 17
Kubelo Va por buen camino
Encontré la solución...

Se trata de jugar con la captura del mensaje y cambiarlo, paso el código:

Declaramos la siguiente función:
Código Delphi [-]
procedure ApplicationMessage(var Msg: TMsg; var Handled: Boolean);

Asignamos la propiedad OnMessage en el evento Create del formulario, por ejemplo:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := ApplicationMessage;
end;

Si queremos dejar de capturar mensajes todo lo que tenemos que hacer es establecer OnMessage en nil:
Código Delphi [-]
procedure TForm1.FormDestroy(Sender: TObject);
begin
  Application.OnMessage := nil;
end;

Finalmente debemos implementar el procedimiento. Por ejemplo, vamos a atrapar los mensajes de teclado WM_KEYUP y WM_KEYDOWN para convertir el punto decimal del teclado numérico en una coma.

Código Delphi [-]
procedure TForm1.ApplicationMessage(var Msg: TMsg;
  var Handled: Boolean);
begin
  case Msg.Message of
  WM_KEYDOWN, WM_KEYUP:
    case Msg.wParam of
    // Reemplazar el punto del teclado numerico (key code = 110)
    // por una coma (key code = 188).
    110: Msg.wParam := 188;
    end;
  end;
end;

Cabe destacar que la solución la encontré aquí:

http://www.latiumsoftware.com/es/delphi/00047.php

Yo me he permitido modificar la función para que cambie también el punto del teclado normal, tal que así:


Código Delphi [-]
procedure TForm1.ApplicationMessage(var Msg: TMsg;
  var Handled: Boolean);
begin
  case Msg.Message of
  WM_KEYDOWN, WM_KEYUP:
    case Msg.wParam of
    // Reemplazar el punto del teclado numerico (key code = 110)
    // por una coma (key code = 188).
    110: Msg.wParam := 188;
    // Reemplazar el punto del teclado normal (key code = 190)
    // por una coma (key code = 188).
    190: Msg.wParam := 188;
    end;
  end;
end;

Gracias por la ayuda y espero que sirva a alguien!
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
SQL y coma decimal mjjj SQL 3 26-12-2008 22:18:51
Coma presionando punto.. Delfino Varios 2 20-10-2007 11:47:11
xml punto coma carlomagno Varios 2 06-09-2004 11:49:35
Separador decimal como coma (,) Investment SQL 2 26-01-2004 11:36:10
Como le saco la coma o el punto a un número? DML Varios 4 23-06-2003 09:46:03


La franja horaria es GMT +2. Ahora son las 16:34:37.


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