Tips und Tricks für Programmierer

Die Uhr im Ein-Sekunden-Takt

Die Uhr in GFA-Basic über »PRINT TIMER« arbeitet nur im Zwei-Sekunden-Takt. Durch einen kleinen Trick erhalten Sie die Zeit auch sekundenweise: Setzen Sie mit »EVERY 200 ...« den 200-Hz-Interrupt auf ihre eigene Routine (uhr).

Diese wird nun jede Sekunde aufgerufen und erzeugt die aktuelle Uhrzeit ti$:

EVERY 200 GOSUB uhr ! JEDE SEKUNDE 
DO
	ON MENU 
LOOP
PROCEDURE uhr 
	IF TIME$= ti$
		AND ADD (VAL(RIGHTS (ti$,1)),1)<10 
		MID$(ti$,8)„RIGHTS(STR$(ADD(VAL(RIGHTS(ti$,1)),1)),1)
	ELSE
		ti$=,.TIME$
	ENDIF
	PRINT AT(24,23) ; "UHRZEIT: ";ti$;
RETURN	

(Sandro Lucifora/ba)

Wo bin ich?

Wenige Programmierer beachten, daß es auch Anwender gibt, die von Festplatte oder RAM-Disk laden. Viele suchen Nachladedateien nur auf Laufwerk A. Das GEMDOS stellt jedoch eine Funktion zur Verfügung, mit der Sie das aktuelle Laufwerk erfragen. Mit einem kleinen Zusatz ermitteln Sie in GFA-Basic auch den kompletten aktuellen Pfad:

pfd$=CHR$ ( GEMDOS (25 ) +65) +":"+DIR$ ( 0 ) +"\"  

Diese Zeile sollten Sie auch verwenden, wenn Sie eine Datei nachladen oder die Dateiauswahlbox aufrufen. Festplattenbesitzer werden Ihnen dankbar sein.

(Sandro Lucifora/ba)

»Fließ«-Text

Mit nur wenigen Zeilen Programmieraufwand lassen sich in Omikron-Basic tolle Grafikeffekte realisieren, so in's Bild fließende Grafiktexte. Dazu verwenden Sie eine Schleife, die die X-Koordinaten des darzustellenden Textes durchläuft. Wenn die Text-Anweisung z. B. »TEXT 50, 200, 'Beispiel'« lautet, sieht die Schleife so aus:

1: FOR Variable= 40 to 210 
2: CLIP Variable, 140 to Variable,70
3: TEXT 50, 200, 'Beispiel'
4: NEXT Variable

In Zeile 2 begrenzen wir die Bildschirmausgabe auf eine 1 Pixel breite Linie, die in der Höhe 20 Pixel (oben und unten je 10) mehr haben sollte als der Text. Nun geben wir den Text in Zeile 3 aus und schließen die Schleife. Das Programm stellt immer nur einen 1 Pixel breiten Ausschnitt von links nach rechts wandernd dar. Dadurch entsteht der Eindruck, man würde ein unsichtbares Blatt, das über dem Text liegt, nach rechts wegziehen. Das geht natürlich auch in andere Richtungen wie das Beispielprogramm »TEXTSCR.BAS« zeigt.

(Markus Gotha/ba)

Geschwindigkeit ist keine Hexerei

Nach und nach sind in GFA-Basic immer mehr Befehle hinzugekommen, die den ST in Sachen Geschwindigkeit immer besser ausnutzen:



Aus: TOS 09 / 1990, Seite 83

Links

Copyright-Bestimmungen: siehe Über diese Seite