Para Antonio Linares

Post Reply
lorenzo
Posts: 8
Joined: Tue Oct 24, 2006 11:32 am

Para Antonio Linares

Post by lorenzo »

Estimado Antonio:

para limpiar el buffer del teclado tenemos en FWH algo parecido a "Clear Typeahead" de Clipper??
estuve buscando en \Samples\ pero no vi nada al respecto y en el foro nadie responde.

Mil gracias, maestro.
LORENZO
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Lorenzo,

Actualmente no proporcionamos dicha función, pero es fácil de construir, ya que su funcionamiento sería parecido a SysRefresh() pero para eliminar los mensajes de teclado pendientes

Vamos a construir un prototipo y lo publicaremos cuanto antes
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
gdeteran
Posts: 110
Joined: Fri Oct 14, 2005 7:10 pm
Location: Puerto Montt - CHILE

Re: Para Antonio Linares

Post by gdeteran »

Hay alguna novedad respecto del mandato CLEAR TYPEAHEAD.
Necesito vaciar la memoria intermedia del teclado y no sé como hacerlo.
Saludos,
Gonzalo
Puerto Montt - CHILE
FWH 21.01 - Harbour 3.2.0dev (r2008190002) - Borland/Embarcadero C++ 7.0(32-bit)
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Para Antonio Linares

Post by Daniel Garcia-Gil »

gdeteran wrote:Hay alguna novedad respecto del mandato CLEAR TYPEAHEAD.
Necesito vaciar la memoria intermedia del teclado y no sé como hacerlo.
intenta usar hb_keyclear() de harbour
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Para Antonio Linares

Post by Antonio Linares »

La función sería algo asi:

Code: Select all

#pragma BEGINDUMP

#include <hbapi.h>
#include <windows.h>

BOOL IsModelessDialog( MSG * pMsg );
BOOL bWRunning( void );
HWND GetWndApp( void );
LPACCEL _SetAcceleratorTable( LPACCEL hNewAccelTable );

BOOL ClearKeyboard( void )
{
   LPACCEL hAccel = _SetAcceleratorTable( NULL );
   MSG msg;

   msg.message = 1;

   while( PeekMessage( &msg, 0, 0, 0, PM_REMOVE ) && msg.message != WM_QUIT )
   {
      if( ! IsModelessDialog( &msg ) &&
          !( hAccel && GetWndApp() &&
             TranslateAccelerator( ( HWND ) GetWndApp(), ( HACCEL ) hAccel, ( LPMSG ) &msg ) ) )
      {
         if( msg.message != WM_CHAR )
         {
            TranslateMessage( &msg );
            DispatchMessage( &msg );
         }
      }
   }

   if( bWRunning() && ( msg.message == WM_QUIT ) )
      PostQuitMessage( 0 );

   _SetAcceleratorTable( hAccel );

   return ( msg.message != WM_QUIT );

HB_FUNC( CLEARKEYBOARD )
{
   hb_retl( ClearKeyboard() );
}

#pragma ENDDUMP
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
gdeteran
Posts: 110
Joined: Fri Oct 14, 2005 7:10 pm
Location: Puerto Montt - CHILE

Re: Para Antonio Linares

Post by gdeteran »

Gracias Antonio y Daniel, probaré....
Saludos,
Gonzalo
Puerto Montt - CHILE
FWH 21.01 - Harbour 3.2.0dev (r2008190002) - Borland/Embarcadero C++ 7.0(32-bit)
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: Para Antonio Linares

Post by Francisco Horta »

que tal Antonio,

Tengo la necesidad de esta funcion..
la agregue a mi .prg al final y la mando llamar ClearKeyboard(),, pero me envia estos errores al compilar...

Declaration not allowed here in function ClearKeyboard
Declaration syntax error in function ClearKeyboard
Declaration missing in function ClearKeyboard
Compound statement missing } in function ClearKeyboard

uso xmate y xharbour
gracias
paco
____________________
Paco
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Para Antonio Linares

Post by Antonio Linares »

Paco,

Por favor copia aqui el reporte de error completo del compilador de C, gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: Para Antonio Linares

Post by Francisco Horta »

Antonio,

pase los include, hasta el principio de mi .prg
#include <hbapi.h>
#include <windows.h>
y ahora envia estos errores...

Code: Select all

[1]:Harbour.Exe Source\TAuditoria.prg  /m /n0 /gc0 /es2 /ip:\32bits\xHarbour_TEST\INCLUDE;P:\32BITS\FWH_TEST\INCLUDE;INCLUDE;P:\32bits\Borland\bcc582\Include /ip:\32bits\XHABFE~1\Include /dHB_API_MACROS /dHB_FM_STATISTICS_OFF /dHB_STACK_MACROS /ip:\32bits\XHABFE~1\Contrib\What32\Include /oObj\TAuditoria.c
xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6717)
Copyright 1999-2010, http://www.xharbour.org http://www.harbour-project.org/
Compiling 'Source\TAuditoria.prg'...
_stddef.h(38) Error E0030  Syntax error: "syntax error at 'INT'"
_stddef.h(56) Error E0025  Error in #if expression
_stddef.h(63) Error E0030  Syntax error: "syntax error at 'UNSIGNED'"
_stddef.h(82) Error E0030  Syntax error: "syntax error at 'INT'"
_stddef.h(91) Error E0030  Syntax error: "syntax error at 'UNSIGNED'"
_stddef.h(101) Error E0030  Syntax error: "syntax error at 'WCHAR_T'"
_stddef.h(110) Error E0030  Syntax error: "syntax error at 'WCHAR_T'"
_stddef.h(117) Error E0030  Syntax error: "syntax error at 'LONG'"
hbapi.h(570) Error E0025  Error in #if expression
9 errors

No code generated
 
gracias
paco
____________________
Paco
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: Para Antonio Linares

Post by colthop »

Hola paco:

Me gustaría saber si pudiste solucionar los errores y si limpiaba el buffer de teclado. Y si es así como.

Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Post Reply