Lazarus MNote2 Mysql pacotes POSTGRES
Versão 2.13 Linux e Windows

Nesta Versão 2.13, foram corrigidos diversos bugs, incluindo tambem uma versão Linux 64bits.

Versão Linux 64bits – Rodando Ubuntu

Todas as compatibilidades da versão 2.13 do windows, agora estão no Linux Ubuntu.

Baixe agora mesmo o pacote:

https://github.com/marcelomaurin/MNote2/blob/master/bin/mnote2-2.13_amd64.deb

Consulte a documentação do projeto:

http://maurinsoft.com.br/index.php/projetos-open-source/projeto-mnote2/

Vídeos

Assista o vídeo do projeto no Linux Ubuntu 64 bits.

Vídeo em Ubuntu 64 bits
Versão em Windows 10

Delphi Lazarus MNote2
MNote2 – 2.11

Segue a lista de mudanças do projeto MNote2 release 11

Mudança da Tela de Pesquisa

Substituição dos comandos FIND por personalização de tela de pesquisa.

Personalização da Tela de Pesquisa e Troca de Palavras.

Correção do Estilo

Correção do formulário frmmnote principal de fixo para tamanho variavel

Codificação da função Replace

Codificação da Função “Trocar” permitindo a troca de uma palavra por outra diferente.

Tambem já foi codificado a troca de todas as palavras encontradas (Change All).

Função de troca

Undo

Implementação da função UNDO, que desfaz o que foi realizado anteriormente.

Versão disponível

Versão disponibilizada no github

https://github.com/marcelomaurin/MNote2

Lazarus MNote2
Liberado a versão 2.10 Linux

Foi liberado a versão 2.10 linux, a versão 2.10 linux contem alguns ajustes na plataforma.

A versão pode ser baixada pelo repositório GIT no seguinte caminho:

https://github.com/marcelomaurin/MNote2/blob/master/bin/mnote2-2.10_amd64.deb

As modificações necessárias para compilar na 2.10 Linux, serão refletidas na 2.11 Windows.

E tratam de ajustes em macros de ambiente e modificações na integração entre synedit e TItem.

Os ajustes foram necessários pois o tamanho do ponteiro no linux do TSynedit não comportava o armazenamento de classe.

Então foi necessário modificar o Item, e o painel para armazenar o item, ao invés do Tsynedit, e desta forma referenciar ele no através do Titem.

Lazarus
Instalação do Lazarus no MACOS

A instalação do Lazarus no MAC é um pouco mais complicado que nos demais.

Vamos seguir.

Instale os pacotes do Lazarus

Primeiramente entre no seguinte link:

https://sourceforge.net/projects/lazarus/files/Lazarus%20macOS%20×86-64/Lazarus%202.2.0/

Baixe Lazarus-2.2.0-0-x86_64-macosx.pkg e instale.

Baixe e instale o arquivo fpc-3.2.2.intelarm64-macosx.dmg

Baixe e instale o arquivo fpc-src-3.2.2-20210709-macosx.dmg

Instalando o BREW

O brew é um instalador de pacotes para mac.

Para baixar ele é necessário baixar os fontes no git

git clone https://github.com/Homebrew/brew homebrew

Em seguida rode no terminal o seguinte script:

eval "$(homebrew/bin/brew shellenv)"
brew update --force --quiet
chmod -R go-w "$(brew --prefix)/share/zsh"

Instalando o GDB

Com o brew instalado dê o seguinte comando:

brew install gdb

Aguarde até o fim da instalação.

Lazarus SQLite SQLite
Introdução Lazarus com SQLite

SQLite

Definições

O SQLite é um banco de dados, simplificado ao máximo.

Ele não exige SGDB (Sistema Gerenciador de Banco de dados), pois tudo fica armazenado em uma unica lib. Que gerência o DB (Data Base) e suas tabelas.

Para quem é destinado o SQLite

O SQLite é destinado a aplicações que precisam armazenar um volume grande de informações, sem grande concorrencia. Permitindo uso de comandos SQL tradicionais de SGBD, sem a necessidade de instalação de complexos sistemas, pois tudo fica em um unico arquivo, e uma lib (biblioteca).

De forma geral, quando existe uma aplicação que armazena dados temporários, ou de integração, sem concorrencia de várias aplicações. O SQLite é o banco de dados ideal para esta atividade.

Como Baixar o SQLite

O SQLite pode ser baixado através do site:

https://www.sqlite.org/download.html

De fato existem binários prontos para plataformas Windows, Linux, Mac e Android.

Bastando baixar seus respectivos binários e incorporar no instalador do seu pacote.

SQLite Studio

O SQLite Studio é uma ferramenta Open Source – Freeware, destinada ao desenvolvimento de bases de dados.

Pode ser baixada livremente no site:

https://sqlitestudio.pl/

Permitindo instalar em MAC, Linux e Windows.

SQLite Studio

Lendo SQLite na console

Caso não goste de aplicações e queira acessar diretamente através de linha de comando. Isso tambem é possível.

Basta instalar os binários do SQLite, e rodar da seguinte forma:

Pasta do projeto Etiqueta

No meu projeto Etiquetas, existe uma pasta sqlite, lá uma sub pasta scripts.

Contendo os scripts do banco e tambem o sqlite3.exe.

Entre na pasta scripts, e por linha de comando dê o seguinte comando:

chamando o banco de etiqueta.db

Após a execução surgirá um prompt semelhante ao mysql ou ao plsql.

Engine de execução de sql do sqlite

Ao dar um comando de select, percebemos o retorno, conforme apresentado.

Comando select executado.

Rodando scripts

Para executar um script externo é muito simples:

.read [script.sql]

Comando para executar o scritp
Executando um script.

Lazarus

Introdução

O Lazarus é uma ferramenta de desenvolvimento de aplicação Desktop, multi plataforma, usa linguagem PASCAL Objects, para desenvolvimento de aplicações complexas. Tem uma IDE de desenvolvimento otimizada similar ao Delphi.

Não irei entrar nos detalhes do Lazarus, pois fugiriamos da proposta deste artigo.

Zeoslib

Zeos lib é um pacote de componentes visuais e não visuais, multi plataforma, e multi banco. Sua finalidade é realizar a integração com bancos de dados, entre eles o SQLite.

Não entrarei nos detalhes de instalação do Zeoslib, pois fuguriamos da proposta deste artigo.

Usando Lazarus com SQLite

A primeira coisa que precisamos criar é um datamodulo, para agrupar nossos componentes de banco de dados.

Datamodule
Teste de conexão

Usarei o projeto Etiqueta, que estou criando. Pois contem referências no git e podem ser vistos posteriormente.

Em seguida, criarei um componente TZConnection, onde apresentarei as seguintes propriedades:

  • Database – O caminho absoluto do arquivo etiqueta.db
  • LibraryLocation – O caminho absoluto do arquivo sqlite3.dll
  • Protocol – sqlite-3

Faça um teste de conexão, ativando o Connected (true), caso não retorne mensagem de erro.

Voce conseguiu conectar no banco de dados.

O proximo passo é criar um componente TZTable

, e vincular ele ao TZConnection através da propriedade Connection.

Em seguida, na propriedade TableName, selecionamos a tabela product, que iremos gerenciar.

Para não fugir muito do tema, os detalhes adicionais, deixarei disponível no GIT.

GIT do projeto Etiquetas

https://github.com/marcelomaurin/Etiquetas

Conclusão

O SQLite é uma poderosa ferramenta para gerenciar dados transitórios, e para criação de aplicações rápidas porem robustas. Tem um conjunto de ferramentas que podem auxiliar o desenvolvedor.

Destinado a aplicações embarcadas ou em desktop o sqlite têm seu nicho de uso, garantindo um precioso espaço na gestão de informações transitórias.

Espero que tenham gostado.

Blog C/C++ Dicas Lazarus Shell Script SSC
Criando Pacote de Instalador Debian

Neste artigo apresento como criar o pacote de instalador do Debian, já com interface gráfica.

Chamando o aplicativo através do menu.

Montando o pacote do SSC

Para criar o instalador do SSC, siga os passos abaixo:

  1. Primeiro compile seu binário, no alvo pretendido.
  2. Chame o script ./buildlinux.sh
  3. O pacote estará na pasta ./lin_bin
  4. Instale o pacote para testar rodando:

apt install ssc2_[versao]_[plataforma].deb

Delphi Lazarus SSC
Novidades no SSC 2.3

O SSC 2.3 veio cheio de novidades, agora a interface grava o contexto posicional da tela e de algumas informações.

Melhorias da versão 2.3 do software SSC

Este trabalho, vem melhorando o software dando mais opções para o mesmo.

Gravação de algumas parametrizações ao final da execução

Modificações da Versão

  • Criação dinâmica do arquivo ssc.cfg
  • Criação do fonte funcoes.pas
  • Criação do fonte setssc.pas
  • Modificação do fonte main.pas e main.lfm

Delphi Lazarus MNote2 Mysql pacotes Programação Yocto Project
Exemplo de Pacote debian – Parte 1

O objetivo deste artigo é demonstrar o uso prático de pacotes do linux.

Escrevi alguns artigos, sobre o desenvolvimento de pacotes.

    Inclusive já desenvolvi o MNOTE2, que é um bloco de notas simplificado. Sendo que este projeto, o MNote2, já possui um pacote em seu código.

    O MNote 2 pode ser visto no meu git:

    https://github.com/marcelomaurin/MNote2

    Neste artigo, e nos demais, irei continuar o trabalho apresentado no MNote2, gerando um pacote para um projeto em Lazarus, este projeto consiste em um sistema Cliente/Server, que consome um banco de dados Mysql.

    Este artigo tem relação tambem sobre outro conjunto de artigos:

      A instalação deste tipo de aplicação demanda certo trabalho, que irei abordar durante o ciclo de posts, aqui apresentados.

      Ao fim dos artigoa, pretendo se houver tempo, desenvolver uma imagem iso, usando yocto project, consumindo este pacote. E por fim criando um instalador completo com uma imagem de CD para distribuição. ankara escort çankaya escort ankara escort çankaya escort escort ankara çankaya escort escort bayan çankaya istanbul rus escort eryaman escort escort bayan ankara ankara escort kızılay escort istanbul escort ankara escort ankara rus escort escort çankaya ankara escort bayan istanbul rus Escort atasehir Escort beylikduzu Escort Ankara Escort malatya Escort kuşadası Escort gaziantep Escort izmir Escort

      Para apresentar o trabalho completo, estarei incluindo tudo no git:

      GIT do Exemplo

      https://github.com/marcelomaurin/cliPessoa

      Este é um conjunto de posts, que irei apresentar.

      Serão vários, e por um período longo. Espero que gostem.

      Blog Lazarus Programação
      Implementando uma Interface no Lazarus

      Vou apresentar aqui muito sutilmente um caso de construção de uma interface em Lazarus.

      Qual a diferença entre uma interface e uma classe.

      A Interface é como um contrato, onde se estabelece as conexões de saída (Métodos e propriedades) que serão utilizadas. Nela voce não precisa criar código, pois só estabelece quais serão as conexões.

      Ao criar uma classe, vc estabele as conexões porem tem que realizar uma série de codificações (implementation) que de fato não seriam necessárias. Pois a codificação fica a cargo da classe filha.

      Exemplo de projeto

      Desenvolvi uma interface no projeto da API da impressora.

      GIT do Projeto

      https://github.com/marcelomaurin/LIBESCPOS

      Exemplo de uso

      Na unit imp_generico.pas, estabelecemos a interface, que será herdada das demais classes.

        { TIMP_GENERICO }
        TIMP_GENERICO = interface
          ['{045F6EED-2C11-447D-A7DC-09DB995367C2}']
      
           function getserial : string;
           procedure setserial(value : string);
      
           function InitPrint(): string;
           function NewLine(): string;
           function LineText(Info : string): string;
           function Negrito(): string;
           function Normal(): string;
           function Sublinhado(): string;
           function DoubleTexto(): string;
           function beep(): string;
           function Guilhotina(): string;
           function AcionaGaveta(): string;
           function Barra1D(Info : string): string;
           function Barra2D(info : String): string;
           function loadImagem(X,Y : integer; Info : String): string;
           function imprimeImagem(X,Y : integer): string;
           property Serial : String read getserial  write setserial;
      end;                     

      No fonte imp_ELGINI9.pas, chamamos a interface, criando os métodos, realmente propostos na interface.

      type
      
       { TIMP_ELGINI9 }
      
       TIMP_ELGINI9 = class(TInterfacedObject,TIMP_GENERICO)
           FCOLUNA : integer;
           FSERIAL : String;
      
       private
           function getserial : string;
           procedure setserial(value : string);
      
      
       public
           constructor create();
           destructor destroy();
      
           function NewLine(): string;
           function InitPrint(): string;
           function LineText(Info : string): string;
           function beep(): string;
           function Negrito(): string;
           function Normal(): string;
           function Sublinhado(): string;
           function DoubleTexto(): string;
           function Guilhotina(): string;
           function AcionaGaveta(): string;
           function Barra2D(Info : string): string;
           function Barra1D(Info : string): string;
           function loadImagem(X,Y : integer;Info : String): string;
           function imprimeImagem(X,Y : integer): string;
           function Centralizado(): string;
           function PaginaM616(): string;
           function CorPg618(): string;
           function HabilitaArmazenaDados(): string;
           function Armazenadados( Info : string): string;
           function ImprimeQRCODEArmazenado(): string;
       published
           property Serial : String read getserial  write setserial;
      end;
      
      var
        IMPELGINI9: TIMP_ELGINI9;
      
      implementation          

      Omiti a implementation, para que o artigo não fique demasiado longo.

      Blog Delphi Lazarus
      Criando um GUID no Lazarus

      O GUID é um identificador unico Universal (Globally Unique Identifier), com ele é possível apontar de forma inequivoca uma aplicação ou serviço.

      No lazarus para criar um GUID no Lazarus ou Delphi, basta pressionar:

      <CTRL>+<SHIFT>+g

      Desta forma ele criará um numero como se segue.

      [‘{045F6EED-2C11-447D-A7DC-09DB995367C2}’]

      Exemplo de GUID

      Referências

      http://www.macoratti.net/d130402.htm

      maurinsoft.com.br