Clipper On Line • Ver Tópico - ErrorSys Dinâmico Avançado - Contribuição

ErrorSys Dinâmico Avançado - Contribuição

Discussão sobre a linguagem CA-Clipper.

Moderador: Moderadores

 

ErrorSys Dinâmico Avançado - Contribuição

Mensagempor ericmagaldi » 15 Nov 2007 18:22

Minha contribuição aos Clippeiros !

ErrorSys Dinâmico Avançado - (ERRORSYS.OBJ - para Clipper 5.2e).
Uso livre para qualquer finalidade.

# Grava em arquivo arquivo texto, várias informações do sistema (mesmo na ocorrência DOS Error 4): Tela, valores das chaves índices, Chamadas, etc
# Realiza auto-teste (Prevê DOS ERROR 4***, etc).
# Pode ser configurado via variável ambiente SET ERRORSYS, para se adequar a cada sistema.

Versão registrada possui:
  # ErrorSys.prg - Arquivo fonte
  # ShowMsg() - Uso semelhante ao alert, mas com scroll para mais de 1000 linhas de mensagens e visual melhorado.
  # Lógica (pronta para uso**) para inserir informações em tempo de compilação no EXE:
    Funções inseridas no EXE para uso:

    ? DateCompilation(*)   // '20071115'
    ? TimeCompilation(*)   // '10:36:11'
    ? PathCompilation()    // 'D:\sistema\masterl'
    ? MachineCompilation() // 'MACHINEWXP'
    ? UserCompilation()    // 'eric'
    ? OSCompilation()      // 'Windows XP Professional 5.01.2600 Service Pack 2'
    ? ModuleCompilation()  // ''

   * Data/hora do computador que compilou o sistema e não do EXE (pois a mesma pode sofrer alterações).
   ** Com essa lógica, poderá ser aproveitada em qualquer linguagem de programação e ampliar as funcionalidades de forma muito simples.
   *** Teste real

   Com a data/hora de compilação por exemplo, me auxilia a desenvolver rotinas de atualização de sistema.


Downloads:
http://br.geocities.com/ericmagaldi/cli ... rorsys.zip

Configurações em tempo de execução (SET ERRORSYS):
/* =========================================================================
Compilado...: CLIPPER 5.2e ERRORSYS /W /M /N /L /ES1

Rotina......: ErrorSys
              * Grava log de erros em arquivo
              * Efetua testes criticos no inicio dos sistemas.
                Abaixo configuracao OPCIONAL do ErrorSys em tempo de execucao,
                sem precisar recompilar a APPS.

                SET ERRORSYS=off
                             Desativa todos os recursos de verificacao e tratamento
                             de erros, prevalecendo o metodo ErrorSys padrao do Clipper.

                SET ERRORSYS=
                             [//Zero:OFF|on]
                             [//MinHandle:<nMin>]
                             [//MinMemory:<nBytes>]
                             [//PathFileLog:<cPath>]
                             [//MinSpace:<nBytes>]
                             [//ReadWrite:<cFullPath>;<cFullPath2...>]
                             [//PathSwap:ON|off]
                             [//MaxSizeLog:<nBytes>]
                             [//TypeLog:A1B1C1D1E1F1

                Zero.......: Avisa se houver tentativa de divisao por Zero.
                             Valor padrao OFF, nao verifica.
                MinHandle..: Testa a capacidade REAL de manipular multiplos
                             arquivos, ou seja, preve o DOS ERROR 4.
                             Se informar 0, nao efetua o teste.
                             O valor minimo ideal varia conforme a APPS x OS.
                             Valor padrao 100 arquivos.
                MinMemory..: Testa a memoria disponivel do computador.
                             Padrao 0, nao sera verificada.
                PathFileLog: Informa um local alternativo para criar o arquivo
                             Erro.log. Se informar OFF, nao sera criado o arquivo.
                             Padrao, cria na mesma pasta da aplicacao.
                MinSpace...: Avisa se o espaco nos discos esta inferior ao
                             definido.
                             Se informar 0, nao sera verificado.
                             Padrao, 83886080 (80 MBytes no disco atual)
                ReadWrite..: Efetua teste de leitura/gravacao nas unidades/pastas
                             informadas. Para testar a unidade F: e a pasta
                             R:\SISTEMA, informe o valor F:\;R:\SISTEMA.
                             Se informar OFF, nao sera verificado.
                             Padrao, verifica somente na pasta atual.
                PathSwap...: Efetua teste de leitura/gravacao na pasta de
                             Swap do Clipper. O delimitador na variavel
                             SET CLIPPER deve ser // ao inves de ;
                             Se informar OFF, nao efetua o teste.
                             Padrao ON.
                MaxSizeLog.: Determina o tamanho maximo do arquivo de Log.
                             Se o tamanho do arquivo Log for maior que o informado
                             em MaxSizeLog, o arquivo sera recriado.
                             Padrao 1048576 Bytes (1 MByte)
                TypeLog....: 1=Ativa/0=Desativa Status a serem salvos no arquivo de Log.
                             Abaixo Identificacao e valores Default:
                             A1=Tela
                             B1=Set Global
                             C1=Areas
                             D1=Sistema Operacional
                             E1=Dados Gerais
                             F1=Dados do Aplicativo
                             G1=Sub-Sistema
   =======================================================================*/
Editado pela última vez por ericmagaldi em 16 Nov 2007 14:42, num total de 1 vezes
Avatar de usuário

ericmagaldi
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 52
Data de registro: 20 Ago 2007 21:36
Cidade/Estado: São Paulo - Brasil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor Eolo » 16 Nov 2007 07:39

Uma alternativa bacana é usar o BEGIN SEQUENCE / BREAK / RECOVER.

Com ele, até um erro de sintaxe dentro do seu código (e mesmo um DIVIDIR POR ZERO) não faz a sua aplicação abortar: o controle é direcionado para onde vc quiser e vc decide o que fazer em seguida (como voltar ao menu principal, disparar um email para o desenvolvedor, gravar um LOG do erro etc.)...

Outra: a CATools tem uma série de funções que tratam do que vc citou. Um exemplo é a FilesFree(), que mostra quantos File Handles há disponíveis em um determinado momento, que faz evitar o DOS Error 4...
Avatar de usuário

Eolo
Colaborador

Colaborador
 
Mensagens: 1133
Data de registro: 08 Dez 2005 17:24
Cidade/Estado: São Paulo - SP
Curtiu: 0 vez
Mens.Curtidas: 37 vezes

Mensagempor clodoaldomonteiro » 16 Nov 2007 22:16

Eolo!

Valeu a dica do Filesfree(), já tô usando.

É menos um erro para eu me preocupar.
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
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 621
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 23 vezes
Mens.Curtidas: 11 vezes

ErrorSys Dinâmico Avançado - Contribuição

Mensagempor Marcos Kieron » 14 Jan 2020 12:16

Parece que isso é antigo, mas tudo isso pode ser conseguido de outra forma com -tshead
Marcos Kieron
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 66
Data de registro: 14 Jan 2020 10:29
Cidade/Estado: São Paulo/SP
Curtiu: 0 vez
Mens.Curtidas: 5 vezes




Retornar para CA-Clipper

Quem está online

Usuários vendo este fórum: Ahrefs [Bot] e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro