Commodore sayı 56, sayfa 24

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 24

Eğer son elemandan sonra hâlâ boş yer kaldıysa bu alan son seçeneğin kutucuğuna aitmiş gibi görünür ve uygulamada bir problem yaratmaz. GEOS Menü tablosunda 7. bayt menü tipini (yatay-dikey) ve kaç elemanlı bir menü oluşturulacağını belirtir. İki işi birden yapabilmesi için menü tipi baytını (yatay — $00; dikey — $80) eleman sayısıyla OR'lar. Yani yedi elemanlı bir dikey menümüz varsa 7. baytın değeri $87 olur. Sonuçta Menü tablomuzun başı şöyle bir şey olur:

TESTMENÜ: byte 18 ; Menünün üstü byte 24 ; Menünün altı 0 ; Sol kenar “word 319 ; Sağ kenar “word $07 ; Menü tipi OR eleman sayısı MENÜ ELEMANLARININ TANIMLANMASI:

Bundan sonraki baytlarda menü elemanları her seçenek için 5 bayt kullanılacak şekilde tanımlanır. Bu baytlardan ilk ikisi seçeneğe ait olan yazının saklandığı bellek alanını gösterir. Bu alanda seçeneği yazdıktan sonra $00 baytıyla GEOS'a yazı datalarının bittiğini söyleyebilirsiniz. Üçüncü baytta bu seçeneğin başka bir alt-menü'yü mü yoksa bir servis rutinini mi çağıracağı belirlenir (altmenü — $80; servis rutini $00). Son iki baytta ise seçenek tipine göre servis rutini veya alt-menü tablosunun başlangıç adresi standart “Low-High” formatta saklanır. (1. Tablo)

1. TABLO MENÜ TEST: .byte 10 .byte 24

“word 0 Aword 255

$02 “byte $80 “word altmenü 1 Word texi2 $80 “word altmenü2

SEÇENEK TEXT DATALARININ HAZIRLANMASI:

Menü elemanlarının text datalarını hazırlamak hiç de zor değildir, ama aklınızda tutmanız gereken bir şey vardır; normal ASCII karakterleri GEOS için BÜYÜK HARFLER yerine geçer. Eğer küçük harflerle yazmak isterseniz ASCII kodlarına $20 eklemeniz gerekmektedir. Yani kodlarıyla saklanır. Yazmak istediğiniz şeyi yazdıktan sonra $00 değeriyle yazılacak textin bittiğini GEOS'a bildirirsiniz. Mesela; $41, $42, $43, $44, $00 datalarına sahip bir menü elemanı ekranda ABCD olarak görünür.

2. TABLO

ALT MENÜ

byte 24

ALT-MENÜLER

Alt-menüler bir menü seçeneği tarafından çağırılan menülere verilen addır. Aynı normal menüler gibi bir tanım tablosuna sahiptirler. Bu tanım tablosunun pointeri seçenekle birlikte asıl menü tanımlanırken GEOS'a bildirilir. Bir alt-menü tablosu da normal bir menü tablosuyla aynıdır. İlk altı baytla menünün alt, üst, sol, sağ kenarlarını belirtiriz. Sonraki baytla menü tipi ve eleman sayısı bildirilir ve daha sonra da eleman tanımları tablosu gelir. Yani toplam olarak sayısı) 4 7 baytlık bir tablo gerekir. Bir alt-menü tablosu şöyle bir şey olabilir: (2. Tablo)

şalt menü, ana menünün hemen altından başlıyor

byte 244(8*14)41 ;8 seçenek kadar yer ayarlanıyor

“word 0 word 155 $88 “word alttextl “byte $00 .Wword “word alttext2 $80 word altmenü2.2

;menü kutusunun sol kenarı ;menü kutusunun sağ kenarı ;8 elemanlı dikey menü ($80 OR $08) şyazı datası adresi ;bir servis rutini çağırılacak ;servis rutini başlangıç adresi ;yazı datası adresi şalt menü açar şalt menü tanım tablosu

altmenünün 1. seçeneği

;3 satırlık 6 seçenek daha tanımlanacak

kutusunun üstü şmenü kutusunun altı kutusunun sol kenarı şmenü kutusunun sağ kenarı ;yatay menü ($00) OR 2 eleman($02) seçeneğin yazılarının adresi ;bir alt menü açar —, şalt menü tanım tablosu adresi ;2, seçeneğin yazılarının adresi ;bir alt-menü açar şalt menü tanım tablosu adresi

1. seçenek

2. seçenek

Klavyeyle gezinmek için ← ve → tuşları.