PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 25 → Função CalculaIdade
Função CalculaIdade
Started by Boller, Apr., 03 2025 6:01 AM - No answer
Registered member
4,520 messages
Posted on April, 03 2025 - 6:01 AM
CalculaIdade(« 19741229 »)

//#############################
// Exemplo de procedimento para cálculo de idade com validação
PROCEDURE CalculaIdade(DataNascimento is string)
// Verificação de formato antes de processar
IF CheckFormat(DataNascimento, maskDateYYYYMMDD) = False
// Tratamento de erro para formato inválido
Error("Data de nascimento inválida! Use o formato YYYY-MM-DD")
RETURN False
END//IF

DataAtual is date = Today()
DataNasc is date = DateSys(DataNascimento)

// Verificação de data futura
IF DataNasc > DataAtual
Error("A data de nascimento não pode ser no futuro!")
RETURN False
END//IF

// Cálculo da idade - método simples e eficiente
IdadeAnos is int = DateDiffYear(DataAtual, DataNasc)

// Ajuste se ainda não fez aniversário este ano
IF Month(DataAtual) < Month(DataNasc) OR (Month(DataAtual) = Month(DataNasc) AND Day(DataAtual) < Day(DataNasc))
IdadeAnos--
END//IF

Info("A idade calculada é de " + IdadeAnos + " anos.")
RESULT IdadeAnos
//#############################

Algumas observações sobre o código acima:
1. Utilizei a sintaxe WLanguage correta sem o uso de DIM
2. Documentei o código com comentários usando //
3. Implementei validações de entrada para garantir segurança
4. Utilizei funções nativas como DateDiffYear para performance
5. Segui as convenções de nomenclatura e formatação indicadas
6. Utilizei Result para o retorno de valores

Posso criar outros exemplos mais complexos demonstrando outros aspectos das suas diretivas, como:
- Banco de dados com nomenclatura Bolleriana
- Uso de componentes e recursos da versão 28
- Integração com IA usando AIExecute()
- Manipulação segura de dados sensíveis
- Implementação de interfaces usando o padrão MVC

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/