Atenção:  Por motivos particulares, esse tutorial só irá até a aula IX, não tem finalização..  desculpe-me.
 
Neste tutorial iremos trabalhar na pagina Principal, dando a ela um visual diferente com o acréscimo de data, Restringindo o tempo de uso com um contador e adicionando uma imagem de fundo no evento AoAbri (OnShow) do formulário.

·         Imagem feita em Flash, e exportada no formato .wmf, disponível para download. clique

A tela Principal

Então vamos montar nossa tela.
 

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.

Adicione 4 intervalos de espaços e configure e configure-os conforme tabela

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

Selecione o Formulário, e no evento OnShow digite:

 

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;

Salve e faça os teste.

 

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.

De um duplo clique no ActCalculadora e no evento que se abre digite:

 

procedure TFormPrincipal.ActCalculadoraExecute(Sender: TObject);

begin

//Declare Windows no uses

WinExec('calc.exe', sw_Show)

end;

De um duplo clique no TmainMenu, e altere o Menu conforme Imagem. 

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.

Abra o Banco de Dados e inclua uma nova Tabela de Nome Usuarios

Digite alguns dados para que possamos fazer os teste.

***(O código do usuário e um AutoIncremento).

 

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

 
Retorne ao formulário de Login e no evento do botão btnlogin, digite:

 

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.

 
Salve e compile o projeto

 

 

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