Pascal
Acesso MariaDB - 27/01/2025BufDataSet - 27/01/2025Carregar Imagem do Banco de Dados - 27/01/2025Colocar imagem da Internet e por no Timage com TFPHTTPClient - 27/01/2025Configurações - 27/01/2025EXCEL - 12/08/2024Fortes Report Componentes e Dicas - 27/01/2025Git e GitHub - 27/01/2025Hint no DBGrid - 27/01/2025Instalação ACBr - Windows - 27/01/2025POO - 27/01/2025Reproduzir Som WAV - 27/01/2025Tradução - 27/01/2025Acesso MariaDB
-
-
Com o componente MySQL56Connection e SQLQuery nativos do Lazarus.
-
BufDataSet
-
-
Criar campos, ordenação e indice.
-
Buscar parcial.
-
Inserir Registros
-
Alterar Registros
-
Deletar Registros
-
Armazenar/Obter dados em disco
-
Carregar Imagem do Banco de Dados
Colocar imagem da Internet e por no Timage com TFPHTTPClient
Configurações
-
IDE
- Ambiente > Inicialização da IDE > Abrir o último projeto = False
- Ambiente > Cópia de Segurança = Sem arquivo de segurança
- Ambiente > Nomeação > Salvar como > Sem renomeação automática = True
- Ambiente > Nomeação > Sugerir nome padrão do novo arquivo em minúscula = False
- Ambiente > Inicialização da IDE > Nomeação > Sugerir nome padrão do novo arquivo em minúsculo = False
- Editor > Exibir > Margem direita visíve = 120
- Editor > Exibir > Indicadores de Correspondências > Contorno = True
- Configurações "JCF" > Corrigir > Interrupções de Linha > Tamanho máximo de linha = 130
- Ferramentas de Código > Geral > Saltar diretamente para o corpo do método = True
- Ferramentas de Código > Separação de linhas > Comprimento Máximo de linha = 130
- Ferramentas de Código > Separação de linhas > Não dividir linha na frente de > Símbolo = True
- Depurador > Fechar janela assembler automaticamente após código não encontrado = True
-
Projeto
- Opções do Projeto > Aplicação > Nível de Execução = Requer Administrador
- Opções do Projeto > Miscelânea > Atualizar a delcaração "Application.Title" no unidade principal = False
- Opções do Projeto > Miscelânea > Atualizar a delcaração "Application.Scaled" no unidade principal = False
- Opções do Compilador > Depeuração > Gerar informações para o depurador = True
- Opções do Compilador > Depeuração > Usar a unidade Heaptcr (-gh) = True
EXCEL
-
Download FPSpreadsheet
Uses fpSpreadsheet, fpsTypes, xlsxooxml;
-
Leitura
-
Escrita
-
Formata Células
-
Fortes Report Componentes e Dicas
-
-
RLReport
É o objeto principal com formato de pagina que recebe todos os demais componentes.
-
RLPDFFilter
É o componente responsável pela impressão e exportação em PDF, é conectada ao RLReport pela propriedade DefaultFilter.
-
DataSource
É fundamental que a consulta principal do banco de dados esteja no Datasource ligado a propriedade DataSource do RLReport.
-
BufDataSet
É o componente que contêm os dados e é ligado ao DataSouce pela propriedade DataSet.
-
RLBand: BandType = btTitle
Aparece uma vez na primeira página.
-
RLBand: BandType = btHeader
Aparece em cada página.
-
RLBand: BandType = btColumnHeader
Aparece a cada interação de uma consulta.
-
RLBand: BandType = btDetail
Aparece a cada registro da consulta.
-
RLBand: BandType = btSumary
Usado para exibir resultados de uma consulta.
-
RLBand: BandType = btColumnFooter
Aparece ao final de uma consulta.
-
RLBand: BandType = btColumnFooter
Aparece ao final de cada página.
-
RLDetailGrid
Faz a listagem por colunas configurada nas propriedades ColCount e Organization.
-
RLGroup
Faz interações em consultas agrupadas pelo campo configurado na propriedade DataFields.
-
RLSubDetail
Usado para varias consultas no mesmo relatório atravez de vários DataSources e BufDataSets como por exemplo um relatorio de vendas, itens, pagamentos, parcelas, etc.
-
RLDBResult
Usado para resultados na BandType = Sumary.
Se estiver enfrentando problemas com somas no RLDBResult, verifique sua consulta SQL e certifique-se de que os campos numéricos estejam sendo tratados corretamente. Você pode precisar usar um CAST para garantir a precisão dos cálculos, por exemplo: CAST(CAMPO as NUMERIC(15,4)). -
RLDBText
Usado para resultados exibir dados dos campos das consultas.
Ao exibir valores numéricos, é importante aplicar formatação adequada utilizando a propriedade DisplayMask com a máscara "#,##0.00" para garantir que os valores sejam exibidos corretamente, a dica acima ou o CAST(CAMPO as NUMERIC(15,4)). -
RLExpressionParser
Esse componente pode ser necessário quando algum calculo não estiver funcionando, ele é ligado ao RLReport pela propriedade ExpressionParser.
-
RLRichText
Obs. É importante iniciar o texto com ao menos o \fs24 e finaliza-lo com \par para que o fortes calcule o Height da Band e não oculte as últimas linhas.
-
Git e GitHub
-
Instalação
DOWNLOAD AQUI.-
Instale o git normalmente e caso queira tirar Open "Git Gui Here" execute o comando abaixo.
-
Setar usuario e email
-
Ver configurações
-
Sair da visualização
-
Verificar se já possui chaves SSH
-
Gerar chaves SSH
Apenas aperte Enter duas vezes se não quiser por senhas para usar scripts automatizados.
Abra o Arquivos C:\Users\usuario\.ssh\id_ed25519.pub copie a chave e cole no github em: https://github.com/settings/ssh/new
-
Testar conexão
-
-
Baixar Reporitório
-
Navegue até um diretório
-
Verificar se há atualizações
-
Atualizar
-
-
Criar Repositório
-
Navegue até a pasta do projeto
-
É necessário adicionar o diretório do projeto ao arquivo "C:\Users\seu_usuario\.gitconfig".
-
Colocar arquivos na fila
-
Tirar arquivos da fila (cancelar)
-
Salvar arquivos no repositório local
-
Ver o branch selecionado
-
Setar um branch
-
ver a url destino no GitHub configurada
-
Adicionar um enderereço de repotitório do GitHub
-
Altera a url destino caso já esteja configurada
-
Envia as alterações para o "main" ou "master" do GitHub
-
Verifica se está sinconizado com o GitHub
-
-
Automação
Para Mandar
-
Crie um arquivo "Mandar.bash".
-
Clique com o dotão direito do mouse e coloque Abrir com.
-
Crie um arquivo "Receber.bash".
Para Receber
-
Hint no DBGrid
-
Mostrar o um texto ao passaar o mouse sobre um campo.
Instalação ACBr - Windows
-
Programas
-
Trun2 ACBr para o Tortoise => https://svn.code.sf.net/p/acbr/code/trunk2/
Fortes Report
-
-
DLLs
-
.\DLLs\OpenSSL\1.1.1.10\x86\libcrypto-1_1.dll
.\DLLs\OpenSSL\1.1.1.10\x86\libssl-1_1.dll
.\DLLs\LibXml2\x86\libexslt.dll
.\DLLs\LibXml2\x86\libiconv.dll
.\DLLs\LibXml2\x86\libxml2.dll
.\DLLs\LibXml2\x86\libxslt.dll
-
-
Configurações
-
Em .\ACBr\Fontes\ACBrComum\ACBr.inc
Descomentar:
-
-
Sequência dos Pacotes
-
.\fortesreport-ce-master\Packages\frce.lpk
.\ACBr\Pacotes\Lazarus\synapse\laz_synapse.lpk
.\ACBr\Pacotes\Lazarus\ACBrComum\ACBrComum.lpk
.\ACBr\Pacotes\Lazarus\ACBrOpenSSL\ACBrOpenSSL.lpk
.\ACBr\Pacotes\Lazarus\ACBrDiversos\ACBrDiversos.lpk
.\ACBr\Pacotes\Lazarus\PCNComum\PCNComum.lpk
.\ACBr\Pacotes\Lazarus\ACBrIntegrador\ACBr_Integrador.lpk
.\ACBr\Pacotes\Lazarus\ACBrTCP\ACBrTCP.lpk
.\ACBr\Pacotes\Lazarus\ACBrSerial\ACBrSerial.lpk
.\ACBr\Pacotes\Lazarus\ACBrDFe\ACBrDFeComum.lpk
.\ACBr\Pacotes\Lazarus\ACBrDFe\ACBrDFeReportRL.lpk
.\ACBr\Pacotes\Lazarus\ACBrDFe\ACBrCTe\ACBr_CTe.lpk
.\ACBr\Pacotes\Lazarus\ACBrDFe\ACBrCTe\DACTE\
Fortes\ACBr_CTe_DACTeRL.lpk.\ACBr\Pacotes\Lazarus\ACBrDFe\ACBrMDFe\ACBr_MDFe.lpk
.\ACBr\Pacotes\Lazarus\ACBrDFe\ACBrMDFe\DAMDFE\
Fortes\ACBr_MDFe_DAMDFeRL.lpk.\ACBr\Pacotes\Lazarus\ACBrDFe\ACBrNFe\ACBr_NFe.lpk
.\ACBr\Pacotes\Lazarus\ACBrDFe\ACBrNFe\DANFE\NFe\
Fortes\ACBr_NFe_DanfeRL.lpk.\ACBr\Pacotes\Lazarus\ACBrTXT\ACBrTXTComum.lpk
.\ACBr\Pacotes\Lazarus\ACBrTXT\ACBrSPED\ACBr_SPED.lpk
-
-
Configuração dos Componentes.
-
Protocolo de Segurança de Comunicação
-
Gerenciador de Assinatura
-
Certificado A1 (arquivo pfx)
-
Certificado A3 (do repositório do windows)
-
Outros
-
POO
-
-
Termos
Abstração: E uma caracteristica da POO que permite passar objetos reais do mundo real para linguagem de programacao.
Polimorfismo: E a capacidade de criar varios metodos com o mesmo nome mas com parametros diferentes;
Encapsulamento: separar o codigo em blocos de codigo.
-
Métodos
overload; => permitem mesmos metodos com o mesmo nome diferenciando apenas os parametros.
virtual; => permite (sem ser obrigatorio) que a classe herdeira reescreva um metodo criado na classe pai utilizando o override;
override; => usado para adicionar código em um metodo virtual da classe pai na classe filha utilizando o inherited.
virtual; abstract; => pode ser implemantado na classe herdeira com o override, mas nao precisar ser implementado na classe pai.
reintroduce; => utilizado para tirar o warning que avisa que o metodo ja existe na classe pai, dizendo que ele sera reecrito na classe filha ignorando por completo tudo que estiver nesse metodo na classe pai.
class function => cria uma funcao sem a necessidde de instaciar a classe em que ela esta. Obs. Adicionar "static" ao final.
inherited "Metodo"; executa o metodo da classe pai. (o nome do metodo é opcional quando se está dentro do metodo herdado na classe filha)
construtores => utilizado para inicializar variaveis, objetos, etc na criacao da classe(objeto) = constructor Create;
destrutores => e aconselhavel usar o inherited ao final para destrur tudo das clases antecessoras = destructor Destroy;
-
Visibilidade
strict private => visivel apenas na mesma classe.
private => visivel dentro da propria classe ou de uma classe derivada na mesma unit.
strict protected => visivel apenas pelas herdeiras.
protected => visivel pelas herdeiras e classes da mesma unit.
public => visivel em qualquer lugar.
published => faz aparecer no object inspector.
-
Parametros de Método
Sem nada = cópia do valor
Var = ponteiro
Out = ponteiro com inicialização (parametro de entrada é ignorado, podendo ser sobrescrito)
Const = cópia do valor sem possibilidade de alteração, isso é uma diretiva a nível de compilação e tem efeito prático só em string, para tipos primitivos isso só não permite a alteração do valor dentro da função, enquanto que pra string isso evita a alocação de uma nova string.
Como Objetos em pascal são sempre ponteiros se pode mudar o objeto mas não o valor base dele.
-
Reproduzir Som WAV
Tradução
-
Traduzir botões, mensagens etc.
-
Declare Translations em uses e cole a linha abaixo no FormCreate do Form principal.
-