PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 25 → Função CalculaIdade
Função CalculaIdade
Iniciado por Boller, 03,abr. 2025 06:01 - No hay respuesta
Miembro registrado
4.520 mensajes
Publicado el 03,abril 2025 - 06:01
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/