Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

Mainframe-Natural_Position_Bytes

Ferramenta para análise e cálculo automático de posições (bytes) em estruturas de variáveis Natural.

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

📊 Natural Position Bytes

Ferramenta para análise e cálculo automático de posições (bytes) em estruturas de variáveis Natural.


📌 Sobre

O Natural Position Bytes foi criado para facilitar a análise de estruturas de variáveis em sistemas legados escritos em Natural.

Em vez de calcular manualmente o tamanho e as posições de cada campo, a ferramenta interpreta a estrutura, valida a sintaxe e gera automaticamente os offsets em bytes.

Isso reduz erros e acelera bastante o trabalho em manutenção e entendimento de código legado.


⚙️ O que ele faz

Durante o processamento, o aplicativo:

  • Lê cada linha da estrutura Natural
  • Identifica nível, nome e tipo da variável
  • Extrai e interpreta os parâmetros
  • Valida possíveis erros de sintaxe
  • Calcula o tamanho em bytes
  • Define posição inicial e final (offset)
  • Gera a saída já comentada

Tudo isso acontece automaticamente em uma única execução.


🧠 Regras de cálculo

A ferramenta aplica as regras do próprio Natural para cada tipo:

  • A (Alfanumérico): tamanho direto
  • N (Numérico): considera dígitos e decimais
  • P (Packed): cálculo com divisão por 2 e arredondamento
  • L, D, T, C: tratados como tipos especiais

Também entende estruturas mais avançadas:

  • , define casas decimais
  • / atua como multiplicador
  • : define intervalos

📊 Exemplo

Entrada:

01 CLIENTE (A10)
02 IDADE (N3)
02 SALDO (P7,2)

Saída:

01 CLIENTE (A10)  /* 001 - 010
02 IDADE (N3)     /* 011 - 013
02 SALDO (P7,2)   /* 014 - XXX

🚀 Como usar

  1. Cole a estrutura Natural no campo principal
  2. Clique em Processar
  3. Aguarde o processamento
  4. Veja o resultado com os offsets calculados
  5. Confira o total em bytes na barra inferior

🎯 O que isso resolve

  • Evita cálculo manual de offsets
  • Reduz erros em variáveis Packed (P)
  • Ajuda a entender estruturas antigas
  • Acelera análise de código Natural

⚠️ Validações

O sistema interrompe o processamento quando encontra problemas como:

  • Parênteses não fechados
  • Tipos inválidos
  • Estruturas inconsistentes
  • Uso incorreto de REDEFINES

🖥️ Interface

  • Área de entrada para colar a estrutura
  • Saída com resultado formatado
  • Barra de progresso
  • Status com tamanho total em bytes

🛠️ Tecnologias

  • Delphi 7
  • VCL (Visual Component Library)
  • Componentes nativos

📸 Preview

image


Ferramenta feita para evitar cálculo manual em estruturas Natural. 🤖