Trabalhando com Datas e Horas no Delphi

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Sem votos, vote agora!)
Loading ... Loading ...

Postado por Plinio Cruz em 27 de novembro de 2003 - Delphi, Programação | Leia o primeiro comentário

 Vamos aporsentar três rotinas envolvendo data e horários no Delphi que vai ajudar a você a desenvolver as suas próprias rotinas, são elas: 1 – Comparando dois horários; 2 – Operação com horários; 3 – Alterando a Data e Hora do Sistema.

1 – Comparando dois horários

Função que retorna se a primeira hora é maior ou menor que a segunda. Recebe duas entradas e retorna como resultado ou “maior” ou “menor”. A comparação é feita com a Primeira em relação a Segunda.

function ComparaHora(Primeira,Segunda : String):String;

var

Prim,Segu : TDateTime;

begin

    Prim := StrToTime(Primeira);

    Segu := StrToTime(Segunda);

If (Prim > Segu) then 

   begin

      Result := ‘maior’;

  end

else

   begin

      Result := ‘menor’;

  end;

end;

2 – Operação com horários

Função que retira dez minutos de um horário e retorna o novo horário com os dez minutos a menos. No exemplo repare que a quantidade de hora, minuto ou segundo tem que ter o mesmo formato aceito pelo sistema: HH:MM:SS. Neste caso retiramos dez minutos do horário original, mas podemos fazer a operação que quisermos, bastando, neste exemplo, modificar a variável que quisermos.

function TiraDez(Hora: String):String;

var

Prim : TDateTime;

Dez: TDateTime;

begin

   Prim := StrToTime(Hora);

   Dez := StrToTime(‘00:10:00′);

   Result := TimeToStr(Prim-Dez);

end;

3 – Alterando a Data e a Hora do Sistema

Função que retira dez minutos de um horário e retorna o novo horário com os dez minutos a menos. No exemplo repare que a quantidade de hora, minuto ou segundo tem que ter o mesmo formato aceito pelo sistema: HH:MM:SS. Neste caso retiramos dez minutos do horário original, mas podemos fazer a operação que quisermos, bastando, neste exemplo, modificar a variável que quisermos.

Function SystemDateTime(tDate: TDateTime; tTime: TDateTime): Boolean;

var

   tSetDate: TDateTime;

   vDateBias: Variant;

   tSetTime: TDateTime;

   vTimeBias: Variant;

  tTZI: TTimeZoneInformation;

  tST: TSystemTime;

begin

  GetTimeZoneInformation(tTZI);

  vDateBias := tTZI.Bias / 1440;

  tSetDate := tDate + vDateBias;

  vTimeBias := tTZI.Bias / 1440;

  tSetTime := tTime + vTimeBias;

  with tST do

    begin

       wYear := StrToInt(FormatDateTime(‘yyyy’, tSetDate));

       wMonth := StrToInt(FormatDateTime(‘mm’, tSetDate));

       wDay := StrToInt(FormatDateTime(‘dd’, tSetDate));

       wHour := StrToInt(FormatDateTime(‘hh’, tSettime));

       wMinute := StrToInt(FormatDateTime(‘nn’, tSettime));

       wSecond := StrToInt(FormatDateTime(’ss’, tSettime));

       wMilliseconds := 0;

    end;

SystemDateTime := SetSystemTime(tST);

end;

Plínio Cruz
Analista de Sistemas – Consultor em Informática

Comandos Básicos do Linux

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Sem votos, vote agora!)
Loading ... Loading ...

Postado por Plinio Cruz em 24 de novembro de 2003 - Linux | Seja o primeiro a comentar

Esta é uma pequena lista de comandos Linux, mas apesar de simples e pequena e uma mina de ouro para novos e inexperientes usuários que precisam saber um básico para mexer num sistema Linux

Comando

Descricao

Exemplo

ls

Lista os arquivos, mesmo que dir do DOS.
Atributos comuns:
-a = mostra arquivos ocultos
-l = mostra bytes, permissões, diretório, etc.

(nenhum)

rm

Remove arquivos, no formato: rm (arquivo1) (arquivo2) (arquivo3) …

rm eu.doc / rm leiame.txt manual.html win95.w95

cp

Copia arquivos, no formato: cp (arquivo1) (diretório)

cp manual.txt /home/manual

mv

Mover e/ou renomear arquivos
Linha: mv origem_do_arquivo destino_do_arquivo ou mv arquivo arquivo1

(nenhum)

cat

Mostra o conteúdo do arquivo, mesmo que o ‘type’ no DOS

(nenhum)

more

Exibe o conteúdo de um arquivo pagina a pagina, mesmo que no DOS.

ls|more

pwd

Exibe o diretório atual (o que vc esta)

(nenhum)

rmdir

Apaga diretório

rmdir /diretório se o diretório estiver cheio, use o rm com o atributo -r

mkdir

Cria diretório

mkdir /diretório

clear

Limpa a tela, mesmo que ‘cls’ no DOS

(nenhum)

who

Mostra quem está na maquina no momento

(nenhum)

whoami

Mostra quem você é – útil quando você esquece com que login entrou.

(nenhum)

finger

Mostra o usuário associado a certa chave

(nenhum)

df

Mostra o espaço usado, livre e a capacidade das partições do HD

(nenhum)

free

Exibe a memória livre, a usada, e o buffers da memória RAM

(nenhum)

exit e logout

Sai da sessão atual

(nenhum)

shutdown

“Reseta” a maquina

shutdown -r now

Texto retirado da Internet

Visual Basic : Datas , Datas e mais datas…

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Sem votos, vote agora!)
Loading ... Loading ...

Postado por Plinio Cruz em - Programação, Visual Basic | Seja o primeiro a comentar

Bem,  eu já tratei deste assunto nos artigos: Trabalhando com datas no Visual Basic e  Visual Basic – Datas e o ano 2000. Por isto este artigo será bem direto e objetivo.  Vou mostrar como fazer cálculos com datas. Antes de começar vou falar sobre uma função muito importante : DateSerial

DateSerial retorna um tipo de dado Variant (Date) para um ano , mês e dia especificado. Sua sintaxe é : DateSerial(year, month, day)

Seus argumentos são :

Parte

Descrição

year

Obrigatório; Inteiro(Integer).Número entre 100 e 9999, ou uma expressão numérica

month

Obrigatório; Inteiro(Integer). Qualquer expressão numérica.

day

Obrigatório.Inteiro(Integer). Qualquer expressão numérica.

Para definir uma data , como 31 de dezembro de 1991 , o intervalo de números para cada argumento da função deverá ser inserido no intervalo aceito por cada um deles. Assim para dias (day) o intervalo válido é de 1 a 31 , para mêses (month) o intervalo válido é de 1 a 12. Você também pode usar expressões numéricas para cada argumento . Então podemos fazer: DateSerial(1990 – 10, 8 – 2, 1 – 1) Esta função irá retornar uma data :

  • 10 anos antes de 1990 ( 1990 – 10 )

  • 2 meses antes de agosto ( 8 -2 )

  • um dia antes do primeiro dia ( 1 – 1 )

No argumento ano , valores entre 0 e 29 , são interpretados como para o intervalo de anos de 2000 a 2029. Valores entre 30 e 99 são interpretados como intervalo de anos entre 1930 a 1999. Para outros intervalos ou valores para o argumento ano(year) use um valor com 4 dígitos : 1850.

Nota: Se você exceder o valor para os intervalos válidos haverá um incremento para o próximo valor , assim , se você informar 35 para o argumento dias ele será avaliado como um mês mais alguns dias dependendo do ano. Se você informar um valor maior que o intervalo -32.768/32.767 vai ocorrer um erro.

Lembre-se que o tipo de dado Time/Date é armazenado como um número de precisão dupla (double-precision) e se você não tomar cuidado poderá obter resultados incorretos ao tentar manipular valores de data e hora em uma expressão.

Agora , usando a função DateSerial , que tal alguns cálculos com datas ? Vamos lá… 

- Primeiro dia do mês atual

        DateSerial(Year(Date), Month(Date), 1)


- Primeiro dia do próximo mês

        DateSerial(Year(Date), Month(Date) + 1, 1)
 

- Último dia do mês atual

        DateSerial(Year(Date), Month(Date) + 1, 0)
 

- Último dia do próximo mês

        DateSerial(Year(Date), Month(Date) + 2, 0)
 

- Primeiro dia do mês anterior

        DateSerial(Year(Date), Month(Date) – 1, 1)
 

- Último dia do mês anterior

        DateSerial(Year(Date), Month(Date), 0)

 

- Primeiro dia semana atual (Domingo)

        Date – Weekday(Date) + 1

 

- Primeiro dia semana atual (Domingo)

          Date – Weekday(Date) + 7

 

- Quantos dias há no mês (11 refere-se a novembro)

    Datepart(“d”, DateSerial(2003,11 + 1, 0))

Private Sub Command1_Click(Index As Integer)
Dim data As Date

Select Case Index
Case 0
   data = DateSerial(Year(Date), Month(Date), 1)
Case 1
  data = DateSerial(Year(Date), Month(Date) + 1, 1)
Case 2
  data = DateSerial(Year(Date), Month(Date) + 1, 0)
Case 3
  data = DateSerial(Year(Date), Month(Date) + 2, 0)
Case 4
  data = DateSerial(Year(Date), Month(Date) – 1, 1)
Case 5
  data = DateSerial(Year(Date), Month(Date), 0)
Case 6
  data = Date – Weekday(Date) + 1
Case 7
  data = Date – Weekday(Date) + 7
End Select
MsgBox Command1(Index).Caption & ” => ” & data, vbInformation, “Data hora atual = > ” & Now()
End Sub

Calculando intervalo de horas

Como as horas são armazenadas como uma fração de 24 , se você tentar somar , subtrair , multiplicar ou dividir intervalos de horas maiores que 24 você vai obter resultados incorretos. Exemplo :

Private Sub Command2_Click()
 

Dim dataincial As Date
Dim datafinal As Date

 

datainicial = #6/1/1993 8:00:00 AM#
datafinal = #6/3/1993 1:00:00 PM#
 

MsgBox Format(datafinal – datainicial, “hh:mm”)

 

End Sub

- O código ao lento tenta calcular a diferença em horas entre os dias 01/6 a 03/06 e vai dar o resultado final como sendo de 05:00  quando na verdade o resultado correto seria 53:00.

Para resolver este problema você deve usar as funções Int() e CSng() para separar o valor do tempo em diferentes variávies para dias , horas , minutos e segundos.

A seguir temos uma função que calcula o intervalo de tempo para valores maiores que 24 horas e expressa em dias , horas , minutos e segundos.

Function calculaIntervaloTempo(intervalo)

Dim totalHoras As Long
Dim totalMinutos As Long
Dim totalSegundos As Long

Dim dia As Long, horas As Long, minutos As Long, segundos As Long

dias = Int(CSng(intervalo))
totalHoras = Int(CSng(intervalo * 24))
totalMinutos = Int(CSng(intervalo * 1440))
totalSegundos = Int(CSng(intervalo * 86400))

horas = totalHoras Mod 24
minutos = totalMinutos Mod 60
segundos = totalSegundos Mod 60

calculaIntervaloTempo = dias & ” dias ” & horas & ” Horas ” & minutos & ” Minutos ” & segundos & ” Segundos ”

End Function
 

Se você usar a função para obter o resultado do intervalo de tempo para o exemplo acima:

 

Dim dataincial As Date
Dim datafinal As Date

 

datainicial = #6/1/1993 8:00:00 AM#
datafinal = #6/3/1993 1:00:00 PM#

 

CalculaIntervaloTempo(datafinal-datainicial)

 

Vai obter o resultado: 2 dias 5 horas 0 minutos 0 segundos ou seja 53 horas.

 


 

 

 

Se você quiser o resultado em horas basta usar a seguinte função: CalculaIntervaloHoras(datafinal-datainicial)

Function CalculaIntervaloHoras(intervalo)
 

Dim resultado As Double
CalculaIntervaloHoras = Int(CSng(intervalo * 24))


End Function

Se você quiser o resultado em segundos  basta usar a seguinte função: CalculaIntervaloSegundos(datafinal-datainicial)

Function CalculaIntervaloSegundos(intervalo)
 

Dim resultado As Double
CalculaIntervaloSegundos = Int(CSng(intervalo * 24 * 3600))


End Function

Precisando de outros cálculos ???

1 – Quantos dias faltam para uma determinada data ?

Private Sub calculaDias()
Dim data As String

data = InputBox(“Digite uma data : Use o formato: DD/MM/AAAA (15/11/2003) “)

If data <> “” Then
    If IsDate(data) Then
       MsgBox “Faltam ” & DateDiff(“d”, Now, data) & ” dias ” & ” até ” & data, vbInformation, “Data atual => ” &  Format(Now(), “dd/mm/yyyy”)
    Else
        MsgBox ” Data Inválida “, vbCritical
    End If
End If
End Sub

2 – Quantos dias úteis existem entre duas datas ? (Não leva em conta feriados , somente sábados e domingos)

Function CalculaDiasUteis(dataInicio As Variant, dataFinal As Variant) As Integer

Dim intSemanas As Integer
Dim varDataCont As Variant
Dim intFimDias As Double

dataInicio = DateValue(dataInicio)
dataFinal = DateValue(dataFinal)

intSemanas = DateDiff(“w”, dataInicio, dataFinal)
varDataCont = DateAdd(“ww”, intSemanas, dataInicio)

intFimDias = 0

Do While varDataCont < dataFinal

  ‘desconta os sábados e domingos
   If Format(varDataCont, “ddd”) <> “Sun” And Format(varDataCont, “ddd”) <> “Sat” Then
       intFimDias = intFimDias + 1
   End If
   varDataCont = DateAdd(“d”, 1, varDataCont)
Loop

CalculaDiasUteis = intSemanas * 5 + intFimDias
End Function

3- Calcular a idade em anos de uma pessoa ?

Public Function Idade(nascimento As Date, hoje As Date) As Integer
If Month(hoje) < Month(nascimento) Or (Month(hoje) = Month(nascimento) And  Day(hoje) < Day(nascimento)) Then
    Idade = Year(hoje) – Year(nascimento) – 1
Else
   Idade = Year(hoje) – Year(nascimento)
End If
End Function

4- Calcular a idade em anos e meses de uma pessoa ?

Private Function calcula_idade(nascimento As Date) As String


Dim dias As Single
Dim anos As Integer
Dim meses As Integer
Dim resto As Integer
 

dias = DateDiff(“d”, CVDate(nascimento), Now)
anos = Int(dias / 365)
resto = dias Mod 365
meses = Int(resto / 30)
dias = resto Mod 30
 

calcula_idade = anos & ” anos ” & meses & ” mes(es)

 

End Function

4- Precisando calcular datas fora do intervalo suportado ???

Você sabe que a função DateSerial somente suporta cálculos entre datas para o intervalo de datas entre 01 de janeiro de 100 até 31 de dezembro de 9999. Abaixo uma função que faz cálculos fora deste  intervalo:

Function astroDay(ano, mes, dia)
Dim y As Double

y = ano + (mes – 2.85) / 12

astroDay = Int(Int(Int(367 * y) – 1.75 * Int(y) + dia) – 0.75 * Int(0.01 * y)) + 1721119

End Function
 

Ex: msgbox (astroDay(120000, 11, 25) – astroDay(120000, 11, 23))   ==>  irá exibir 2.

referências:

HOW-TO : Find Number of Days Between Dates outside of Normal range

ACC2000 : Functions for calculating and displaying date/time values

E por hoje é só até mais… 

José Carlos Macoratti
http://www.macoratti.net/

Como embutir uma DLL no executável evitando sua distribuição separadamente

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Sem votos, vote agora!)
Loading ... Loading ...

Postado por Plinio Cruz em 21 de novembro de 2003 - Delphi, Programação, Tutorial | Seja o primeiro a comentar

Basicamente a técnica consiste em transformar o arquivo DLL (pode ser qualquer arquivo: imagem, som, etc) em um arquivo de recursos e adicioná-lo ao pacote do executável (extensão .res). Quando houver a necessidade do seu uso, ele pode ser extraído e salvo temporariamente (ou definitivamente).

TRANSFORMANDO O ARQUIVO DLL em RES

Neste pequeno roteiro irei demonstrar como incorporar o arquivo MIDAS.DLL ao seu arquivo EXE e sua extração automática quando o programa for executado.

Primeiro precisamos transformar o arquivo MIDAS.DLL em um arquivo de recursos, o qual chamaremos de MIDAS.RES.

  1. Vá ao prompt do DOS e crie um arquivo qualquer no formato texto com a extensão .rc (para manter uma coerência, chamarei-o de MIDAS.RC). Esse arquivo deverá possuir uma linha para cada arquivo a ser transformado em recurso. Nesse exemplo conterá apenas uma linha, pois trabalharei apenas com o MIDAS.DLL. Sua estrutura deverá ser:

    MIDASDLL DLLFILE C:\WINDOWS\SYSTEM\MIDAS.DLL

    O primeiro parâmetro é o label a ser atribuido ao arquivo (Será utilizado pelo delphi pra achar o recurso).

    O segundo é apenas um identificador do tipo de arquivo.

    O terceiro é o path onde o compilador de recursos irá buscar o arquivo para
    transformar em .RES.

  2. Execute o compilador de recursos que acompanha o delphi: Está na pasta BIN e se chama BRCC32.EXE. Este é um programa do DOS, portanto se você não estiver na pasta BIN do delphi, tenha a certeza que sua váriavel PATH esteja apontando para lá. ( Se quiser configurar na mão digite no DOS: SET PATH=%PATH%;diretorio_delphi\bin) Para transformar o arquivo .RC em .RES digite:

    BRCC32 MIDAS.RC

    Dê um comando DIR e verifique a existência do arquivo MIDAS.RES (Se não
    encontrar, revise os procedimentos).

CRIANDO UM PROGRAMA QUE LEVA A DLL EMBUTIDA

Veja agora como criar um programa que embute a DLL no seu executável:

  1. Crie um projeto com um form e coloque um TButton.
  2. No código fonte da Unit você encontrará o seguinte include: {$R *.DFM}
    Logo abaixo dele inclua o seu arquivo de recurso da seguinte maneira:
    {$R MIDAS.RES}
    Ficará assim:

    {$R *.DFM}
    {$R MIDAS.RES}

    Obs: Você pode colocar sua include em qualquer parte do programa (o linker o achará), contudo o ideal é nesta seção para facilitar a localização visual dos recursos utilizados pela sua aplicação.

    Nesse momento se você compilar seu projeto, o arquivo MIDAS.DLL já estará incorporado ao executável da aplicação.

Veja como extrair a DLL em tempo de código.

Uma veja incorporado ao executável um recurso, será necessário extrai-lo antes do seu uso (Depois mostrarei uma técnica de autoextração).

O Delphi possui uma Classe que permite a manipulação de recursos, é a TResourceStream. A rotina abaixo extrai o arquivo MIDAS.DLL e salva no diretorio da aplicação:

Procedure SaveMidas;
Var PathToSave : String;
    Res : TResourceStream;
Begin
  PathToSave := ExtractFilePath(Application.ExeName)+'\MIDAS.DLL';
  If not FileExists(PathToSave) Then Begin
     Res := TResourceStream.Create(Hinstance, 'MIDASDLL', 'DLLFILE');
     Try
       Res.SavetoFile(PathToSave);
     Finally
       Res.Free;
     End;
  End;
End;

Para executá-la, no OnClick do botão escreva: SaveMidas;

Veja o código completo:

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.DFM}
{$R MIDAS.RES}

Procedure SaveMIDASDLL;
Var PathToSave:String;
    Res : TResourceStream;
Begin
  PathToSave := ExtractFilePath(Application.ExeName)+'\MIDAS.DLL';
  If not FileExists(PathToSave) Then Begin
     Res := TResourceStream.Create(Hinstance, 'MIDASDLL', 'DLLFILE');
     Try
       Res.SavetoFile(PathToSave);
     Finally
       Res.Free;
     End;
  End;
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
   SaveMidasDLL;
end;

end.


Se você quiser salvar no diretório System do Windows, a procedure abaixo facilitará sua vida:
Function ExtractSystemDir : String;
Var Buffer : Array[0..255] of Char;
Begin
  GetSystemDirectory(Buffer,144);
  Result := StrPas(Buffer);
End;

end.

AUTO-EXTRAINDO A DLL

Uma técnica interessante é a auto-extração da DLL no momento da inicialização de sua aplicação sem a necessidade da chamada explicita à procedure SaveMidasDLL.
Vamos utilizar o recurso de auto-inicialização das Units implementado pelo Delphi.

Para quem não conhece, o Delphi quando carrega uma Unit ele executa automaticamente o código dentro do bloco INITIALIZATION antes mesmo da aplicação ser totalmente inicializada, é um excelente gancho para se colocar rotinas de inicialização. O mais espertos já perceberam que o Bloco FINALIZATION faz o mesmo efeito, porém ao finalizar a execução da aplicação.

Para ver a auto-extração, acrescente o bloco de código abaixo ao final da Unit do Form:

Initialization
Begin
  ShowMessage('Gerando o arquivo MIDAS.DLL');
  SaveMidasDLL;
End;

End.

Veja que agora, quando o form é criado (e a unit acionada), a procedure SaveMidasDLL é executada automaticamente.

PROBLEMAS

Dependendo da forma como sua aplicação foi criada você pode se deparar com um problema: Uma parte do código pode estar chamando um arquivo que ainda não foi extraido (situação muito comum com aplicações que chamam DLL’s na sua inicialização).

Uma boa técnica é acrescentar o código de extração no arquivo .DPR, assim ele será acionado antes de qualquer outra rotina da aplicação.

Eu particularmente prefiro outra técnica: Colocar as rotinas de auto-extração em uma unit exclusiva e chamá-la primeiramente na minha aplicação, o código fica mais limpo, e todas as vezes que você precisar usar o recurso basta apenas acrescentá-la à sua cláusula Uses.

Veja o código pronto:

unit AutoMidas;

interface

Uses Windows, Classes, Sysutils, Forms,Dialogs;

Function ExtractSystemDir : String;
Procedure SaveMIDASDLL;

implementation

{$R MIDAS.RES}

Procedure SaveMIDASDLL;
Var PathToSave:String;
    Res : TResourceStream;
Begin
 
PathToSave := ExtractFilePath(Application.ExeName)+‘\MIDAS.DLL’;
  If not FileExists(PathToSave) Then Begin
    
Res := TResourceStream.Create(Hinstance, ‘MIDASDLL’, ‘DLLFILE’);
     Try
      
Res.SavetoFile(PathToSave);
     Finally
      
Res.Free;
     End;
  End;
End;

Function ExtractSystemDir : String;
Var Buffer : Array[0..255] of Char;
Begin
 
GetSystemDirectory(Buffer,144);
  Result := StrPas(Buffer);
End;

Initialization
Begin
  
ShowMessage(‘Gerando o arquivo MIDAS.DLL’);
   SaveMidasDLL;
End;

end.

Importante: Para evitar o problema mencionado acima, onde a aplicação chama o arquivo antes de sua extração, coloque sempre a sua Unit na primeira posição da lista da cláusula Uses, assim ela será a primeira a ser executada.
PS: uso da MIDAS.DLL foi apenas para fins didáticos, o delphi permite o uso das units MidasLib+Crtl para distribuição desse arquivo de forma mais simples.

Tutorial escrito por Adenilton Rodrigues – Belo Horizonte – MG

Como acessar uma base de dados mysql

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Sem votos, vote agora!)
Loading ... Loading ...

Postado por Plinio Cruz em - Banco de Dados, Delphi, Programação | Seja o primeiro a comentar

Bom, como todos sabem, o delphi tem a possibilidade de usar banco de dados Mysql. Mas muitas pessoas não sabem como fazer isso, para ter uma idéia, o banco de dados SQL, é bem conhecido na programação em Object Pascal, mas servidores SQL são muito caros.

Por isso irei lhes mostrar neste artigo, como usar banco de dados Mysql, que é muito mais em conta que servidores SQL

Mas afinal, o que é Mysql?

MySQL é um sistema de gerenciamento de banco de dados relacional que utiliza a linguagem padrão SQL e é largamente utilizado em aplicações internet.

Agora vamos, ao que interessa, que é como usar conexão a banco de dados Mysql, e quais componentes usar.

No decorrer deste artigo, irei dar alguns exemplos, comandos e outros.

Na barra de ferramentas do Delphi, crie um novo aplicativo em File >New >Application.

Após feito isto, va até a 7ª aba “dbExpress”, após isto coloque os componentes “SQLConnection”, “SQLQuery”.

Depois de ter colocado estes 2 componentes acima, clique na 5ª aba “Data Access”, e coloque o 1º componente, “DataSource” no form tb.

Bom, agora os componentes ja foram colocados em seu formulário. Agora vamos a configuração dos componentes:

no componente “SQLConnection” de 2 cliques sobre ele, irá aparecer a janela abaixo:

Em “Driver Name”, esolha a opção “MYSQL” como na figura abaixo:

Em “Connection Name”, escolha a opção “MSConnection” como na figura abaixo:

Agora em “Connection Settings”, configure da seguinte forma:

BlobSize = -1
Database = Nome do Banco de Dados Mysql
DriverName = MYSQL
ErrorResourceFile = Deixe em branco
HostName = Nome ou ip do host
LocaleCode = 0000
Password = Senha do host
User_Name = Usuário do Host

Após feita a configuração, clique no botão acima em “Test Connection”, para testar a conexão, ai clique em OK.

Agora no componente “SQLQuery”, na propriedade “SQLConnection” coloque o valor “SQLConnection1″.

No componente “DataSource”, na propriedade “DataSet”, atribua o valor “SQLQuery1″.

Pronto sua conexão ao Mysql foi feita, agora vou mostrar um pequeno exemplo, de como iserir dados.

No form, coloque os componentes: “TEdit”, “TButton”, todos dois estão localizados na 1ª aba “Standard”.

 

De 2 cliques sobre o componente “TButton”, ai, aparecerá uma tela, para editar, ai, escreva o seguinte:

SQLQuery1.Active := False;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add(‘insert into nome_tabela (campo1) values (‘+””+edit1.Text+””+’) ‘);
SQLQuery1.ExecSQL;

Clique na imagem para ampliar

 

Após feito isto, basta colocar o arquivo libmysql.dll na pasta onde salvou o projeto, e na pasta C:\Windows\System, e executar o sistema.

 

Pronto ai está um pequeno sistema, de como acessar base de dados mysql, e como inserir dados.

Atenção, alguns computadores, já existe o arquivo libmysql.dll, mas os que não existe é bom baixar, e fazer passar a existir.

Abraços a todos!
Gercil Junio Mateus Nascimento