Software > Coding
TOS/MagiC // Uhr abschalten (Timerevent verhindern)
rainers:
Hallo,
der Bildschirmschoner "TwiLight" hat eine Option "Uhren ausschalten".
So etwas würde ich gern in einem Programm ebenfalls tun, damit eine Bilddarstellung im Vollbildmodus nicht durch eine laufende Uhr gestört wird.
Hat jemand bitte einen Tip für mich, wie ich das bewerkstelligen kann? Sprache ist egal, solange es nicht Assembler ist (ich suche mir dann schon das Passende in ST-Pascal).
Ich kann mir denken, daß es irgend etwas wie "Disable Timer" geben wird, aber welche Funktion (GEM, BIOS, XBIOS) wäre es konkret.
Vielen Dank.
Gruß
-R.
Omikronman:
Wie meinst Du das? Malt da im Hintergrund ein anderes Programm eine Uhrzeit über den Bildschirmschoner oder was? O.o
rainers:
Kopf kratz ??? ;-)
Also Screensaver kennt doch TOS in dem Sinne nicht. Man kann die nur nachstellen.
Aber darum geht's mir nicht primär.
Meistens läuft doch oben/rechts in der Menüleiste eine Uhr. Und die reagiert auf ein Timer-Event.
Wenn nun ein Prog (zum Beispiel eben ein Screensaver) im Vollbildmodus läuft, dann sieht's ja echt bescheiden aus, wenn alle Sekunde oder zwei, die Uhrzeit neu dargestellt wird.
TwiLight zum Beispiel ist offenbar so programmiert, daß es per Option ermöglicht, das aussenden des Timer-Events zu unterdrücken (oder so etwas in der Art, ich kann da nur mutmaßen) und dadurch wird verhindert, daß die Uhr weiter angezeigt wird.
Im GFA-Basic gibt es zum Beispiel die Funktion "KILLTIMER", aber leider finde ich nichts Weitergehendes dazu.
-R.
mfro:
--- Zitat von: Rainer (s) am Mo 08.04.2013, 20:13:11 ---...Ich kann mir denken, daß es irgend etwas wie "Disable Timer" geben wird, aber welche Funktion (GEM, BIOS, XBIOS) wäre es konkret.
--- Ende Zitat ---
Ich weiß nicht, ob sich das generell beantworten läßt, Uhrenprogramme können verschiedene Methoden benutzen, um sich auf den Schirm zu zaubern.
Die ganz grobe Methode müsste funktionieren (aber mit ziemlicher Sicherheit andere, möglicherweise unangenehme Nebeneffekte haben):
--- Code: ---Jdisint(5); (* XBIOS #26 *)
--- Ende Code ---
Damit sperrst Du den Timer C Interrupt des MFP - die Uhrenroutine wird nicht mehr aufgerufen.
Nicht vergessen, vor Programmende mit
--- Code: ---Jenabint(5); (* XBIOS #27 *)
--- Ende Code ---
den Timer C wieder zu aktivieren.
Gruß,
Markus
Omikronman:
Ach so. Nein, oben läuft normalerweise keine Uhr. Es gab ACC´s, die oben eine Uhr einblenden konnten. Manche Programme wie der Tempus Editor hatten oben auch die Uhr drin. Ich würde einfach nach dem Programm oder ACC suchen, das die Uhr anzeigt und es beenden. Die Uhr anhalten geht nicht, und wenn würde oben eine stehende "Zeit" kommen. ;-)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln