Simples relógio digital
Publicado por Sandro Marcell 08/09/2008
[ Hits: 8.237 ]
Homepage: http://sanmarcell.wordpress.com
Simples script em Tcl/Tk que mostra um relógio digital com data e dia da semana.
#!/usr/bin/wish
#
# Simples relogio digital (com data) em Tcl/Tk.
# Sandro Marcell (sandro_marcell@yahoo.com.br)
#
# Obs.:
# - As horas sao mostradas no formato 24h;
# - O relogio ainda apita!
#
# Mais detalhes:
# man tk
# tclhelp
# Codificacao padrao:
encoding system utf-8
# Procedimento principal que formata a data, hora e dia:
proc _Principal_ {} {
# Dia da semana por extenso:
switch [clock format [clock seconds] -format "%w"] {
0 { set dia "Domingo" }
1 { set dia "Segunda-feira" }
2 { set dia "Terça-feira" }
3 { set dia "Quarta-feira" }
4 { set dia "Quinta-feira" }
5 { set dia "Sexta-feira" }
6 { set dia "Sábado" }
}
# Cores diferentes para cada dia:
switch -glob $dia {
Dom* { set cor "#31a90b" }
Seg* { set cor "#be1b0b" }
Ter* { set cor "#ebe80b" }
Qua* { set cor "#f8700b" }
Qui* { set cor "#1c70e3" }
Sex* { set cor "#b6a8c1" }
Sáb* { set cor "#d8c908" }
}
# Mes por extenso:
switch [clock format [clock seconds] -format "%m"] {
01 { set m "Janeiro" }
02 { set m "Fevereiro" }
03 { set m "Março" }
04 { set m "Abril" }
05 { set m "Maio" }
06 { set m "Junho" }
07 { set m "Julho" }
08 { set m "Agosto" }
09 { set m "Setembro" }
10 { set m "Outubro" }
11 { set m "Novembro" }
12 { set m "Dezembro" }
}
# Data:
set d [clock format [clock seconds] -format "%d"]
# Ano:
set a [clock format [clock seconds] -format "%Y"]
# Hora
set h [clock format [clock seconds] -format "%T"]
# Reconfigurando label's:
.clock configure -text $h -font {helvetica 14 bold}
.data configure -text "$d de $m de $a"
.dia configure -text $dia -background $cor
# Se for HH:MM:SS em ponto, apite!
if {[regexp {(([01][0-9]|2[0-3]):00:00)} $h]} { puts "\a" }
# Aguardar 1 segundo antes de atualizar tudo:
after 1000 _Principal_
}
# Montando as janelas (widgets)
tk_setPalette "#000000"
wm title . "TkClock"
wm minsize . 200 80
wm maxsize . 200 80
# Mostrando relogio:
label .clock -text {}
# Montando o widget label:
pack .clock -side top -fill x -expand yes
# Mostrando data:
label .data -text {}
pack .data -side bottom -fill x -expand yes
# Mostrando dia
label .dia -text {}
pack .dia -side bottom -fill x -expand yes
# Chamando procedimento:
_Principal_
# Fechando janela (tecle <ENTER>):
bind all <Return> {
after cancel _Principal_
destroy .
exit
}
# Fim
Simples visualizador de arquivos texto
Compactando arquivos e diretórios simultâneamente
Compactando / descompactando arquivos (Melhorado)
Criando uma simples lixeira para o usuário [Melhorado]
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Formas seguras de instalar Debian Sid (2)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Alguém executou um rm e quase mata a Pixar! (3)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









