segunda-feira, novembro 26, 2007

DQTimer - Um timer e cronômetro para Windows - Parte 1

Nestes posts vamos ver o desenvolvimento de um pequeno utilitário para Windows: um timer e cronômetro.

Introdução

Tudo começou com um post no blog Efetividade.net, ilustrado com um timer de cozinha. Nos comentários, alguém mencionou utilitários para PC com esta finalidade e daí surgiu a idéia de fazer um.

A interface com operador

Após algumas idéias mais mirabolantes, decidi me basear no formato de um 'finado' timer digital para cozinha:


Uma vez que este é o tipo de programa que eu pretendo deixar sempre visível na tela do micro, um tamanho pequeno me pareceu mais adequado. Para isto eu preferi abandonar o formato tradicional das janelas Windows (o que permite mostrar algumas técnicas menos comuns no programa). A tela do programa ficou assim:


Uma idéia que tive logo no início foi permitir que o programa pudesse ser usado como timer (contagem de tempo decrescente) ou cronômetro (contagem de tempo crescente). A operação ficou da seguinte forma:

Cronômetro
  • O pressionamento do botão Start/Stop com o mostrador em 0:00:00 inicia a contagem. Pressionamentos seguintes deste botão pausam e retomam a contagem.
  • O botão Clear, com o cronômetro pausado, zera a contagem voltando à condição inicial.
Timer
  • Os botões H, M e S são usados para programar o tempo de espera. O pressionamento do botão Start/Stop inicia a contagem regressiva. Pressionamentos seguintes deste botão pausam e retomam a contagem.
  • O botão Clear, com o cronômetro pausado, zera a contagem voltando à condição inicial.
  • Ao atingir a contagem 0:00:00 o timer pisca a tela e soa um sinal sonoro até que o botão Clear ou Start/Stop seja apertado.
Mostrador

Normalmente mostra a contagem atual em horas, minutos e segundos. Um C é apresentado quando operando como cronômetro e um T quando operando como timer. O C ou T pisca quando o relógio está andando e fica fixo quando o relógio está em pausa.

O executável pode ser baixado daqui. Os fontes estão aqui, no próximo post vou dar algumas explicacões sobre o código.

2 comentários:

Wanderley Caloni disse...

A eterna busca pelo aproveitamenteo do tempo! Desde que inventaram a internet, temos uma ferramenta poderosa para produzir mais e produzir menos. Cabe a nós tentar resolver este impasse.

[]s

Fabio Galuppo disse...

vManeiro! :)