Skalierbare Bildschirm-Uhr

  • Hallo zusammen,


    gestern habe ich mich mal auf der Seite Rosetta umgeschaut, um zu sehen, welche Probleme noch nicht in Icon gelöst wurden.


    Rosetta ist eine recht interessante Seite. Dort ist die Umsetzung ausgewählter Proogrammier-Probleme in sehr vielen Programmiersprachen enthalten. Man kann also sehen, wie etwas in der einen und vergleichsweise in einer anderen Programmiersprache umgesetzt wird. Manches Problem ist sehr praxisnah, manches andere ist aber auch sehr abstrakt.


    Eines solcher Dinge ist die Programmierung einer Analog-Uhr, die auf dem Bildschirm so vor sich hintickt. Meine Analog-Uhr macht aber wesentlich mehr als nur einen Sekundenzeiger in der richtigen Position anzuzeigen.

    • Die Uhr ist mittels Resize-Funktion skalierbar
    • Der Minutenzeiger wechselt seine Position nicht mit Ablauf der Minute sondern während des Ablaufs einer Minute (je nach Uhr-Größe alle paar Sekunden)
    • Ebenso ergeht es dem Stundenzeiger
    • Wenn die Uhr eine bestimmte Größe überschreitet, werden die einzelnen Stunden-Position mit römischen Ziffern versehen - die Schriftgröße variiert mit mit der Fenstergröße
    • Wenn die Uhr eine bestimmte Größe unterschreitet, verschwinden zuerst die römischen Ziffern
    • Wenn die Uhr eine bestimmte Größe unterschreitet, verschwinden auch die Positionskennzeichnungen der einzelnen Minuten


    Und wie meistens: Das Programm frisst wenig Ressourcen.




    Das Programm läuft ohne Änderungen auf allen Systemen, auf denen Icon in der Version 9 läuft.



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().

  • Hallo zusammen,


    mir kam dann noch die Idee, die Zeiger etwas mehr zu gestalten. Der erste Gedanke war, dies mittels Turtle-Graphik zu machen. Der Vorteil der Umsetzung von Turtle-Graphik besteht darin, dass erhebliche Umrechnungen kartesischer Koordinaten entfällt. Jeder Turtle-Graphik-Befehl besteht in Prinzip aus Richtung (Winkel) und Abstand, Zeichnen oder nicht, Zeichnen der Umrisse oder Füllen einer geometrischen Figur.


    Quell-Code:


    Beste Grüße


    Andreas


    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.