Mainframe-Natural_Position_Bytes
Ferramenta para análise e cálculo automático de posições (bytes) em estruturas de variáveis Natural.
- Archived · last change 5-10-2026
- ★ 2 on GitHub
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
- Cole a estrutura Natural no campo principal
- Clique em Processar
- Aguarde o processamento
- Veja o resultado com os offsets calculados
- 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

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

