|
[03/07]
:. Resumo do dia [03/07] :. Problemas graves com os links da Telefonica em SP [03/07] :. Texas Instruments integra projetor em BlackBarry [03/07] :. Willcom 9: celular pequeno e integrado ao Google [03/07] :. SSDs consomem mais energia que HDs convencionais [03/07] :. Firefox entrou para o Guinness Book [02/07] :. Revista GIMPZINE nº 8 [02/07] :. Os críticos estão errados: o KDE 4 não precisa de um fork [02/07] :. Resumo do dia [02/07] :. Everex preparando Cloudbook de 10,2 polegadas [02/07] :. AMD Phenom de 45 nm poderá suportar memória DDR3 [02/07] :. Instalando o VMWare Workstation 6.x no Mandriva Linux [01/07] :. Um ano de GPLv3: estudos sobre a adoção da licença [01/07] :. Google e MPF entram em acordo sobre pedofilia no Orkut [01/07] :. Fotos do Eee Monitor: o 'iMac' da Asus :. Mais noticias » |
Nossa agenda será simples, guardará apenas nome e número de telefone. Porém com a base que vou passar com um pouco mais de trabalho você poderá programar coisas muito mais complexas. Criando o banco de dados:
$mysql -u usuario -p Crie o banco de dados. Vamos usar o nome 'agendakylix': mysql>create database agendakylix; Selecione seu novo database: mysql>use agendakylix; Crie uma tabela de nome telefones com 3 campos: agenda_id, agenda_nome e agenda_tel, sendo o agenda_id como 'autoincrement', agenda_nome como varchar(30) e agenta_tel como varchar(12): mysql> create table telefones( Confira se a tabela está realmente criada: mysql> show tables; Confira se os campos estão corretos: mysql> show columns from telefones; Agora vamos ao kylix :) Crie um novo projeto: File > New Application No Object Inpector (que daqui pra frente chamarei de OI) altere as configurações do Form1 com os dados a seguir:
Clique no botão Save All, e salve o fPrincipal como uPrincipal, e o projeto como AgendaKylix.dpr. Criando a interface gráfica: Insira no fPrincipal três TPanels, e faça o seguinte no OI:
Agora, insira os seguintes componentes no Panel1:
Vamos alterar as configurações no OI para o Button1:
Vamos alterar as configurações no OI para o SQLConnection1:
Vamos alterar as configurações no OI para o SQLQuery1:
Vamos alterar as configurações no OI para o DataSource1:
Vamos alterar as configurações no OI para o DbNavigator1:
Agora, no Panel3 coloque um TStringGrid e no OI altere as configuraçôes:
E pra finalizar, no Panel3 coloque os componentes:
Vamos as configurações no OI:
Veja como ficou o meu form no kylix:
Em execução:
Iniciando no código fonte:A primeira coisa a fazer, é verificar se tudo está bem no MySQL. Selecione o componente conn, e no OI marque a opção Connected como True. O Kylix agora vai tentar se conectar ao servidor MySQL e caso tenha sucesso ele só vai manter a opção como True. Caso contrário, informará um erro e você terá que verificar o MySQL para saber o que há de errado. Siga a minha dica da url http://www.guiadohardware.net/linux/dicas/40.htm e tente novamente. MySQL ok? vamos fazer um evento para fechar o programa: Clique duas vezes no botão butFechar, e no fonte digite o seguinte: procedure TfPrincipal.butFecharClick(Sender: TObject); Tecle F9 e teste o evento. Inserindo dados no MySQL:Vamos criar o evento do botão butIns, inserindo no MySQL os dados digitados nos componentes edtNome e edtTel. O que temos que pensar? Que vamos capturar o valor digitado nos edits, jogar numa string MySQL e executar a mesma no servidor MySQL. É bem simples, veja o fonte abaixo: procedure TfPrincipal.butInsClick(Sender: TObject); //verificando se a variavel nome está vazia ou não: //verificando se a variavel tel está vazia ou não: //verificando se houve erro na validação. Se houve não faz nada Criando a visualizaçãoPara ver os telefones, vamos usar o GridVer. Para isso, vou criar uma procedure nova para ele, veja o código: procedure TfPrincipal.verdados(a:integer); //contando o numero de regisros do mysql: //inserindo as linhas necessarias no gridver: //inserindo os valores no gridver Declare a nova procedure na área type do código. Observe o meu como está: type Agora que já temos nossa procedure de visualização, vamos coloca-la no evento onShow do fPrincipal. Para isso vá ao OI e clique duas vezes no evento onShow. Veja a figura abaixo:
E no fonte, insira o verdados(1). Veja abaixo: procedure TfPrincipal.FormShow(Sender: TObject); No evento butInsClick, coloque também o verdados(1) no final, pois assim a cada novo telefone inserido o grid será atualizado. Coloque-o dentro deste IF: if (erro=0) then Deletando os registros:Insira mais um componente em seu form: o TPopupMenu, e dê um duplo clique nele. Uma janela se abrirá, selecione-a, e no OI na opção Caption digite 'Editar' (sem as aspas). No espaço que será criado logo abaixo, selecione-o e digite 'Deletar' (sem as aspas). Veja a figura abaixo:
Selecione o GridVer, e no OI insira o valor PopupMenu1 na opção PopupMenu. Clique duas vezes no 'Deletar' do PopupMenu1, e insira o código: procedure TfPrincipal.Deletar1Click(Sender: TObject); //confirma se deseja deletar ou não: Editando os registros:Vamos precisar de mais um TForm. Clique no botão NewForm, selecione o novo form e no OI edite as seguintes opções: Caption - Editar Clique em Save, e salve como uEdita.pas Agora, vamos ganhar tempo: Selecione no fPrincipal o objeto GroupBox1, e dê um CTRL C para copiar. Logo em seguida selecione o fEdita, e dê um CTRL V. Observe abaixo como ficou:
Modifique essse dados no OI para o fEditar / GroupBox1: Caption - Editar Modifique essse dados no OI para o fEditar / butIns: Caption - Editar Para chamar esse form, clique duas vezes no componente Popup1 do fPrincipal, clique duas vezes na palavra Editar. No código, coloque assim: procedure TfPrincipal.Editar1Click(Sender: TObject); Precisamos preencher esses edits do fEdita com os valores selecionados no fPrincipal. Faremos o seguinte: No mesmo evento acima, vamos já preencher esses dados. Observe o código abaixo: procedure TfPrincipal.Editar1Click(Sender: TObject); E no fEdita precisamos guardar o número antigo do telefone para poder fazer o update no mysql. Criarei uma variável global. Observe: var implementation {$R *.xfm} Selecione o fEdita, vá no OI e em events clique duas vezes na opção onShow. Observe: procedure TfEdita.FormShow(Sender: TObject);
begindeletar:= edtTel.Text; end; Dessa forma, assim que o form é aberto o valor do telefone selecionado é inserido na variável deletar, de forma global. Editando: Clique duas vezes no botão Editar (butIns do fEditar). Digite o código: procedure TfEdita.butInsClick(Sender: TObject);begin E acabamos, compile e distribua para seus amigos :). Como podem ter notado, criei a procedure verdados() com um parâmetro integer, deforma que fica mais fácil para inserir mais funções. Basta trocar o 1 por outro número qualquer e editar no fonte para executar o que você quiser de acordo com o número que foi escolhido. Esse exemplo que criei te dará base para criar infinitas coisas mais complexas, use sua imaginação :).
Vida longa ao software livre. Downloads: Fonte | Binário » Gostou do texto? Veja nossos livros impressos
|