Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código

_Créditos das imagens: ChatGPT **Título:** LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código **Introdução** Olá, entusiastas de Harbour/xBase e desafios de programação! Depois de explorarmos como mesclar duas listas ordenadas no [nosso post sobre o LeetCode 21](https://www.blacktdn.com.br/2025/03/blacktdn-leetcode-21-merge-two-sorted.html), vamos dar um passo adiante e enfrentar um problema um pouco mais complexo: o LeetCode 23 - Merge K Sorted Lists. Neste artigo, vamos desvendar uma implementação em Harbour/xBase para este desafio, demonstrando como podemos inteligentemente reutilizar a solução que já construímos para o problema 21. Veremos como a modularidade e a construção sobre soluções anteriores podem simplificar problemas mais complexos. **O Problema: LeetCode 23 - Merge K Sorted Lists** O desafio é o seguinte: dado um array (`aLists` em nossa implementação) contendo `k` listas encadeadas, onde cada lista já está ordenada em ordem cres...

Protheus :: Programação Básica em Advpl “Combo XXII”

Funções:

As funções, em Advpl, podem ser entendidas como um mecanismo de sub-rotinas. Elas sempre retornam um valor. Uma função pode retornar qualquer tipo de dados ( array, numérico, string, objeto, lógico... ) e, se nenhum tipo de retorno for definido a função retornará NIL. Elas retornam seu valor como uma expressão após a instrução RETURN ( Obs.: a rotina chamadora da função não precisa, necessariamente, usar o valor de retorno ).

O uso adequado das funções possibilita a grande reutilização da codificação.

As funções são definidas uma só vez dentro de um programa, mas podem ser chamadas várias vezes. Elas podem ser definidas em qualquer ordem e você pode chamar uma antes de defini-la. Todas as funções são armazendas no Repositório de Objetos. E Podem ser declaradas como:

Públicas: Podem ser chamadas em qualquer programa:

Funções Reservadas ( Microsiga )

Function -> Reservado para desenvolvimento no ERP na Microsiga
Template Function -> Para a criação de Templates
Project Function -> Para a criação de Projetos

Funções Comuns ( Microsiga / Clientes usuários )

User Function -> Para criação de funções de usuário
Web Function -> Para criação de funções para uso na Web
Html Function -> Para criação de funções para uso na Web

Estáticas: Podem ser chamadas apenas no programa onde foram declaradas ( Static )

Static Function

Obs.: Consulte o Header ( arquivo de cabeçalho ) Protheus.ch ( \mp8\include\ para verificar os detalhes sobre o padrão de conversão das delcarações acima nas chamadas de função.

Parâmetros:

No Advpl, a forma de passagem de parâmetros para as funções é colocando os nomes dos parâmetros entre parênteses e delimitando-os por vírgula. Este método é conhecido como lista de parâmetros formais. Como em:

Function Teste( a , b , c )
User Function Teste( a , b , c )

Onde a, b, c são os parâmetros formais da função. O escopo destes parâmetros é Local ( tem visibilidade e duração enquanto durar a execução da função ).

Comentários

  1. web function e project function são de uso exclusivo da TOTVS, nós que estamos afora não temos permissão de compilação

    ResponderExcluir

Postar um comentário

Postagens mais visitadas