Banco de dados C/C++ Delphi Lazarus Mysql PHP Python R
Mysql com C/Lazarus/Python/PHP/R – Parte 1

Neste super tutorial, iremos abordar a Conexão do Mysql com estas 5 linguagens.

Na primeira parte do tutorial, iremos abordado o Mysql própriamente dita, onde faço a instalação e configuração.

Nos próximos posts abordarei cada linguagem individualmente.

Mysql

Mysql é um banco fornecido pela Oracle, muito utilizado em aplicações embarcadas e web.

De forma geral é um banco sólido, com uma ampla gama de aplicações, e seguro.

Instalação no Linux / Ubuntu

A instalação do servidor mysql é muito simples.

apt install mysql-server

Instalação do mysql server em Linux

A instalação do Mysql é muito simples, e instala os principais componentes.

Instalação do Mysql

Vídeo de demonstração

Instalação do Mysql

Criando um banco de dados

Agora, iremos criar um projeto de banco de dados bem simples.

A idéia é basicamente permitir CRUD nos demais artigos. Para quem não conhece o CRUD, é a abreviação (Create, Read, Update, Delete).

Para nos ajudar, irei criar um git, do projeto.

Ambiente de desenvolvimento

A instalação do ambiente de desenvolvimento precisa ser feito através da lib:

 apt-get install libmysqlclient-dev 

A lib acima, instala os headers e .so para integração com C e outras linguagens, como Lazarus.

A medida que avancemos nos demais artigos, irei incluindo aqui, as bibliotecas para as demais linguagens tambem. Então fique atento.

GIT

https://github.com/marcelomaurin/mysql-vs-todos

SCRIPTS

Agora iremos criar o Nosso Makefile para carregar os scripts:

Arquivo Makefile

# Script de criacao do banco de dados
# Autor Marcelo Maurin Martins
# Daa: 31/01/2022
#


APP=mysql

all:  database Tabelas
database:
	$(APP)  < database.sql
Tabelas:
	$(APP) < pessoas.sql

Em seguida iremos criar o script de criação da base de dados, database.sql:

#Cria um banco de dados em Mysql
#Autor: Marcelo Maurin Martins
#31/01/2022


create database IF NOT EXISTS `testedb`;

E por fim nossa tabela pessoas.sql

#Cria a tabela de pessoas
#Autor: Marcelo Maurin Martins
#31/01/2022

use testedb;

create table if not exists pessoas
(
   idPessoa INT(6) unsigned auto_increment primary key,
   nome varchar(30) not null,
   dtnasc date,
   profissao varchar(20),
   sexo char(1),
   dtchg timestamp default current_timestamp on update current_timestamp,
   dtcad timestamp default current_timestamp
);

Executando Scripts

Entre na pasta scripts, para que possamos criar nossas estruturas de banco.

Digite o comando:

make

executa a criação do banco

A figura abaixo mostra sua execução

Exemplo do script do banco de dados

Por fim mais um vídeozinho

Procedimento de instalação dos scripts

Permissões

Ao montar o segundo artigo lembrei que para melhorar este artigo, o ideal seria criar uma conta especifica para cada aplicação. Desta forma criei um scripts novo chamado GRANTS.SQL

Desta forma, existe essa ultima etapa. Que precisamos, que será criar um usuário para acesso a aplicação:

Criando o usuario:

CREATE USER 'seu_usuario'@'localhost' IDENTIFIED BY 'suasenha';

Dando permissão:

GRANT ALL PRIVILEGES ON * . * TO 'seu_usuario'@'localhost';

Finalizando

FLUSH PRIVILEGES;

Este procedimento será validado, quando digitarmos

mysql -h localhost -u gcc -p

Conectando em banco de dados

Pois se as permissões não estiverem corretas o usuario não conecta.

Sempre que avançarmos em uma etapa, um novo usuário será criado, neste script.

Então não estranhem se eventualmente os scripts sofrerem modificação no git.

Cenas do próximos capítulos

Agora que preparamos a cama, iremos começar a codificar nela. No próximo artigo iremos criar um crud em C para cadastrar pessoas.

Até a próxima.

Referências

https://stackoverflow.com/questions/838978/how-to-check-if-mysql-database-exists

https://stackoverflow.com/questions/11739014/how-to-generate-a-create-table-script-for-an-existing-table-in-phpmyadmin

https://stackoverflow.com/questions/6239131/how-to-grant-remote-access-permissions-to-mysql-server-for-user

https://linuxize.com/post/how-to-create-mysql-user-accounts-and-grant-privileges/

Artigos Relacionados

    C/C++ Delphi Lazarus Sem categoria
    Comandos do GDB

    O GDB é acrônimo GNU DeBuger, e é utilizado para depurar aplicações escritas em C, C++, Kylix, Delphi entre outras.

    Como realizar a carga do GDB

    gdb -d <aplicacao> [source]

    Onde Aplicacao é aplicação que se deseja debugar.

    source é aonde estão os fontes do projeto.

    Recomendação:

    Posicione o gdb no local dos fontes, fazendo a chamada da aplicação pelo caminho completo, desta forma, pode ignorar o local (source). 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

    Exemplo de código:

    Principais comandos GDB

    Breakpoint (b)

    O comando b adiciona um break point (ponto de debug) para analise, sua sintaxe é bem simples.

    b source:linha

    Run (r)

    O comando r, roda a aplicação, iniciando o debug da mesma.

    Kill (k)

    O comando k, para a aplicação, finalizando o debug.

    Quit (q)

    O comando q, sai do debug.

    List (l)

    O comando l mostra um fragmento do fonte em que esta. Ele usa o fonte que vc apontou no source.

    Display

    O comando display, mostra o conteúdo de uma variável ou expressão.

    O comando p, mostra o conteúdo de uma variável.

    Sintaxe:

    p [nome_variavel]

    Continue (c)

    O comando c, vai até o próximo break point.

    Next (n)

    O comando n, executa o programa até a próxima linha, mas não muda a tela.

    Step (s)

    O comando s, executa o comando até o próximo linha, mudando a tela.

    Step into (si)

    O comando si, executa exatamente uma instrução entrando dentro desta, se houver funções internas.

    Finish

    O comando finish, executa a linha até o final desta.

    Info threads

    O comando info threads, lista as threads apontando informações das mesmas.

    Info breakpoints

    O comando info breakpoints ou i break, mostra os breakpoints que adicionei no meu debug durante a execução.

    Sintaxe:

    i break

    mostra lista de breakpoints adicionados no debug
    Comando i break

    Info args

    O comando info args, mostra os argumentos passados pela função que foi chamada.

    Exemplo:

    info b

    comando lista os break points criados.

    thread

    O comando thread, muda a execução para alguma thread especifica.

    Clear

    O comando clear, apaga todos os break points ativos.

    Delete

    O comando delete, apaga o break point criado, deve ser usado o número de identificação deste break point.

    Exemplo

    delete 1

    Deleta o primeiro breakpoint criado

    Backtrace (bt)

    Mostra a cadeia de chamada de funções

    sintaxe:

    bt

    DIRECTORY

    Inclui o caminho dos fontes. (Agradeço ao amigo Felipe Resende pela dica)

    Exemplo:

    directory=/home/mm/proj01/src

    Interface de Fontes

    Ativa interface texto de visualização de fontes.

    tui [enable] [disable]

    Dicas Lazarus Relógio Sem categoria
    Lendo informações da BIOS

    Neste artigo, explicarei como ler as informações da BIOS.

    Existe um projeto, na minha opinião um dos poucos que realmente funciona.

    https://github.com/RRUZ/tsmbios/blob/master/Common/uSMBIOS.pas

    Este projeto, implementa uma camada, que permite ler as informações da BIOS do computador.

    Com ela é possível acessar informações, como memória, temperatura, e tantas outras informações.

    Um exemplo de uso, esta no projeto relógio, a função GetMemorySize lê a quantidade de memória disponível no seu PC.

    function GetMemorySize : DWORD;
    Var
    SMBios : TSMBios;
    LPhysicalMemArr : TPhysicalMemoryArrayInformation;
    begin
    SMBios:=TSMBios.Create;
    try
    if SMBios.HasPhysicalMemoryArrayInfo then
    for LPhysicalMemArr in SMBios.PhysicalMemoryArrayInfo do
    begin
    if LPhysicalMemArr.RAWPhysicalMemoryArrayInformation^.MaximumCapacity<>$80000000 then
    begin
    result := LPhysicalMemArr.RAWPhysicalMemoryArrayInformation^.MaximumCapacity div 1024;
    break;
    end
    else
    begin
    result :=LPhysicalMemArr.RAWPhysicalMemoryArrayInformation^.ExtendedMaximumCapacity div 1024;
    break;
    end;
    end
    else
    result := 0;
    finally
    SMBios.Free;
    end;
    end;

    Existem diversos exemplos de código nesta maravilhosa biblioteca, e vale a pena rever e estudar este código.

    Delphi Lazarus
    Instalando fpcupdeluxe Windows

    O fpcupdeluxe é o instalador do lazarus já com atualização de pacotes automáticos e plataformas.

    
    
    
    
    

    Qual a diferença de instalar o lazarus e o fpcupdeluxe?

    No lazarus, voce instala apenas os compiladores para a plataforma alvo, ou seja, para o sistema que esta instalando. Isso quer dizer, que se instalar no windows 10, terá apenas os compiladores do windows 10.

    Já o fpcupdeluxe, voce alem de instalar o lazarus do windows 10, no caso do nosso exemplo acima, tambem, já pode preparar binarios em linux i386, alem de arm, mac os, android entre outras plataformas que o lazarus permite compilar.

    Existe um ótimo tutorial, para quem deseja instalar no linux i386, segue o link:

    https://www.embarcados.com.br/cross-compilando-pascal-para-arm-utilizando-o-lazarus/

    Aqui irei abordar o procedimento para o windows, pois há uma pequena variação.

    Pré requisitos

    • GIT instalado
    • Git Tortoise (recomendado) porem não é requerido
    • GTK+-Bundle-3.4
    • Win64Bins.zip

    Instalação

    Primeiro baixe o projeto no repositório do git na pasta
    c:\fpcupdeluxe, o repositório segue no link abaixo:

    https://github.com/LongDirtyAnimAlf/fpcupdeluxe.git

    Em seguida, pegue a ultima versão do binário já compilado e mova para a pasta c:\fpcupdeluxe

    https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases

    Lembrando que a versão para windows 10 64bits será como demonstrado:


    Copie o binário na pasta c:\fpcupdeluxe , e execute o mesmo.

    Irá aparecer uma tela, primeiramente, voce deve selecionar o caminho
    c:\fpcupdeluxe\fpcupdeluxe, conforme figura abaixo:

    Agora selecione o stable do FPC e Lazarus, conforme figura abaixo:

    Click no botão Install/Update, conforme figura abaixo:

    Lembre-se este procedimento irá demorar muito.

    Então deixe rodando e vá fazer outra coisa, tipo escrever um tutorial 😉

    Ao final da instalação surgirá o resultado como da imagem abaixo: 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

    Finalização do procedimento de instalação

    Rodando o Lazarus

    O Lazarus pode ser encontrado no c:\fpcupdeluxe\fpcupdeluxe, conforme figura abaixo:

    Entre na pasta lazarus, e procure o executável startlazarus.

    aplicativo startlazarus

    Segue o exemplo do Lazarus, já com aplicativo compilado.

    Lazarus com projeto compilado!


    Gerando binário para o Windows

    Agora criaremos uma aplicativo e executaremos no windows.

    Para tanto criei um projeto hello world, que disponibilizarei neste link:

    http://maurinsoft.com.br/downloads/hello%20world.rar

    Como estamos compilando em máquina nativa, não há muito a ser feito, basta compilar e rodar a aplicação.

    Para compilar, selecione RUN e dentro dele a opção Build.

    Podemos ver que ele funcionou.

    Lembre-se que a opção Default é a nativa do sistema.

    Para isso precisa ir no menu Project, selecionando a opção Project Options.

    Lá surgirá um menu, conforme o da figura abaixo:

    Selecione a opção Compiler Options, e dentro dela o item Config and Target, conforme figura acima.

    Gerando binários para Raspberry PI – Linux

    Agora irei descrever o procedimento para gerar compilação para o raspberry pi, estando no lazarus do windows.

    Este procedimento aproveita, que o lazarus tem como lema a compilação cruzada, ou como eles dizem:

    Write once! Compile Anyware!

    Para isso precisa ir no menu Project, selecionando a opção Project Options.

    Lá surgirá um menu, conforme o da figura abaixo:

    Selecione a opção Compiler Options, e dentro dela o item Config and Target, conforme figura acima.

    Selecione o processador (CPU) arm.

    Selecione o OS (Sistema Operacional) linux.

    Conforme figura abaixo:

    Click no botão Install compiler, conforme figura acima.

    O fpcupdeluxe irá providenciar a instalação do ambiente crox para esta plataforma, conforme descrito.

    Este procedimento irá demorar alguns minutos.

    Instalação/Atualização concluída com sucesso.

    Para tanto criei um projeto hello world, que disponibilizarei neste link:

    http://maurinsoft.com.br/downloads/hello%20world.rar

    Basicamente a tela dele, é como se segue.

    hello world

    Aponte o Target OS, para ser Linux, e em seguida o CPU para arm, conforme figura acima.

    Click no botão Test, para realizar teste de compatibilidade.

    No meu teste, ele encontrou os fontes tanto do X64 como do ARM, dê ignorar, e verifique se deu tudo certo.

    Na figura acima, podemos ver que ele conseguiu achar os alvos necessários.

    Click no botão OK.

    Agora vamos compilar, através do menu RUN, com o item Build.

    O resultado esperado será o apresentado acima.

    No meu caso eu salvei o projeto em:

    C:\fpcupdeluxe\fpcupdeluxe\projects\projetos\hello world

    Lá vc encontra 2 grandes arquivos:

    O primeiro hello, é o do arm, pois não eh reconhecido como executável.

    O segundo já é o compilado no windows.

    Vamos copiar o primeiro hello, e copiar para o raspberry.

    Usando o bitvise, copie o arquivo, o resultado, é como se segue:


    Agora, no terminal, execute o comando a seguir:

    chmod +777 ./hello

    Não se esqueça de ir na pasta onde copiou o aplicativo, no meu caso foi /home/mmm/Downloads.

    Agora entre no VNC, e execute o aplicativo na referida pasta.

    Para executar, dê duplo click, o resultado será conforme apresentado.

    Ao clicar no botão, surgirá a mensagem abaixo:

    Parabéns! você conseguiu compilar no raspberry!

    Gerando binário para o Linux X64

    Agora iremos preparar o ambiente para compilar nosso exemplo no Linux X64. Ou seja em um pc com linux.

    O primeiro passo conforme apresentado na imagem acima é selecionar a aba CROSS, em seguida em CPU selecionar a opção x86_64.

    Ainda na aba CROSS, selecione em OS (Sistema Operacional) o sistema operacional LINUX, conforme figura acima.

    Por fim, selecione o botão INSTALL COMPILER, conforme figura acima.

    O processo irá demorar alguns minutos, pois o sistema irá gerar o ambiente necessário para compilar em Linux.

    Para testarmos nosso binário, iremos primeiro montar uma VM (Virtual Machine) com ubuntu. No caso de nossa vm, já é 64bits.

    VM Ubuntu

    Agora identificaremos o IP para posteriormente transferir o arquivo para a maquina.

    Agora iremos entrar no bitviser e conectar para podermos jogar nosso arquivo, quando pronto.

    Pronto, agora irei aguardar até fpcupdeluxe terminar de preparar a versão de compilação cruzada linux X64.

    Pronto agora podemos comecar a compilar nosso exemplo.

    Começamos, entrando na pasta do lazarus.

    No meu caso, podemos ver que instalei em C:\fpcupdeluxe\fpcupdeluxe\lazarus.

    Agora iniciarei o lazarus, através do comando startlazarus.

    Já no lazarus aberto, iremos carregar nosso projeto:

    http://maurinsoft.com.br/downloads/hello%20world.rar

    Neste exemplo, iremos mostrar uma janela simples, conforme apresentado abaixo:

    Primeiramente precisamos apontar para o target correto, para isso, iremos em Project, selecionando a opção Project Options.

    Selecione a opção Compiler Options, da arvore de opções do lado esquerdo.

    Selecione a opção Config and Target, selecione agora a opção Target OS, indicando Linux.

    Selecione o Target CPU family X86_64, conforme figura acima.

    Para ter certeza que o processo de instalação esta correto, iremos clicar no botão Test, conforme figura acima.

    Poderão surgir alguns avisos, dizendo que os fontes estão duplicados, dê ignore.

    Click no botão OK.

    Pronto! Podemos gerar o binário.

    Agora iremos gerar o binário, simplesmente Clicando na opção de menu RUN, no sub item Build.

    Estamos quase acabando, pois já geramos nosso binário. Agora devemos leva-lo para o linux e testar.

    O nosso projeto foi originalmente gravado em

    C:\fpcupdeluxe\fpcupdeluxe\projects\projetos\hello world

    Podemos ver, que existem 2 arquivos hello, o primeiro com data de hoje, e o segundo com data de ontem. O primeiro já é o nosso aplicativo linux, e deve ser copiado para uma pasta no linux.

    Conforme figura acima, podemos ver que copiamos o arquivo para a pasta do download.

    O próximo passo é dar permissão de execução no arquivo.

    Para tanto, iremos na pasta e em seguida dar o comando:

     chmod +777 ./hello

    Pronto, agora basta chamar nosso aplicativo.

    Ao clicar no nosso botão, teremos o seguinte resultado:

    Observando, que agora temos 3 opções de binário.

    Gerando binário para o MAC OS

    Agora iremos para nossa terceira etapa, gerando para o MAC.

    Irei gerar o binário para este mac, um modelo 2009, já velinho.

    Que venho apresentando em diversos posts.

    Primeiramente precisamos saber a versão do processador.

    No nosso exemplo usamos um processador INTEL Core 2 Duo, o que iremos parametrizar.

    Agora iremos novamente entrar no nosso fpcupdeluxe-x86_64-win64.exe, localizado na pasta C:\fpcupdeluxe

    Entraremos na aba CROSS, e em seguida selecionamos CPU i386.

    Agora marcamos no OS, o sistema darwin, que é o MACOS.

    Erroneamente marcado como x86_64

    Click em INSTALL COMPILER, e mostrará a aba abaixo, informando que para rodar o free pascal, necessita de versão superior ao 3.2, dê Yes.

    Pronto, agora é só aguardar…

    Para testar e fazermos testes, usaremos o RealVNC, pois facilita em muito.

    Para tanto, configure em seu mac uma versão do RealVNC, e conecte com o view no seu PC, conforme demonstrado abaixo:

    Crie uma pasta no MAC, para levar o binario.

    Abra a pasta e já deixe pronto para a próxima etapa.

    Pronto! A maquina cross esta pronta!

    Agora iremos compilar no MAC

    Para tanto, iremos abrir o Lazarus, que fica localizado em C:\fpcupdeluxe\fpcupdeluxe\lazarus.

    Para rodar o Lazarus, execute o startlazarus, conforme figura acima.

    Para gerar, entre no menu na opção Project, no sub item Project Options.

    Agora, selecione a arvore de opções Compiler Options, e em seguida o sub item Config and Target, conforme figura acima.

    Selecione no Target OS, o item Darwin, e para o Target CPU i386, conforme figura acima.

    Selecione o Botão Test, conforme figura acima.

    Por fim, click no botão OK.

    Agora, iremos compilar nossa aplicação, para tanto click em RUN, selecionando a opção BUILD.

    Agora se olharmos a pasta do projeto, eu instalei em C:\fpcupdeluxe\fpcupdeluxe\projects\projetos\hello world

    Podemos ver que foi criado um arquivo hello e tambem uma pasta hello.app.

    Devemos copiar ambos.

    Pronto! Segue o executável, funcionando!

    Gerando binário para o Android

    Agora iremos criar um procedimento para criar aplicações android.

    Para testar iremos utilizar um CubieTruck com SO Android 4.

    CubieTruck é um equipamento bem versátil com 2Gb.

    O CubieTruck permite ser usado tanto como maquina linux, como máquina Android.

    Para me auxiliar, instalei o aplicativo que cria um servidor ssh.

    Pronto, agora tenho comandos e ftp para lançar minha aplicação.

    A ilustração acima, demonstra que posso disponibilizar arquivos para o celular.

    Na ilustração acima, o console terminal, permite rodar comandos.

    Podemos ver também, que a atualização do cpu ARM, com SO android foi finalizada.

    Agora irei compilar meu projeto.

    Agora, clicando em Test, gerando

    Instalação de Pacotes Adicionais

    O FPCUPdeluxe permite tambem a instalação de pacotes adicionais, tal como Zeoslib.

    Apresentaremos o procedimento de instalação de um pacote.

    Para tanto, click na aba Modules, selecione a aba que deseja instalar e click no botão Install module.

    maurinsoft.com.br