Página 1 de 1

comando #translate

Enviado: 07 Mai 2008 15:42
por fxavierds
Pesquisei algo sobre isso na net e não achei nada, será que alguem aqui poderia me ajudar?

Estou querendo redefinir a função dbseek no arquivo .ch usando o comando #translate mas não tou conseguindo descobrir a assinatura da função. Sei que a mesma é dbseek( <exp>,[lSoftSeek],[lfindLast]) onde os dois últimos parametros são opcionais. Como faço para identificar essa função com o translate?

#translate dbseek(<exp> [,<lSoftSeek>] [,lfindLast] => .... não funciona...como faço????

Re: comando #translate

Enviado: 07 Mai 2008 15:51
por Maligno
Você quer traduzir o quê, especificamente? Ou quer criar um novo comando?

Re: comando #translate

Enviado: 07 Mai 2008 15:58
por fxavierds
quero traduzir a função dbseek para uma função minha...algo tipo dbseek => xdbseek assim ela vai se comportar de uma maneira q pra mim é muito importante...

Re: comando #translate

Enviado: 07 Mai 2008 16:50
por MARINI
No arquivo STD.CH tem o SEEK:


#command SEEK <xpr> ;
[<soft: SOFTSEEK>] ;
[<last: LAST>] ;
=> dbSeek( <xpr>, if( <.soft.>, .T., NIL ), if( <.last.>, .T., NIL ) )

Re: comando #translate

Enviado: 07 Mai 2008 16:55
por Maligno
fxavierds escreveu:quero traduzir a função dbseek para uma função minha...
Mas é exatamente como eu fiz pra mim. Também não pude usar a dbSeek() convencional. Então criei uma função mais aprimorada, mas não fiz tradução nenhuma nem criei comando pra ela. Simplesmente passei a usar a nova função. Não seria mais fácil assim?

Re: comando #translate

Enviado: 07 Mai 2008 17:14
por fxavierds
Talvez até seria mas eu preciso fazer essa "tradução" e não sei como fazer quando 2 parametros são opcionais...

fazendo com if(lsoft> não dá certo..seria algo como dbseek(<exp>[, e não sei como continuar

Re: comando #translate

Enviado: 08 Mai 2008 12:48
por rochinha
Amiguinho

Também não entendi o que vc precisa mas vai minha dica:

Coloque este trecho no cabecalho de seu .PRG, deixando intacto o STD.CH:

Código: Selecionar todos

#command SEEK <xpr> ;
[<soft: SOFTSEEK>] ;
[<last: LAST>] ;
=> xdbSeek( <xpr>[, <.soft.>[, <.last.>]] )
Sua função:

Código: Selecionar todos

...
function xdbSeek( xpr, lSoft, lLast )
   lSoft := iif( lSoft=NIL, .T., .F. )
   lLast := iif( lLast=NIL, .T., .F. )
   ...