eBook sobre AdvPL e TLPP lançado, garanta já o seu

Publicamos um novo eBook, com foco em AdvPL e TLPP.

Já faz um certo tempo, que estávamos montando os conteúdos para um eBook focado exclusivamente em AdvPL e TLPP.

Recentemente tivemos a oportunidade de escrever esse conteúdo, contendo referências à vários conteúdos.

O eBook está disponível gratuitamente para quem é assinante do Kindle Unlimited ou para quem quiser adquirir pelo valor sugerido de R$ 19,99.

Segue o link para o eBook – clique aqui.

Tentamos condensar o conteúdo, e trazer desde o básico até exemplos e explicações mais elaboradas. A contagem no Word deu 250 páginas com 50.147 palavras:

Detalhes no Word

Detalhes no Word

Quanto aos capítulos, são mais de 180, segue abaixo a listagem:

  • História da linguagem AdvPL
  • Introdução
  • Surgimento da linguagem TLPP
  • Como funciona a compilação
  • Instalando e configurando o VSCode
  • Instalando o VSCode
    • Instalando a extensão TDS (TOTVS Developer Studio)
    • Configurando uma Workspace
    • Baixando includes (extensão .ch)
    • Configurando o AppServer no VSCode
    • Configurando a depuração de códigos no VSCode (debug)
  • Pré-Requisitos para testar as customizações
  • Estrutura de um programa
    • Bibliotecas e Constantes
    • Documentação da Função
    • Abertura de um Programa
    • Corpo do Programa
    • Encerramento
  • Como funciona a Linguagem
  • Documentação e Comentários
    • Utilizando ProtheusDOC para documentar um fonte
    • Tipos de Comentário
  • Tipos de Funções
    • User Function
    • Static Function
  • Escopo de Variáveis
    • Variáveis Local
    • Variáveis Private
    • Variáveis Static
    • Variáveis Public
    • Constantes
  • Tipagem de Dados
    • Caractere
    • Numérico
    • Lógico
    • Data
    • Indefinido
    • Objeto
    • Bloco de Código
    • Array
    • Array Multidimensional
    • JSON
    • Declaração de Valores com AS
    • Notação Húngara
    • Máscaras
  • Operadores
    • Operador :=
    • Operador ;
    • Operador @
    • Operador $
    • Operador &
    • Operador :
    • Operador ==
    • Operador ** ou ^
    • Operador * e *=
    • Operador – e -=
    • Operador + e +=
    • Operador / e /=
    • Operador %
    • Operador =
    • Operador < e <=
    • Operador > e >=
    • Operador <> ou # ou != ou ! com ==
    • Operador ! ou .NOT.
    • Operador .AND.
    • Operador .OR.
    • Operador Default
  • Array
    • Inserindo elemento no Array
    • Ordenando um Array
    • Procurando elemento no Array
    • Removendo elemento do Array
  • Estruturas de Condição
    • If … EndIf
    • Else
    • ElseIf
    • Do Case … EndCase
    • Iif
  • Laços de Repetição
    • For … Next
    • While … EndDo
    • Comandos Loop e Exit
  • Orientação a Objetos
    • Classe
    • Métodos
    • Atributos ou Propriedades
    • Qual a diferença entre as classes começadas com MS*, com T* e com FW* ?
    • Analisando os Métodos ou Propriedades disponíveis no TDN e na depuração de código
    • Como funciona os objetos dentro de uma dialog
    • Exemplo criando painéis e objetos
  • MVC
    • Conhecendo o MenuDef
    • Conhecendo o ModelDef
    • Conhecendo o ViewDef
    • Precauções ao criar uma função em MVC
    • Diferenças de cadastros Modelo no Protheus (Modelo 1, Modelo 2, Modelo 3 e Modelo X)
    • Exemplo de criação de cadastro em MVC
    • Descobrindo se uma tela é em MVC
  • Banco de Dados
    • Principais Comandos e Funções
    • Ordenando uma tabela
    • Realizando uma pesquisa e posicionamento
    • Executando queries
    • Percorrendo informações de um Alias
    • Trabalhando com Tabelas Temporárias
    • Inicializador de campos
    • Gatilhos
    • Modo de Edição
    • Funções de Validações
    • Parâmetros e Perguntas
    • Travando registros e gravando conteúdos
  • Relatórios
    • Conhecendo a classe de relatórios gráficos FWMSPrinter
    • Entendendo como funciona o dimensionamento dos componentes
    • Imprimindo texto com SayAlign
    • Imprimindo texto na vertical com Say
    • Imprimindo imagens com SayBitmap
    • Imprimindo QRCode
    • Imprimindo linhas e quadros com os métodos Line e Box
    • Utilizando cores nos textos
    • Pintando uma cor de fundo com FillRect
    • Criando a lógica do cabeçalho, do rodapé e quebra de páginas
    • Gerando a informação zebrada entre as linhas
    • Gerando um relatório com a FWPrintSetup
  • WebService REST
    • Conceitos e Configuração
    • Trabalhando com Bearer Token (camada de segurança)
    • Criando uma consulta de informações
    • Criando uma atualização de informações
    • Consumindo uma API de terceiros
  • Integração com Arquivos
    • Gravando arquivos com FWFileWriter
    • Lendo arquivos com FWFileReader
  • Pontos de Entrada
    • O que é PARAMIXB
    • Cuidados ao des posicionar tabelas (usar sempre FWGetArea e FWRestArea)
    • Principais lugares para um ponto de entrada
    • Ponto de Entrada em MVC
  • Integração com eMails
    • Configurações
    • Realizando disparo de eMail
  • Execuções Automáticas (ExecAuto)
    • Como Funciona
    • Conhecendo os principais tipos e as variáveis reservadas
    • O que significam as letras usadas na MsExecAuto
    • Executando uma inclusão simples através da MsExecAuto
    • Executando uma inclusão de uma tela com cabeçalho usando MsExecAuto
    • Descobrindo se uma função tem execução automática da MsExecAuto
    • Construindo a execução automática em MVC com FWMVCRotAuto ou com FWLoadModel (e SetValue)
    • Utilização de AvKey, FWVetByDic, AUTDELETA e LINPOS
  • TLPP
    • Principais diferenças
    • Extraindo as includes através de tlpp.environment.getIncludesTLPP
    • Nomes Longos
    • Namespace
    • Try … Catch
    • Parâmetros nomeados
    • Reflection e Annotation
    • Recursos TGetData e TGetMethods
    • Expressão Regular (RegEx)
    • Padronização na Linguagem TLPP
  • Principais Erros
    • Alias already in use
    • Alias does not exist
    • Argument error
    • Array out of bounds
    • DBSetOrder – Index not found
    • Duplicated function
    • Enddo does not match while / EndIf does not match if
    • File not found ch
    • Incorrect syntax near
    • InterFunctionCall: cannot find function in AppMap
    • Invalid field name in Alias
    • Invalid property
    • Invalid typecast
    • It wasn’t possible to obtain exclusive access to the objects repository
    • Local variable never used
    • Local declaration follows executable statement
    • More parameters used in function call than expected
    • Stack depth overflow in function
    • Statement unbalanced function
    • Statement unterminate at end of line/unbalanced parentesis/brackets
    • Static Function never called
    • String size overflow
    • Syntax Error
    • Too few parameters calling
    • Type Mismatch on
    • Unsupported assign to function call
    • Variable does not exist
    • Variable redefined
  • Links úteis
  • Considerações Finais
  • Sobre o Autor

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