Simples relógio digital
Publicado por Sandro Marcell 08/09/2008
[ Hits: 7.914 ]
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
Convertendo escalas termométricas
Criando uma simples lixeira para o usuário [Melhorado]
Compactando arquivos e diretórios simultâneamente
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta