Relógio analógico

Publicado por Mauricio 08/09/2003

[ Hits: 9.351 ]

Homepage: http://www.mbmaciel.com

Download clock.tcl




Um relógio analógico que não usa gif

  



Esconder código-fonte

#!/bin/sh
# \
exec wish "$0" "[email protected]"

#
# Fonte retirada do site mini.net/tcl
# Comentários Mauricio Maciel
     
    # Cria tela

grid [canvas .c -width 200 -height 200]
 set halfpi 1.570796
 set piover6 0.5235987
 set twopi 6.283185

    # Tamanho e formato do relógio

 .c create oval 2 2 198 198 -fill white -outline black
 for { set h 1 } { $h <= 12 } { incr h } {
    set angle [expr { $halfpi - $piover6 * $h }]
    set x [expr { 100 + 90 * cos($angle) }]
    set y [expr { 100 - 90 * sin($angle) }]
    .c create text $x $y -text $h -font {Helvetica -12}
 }

 proc hands {} {
    catch { .c delete withtag hands }

    # Calcular segundos desde meia-noite

    set s [expr { [clock seconds] - [clock scan 00:00:00] }]

    # Angulo do ponteiro dos segundos

    set angle [expr { $s * $::twopi / 60. }]
    set y [expr { 100 - 90 * cos($angle) }]
    set x [expr { 100 + 90 * sin($angle) }]
    .c create line 100 100 $x $y -width 1 -tags hands

    # Ponteiro do minuto

    set angle [expr { $s * $::twopi / 60. / 60. }]
    set y [expr { 100 - 85 * cos($angle) }]
    set x [expr { 100 + 85 * sin($angle) }]
    .c create line 100 100 $x $y -width 3 -capstyle projecting -tags  hands

    # Ponteiro da Hora

    set angle [expr { $s * $::twopi / 60. / 60. / 12. }]
    set y [expr { 100 - 60 * cos($angle) }]
    set x [expr { 100 + 60 * sin($angle) }]
    .c create line 100 100 $x $y -width 7 -capstyle projecting -tags hands

    after 1000 hands

 }
 hands

Scripts recomendados

Calculadora com funções básicas

Script em Tcl para descompactar arquivos

Corretagem 0.1 - calcula corretagem padrão de operações da Bovespa

tkFind

O mundo do Polinômio


  

Comentários
[1] Comentário enviado por jose_maria em 07/03/2004 - 21:33h

Caramba cara que legal. Foi a maneira mais simples de fazer uma aplicação gráfica para linux que eu já vi. Que linguagem você usou? Não ficou bem claro.
Valeu.


Contribuir com comentário