Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 06 de Outubro de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
70 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Trabalhando com Cookies no Intraweb
Publicado por admin : Segunda, Janeiro 31, 2011 - 09:51 GMT-3 (801 leituras)
Comentários 4 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Rodrigo Santos Olá, galera Delphiana! Este é meu primeiro artigo e eu estou muito feliz por poder fazer parte da comunidade Active Delphi, que tanto contribuiu para os desenvolvedores Delphi durante todos esses anos. O objetivo deste artigo é demonstrar a utilização de cookies no Delphi Intraweb. Neste exemplo, armazenaremos o usuário e a senha em cookies distintos para que não seja necessário o preenchimento dos mesmos toda vez que se deseja efetuar o login no sistema.

Primeiramente, vamos criar um novo projeto: File/New/Other/VCL for the Web. Selecione VCL for the Web Application Wizard e clique em OK.

Será aberta uma janela para configuração do tipo de aplicação que será criada. Neste caso, não há necessidade de fazer nenhuma modificação, exceto a do Project Name para prjCookies

No exemplo em questão, criei uma tela como é mostrado abaixo:


Figura 1 - Interface da página de login

Antes de começarmos a montar nossa tela, vamos renomear a unit para untLogin (no Project Manager) e o formulário para frmLogin. Configure os componentes da seguinte forma:

Componente

Nome

Valor

IWLabel

lblLogin

Login

IWLabel

lblUsuario

Usuário:

IWLabel

lblSenha

Senha:

IWEdit

edtUsuario

 

IWEdit

edtSenha

 

IWCheckBox

ckbLembrarSenha

Lembrar minha senha

IWButton

btnEntrar

Entrar

Após a configuração de nossa tela, vamos criar um novo formulário: File/New/Other/VCL for the Web. Selecione New Form, após a confirmação, será aberta uma janela para configuração do tipo de formulário que se deseja criar, neste caso usaremos o padrão (Application Form). A tela ficará como mostrado abaixo:


Figura 2 - Interface da página principal do sistema, exibida após o login

Vamos renomear a unit para untHome (no Project Manager) e o formulário para frmHome. Configure os componentes da seguinte forma:

Componente

Nome

Valor

IWLabel

lblMsg

lblMsg

IWLink

lnkVoltar

Voltar

Importante: Todos componentes encontram-se na paleta IWStandard: IWLabel, IWEdit, IWCheckbox, IWButton, IWLink.

Adicionemos então a untHome na Uses List da untLogin e vice-versa, para que possamos chamar os formulários de cada uma das telas.

Vamos agora codificar nosso projeto-exemplo. Primeiro, o evento Click do btnEntrar:

procedure TfrmLogin.btnEntrarClick(Sender: TObject);
begin
  if (edtUsuario.Text = '') or (edtSenha.Text = '') then
  begin
    WebApplication.ShowMessage('É necessário especificar Usuário e Senha!');
    Exit;
  end;
  if ckbLembrarSenha.Checked then
  begin
    //Armazenamento da senha
    with WebApplication.Response.Cookies.Add do
    begin
       Name := 'pwd';
       Value := edtSenha.Text;
    end;
    //Armazenamento do usuário
    with WebApplication.Response.Cookies.Add do
    begin
       Name := 'usr';
       Value := edtUsuario.Text;
    end;
  end;
  untHome.TfrmHome.Create(WebApplication).Show;
end;

Podemos perceber que os cookies são armazenados através do comando WebApplication.Response.Cookies.Add, onde indicamos seus respectivos nomes e valores. Agora o evento IWAppFormCreate:

procedure TfrmLogin.IWAppFormCreate(Sender: TObject);
begin
  if (WebApplication.Request.CookieFields.Values['usr'] = '') and
  (WebApplication.Request.CookieFields.Values['pwd'] = '') then
  begin
    edtUsuario.Text := '';
    edtSenha.Text := '';
    ckbLembrarSenha.Checked := False;
  end
  else
  begin
    edtUsuario.Text := WebApplication.Request.CookieFields.Values['usr'];
    edtSenha.Text := WebApplication.Request.CookieFields.Values['pwd'];
    ckbLembrarSenha.Checked := True;
  end;
end;

Para capturarmos o valor de um cookie usamos o comando WebApplication.Request.CookieFields.Values[<nome_cookie>]. Os cookies só serão armazenados se o ckbLembrarSenha estiver selecionado e os campos estiverem preenchidos. Neste caso, apenas como forma de ilustração, será aberta uma tela dizendo que o login foi efetuado com êxito.


Figura 3 - interface da figura 2 em execução.

Ao clicar no lnkVoltar, o sistema retornará à tela de Login com os cookies em seus respectivos campos.

Qualquer dúvida estou a disposição!
Abraços a todos!

Observação: Este projeto de exemplo foi desenvolvido em Delphi 2010 e pode ser baixado aqui (1,02 MB).

Por: Rodrigo Alves dos Santos
Contato: rod.alves88@gmail.com



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: dedeboy2005 (programador.andre@gmail.com) : Fev 03, 2011 - 09:47
(Informações sobre o membro | Enviar uma mensagem)
Eu fiz no Delphi 2009 e quando vai pra outra tela ele nao aparece o texto como mostra na figura 3 e no link voltar não funciona.


por: dedeboy2005 (programador.andre@gmail.com) : Fev 03, 2011 - 09:53
(Informações sobre o membro | Enviar uma mensagem)
Então como esta no tutorial no delphi 2009 só quando vai para a outra tela não mostra a mensagem como na figura 3 e também quando vai no link voltar ele não funciona.
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados