|
|
07.12.2024 | Archiv # Recherche # Links # Kontakt # Gästebuch # Impressum |
Index Login Die Anzeige des Archivs erfolgt grafisch. Ändern |
Kurs: Programmieren (Teil 3)In den folgenden Kursabschnitten werden wir ein Programm schreiben. Am Ende soll eine einfache Datei entstehen, die es ermöglicht, CD's oder Schallplatten etc. zu verwalten. Dabei steht jedoch weniger das eigentliche Projekt im Vordergrund als vielmehr das Handhaben von GEOS-Routinen und -Eigenarten. Bevor man mit einem Projekt beginnt, sollte man sich überlegen, über welche Fähigkeiten das Programm verfügen sollte. Daraus ergeben sich dann fast zwangsläufig die Menüs, die das Programm besitzen sollte. An Hauptprogramme (Applikationen) sollte im allgemeinen immer die Forderung gestellt werden, daß sich das Menü links oben am Bildschirmrand befindet. Ferner sollte der erste Menüpunkt immer "geos" lauten; von dem daraufhin erscheinenden Untermenü sollten sich Hilfsprogramme (DeskAccessories) starten lassen. Ab dem dritten Hauptmenüpunkt beginnen die programmspezifischen Aktionspunkte (bei GEOWRITE z. B. "Edit", "Optionen" usw.). Als nächstes sollte man sich schon zu Beginn eines Projektes im wesentlichen darüber klar sein, welche Fähigkeiten das Programm am Ende besitzen sollte. Für eine einfache CD-Verwaltung wären folgende Funktionen wichtig: 1. Sortieren nach Interpret Mit Ausnahme der Sortierung sollten die anderen Funktionen in einem Obermenüpunkt "Bearbeiten" zusammengefaßt werden. Die Sortierung sollte automatisch erfolgen! Im nebenstehenden Listing haben wir dieses Funktionen als Menüpunkte eingebaut. Zum besseren Verständnis des später gesagten sollten Sie das Programm mit dem Namen "Quell3.obj" mehrfach aufrufen und die einzelnen Menüpunkte anwählen. Die Menüpunkte sind zwar (noch) ohne spezielle Funktion, jedoch haben wir hier die verschiedenen GEOS-Menüroutinen eingebaut. Folgendes sollten Sie feststellen:
Im folgenden finden Sie nun das komplette Listing. Das GeoWrite Dokument dazu und die bereits fertig assemblierte Datei sind auf der GeoThek Diskette zur GUP 17 enthalten.
H. J. Ciprina/ R. Bonse ; Quell3.obj ; ; Menütechniken ; Autor: H.J. Ciprina ; erstellt am: 02.07.1991 if .p t "TopSym" t "TopMac" endif n "Quell3.obj" :Start LoadB dispBufferOn,ST_WR_FORE!ST_WR_BACK lda #$00 jsr SetPattern jsr i_Rectangle b 0 b 199 w 0 w 319 LoadWr0,MenüTab lda #0 jsr DoMenu ;Lab01 LoadWr0,IconTab jsr DoIcons ;Lab02 rts :IconTab b 1 w $0000 b 0 w $0000 b 0 b 0 b 1 b 1 w $0000 :HMLinks = 0 :HMRechts = HMLinks+108 :HMOben = 0 :HMUnten = HMOben+14 :MenüTab b HMOben b HMUnten w HMLinks w HMRechts b 3!HORIZONTAL w geosText b SUB_MENU w geosSub w DateiText b DYN_SUB_MENU w DateiDyn w BearbText b SUB_MENU w BearbSub :geosText b "geos",0 :DateiText b "Datei",0 :BearbText b "Bearbeiten",0 :gMLinks = 0 :gMRechts = gMLinks+40 :gMOben = 15 :gMUnten = gMOben+15 :geosSub b gMOben b gMUnten w gMLinks w gMRechts b 1!VERTICAL w InfoText b MENU_ACTION w DoInfo :InfoText b "Info",0 :DoInfo jsr GotoFirstMenu rts :DateiDyn LoadW r3,10 ;links LoadW r4,309 ;rechts LoadB r2L,100 ;oben loadB r2H,180 ;unten jsr InvertRectangle LoadWr0,DateiTab rts :DMPKT = 3 :DMLinks = 28 :DMRechts = DMLinks+80 :DMOben = 15 :DMUnten = DMOben+DMPKT*14+1 :DM_OFFSET= 60 :DateiTab b DMOben b DMUnten w DMLinks w DMRechts b DMPKT!VERTICAL w SchließenText b MENU_ACTION w DoClose w DruckenText b MENU_ACTION w DoPrint w EndeText b MENU_ACTION w DoQuit :SchließenText b "schließen" b GOTOX w DMLinks+DM_OFFSET b SHORTCUT,BOLDON b "s",PLAINTEXT,0 :DruckenText b "drucken" b GOTOX w DMLinks+DM_OFFSET b SHORTCUT,BOLDON b "d",PLAINTEXT,0 :EndeText b "Ende",0 :DoClose :DoPrint jsr GotoFirstMenu rts :DoQuit jsr GotoFirstMenu jmp EnterDeskTop :BMPKT = 5 :BMLinks = 56 :BMRechts = BMLinks+86 :BMOben = 15 :BMUnten = BMOben+BMPKT*14+1 :BM_OFFSET= 64 :BearbSub b BMOben b BMUnten w BMLinks w BMRechts b BMPKT!VERTICAL!CONSTRAINED w EinfügenText b MENU_ACTION w DoInsert w ÄndernText b MENU_ACTION w DoChange w LöschenText b MENU_ACTION w DoDelete w SuchenText b SUB_MENU w SearchSub w WeiterText b MENU_ACTION w DoNext :EinfügenText b " " ;2*Space b GOTOX w BMLinks+12 b "einfügen" b GOTOX w BMLinks+BM_OFFSET b SHORTCUT,BOLDON b "e",PLAINTEXT,0 :ÄndernText b "ändern" b GOTOX w BMLinks+BM_OFFSET b SHORTCUT,BOLDON b "ä",PLAINTEXT,0 :LöschenText b "löschen" b GOTOX w BMLinks+BM_OFFSET b SHORTCUT,BOLDON b "x",PLAINTEXT,0 :SuchenText b "suchen",0 :WeiterText b "weitersuchen" b GOTOX w BMLinks+BM_OFFSET b SHORTCUT,BOLDON b "w",PLAINTEXT,0 :DoInsert bit InsertFlag bmi :10 lda #"*" sta EinfügenText LoadB InsertFlag,$ff bne :20 ::10 lda #" " sta EinfügenText LoadB InsertFlag,$00 ::20 jsr ReDoMenu rts :InsertFlag b 0 :DoChange :DoDelete :DoNext jsr GotoFirstMenu rts :SMPKT = 3 :SMLinks = BMRechts+1 :SMOben = 15+3*14+1 :SMUnten = SMOben+SMPKT*14+1 :SM_OFFSET = 60 :SearchSub b SMOben b SMUnten w SMLinks w SMRechts b SMPKT!VERTICAL w InterpretText b MENU_ACTION w DoInterpret w CDTitelText b MENU_ACTION w DoCDTitel w TitelText b MENU_ACTION w DoTitel :InterpretText b "Interpret" b GOTOX w SMLinks+SM_OFFSET b SHORTCUT,BOLDON b "i",PLAINTEXT,0 :CDTiteltext b "CD-Titel" b GOTOX w SMLinks+SM_OFFSET b SHORTCUT,BOLDON b "c",PLAINTEXT,0 :TitelText b "Titel" b GOTOX w SMLinks+SM_OFFSET b SHORTCUT,BOLDON b "t",PLAINTEXT,0 :DoInterpret jsr GotoFirstMenu rts :DoCDTitel jsr DoPreviousMenu rts :DoTitel jsr ReDoMenu rts ;Ende. ;Dia Besprechung Folgt in der nächsten ;Ausgabe der GUP.
Kurzlink hierhin: http://geos-printarchiv.de/1190 |
Letzte Änderung am 01.11.2019 |