Entendendo o acionamento dos parâmetros nas funções | Ti Responde 0162

No vídeo de hoje, vamos explicar como é o funcionamento dos parâmetros passados em uma função.

A dúvida de hoje, nos perguntaram, como é o funcionamento da passagem de parâmetros (ou argumentos) para uma função. O motivo de às vezes ter vírgula seguido de vírgula e o que isso significa.

 

Pensando nisso, montamos um exemplo, onde vamos demonstrar algumas formas diferentes de acionar funções e explicar a passagem desses parâmetros.

 

Segue abaixo o vídeo exemplificando:

 

E abaixo o código fonte desenvolvido:

//Bibliotecas
#Include "tlpp-core.th"

//Declaração da namespace
Namespace custom.terminal.youtube

//Constantes
#Define CRLF Chr(13) + Chr(10) //Carriage Return Line Feed

/*/{Protheus.doc} User Function video0162
Exemplo de como acionar parâmetros nas funções
@type Function
@author Atilio
@since 12/03/2024
@see https://tdn.totvs.com/pages/viewpage.action?pageId=776520543
@example custom.terminal.youtube.u_video0162()
/*/

User Function video0162()
    Local aArea     := FWGetArea()                 As Array
    Local cName     := "Daniel"                    As Character
    Local cSurName  := "Atilio"                    As Character
    Local cURL      := "terminaldeinforamcao.com"  As Character

    //Aciona do modo clássico, passando cada parâmetro em uma posição
    showEmployeeMessage(cName + "1", , cSurName, , cURL)


    //Aciona do modo clássico, comentando os parâmetros
    showEmployeeMessage(cName + "2", /*dBirthDay*/, cSurName, /*cPhoneNumber*/, cURL)


    //Aciona do modo clássico, quebrando as linhas
    showEmployeeMessage(;
        cName + "3",; // cEmployeeName
        ,;            // dBirthDay
        cSurName,;    // cEmployeeSurName
        ,;            // cPhoneNumber
        cURL;         // cURL
    )


    //Aciona do modo passando os parâmetros nomeados (inclusive em outra ordem, recurso exclusivo TLPP)
    showEmployeeMessage(cURL = cURL, cEmployeeSurName = cSurName, cEmployeeName = cName + "4")

    FWRestArea(aArea)
Return

/*/{Protheus.doc} showEmployeeMessage
Função criada de teste para exibir uma mensagem conforme os parâmetros vindos no acionamento
@type  Static Function
@author Atilio
@since 12/03/2024
/*/

Static Function showEmployeeMessage(cEmployeeName, dBirthDay, cEmployeeSurName, cPhoneNumber, cURL)
    Local aArea                := FWGetArea() As Array
    Local cMessage             := ""          As Character
    Default cEmployeeName      := ""
    Default dBirthDay          := sToD("")
    Default cEmployeeSurName   := ""
    Default cPhoneNumber       := ""
    Default cURL               := ""

    //Monta a mensagem que será exibida
    cMessage := "Informações vindas nos parâmetros: " + CRLF
    cMessage += "--"                                  + CRLF
    cMessage += "Nome:      " + cEmployeeName      + CRLF
    cMessage += "Dt. Nasc.: " + dToS(dBirthDay)       + CRLF
    cMessage += "SobreNome: " + cEmployeeSurName + CRLF
    cMessage += "WhatsApp:  " + cPhoneNumber       + CRLF
    cMessage += "Site:      " + cURL            + CRLF

    //Exibe a mensagem
    ShowLog(cMessage)

    FWRestArea(aArea)
Return

Bom pessoal, por hoje é só.

 

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação