elaborar um help pratico?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Re: elaborar um help pratico?

Mensagem por clodoaldomonteiro »

Rochinha!

A GAS Informática resolveu esse problema, colocando o helpo de campo direto no getsys.

O conteudo do help foi colocado noma array bidirecional ...

Informações da tabela:

Código: Selecionar todos

sistema[002]={;
            "3.Informa‡äes das empresas  (SEFIP)",;         // opcao do menu
            "INFORMAیES DAS EMPRESAS (SEFIP)",;            // titulo do sistema
            {"tipreg"},;                                    // chaves do arquivo
            {"Acesso"},;                                    // titulo dos indices para consulta
            {"01"},;                                        // ordem campos chaves
            {"EMP_SEF",drvdbf,drvntx},;                     // nome do DBF
            {"EMP_SEF1"},;                                  // nomes dos NTX
            {},;                                            // nome dos dbf's relacionados
            {},;                                            // campos de relacionamento
            {1,1,5,3,23,77},;                               // num telas/tela atual/coordenadas
            {1,.t.,.f.},;                                   // nivel acesso/tp chave/pede dir
            {},;                                            // campos do arquivo
            {};                                             // formula mostradas
           }
Informações dos campos:

Código: Selecionar todos

AADD(sistema[002,O_CAMPO],{;            // PAR
     /* mascara       */    "@R 99.99-9/99",;
     /* titulo        */    "Atividade c¢digo",;
     /* cmd especial  */    "VDBF(6,3,20,77,'CNAE',{'codigo','descricao'},,'codigo',[])",;
     /* default       */    "'7511600'",;
     /* pre-validacao */    "",;
     /* validacao     */    "ptab(par_cnae,'cnae',1)~C¢DIGO n„o existe na tabela",;
     /* help do campo */    "C¢digo do CNAE 2.0.|[F8] vˆ tabela.";
                         };
)
... é criado a array systema, que guarda informações da tabela, dos campos e fórmulas;

- 002 é o arquivo que vai receber essas características;
- O_CAMPO é para informar que essas informações é para um campo;
- em CMD especial, usa-se a função VDBF() para que possamos, em um campos que tenha relacionamento com outro arquivo, teclar F8 para que esse arquivo seja mostrado numa consulta e possamos escoler um registro a relacionar;
- default, pode ser colocado um valor default;
- pré-validação é u mesmo que WHEN;
- e em help é colocado a mensagem a ser mostrado ao usuário, para esse campo a GAS colocou alt+F1 para acionar ou não os helps.

Fórmulas para os campos:

Código: Selecionar todos

AADD(sistema[002,O_FORMULA],{;          // PAR - Saldo (-)
     /* form mostrar  */    "LEFT(TRAN(if(PTAB(par_sarre0,'TVE',1),subs(TVE->ver_titulo,1,20),'C¢digo inexistente'),[]),19)",;
     /* lin da formula*/    12,;
     /* col da formula*/    22;
                         };
)
Aqui podemos definir formulas a serem mostradas a cada campo.
Nessa acima, o sistema vai usar a função PTAB() para se relacionar com a tabela TVE e se estiver tido OK, será mostrado o campo título na posição 12,22.

Código: Selecionar todos

/*
   Comandos criados para auxiliar o comando GET para receber mais outros
   parametro e armazenar na variavel de instancia "CARGO". Este artificio
   e' usado para guardar o texto de ajuda e o comando a executrar quando
   a techa F8 for pressionada, o valor inicial e as formulas que serao
   mostrada apos a digitacao do campo
*/
#command AJUDA <var>     =>  STORECARGO(<var>,ATAIL(getlist),1)
#command CMDF8 <var>     =>  STORECARGO(<var>,ATAIL(getlist),2)
#command DEFAULT <var>   =>  STORECARGO(<var>,ATAIL(getlist),3)
#command MOSTRA <var>    =>  STORECARGO(<var>,ATAIL(getlist),4)
#command DEFINICAO <cp>  =>  STOREALL(<cp>,ATail(GetList))
Bom, por hora to tentando usar o xharbour com a wvwtools, e como a getsys desta lib é bastante complexa, to ralando muito para conseguir isso com o xharbour + wvwtools.

Grato pela atenção.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Responder