1: ' 2: ' Textbx is very short ,but its very powerful + 3: ' Fonts are made using the letter ASCII charectar code + 4: ' Syntax is explained + 5: ' Buttons Dont have text - 6: ' Background Color selector + 7: ' Input boxes + 8: ' 9: DECLARE SUB Inputbox (X!, y!, T$, Prm$) 10: DECLARE SUB Win (X!, y!, eX!, Ey!, q!) 11: DECLARE SUB LoadFont (f$) 12: DECLARE SUB Font (T$) 13: DECLARE SUB Background (C!) 14: DECLARE SUB Sleep2 (T!) 15: DECLARE SUB Window2 (length!, height!, row!, column!) 16: DECLARE SUB Textbx (SX!, SY!, eX!, Ey!, T$, r!, l!, pw$, tb$, del) 17: DECLARE SUB Button1 (X!, y!, S!, P!, tle$) 18: DIM SHARED Txt(255) AS STRING 19: DIM SHARED Wind(1 TO 16384) 20: SCREEN 12 21: DEF SEG = 0 22: POKE &H417, (160 XOR &H40) 23: LoadFont "C:\ASCIN.FNT" 24: ' ³ 25: ' Fontspec 26: ' 27: ' Fontspec - Font drive:path\filename (ex. C:\Font1.Fnt or Font1.Fnt ) 28: '+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 29: Background 1 30: ' ³ 31: ' Color 32: ' 33: ' Color - Color of Background 34: '+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 35: 36: Window2 300, 426, 10, 20 37: ' ³ ³ ³ ÀÄÄÄ¿ 38: ' ³ ³ ÀÄÄÄ¿ ÀÄÄÄÄ¿ 39: ' Length Height StartX StartY 40: ' 41: ' Length - How long (left to right) the window is 42: ' Heigth - How tall (up and down) the window is 43: ' StartX - Starting X position (pixels down from top) 44: ' StartY - Starting Y position (pixels right of top) 45: ' 46: '+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 47: ' 48: Textbx 40, 40, 290, 55, Txt$, 0, 1, "", "NOTHING", 1 49: ' ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄ¿ 50: ' ³ ³ ³ ³ ³ ³ ³ ÀÄÄ¿ ÀÄÄÄÄÄÄÄÄÄ¿ ³ 51: ' ³ ³ ³ ÀÄÄÄ¿ÀÄÄ¿ÀÄ¿ÀÄÄÄÄÄ¿ÀÄÄÄÄÄÄÄÄÄÄÄÄ¿³ ÀÄÄÄÄÄÄÄÄ¿ 52: ' ³ ÀÄ¿ ÀÄÄÄÄÄ¿ ÀÄÄ¿ÀÄ¿ÀÄÄÄÄÄ¿ÀÄÄÄÄ¿ ³ÀÄÄÄÄÄÄÄÄ¿ ÀÄÄÄÄÄ¿ 53: ' StartX StartY EndX EndY Text Read Max_Len Pass_Char TextBx Overite 54: ' 55: ' StartX - Starting X position (pixels down from top) 56: ' StartY - Starting Y position (pixels right of top) 57: ' EndX - Ending X position (pixels down from top) 58: ' EndY - Ending Y position (pixels right of top) 59: ' Text - Text read from box 60: ' Read - Read text from box (1 to read,0 to just put box) 61: ' Max_Len. - Maximum length of text 62: ' Pass_Char - Charectar to replace typed text ("" for normal text) 63: ' TextBx - Text to be in box 64: ' Overrite - Can the user overrite TextBx (1 = yes, 0 = no) 65: ' 66: '+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 67: 'Button1 50, 100, 56, 0, " G" 68: ' ³ ³ ³ ÀÄÄÄ¿ ÀÄÄ¿ 69: ' ³ ÀÄ¿ ÀÄÄÄÄÄ¿ÀÄÄ¿ ÀÄ¿ 70: ' StartY StartX Size Press Title 71: ' 72: ' StartX - Starting X position (pixels down from top) 73: ' StartY - Starting Y position (pixels right of top) 74: ' Size - Size Of Button 75: ' Press - 1 or 0 (1 if pressed ,0 if not pressed) 76: ' Title - Text on Button 77: '+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 78: 'Inputbox 10, 10, Roy$, "TYPE:" 79: ' ³ ³ ÀÄÄÄÄ¿ ÀÄÄÄÄ¿ 80: ' StartX StartY Text Prompt 81: ' 82: ' StartX - Starting X position (pixels down from top) 83: ' StartY - Starting Y position (pixels right of top) 84: ' Text - Text read from box 85: ' Prompt - Text in box 86: '+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 87: 88: ' Syntax explanations 89: ' 90: ' Place Program here 91: 92: DO UNTIL INKEY$ = CHR$(13): Sleep2 .3: Button1 50, 100, 56, 1, " G": Sleep2 .3: Button1 50, 100, 56, 0, " G": LOOP 93: Textbx 40, 40, 290, 55, T$, 1, 27, "@", "ROY ", 0 94: Textbx 40, 60, 290, 75, T$, 1, 27, "", "ROY ", 1 95: Inputbox 10, 10, Roy$, "DADA!" 96: 97: SUB Background (C) 98: LINE (-1, -1)-(640, 480), C, BF 99: END SUB 100: 101: SUB Button1 (X, y, S, P, tle$) 102: IF P = 0 THEN clr1 = 15: clr2 = 8 ELSE clr1 = 8: clr2 = 15 103: eX = X + S: Ey = y + S 104: LINE (X, y)-(eX, Ey), 7, BF 105: LINE (X, y)-(eX, Ey), 0, B 106: LINE (X + 5, y + 5)-(eX - 5, Ey - 5), 7, BF 107: LINE (X + 4, y + 4)-(eX - 4, Ey - 4), 0, B 108: LINE (X, Ey)-(X + 4, Ey - 4), 0 109: LINE (eX, y)-(eX - 4, y + 4), 0 110: PAINT (X + 1, y + 1), clr1, 0 111: PAINT (eX - 1, Ey - 1), clr2, 0 112: END SUB 113: 114: SUB Font (T$) 115: DRAW "C0" 116: FOR qww = 1 TO LEN(T$) 117: DRAW "X" + VARPTR$(Txt(ASC(MID$(T$, qww, 1)))): GOTO 1011 118: 1011 NEXT qww 119: END SUB 120: 121: SUB Inputbox (X, y, T$, Prm$) 122: Z = 140 123: DIM Back(1 TO 9998) 124: GET (X, y)-(X + 100 + Z, y + 100 + Z), Back 125: LINE (X, y)-(X + 100 + Z, y + 100 + Z), 0, BF 126: LINE (X + 2, y + 2)-(X + 98 + Z, y + 98 + Z), 1, BF 127: LINE (X + 10, y + 10)-(X + 90 + Z, y + 90 + Z), 0, BF 128: LINE (X + 12, y + 12)-(X + 88 + Z, y + 88 + Z), 7, BF 129: Xy = X + 15 130: yX = y + 67 + Z 131: Xx = X + 85 + Z 132: yY = y + 82 + Z 133: Xyz$ = "M" + STR$(X + 13) + "," + STR$(y + 23) 134: DRAW "X" + VARPTR$(Xyz$) 135: Font Prm$ 136: Textbx Xy, yX, Xx, yY, T$, 1, 14, "", "", 0 137: PUT (X, y), Back, PSET 138: END SUB 139: 140: SUB LoadFont (f$) 141: OPEN f$ FOR INPUT AS #1: T = 0 142: DO UNTIL EOF(1) 143: LINE INPUT #1, a$ 144: Txt(T) = a$ 145: T = T + 1 146: LOOP 147: END SUB 148: 149: SUB SCapt (FIL$) 150: OPEN FIL$ FOR OUTPUT AS #1 LEN = 10000 151: FOR X = 0 TO 639 152: FOR y = 0 TO 479 153: vv$ = CHR$(POINT(X, y) + 32) 154: PRINT #1, vv$; : PSET (X, y), 15 155: IF INKEY$ = "" THEN ELSE CLOSE 1: EXIT SUB 156: NEXT y 157: NEXT X 158: CLOSE 1 159: END SUB 160: 161: SUB Sleep2 (T) 162: a = TIMER 163: DO UNTIL TIMER >= a + T: LOOP 164: 165: 166: END SUB 167: 168: SUB SLoad (FIL$) 169: OPEN FIL$ FOR RANDOM AS #1 170: FOR X = 0 TO 639 171: FOR y = 0 TO 479 172: GET #1, y + 1 * (X + 1), clr$ 173: IF INKEY$ = "" THEN ELSE CLOSE 1: EXIT SUB 174: IF EOF(1) THEN CLOSE 1: PSET (X, y), clr%: EXIT SUB 175: PSET (X, y), ASC(clr$) - 32 176: 10 NEXT y 177: NEXT X 178: END SUB 179: 180: SUB Textbx (SX, SY, eX, Ey, T$, r, l, pw$, tb$, del) 181: IF LEN(tb$) > l AND r = 1 THEN tb$ = MID$(tb$, 1, l) 182: T$ = tb$: W = LEN(tb$) 183: IF del = 1 THEN ds = 0 ELSE ds = LEN(tb$) 184: IF LEN(pw$) > 1 THEN pw$ = LEFT$(pw$, 1) 185: LINE (SX - 1, SY - 1)-(eX + 1, Ey + 1), 0, B 186: LINE (SX, SY)-(eX, Ey), 15, BF 187: MX$ = "M" + STR$(SX + 2) + "," + STR$(Ey - 2) 188: DRAW "BX" + VARPTR$(MX$) 189: IF pw$ = "" THEN Font tb$ ELSE Font STRING$(LEN(tb$), pw$) 190: IF r = 1 THEN ELSE EXIT SUB 191: 12 a$ = INKEY$ 192: IF a$ = "" GOTO 12 193: IF a$ = CHR$(8) THEN IF LEN(T$) - ds = 0 THEN GOTO 12 ELSE T$ = LEFT$(T$, LEN(T$) - 1): W = W - 1: LINE (SX - 1, SY - 1)-(eX + 1, Ey + 1), 0, B: LINE (SX, SY)-(eX, Ey), 15, BF: DRAW "BX" + VARPTR$(MX$): IF pw$ = "" THEN Font UCASE$(T$): GOTO 12 ELSE Font STRING$(LEN(T$), pw$): GOTO 12 194: IF a$ = CHR$(13) THEN EXIT SUB 195: IF W = l THEN GOTO 12 196: T$ = T$ + a$: W = W + LEN(a$) 197: B$ = UCASE$(a$) 198: IF pw$ = "" THEN Font B$ ELSE Font pw$ 199: GOTO 12 200: END SUB 201: 202: SUB Window2 (length, height, row, column) 203: LINE (column, row)-(column + length, row + height), 0, B 204: FOR i% = 1 TO 2 205: row = row + 1: column = column + 1: height = height - 1: length = length - 1 206: LINE (column, row)-(column + length, row), 7 207: LINE (column, row)-(column, row + height), 7 208: NEXT i% 209: row = row + 1: column = column + 1: height = height - 1: length = length - 1 210: LINE (column, row)-(column + length, row), 0 211: LINE (column, row)-(column, row + height), 0 212: LINE (column, row)-(column + 18, row + 18), 7, BF 213: LINE (column, row)-(column + 18, row + 18), 0, B 214: LINE (column + 18, row - 2)-(column + 18, row + 5), 0 215: LINE (column - 2, row + 18)-(column + 5, row + 18), 0 216: LINE (column + 5, row + 7)-(column + 13, row + 9), 15, BF: LINE (column + 5, row + 7)-(column + 13, row + 9), 0, B 217: LINE (column + 14, row + 7)-(column + 14, row + 9), 8 218: LINE (column + 6, row + 10)-(column + 14, row + 10), 8, B 219: LINE (column + 18, row)-(column + length, row + 18), 9, BF 220: LINE (column + 18, row)-(column + length, row + 18), 0, B 221: LINE (column + length, row - 3)-(column + length + 2, row + height), 7, BF 222: LINE (column + length, row - 3)-(column + length + 3, row + height), 0, B 223: LINE (column + length, row - 2)-(column + length, row - 1), 7 224: LINE (column + length - 18, row - 2)-(column + length - 18, row - 1), 0 225: LINE (column + length, row + 18)-(column + length + 2, row + 18), 0 226: LINE (column, row + height - 3)-(column + length, row + height - 3), 0, B 227: LINE (column, row + height - 2)-(column + length + 2, row + height), 7, BF 228: LINE (column - 2, row + height)-(column + length + 2, row + height), 0, B 229: LINE (column - 2, row + height - 18)-(column, row + height - 18), 0 230: LINE (column + length - 2, row + height - 18)-(column + length + 2, row + height - 18), 0 231: LINE (column + 18, row + height)-(column + 18, row + height - 2), 0 232: LINE (column + length - 18, row + height)-(column + length - 18, row + height - 2), 0 233: LINE (column + 1, row + 19)-(column + length - 1, row + height - 4), 7, BF 234: END SUB 235: |