Postado por Plinio Cruz em 27 de novembro de 2003 na categoria Delphi, Programação |
 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
Postado por Plinio Cruz em 24 de novembro de 2003 na categoria Linux |
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
Postado por Plinio Cruz em na categoria Programação, Visual Basic |
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/
Postado por Plinio Cruz em 21 de novembro de 2003 na categoria Delphi, Programação, Tutorial |
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.
- 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.
- 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:
- Crie um projeto com um form e coloque um TButton.
- 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
Postado por Plinio Cruz em na categoria Banco de Dados, Delphi, Programação |
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;

Â
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