Simples relógio digital
Publicado por Sandro Marcell 08/09/2008
[ Hits: 8.240 ]
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
Criando uma simples lixeira para o usuário [Melhorado]
Simples visualizador de arquivos texto
Convertendo escalas termométricas
Compactando arquivos e diretórios simultâneamente
Compactando / descompactando arquivos (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
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (10)
Assisti Avatar 3: Fogo e Cinzas (3)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









