Bom dia Fladimir...
Veja que você não usou o Translate e sim o #command.. Eu tentei criar um commando wAlert para usar com a função Alert... Quando cria um novo #command se não mandar os parametros exatamente do jeito que o original não funciona daí passei o usar a #translate funcionou que é uma beleza... acho que ele nem se preocupa com o Case Sensitive também, e tem que verificar também que o #command e o #translate só vão funcionar no prg que foi declarado... por isso aquela questão do include .ch em todos os prgs..
Com o Translate não precisa ter o mesmo escopo da função original.
Código: Selecionar todos
#command @ <row>, <col> PROMPT <prompt> ;
[MESSAGE <msg>] ;
[NIVEL <niv> ] ;
[WHEN <cond> ] ;
[FUNC <func> ] ;
[<botao:BOTAO> ] ;
[TAM <tam> ] ;
[<chr:CHR> ] ;
=> _MenuTo(, <row>, <col>, <prompt> ,;
<msg> ,;
[ <niv> ] ,;
[ <.botao.> ] ,;
[ <tam> ] ,,;
[ <.chr.> ] ,;
[ <cond> ] ,,;
[ <func> ] ) ;;
SETPOS(<row>,<col>+LEN(<prompt>)-1)
// Nao esquecer de definir a variavel <v>.
#command MENU TO <Pos> [<botao:BOTAO>] [TAM <tam>] [<ajusta:AJUSTA>] [<chr:CHR>] [LINHAS <linhas>] [<cor:COLOR>] [<ver:VERTICAL>] [<hor:HORIZONTAL>];
=> <Pos> := _MenuTo( {|_1| if(PCount() == 0, <Pos>, <Pos> := _1)} ,,,,,,[<.botao.>],[<tam>],[<.ajusta.>],[<.chr.>],,[<linhas>],,[<.cor.>],[<.ver.>] [!<.hor.>] )
#translate BOTAO() ;
=> _MenuTo(,,,,,,.T.,,,)
#translate BOTAO( <Pos> ) ;
=> _MenuTo( {|_1| if(PCount() == 0, <Pos>, <Pos> := _1)} ,,,,,,.T.,,,)
#translate BOTAO( <Lin>, <Col>, <Texto> ) ;
=> SETPOS( <Lin>, <Col> ) ;;
_Say( <Texto>,,,.T.,,10)
#translate BOTAO( <Lin>, <Col>, <Texto> ,[<a>] [,<Tam>] ) ;
=> _MenuTo(,<Lin> ,<Col> ,<Texto> ,,,,[<Tam>],, )
#translate ACHOICE( <Lin>, <Col>, <Lin_F>, <Col_F>, <Matriz> ) ;
=> ACHOICE( <Lin>, <Col>, <Lin_F>, <Col_F>, <Matriz>,,, )
#translate ACHOICE( <Lin>,<Col>,<Lin_F>,<Col_F>,<Matriz>,[<Cond>] ) ;
=> ACHOICE( <Lin>,<Col>,<Lin_F>,<Col_F>,<Matriz>,[<Cond>],, )
#translate ACHOICE( <Lin>,<Col>,<Lin_F>,<Col_F>,<Matriz>,[<Cond>], [<UDF>] ) ;
=> ACHOICE( <Lin>,<Col>,<Lin_F>,<Col_F>,<Matriz>,[<Cond>], [<UDF>], )
#translate ACHOICE( <Lin> ,;
<Col> ,;
<Lin_F> ,;
<Col_F> ,;
<Matriz> ,;
[<Cond>] ,;
[<UDF> ] ,;
[<Pos> ] );
=> _MenuTo([{|_1| if(PCount() == 0, <Pos>, <Pos> := _1)}] ,;
<Lin> ,;
<Col> ,;
<Matriz> ,;
"ACHOICE" ,;
,;
,;
<Col_F>-<Col>-1 ,;
,;
,;
[<Cond>] ,;
<Lin_F>+1-<Lin> ,;
[<UDF>] )
#translate ROUND( <nValor>,<nDecimals> ) ;
=> _ROUND( <nValor>,<nDecimals> )
/***
* @..GET
*/
#xtranslate .GET_POS => \[LEN(GetList),1]
#command @ <row> , <col> GET <var> ;
[<clauses,...>] ;
PASSWORD ;
[<moreClauses,...>] ;
;
=> @ <row> , <col> GET <var> ;
[<clauses>] ;
SEND reader := {|oGet| ;
GetPassword(oGet) };
[<moreClauses>]
#command @ <row>, <col> GET <var> ;
[PICTURE <pic>] ;
[VALID <valid>] ;
[WHEN <when>] ;
[MSG <msg>] ;
[SEND <send>] ;
;
=> SetPos( <row>, <col> ) ;
; AAdd( ;
GetList,{ ;
_GET_( <var>, <"var">, <pic>, <{valid}>, <{when}> ):display();
,[<msg>]} ) ;
[; GetList.GET_POS:<send>]