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.