· Imagem feita em Flash, e exportada no formato .wmf, disponível para download. clique
A tela Principal
O StatusBar
Altere o nome do StatusBar para StsMensagens e logo após cliqueDuplo sobre o status e escolha a opção add do menu Local aberto.
Seção |
Propriedades |
Valor |
StatusPanel0 |
Width Text Aligment |
150
TaCenter |
StatusPanel1 |
Width Text Aligment |
150 Data: taCenter |
StatusPanel2 |
Width Text Aligment |
100 Hora: taCenter |
StatusPanel3 |
Width Text Aligment |
150 Tempo de Uso: taCenter |
StatusPanel4 |
Width Text Aligment |
Usuários: |
Adicione na sequencia um TTimer(System) e com um duplo clique digite o código a seguir.
procedure TFormPrincipal.Timer1Timer(Sender: TObject);
begin
stsMensagens.Panels[1].text:= Datetostr(Date); //Adiciona a Data Atual
stsMensagens.Panels[2].text:=TimetoStr(Now);//Adiciona a Hora
stsMensagens.Panels[3].text:=TimeToStr(Now-dtInicio);//Cria um Contador Inc(ItempoInativo);
Caption:=IntTostr(iTempoInativo); //Procedimento criado
if iTempoInativo>=1200 then //Aqui você pode alterar o tempo de uso.
close; //ou application terminate
end;
Na seção Public crie os procedimentos
public
{ Public declarations }
DtInicio:TDateTime;
iTempoInativo:Integer;
end;
A Imagem de Fundo
Vamos agora trazer para nosso formulário, a imagem que deverá ser carregada no momento de abrir o formulário Principal, deixando assim nosso formulário mais leve.
Adicione ao Formulário um Objeto Imagem e de a ele o nome de imgFundo, com a propriedade align como AlClient
procedure TFormPrincipal.FormShow(Sender: TObject);
begin
with formPrincipal do
Begin
left:=0;
Top:=0;
// Ocupa toda a dimensão independente da resolução adotada
Height:=Screen.Height;
Width:=Screen.Width;
end;
imgfundo.Picture.LoadFromFile('FundoI.wmf');//Aqui coloquei a imagem fora da pasta imagens
end;
A Calculadora
Vamos fazer a chamada da calculadora do Windows para que simplifique nossa aplicação.
De um duplo Clique no actionList e crie um novo Evento.
procedure TFormPrincipal.ActCalculadoraExecute(Sender: TObject);
begin
//Declare Windows no uses
WinExec('calc.exe', sw_Show)
end;
Os Itens Consultas e Relatórios, deixei apenas para uso futuro. Atente para o item Action , onde Selecionei a Ação ActCalculadora.
Compile e teste o projeto.
O formulário de Login
Adicione um novo formulário ao projeto:
Seção |
Propriedade |
Valor |
Name |
FormLogin |
|
Caption |
Login |
|
Position |
|
poScreenCenter |
Salve com o nome de UFormLogin
***Clique em File UseUnit e vincule o formulário ao DataModule (DM) e ao FormPrincipal.
Adicione ao Formulario 02(dois) Tedit, 02 BitBtn,02Imagens e dois Labels e configure conforme tabela:
Seção |
Propriedade |
Valor |
BitBtn |
Name |
btnLogin |
Bitbtn |
Name |
btnCancelar |
Label 1 |
Caption |
Usuário |
Label2 |
Caption |
Login |
Tedit1 |
Name Text |
edUsuario apague o texto |
Tedit2 |
Name PasswordChar Text |
edLogin & ou um caracter a seu gosto Apague o texto |
Acima o Formulário já no modelo de criação e após a compilação.
Digite alguns dados para que possamos fazer os teste.
Retorne ao Delphi e no DataModule DM inclua um AdoTable e de o nome TBUsuarios
Conecte-o ao AdoConnection e selecione a tabela Usuarios:
De um duplo clique na TbUsuarios e Ctrl+F para adicionar os Tfields
procedure TFormLogin.btnLoginClick(Sender: TObject);
begin
dm.tbUsuarios.Open;
if edUsuario.text= '' then // se o edit login estiver vazio mostre a msg
ShowMessage('Digite um login');
if edLogin.text='' then // campo senha vazio mostre msg
Showmessage('Digite sua Senha');
begin
if dm.tbUsuarios.locate('Usuario', EdUsuario.Text,[])= true then // usa o locate para ver se existe na tabela o login digitado
begin
if dm.tbUsuarios.Locate('Login', EdLogin.Text,[])= true then // o mesmo com a senha usa o locate para saber se senha existe e é daquele usuario
begin
formlogin.Visible := false;
formprincipal.show; //abre o FormPrincipal
end
else
begin
Application.MessageBox('Não é possível entrar no Sistema Senha inválida.','Segurança', MB_ICONERROR + MB_OK);
EdUsuario.SetFocus;
end;
end else
begin
Application.MessageBox('Não é possível entrar no Sistema Inválidos.','Segurança', MB_ICONERROR + MB_OK);
EdUsuario.SetFocus;
end;
end;
end;
No evento do botão cancelar, apenas digite Close;
Para o Evento Onshow do formulário, digite:
procedure TFormLogin.FormShow(Sender: TObject);
begin
edUsuario.setFocus;
end;
Retorne ao Formulario e em Project/Options, selecione para que seja iniciado o projeto pelo formLogin.
Verifique que o Usuário foi adicionado no 5º Panel e que o tempo de uso do sistema já está em contagem de tempo, que no nosso caso marcamos para 1200mm/s.
- Poderiamos incrementar muito mais nosso Formulário Principal, com a adição dos dias da semana junto a data, Colocarmos uma letreiro digital dando as boas vindas, etc.
No próximo tutorial vamos desenvolver a tela de Cadastro de Usuários, e vamos iniciar nossas consultas.
Até lá
Cláudio Medeiros dos Santos