Blame | Last modification | View Log | Download | RSS feed
;SAMPLE.H Пример программы, использующей оболочку.;(C) Vitamin/CAIG/2001;Опции проекта. Нужное раскомментировать, программа изменитсяNOLOADFILNOSAVEFILNOMEMDRV;ЦветаACTCOLOR=40ACTPCOLR=6WINCOLOR=5HDRCOLOR=48;ПамятьCPAGE1=66DISKBUF=#C000LIST=DISKBUF+#900LISTLEN=#600NUMLIST=LIST+LISTLEN;Файл макросов. ПОСЛЕ всех настроекINCLUDE "MACROS",67ORG 24576;Главное окноLD A,WIN_HEADER|WIN_REFRESH|WIN_MOVABLE|WIN_NOMODALPROGRLD IX,MAINWINLD (IX+4),ACALL WAITKEYCALL WINDOWCP -1RET ZLD HL,MAINJPJP TAB_JPMAINWIN DB 10,8,16,14DB 15DB 0DW MAINTXTDW MAINLGTDW MAINHOTDW -1MAINTXT DB "Пример работы",13,13DB "[0] Просто окно",13DB "[1] Спрайт-кнопка",13DB "[2] Флажки",13DB "[3] Переключатели",13DB "[4] Скроллбары",13DB "[5] Слайдеры",13DB "[6] Список",13DB "[7] Файлер",13DB "[8] Комбобокс",13DB "[9] Asker",0MAINLGTDB 0,2,16,1, 3 ;WINDB 0,3,16,1, 3 ;SPR-BUTTONDB 0,4,16,1, 3 ;FLAGDB 0,5,16,1, 3 ;SWITCHDB 0,6,16,1, 3 ;SCROLLBARDB 0,7,16,1, 3 ;SLIDERDB 0,8,16,1, 3 ;LISTDB 0,9,16,1, 3 ;FILERDB 0,10,16,1, 3 ;COMBODB 0,11,16,1, 3 ;ASKERDB -1MAINHOT DB "0DW 0DB "1DW 1DB "2DW 2DB "3DW 3DB "4DW 4 ;"номер зоны"DB "5" ;иDW TEST5 ;прямой адрес переходаDB "6" ;два способаDW TEST6DB "7DW TEST7DB "8DW TEST8DB "9DW TEST9DB -1MAINJP DW TEST0DW TEST1DW TEST2DW TEST3DW TEST4DW TEST5DW TEST6DW TEST7DW TEST8DW TEST9;Просто окно--------------------------------TEST0LD IX,JUSTWINCALL MAKEWINDCALL NOKEY ;ждем нажатияCALL WAITKEY ;и отпусканияREWIN CALL CLOSE ;новое окно;а старое не регистрируемLD A,WIN_HEADER|WIN_MOVABLE|WIN_NOMODALJP PROGRJUSTWIN DB 15,14,10,4,15DB 0DW JUSTTEXTDW -1JUSTTEXT DB "Просто окно",13,13,"Hello world!",0;Кнопка-спрайт------------------------TEST1 CALL WAITKEYLD IX,SPRWINREMWIN CALL WINDOWJR REWINSPRWIN DB 13,12,15,6,15DB 0DW SPRTXTDW SPRACTDW 0DW SPRSPRDW -1SPRTXT DB "Кнопка-спрайт",13,13DB " <- С атрибутами",13,13DB "С подсветкой->",0SPRACT DB 1,2,2,2, ACT_ENA|ACT_PSHDB 12,3,2,2, ACT_ENA|ACT_LGT|ACT_PSHDB -1SPRSPR DB 1,2,2,2,3DW SPR1DB 12,3,2,2,1DW SPR2DB -1SPR1 DD #FFFE8002800281828382878281828182DD #8182818281828FF28FF28002FFFE0000DB 1,2,3,4SPR2 DD #FFFE8002800287E28C32803281E28302DD #86028C028C028FF28FF28002FFFE0000;Флажки---------------------------------TEST2LD IX,FLGWINJP REMWINFLGWIN DB 12,10,13,6,15DB 0DW FLGTXTDW FLGLGTDW 0DW 0DW FLGFLGDW -1FLGTXT DB "Флажки",13,13DB " С подсветкой",13DB " Просто флаг",13DB " Неактивный",0FLGLGT DB 1,2,11,1, ACT_ENA|ACT_LGTDB 1,3,11,1, ACT_ENADB 1,4,11,1, 0DB -1FLGFLG DB 0,0DW 0DB 1,255DW 0DB 2,0DW 0DB -1;Переключатели-----------------------TEST3LD IX,SWTWINJP REMWINSWTWIN DB 12,10,12,10,15DB 0DW SWTTXTDW SWTLGTDW 0,0,0DW SWTSWTDW -1SWTTXT DB "Переключатели",13,13DB " Флаг1.1",13DB " Флаг1.2",13DB " Флаг1.3",13,13DB " Флаг2.1",13DB " Флаг2.2",13DB " Флаг2.3",0SWTLGT DB 1,2,10,1, 3DB 2,3,9,1, 3DB 3,4,8,1, 3DB 1,6,10,1, 3DB 1,7,10,1, 3DB 1,8,10,1, 3DB -1SWTSWT DB 0,3,0DW 0DB 3,3,1DW 0DB -1;Скроллбар------------------------TEST4LD IX,SLBWINJP REMWINSLBWIN DB 10,10,11,11,15DB 0DW SLBTXTDW SLBLGTDW 0DW SLBSPRDW 0,0DW SLBSLBDW -1SLBTXT DB "Скроллбары",0SLBLGT DB 9,2,1,8, ACT_ENADB -1SLBSPR DB 1,2,8,8,1SPRADR DW 0DB -1SLBSLB DB 0,8,255DW 0POSY DB 0DW UPDSPRDB -1UPDSPR LD A,(POSY)LD L,ALD H,0ADD HL,HL,HL,HL,HL,HLLD (SPRADR),HLLD DE,#0102EX DE,HLLD BC,#0808EXXLD C,1EXXJP PUT_SPRT;Слайдеры-------------TEST5 LD IX,SLDWINJP REMWINSLDWIN DB 10,10,7,9,15DB 0DW SLDTXTDW SLDLGTDW 0,0,0,0,0DW SLDSLDDW -1SLDTXT DB "Слайдеры",0SLDLGT DB 1,2,1,4, ACT_ENADB 3,2,1,4, ACT_ENA|ACT_LGTDB 5,2,1,4, ACT_ENADB 1,7,4,1, ACT_ENADB -1SLDSLD DB 0,0,1DW 0DB 1,0,2DW 0DB 2,0,4DW 0DB 3,1,8DW 0DB -1;Список-------------TEST6LD IX,LSTWINJP REMWINLSTWIN DB 10,10,11,11,15DB 0DW LSTTXTDW LSTLGTDW 0,0,0,0,0,0DW LSTLSTDW -1LSTTXT DB "Список",0LSTLGT DB 1,2,8,8, ACT_ENADB -1LSTLST DB 0,8,20DW 0DB 0DW LSTDATADB 6DB -1LSTDATA DB "ITEM00"DB "ITEM01"DB "ITEM02"DB "ITEM03"DB "ITEM04"DB "ITEM05"DB "ITEM06"DB "ITEM07"DB "ITEM08"DB "ITEM09"DB "ITEM10"DB "ITEM11"DB "ITEM12"DB "ITEM13"DB "ITEM14"DB "ITEM15"DB "ITEM16"DB "ITEM17"DB "ITEM18"DB "ITEM19";FILER------------------TEST7 LD A,-1LD (REREAD),ALD HL,FLRTABCALL FILERCP -1JP Z,PROGRLD HL,FILNAMELD DE,STATTXTLD BC,8LDIRINC DELDILD DE,STRTTXTLD HL,(FILEXT+1)LD C,1CALL STRLD DE,SIZTXTLD A,(FILVOL)LD C,0CALL STRLD DE,LENTXTLD HL,(FILLENG)LD C,1CALL STRCALL WAITKEYLD IX,STATWINCALL MAKEWINDCALL NOKEYCALL WAITKEYCALL CLOSEJR TEST7FLRTAB DB "???",0STATWIN DB 12,12,10,7,15DB 0DW FILTXTDW -1FILTXT DB "Файл:",13,13STATTXT DB "NONAME00.C",13DB "Start:"STRTTXT DB "00000",13DB "Size:"SIZTXT DB "000",13DB "Len:"LENTXT DB "00000",0;COMBO--------------------TEST8 LD A,15TEST8_ LD IX,CMBWINLD (IX+4),ACALL WINDOWCP -1JP Z,REWIN;выбрали комбоLD HL,LSTDATALD DE,#0103 ;оконные координатыCALL CAL_ABS ;в экранныеEX DE,HLLD BC,#0408 ;размерEXXLD DE,#1406 ;параметрыEXXLD A,HLD H,LLD L,AXOR ACALL COMBOBOXCP -1JR Z,SKPLD DE,6 ;А- номерCALL MULTLD DE,LSTDATAADD HL,DE ;адрес в спискеLD DE,CMBVALLD BC,6LDIR ;копируем в текстCALL WAITKEYSKP LD A,13JR TEST8_CMBWIN DB 10,10,11,4,15DB 0DW CMBTXTDW CMBLGTDW -1CMBTXT DB "Combobox",13,13,32CMBVAL DB "COMBO!",0CMBLGT DB 1,2,8,1, 3DB -1;ASKER------TEST9 CALL WAITKEYCALL ASKERJP PROGRSPEED DB 5SHOWDEL DB 255INCLUDE "COVER",65FREERAMORG 24576