Página 1 de 1

chamada de função com parâmetros com set key

Enviado: 02 Nov 2015 23:57
por cjp
Pessoal, uma ajuda por favor: estou tentando chamar uma função com set key, o que eu já faço sem problema. O problema é que agora esta função precisa de parâmetros.

Estou tentando fazer assim:

set key -29 to crrecdes(" ",space(500))

E a função começa assim:

function crrecdes(usdst,txtrec)

Não sei por que, ela está iniciando com usdst=MAIN e txtrec=369.

Imagino que esta não seja a forma correta de chamar função com parâmetros com set key. Como deveria fazer?

chamada de função com parâmetros com set key

Enviado: 03 Nov 2015 01:00
por alxsts
Olá!

Tente assim:

Código: Selecionar todos

#include   "Inkey.Ch"

FUNCTION Main()

   LOCAL bSetKey
   
   // Salva o Set atual da tecla, caso haja, e seta um novo   
   bSetKey := SetKey( K_CTRL_F10, { || crrecdes(" ",space(500)) } ) // O código -29 representa a tecla F10, K_CTRL_F10

   // < seus procedimentos  >

   // Restaura o Set anterior da tecla
   SetKey( K_CTRL_F10, bSetKey )

RETURN NIL
//------------------------------------------------------------------------------
É possível que você tenha problemas om esta tecla por ela ser reservada para os menus do Windows, que são compatíveis com o padrão SAA/CUA

chamada de função com parâmetros com set key

Enviado: 03 Nov 2015 01:19
por cjp
Funcionou perfeitamente. Muito obrigado.

Quanto à tecla, se houver problema, eu troco o -29 por outra.

chamada de função com parâmetros com set key

Enviado: 03 Nov 2015 09:06
por JoséQuintas
Curiosidade:
Se o parâmetro é fixo, porque não deixar direto na função?
Pra mim parece desnecessário colocar na chamada.

chamada de função com parâmetros com set key

Enviado: 03 Nov 2015 10:53
por cjp
É que ele é fixo nesta chamada, mas em outras chamadas do sistema ele não é fixo. Por isso eu preciso chamá-lo com parâmetros.