'Scroll bar like windows ' Murat Aydin DECLARE SUB VScroll (satir!, sutun!, boy!) CLS SCREEN 12 DIM SHARED vst, vsn, Vboy, VsAdim LINE (0, 0)-(639, 479), 7, BF vst = 16: vsn = 26: by = 2: enn = 12 Vboy = 320: VsAdim = INT(Vboy / 14): VScroll 20, 326, Vboy COLOR 12: LOCATE 30, 1: PRINT " ["; CHR$(24); " "; CHR$(25); "]"; COLOR 10: PRINT " Asagi-Yukari "; : COLOR 12: PRINT "[PgUp, PgDn]"; COLOR 10: PRINT " Asagi-Yukari(hizli) "; : COLOR 12: PRINT "[Esc]"; COLOR 10: PRINT " Cikis "; as$ = INKEY$ DO UNTIL as$ = CHR$(27) as$ = INKEY$ SELECT CASE as$ CASE CHR$(0) + "P" vst = vst + 1 vsn = vsn + 1 IF vst >= Vboy - 26 THEN vst = Vboy - 26 IF vsn >= vst + 10 THEN vsn = vst + 10 VScroll 20, 326, Vboy CASE CHR$(0) + "H" vst = vst - 1 vsn = vsn - 1 IF vst <= 16 THEN vst = 16 IF vsn <= 26 THEN vsn = 26 VScroll 20, 326, Vboy CASE CHR$(0) + CHR$(73) vst = vst - VsAdim vsn = vsn - VsAdim IF vst <= 16 THEN vst = 16 IF vsn <= 26 THEN vsn = 26 VScroll 20, 326, Vboy CASE CHR$(0) + CHR$(81) vst = vst + VsAdim vsn = vsn + VsAdim IF vst >= Vboy - 26 THEN vst = Vboy - 26 IF vsn >= vst + 10 THEN vsn = vst + 10 VScroll 20, 326, Vboy CASE ELSE END SELECT LOOP SUB VScroll (satir, sutun, boy) '------E§er VScroll Barn boyu 42' den k‡kse 42 olarak kalsn------------- IF boy < 42 THEN boy = 42 '--------------------------------------------------------------------------- '-------------VScroll Bara ait borderlar ‡izdiriliyor----------------------- LINE (sutun, satir)-(sutun + 14, satir + boy), 0, B LINE (sutun + 1, satir + 14)-(sutun + 13, satir + boy - 14), 1, BF '--------------------------------------------------------------------------- '-----------VScroll Barn yukarya butonu oluŸturuluyor--------------------- LINE (sutun + 1, satir + 1)-(sutun + 13, satir + 1), 15, B LINE (sutun + 1, satir + 1)-(sutun + 1, satir + 13), 15, B LINE (sutun + 13, satir + 13)-(sutun + 1, satir + 13), 8, B LINE (sutun + 13, satir + 13)-(sutun + 13, satir + 1), 8, B LINE (sutun + 13, satir + 14)-(sutun + 1, satir + 14), 0 '--------------------------------------------------------------------------- '-----------VScroll Barn aŸa§ya butonu oluŸturuluyor---------------------- LINE (sutun + 1, satir + boy - 13)-(sutun + 13, satir + boy - 13), 15, B LINE (sutun + 1, satir + boy - 13)-(sutun + 1, satir + boy - 1), 15, B LINE (sutun + 1, satir + boy - 1)-(sutun + 13, satir + boy - 1), 8, B LINE (sutun + 13, satir + boy - 13)-(sutun + 13, satir + boy - 1), 8, B LINE (sutun + 1, satir + boy - 14)-(sutun + 13, satir + boy - 14), 0 '--------------------------------------------------------------------------- '-------Yukarya ve aŸa§ya tuŸlarnn oklar ‡izdiriliyor------------------ FOR t = 0 TO 5 LINE (sutun + 2 + t, (satir + 9) - t)-((sutun + 12) - t, (satir + 9) - t), 0 LINE (sutun + 2 + t, satir + boy - 9 + t)-((sutun + 12) - t, satir + boy - 9 + t), 0 NEXT '--------------------------------------------------------------------------- '-------------Ortadaki hareketli ksm oluŸturuluyor------------------------ LINE (sutun + 2, satir + vst)-(sutun + 12, satir + vst), 15, B LINE (sutun + 2, satir + vst)-(sutun + 2, satir + vsn), 15, B LINE (sutun + 12, satir + vsn)-(sutun + 2, satir + vsn), 8, B LINE (sutun + 12, satir + vst)-(sutun + 12, satir + vsn), 8, B LINE (sutun + 1, (satir + vst) - 1)-(sutun + 13, (satir + vsn) + 1), 0, B LINE (sutun + 3, (satir + vst) + 1)-(sutun + 11, (satir + vsn) - 1), 2, BF '--------------------------------------------------------------------------- END SUB