No vídeo de hoje, vamos demonstrar em como exibir uma tela para digitação de várias linhas, similar ao FWInputBox mas com um campo memo ao invés de um get simples.
A dúvida de hoje, nos perguntaram, se seria possível na FWInputBox termos quebra de linha igual com campos memo.
Pensando nisso, montamos esse exemplo, onde vamos demonstrar em como utilizar a função Aviso permitindo a digitação de conteúdo com quebra de linha.
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
#Define CRLF Chr(13) + Chr(10) //Carriage Return Line Feed
/*/{Protheus.doc} User Function video0146
Exemplo de como acionar uma tela maior para digitar observações
@type  Function
@author Atilio
@since 24/04/2024
@example
    custom.terminal.youtube.u_video0146()
/*/
User Function video0146()
    Local aArea           := FWGetArea()       As Array
    Local cSmallerMessage := ""                As Character
    Local cBiggerMessage  := ""                As Character
    Local lEditMessage    := .T.               As Logical
    Local nButtonClick    := 0                 As Numeric
    Local cMessageToShow  := ""                As Character
    
    //Aciona a FWInputBox (sem quebra de linha)
    cSmallerMessage := FWInputBox("Insira uma mensagem:")
    //Agora aciona a Aviso (com quebra de linha)
    nButtonClick := Aviso("Título de Teste", @cBiggerMessage, {"OK", "Cancelar"}, 3, "Insira uma mensagem:", /*nRotAutDefault*/, /*cBitmap*/, lEditMessage)
    //Se clicou no cancelar, zera a mensagem
    If nButtonClick != 1
        cBiggerMessage := ""
    EndIf
    //Monta a mensagem que vai ser exibida e mostra com a ShowLog
    cMessageToShow := "Abaixo as mensagens que foram inseridas: " + CRLF + CRLF
    cMessageToShow += "** Menor - usando FWInputBox: " + CRLF
    cMessageToShow += cSmallerMessage + CRLF
    cMessageToShow += CRLF
    cMessageToShow += "** Maior - usando Aviso com edição: " + CRLF
    cMessageToShow += cBiggerMessage + CRLF
    ShowLog(cMessageToShow)    
    FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.