'=========================================================================== ' Subject: KEN'S DATABASE PROGRAM V1.0 Date: 08-08-99 (17:46) ' Author: Ken of DarkAges Software Code: QB, PDS ' Origin: Slapit00@aol.com Packet: MISC.ABC '=========================================================================== DECLARE SUB PRINTROUTINE () DECLARE SUB DOPALETTE (STYLE%) DECLARE SUB DELETERECORD () DECLARE SUB BUTTON (TR%, LC%, FC%, BC%, OBC%, STYLE%, TEXT$) DECLARE SUB SORTFILE () DECLARE SUB VIEWSTUFF () DECLARE SUB MOUSEMENU () DECLARE SUB CURRENTIME (TR%, LC%, FC%, BC%) DECLARE SUB ADDSTUFF () DECLARE SUB HELPSCREEN () DECLARE SUB WBOX (TR%, LC%, BR%, RC%, FC%, BC%, BACKORBOX%, SHADOW%, TEXT%, STYLE%, TEXT$) DECLARE SUB BACKGROUND (TR%, LC%, BR%, RC%, FC%, BC%, CH%) DECLARE SUB CLICKBOX (TR%, LC%, FC%, CC%, STYLE%, TEXT$) DECLARE SUB DOIT (TR%, LC%, FC%, BC%, TEXT$) DECLARE SUB PAUSE (STYLE%) DECLARE SUB DRAWSCREEN () DECLARE SUB BOX (TR%, LC%, BR%, RC%, FC%, BC%, SHADOW%, TEXT%, STYLE%, TEXT$) DECLARE SUB DESKTOP (FC%, BC%, CH%) DECLARE FUNCTION ASKIT$ (TR%, LC%, FC%, BC%, TFC%, TBC%, MAX%, STYLE%) DECLARE SUB MOUSEON () DECLARE SUB MOUSEOFF () DECLARE SUB MOUSESETHOR (MIN%, MAX%) DECLARE SUB MOUSESETVERT (MIN%, MAX%) DECLARE SUB MOUSELOCATE (XPOS%, YPOS%) DECLARE SUB MOUSESTATUS (VERT%, HOR%, MBUTTONS$) DECLARE FUNCTION MOUSEINSTALLED% () '########################################################################### REM $INCLUDE: 'QB.BI' 'Use QBX.BI in PDS7 DEFINT A-Z TYPE PHONE ' LAST AS STRING * 30 ' FIRST AS STRING * 30 ' MIDDLE AS STRING * 1 ' STREET AS STRING * 30 ' CITY AS STRING * 30 ' STATE AS STRING * 2 ' ZIP AS STRING * 5 ' HOMEPHONE AS STRING * 10 ' EMAIL AS STRING * 30 ' HOMEPAGE AS STRING * 45 ' WORKPHONE AS STRING * 10 ' NOTES AS STRING * 45 ' END TYPE ' '########################################################################### DIM SHARED TOTAL AS PHONE ' DIM SHARED CURRENTLAST AS STRING * 30 ' DIM SHARED CURRENTFIRST AS STRING * 30 ' DIM SHARED CURRENTMIDDLE AS STRING * 1 ' DIM SHARED CURRENTADDRESS AS STRING * 30 ' DIM SHARED CURRENTCITY AS STRING * 30 ' DIM SHARED CURRENTSTATE AS STRING * 2 ' DIM SHARED CURRENTZIP AS STRING * 5 ' DIM SHARED CURRENTHOMEPHONE AS STRING * 10' DIM SHARED CURRENTEMAIL AS STRING * 30 ' DIM SHARED CURRENTHOMEPAGE AS STRING * 45' DIM SHARED CURRENTWORKPHONE AS STRING * 10' DIM SHARED CURRENTNOTES AS STRING * 45 ' DIM SHARED HOMEPHONE AS STRING * 14 ' DIM SHARED WORKPHONE AS STRING * 14 ' DIM SHARED SOUNDS AS INTEGER ' DIM SHARED COL(24, 80) ' DIM SHARED DESKTOPTEXTCOLOR AS INTEGER ' DIM SHARED DESKTOPBACKCOLOR AS INTEGER ' DIM SHARED MENUBARTEXTCOLOR AS INTEGER ' DIM SHARED MENUBARCOLOR AS INTEGER ' DIM SHARED MENUTEXTCOLOR AS INTEGER ' DIM SHARED MENUBACKCOLOR AS INTEGER ' DIM SHARED HELPBARTEXTCOLOR AS INTEGER ' DIM SHARED HELPBARCOLOR AS INTEGER ' DIM SHARED FC AS INTEGER ' DIM SHARED BC AS INTEGER ' DIM SHARED TFC AS INTEGER ' DIM SHARED TBC AS INTEGER ' DIM SHARED FIELDS$(20) ' DIM SHARED RECORD AS INTEGER ' DIM SHARED MAXRECORD AS INTEGER ' DIM SHARED MAXRECORDS$(200) ' DIM SHARED REGX AS REGTYPEX DIM SHARED LINE$(20) CONST TRUE = -1: CONST FALSE = NOT (TRUE) ' '########################################################################### 'KILL "KEN-001.DB" OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) FOR X% = 1 TO 26 READ TOTAL.LAST PUT #1, X%, TOTAL NEXT X% CLOSE #1 CLS DOPALETTE 1 PCOPY 0, 6 IF MOUSEINSTALLED% THEN MOUSEGOOD$ = "Mouse found and reset..." WBOX 9, 20, 11, 55, 0, 2, 1, 1, 0, 3, "" DOIT 10, 20 + (((57 - 20) - LEN(MOUSEGOOD$)) / 2), 15, 2, MOUSEGOOD$ SLEEP 1 ELSE MOUSEBAD$ = "Mouse not found." WBOX 9, 20, 11, 55, 0, 2, 1, 1, 0, 3, "" DOIT 10, 20 + (((57 - 20) - LEN(MOUSEBAD$)) / 2), 12, 4, MOUSEBAD$ SLEEP 3 END IF PCOPY 6, 0 STARTTIME = VAL(RIGHT$(TIME$, 2)) + 70 'ON TIMER(15) GOSUB SSaver '------------------------------------------------ GOSUB TimeUpdate TIMER ON ' <======================<<< here's the timer 'LASTTIME =0 CALL MOUSEMENU 'LASTTIME =0 DOPALETTE 0 MOUSEOFF CLS SYSTEM END '---------------------------------------------------------------------------- ' -- Screen Saver -- SSaver: DIM TEXT$(70), TIMETEXT$(5) GOSUB TimeUpdate LASTTIME = LASTTIME + 15 TimeToWait = 1200 ' <----------<<<< No. of seconds for Screen saver. IF LASTTIME < TimeToWait THEN RETURN 'OR MBUTTONS$ = "L " OR MBUTTONS$ = " R" THEN RETURN TIMER OFF MOUSEOFF PCOPY 0, 5 DO K$ = UCASE$(INKEY$) T$ = TIME$ Hr = VAL(T$) IF Hr < 12 THEN Ampm$ = " am" ELSE Ampm$ = " pm" IF Hr > 12 THEN Hr = Hr - 12 CLS M% = INT(RND * 5) + 1 SELECT CASE M% CASE 1 TEXT$ = "The Time Is: " + STR$(Hr) + MID$(T$, 3, 3) + Ampm$ '+ "ù" + MID$(T$, 7, 2) + Ampm$ CASE 2 TEXT$ = "Welcome To The KBASE ScreenSaver!" CASE 3 TEXT$ = "To Exit ScreenSaver Press Any Key" CASE 4 TEXT$ = "The Time Is: " + STR$(Hr) + MID$(T$, 3, 3) + Ampm$'+ "ù" + MID$(T$, 7, 2) + Ampm$ CASE 5 TEXT$ = "ScreenSaver Built By [K] At DarkAges SoftWare..." END SELECT CHOOSE = INT(RND * 2) + 1 SELECT CASE CHOOSE CASE 1 DOPALETTE 1 CASE 2 DOPALETTE 0 END SELECT COLORS% = INT(RND * 15) + 1 XPOS% = INT(RND * 25) + 1: YPOS% = INT(RND * 80 - LEN(TEXT$)) + 1 IF YPOS% < 1 THEN YPOS% = 1: IF YPOS% >= 80 THEN YPOS% = YPOS% - LEN(TEXT$) LOCATE XPOS%, YPOS% COLOR COLORS%, 0 PRINT LCASE$(TEXT$); FOR COOL% = YPOS% TO YPOS% + LEN(TEXT$) IF YPOS% < 1 THEN YPOS% = 1: IF YPOS% >= 80 THEN YPOS% = YPOS% - LEN(TEXT$) LASTCH$ = LCASE$(CHR$(SCREEN(XPOS%, COOL%))) CH$ = UCASE$(CHR$(SCREEN(XPOS%, COOL%))) LOCATE XPOS%, COOL% SELECT CASE COLORS% CASE 1 TO 5 COLOR 15, 0 CASE 6 COLOR 14, 0 CASE 7 COLOR 9, 0 CASE 8 COLOR 15, 0 CASE 9 COLOR 14, 0 CASE 10 TO 14 COLOR 15, 0 CASE 15 COLOR 9, 0 END SELECT PRINT CH$; IF K$ <> "" THEN EXIT DO PAUSE 1 LOCATE XPOS%, COOL% COLOR COLORS% PRINT LASTCH$; COLOR 7, 0 NEXT COOL% COLOR 7, 0 FOR TIMED% = 0 TO 15: PAUSE 1: NEXT TIMED% IF K$ <> "" THEN EXIT DO LOOP UNTIL INKEY$ <> "" OR MBUTTONS$ = "L " DOPALETTE 1 COLOR 7, 0 CLS MOUSEON PCOPY 5, 0 TIMER ON RETURN TimeUpdate: ''LASTTIME =0 T$ = TIME$ Hr = VAL(T$) IF Hr < 12 THEN Ampm$ = " am" ELSE Ampm$ = " pm" IF Hr > 12 THEN Hr = Hr - 12 RETURN DATA "ANDROS","BUTTHEAD","COLLIE","DOGBOY","EDWARDS","FINKLE","GUTHRIE","HOMMEL","INDRIA","JACOBS","KILLIAN","LOCKMAN","MOMOSK","NAPIER","OFFONS","PORTLY","QUINNS","RANDALL","STOFFER","TRIGLY","UPMAN","VOGLES","WRIGLY","XAMPROS","YUVONN","ZIGLER" SUB ADDSTUFF MOUSEOFF PCOPY 0, 7 MOUSEON ALREADYHERE = FALSE GOSUB COUNTRECORDS GOSUB MAKECARD CALL MOUSESETHOR(2, 79) CALL MOUSESETVERT(2, 24) CALL MOUSELOCATE(12, 40) CALL MOUSEON DO 'LASTTIME =0 CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) K$ = UCASE$(INKEY$) IF MBUTTONS$ = " " THEN IF VERT% = 6 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [A] To Add The Last Name. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(65) THEN IF VERT% = 6 OR K$ = CHR$(65) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(65) THEN CLICKBOX 6, 19, 15, 0, 3, "Last.....:" CLICKBOX 6, 19, 1, 7, 3, "Last.....:" TOP% = 6: M% = 30: K% = 1 TOTAL.LAST = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 7 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [B] To Add The First Name. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(66) THEN IF VERT% = 7 OR K$ = CHR$(66) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(66) THEN CLICKBOX 7, 19, 15, 0, 3, "First....:" CLICKBOX 7, 19, 1, 7, 3, "First....:" TOP% = 7: M% = 30: K% = 1 TOTAL.FIRST = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 8 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press (c) To Add The Middle Initial. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(67) THEN IF VERT% = 8 OR K$ = CHR$(67) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(67) THEN CLICKBOX 8, 19, 15, 0, 3, "MI.......:" CLICKBOX 8, 19, 1, 7, 3, "MI.......:" TOP% = 8: M% = 1: K% = 0 TOTAL.MIDDLE = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 11 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [D] To Add The Street Name. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(68) THEN IF VERT% = 11 OR K$ = CHR$(68) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(68) THEN CLICKBOX 11, 19, 15, 0, 3, "Street...:" CLICKBOX 11, 19, 1, 7, 3, "Street...:" TOP% = 11: M% = 30: K% = 1 TOTAL.STREET = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 12 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [E] To Add Name Of City. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(69) THEN IF VERT% = 12 OR K$ = CHR$(69) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(69) THEN CLICKBOX 12, 19, 15, 0, 3, "City.....:" CLICKBOX 12, 19, 1, 7, 3, "City.....:" TOP% = 12: M% = 30: K% = 1 TOTAL.CITY = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 13 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [F] To Add The State. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(70) THEN IF VERT% = 13 OR K$ = CHR$(70) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(70) THEN CLICKBOX 13, 19, 15, 0, 3, "State....:" CLICKBOX 13, 19, 1, 7, 3, "State....:" TOP% = 13: M% = 2: K% = 0 TOTAL.STATE = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 14 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [G] To Add Five Digit Zip Code. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(71) THEN IF VERT% = 14 OR K$ = CHR$(71) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(71) THEN CLICKBOX 14, 19, 15, 0, 3, "ZipCode..:" CLICKBOX 14, 19, 1, 7, 3, "ZipCode..:" TOP% = 14: M% = 5: K% = 2 TOTAL.ZIP = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 15 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [H] To Add The Home Phone Number. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(72) THEN IF VERT% = 15 OR K$ = CHR$(72) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(72) THEN CLICKBOX 15, 19, 15, 0, 3, "HomePhone:" CLICKBOX 15, 19, 1, 7, 3, "HomePhone:" TOP% = 15: M% = 10: K% = 2 TOTAL.HOMEPHONE = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) HOMEPHONE = "[" + MID$(TOTAL.HOMEPHONE, 1, 3) + "] " + MID$(TOTAL.HOMEPHONE, 4, 3) + "-" + MID$(TOTAL.HOMEPHONE, 7, 4) DOIT TOP%, 30, 0, 7, HOMEPHONE 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 18 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [I] To Add The e-Mail Address. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(73) THEN IF VERT% = 18 OR K$ = CHR$(73) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(73) THEN CLICKBOX 18, 19, 15, 0, 3, "e-Mail...:" CLICKBOX 18, 19, 1, 7, 3, "e-Mail...:" TOP% = 18: M% = 30: K% = 1 TOTAL.EMAIL = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 19 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [J] To Add The Home Web Page. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(74) THEN IF VERT% = 19 OR K$ = CHR$(74) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(74) THEN CLICKBOX 19, 19, 15, 0, 3, "Home Page:" CLICKBOX 19, 19, 1, 7, 3, "Home Page:" TOP% = 19: M% = 45: K% = 1 TOTAL.HOMEPAGE = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 20 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [K] To Add The Work Phone Number. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(75) THEN IF VERT% = 20 OR K$ = CHR$(75) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(75) THEN CLICKBOX 20, 19, 15, 0, 3, "WorkPhone:" CLICKBOX 20, 19, 1, 7, 3, "WorkPhone:" TOP% = 20: M% = 10: K% = 2 TOTAL.WORKPHONE = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) WORKPHONE = "[" + MID$(TOTAL.WORKPHONE, 1, 3) + "] " + MID$(TOTAL.WORKPHONE, 4, 3) + "-" + MID$(TOTAL.WORKPHONE, 7, 4) DOIT TOP%, 30, 0, 7, WORKPHONE 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 21 THEN IF HOR% >= 19 AND HOR% <= 28 THEN HELP$ = "Click Here Or Press [L] To Add A Personal Note. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(76) THEN IF VERT% = 21 OR K$ = CHR$(76) THEN IF HOR% >= 19 AND HOR% <= 28 OR K$ = CHR$(76) THEN CLICKBOX 21, 19, 15, 0, 3, "Notes....:" CLICKBOX 21, 19, 1, 7, 3, "Notes....:" TOP% = 21: M% = 45: K% = 1 TOTAL.NOTES = ASKIT$(TOP%, 30, 15, 0, 0, 7, M%, K%) 'LASTTIME =0 SAVED = FALSE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 5 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click The Mouse Here Or Press [ALT] + [S] To Save Card." DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(31) THEN IF VERT% = 5 OR K$ = CHR$(0) + CHR$(31) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(0) + CHR$(31) THEN BUTTON 5, 5, 6, 1, 7, 1, " Save " BUTTON 5, 5, 6, 1, 7, 0, " Save " 'LASTTIME =0 GOSUB SAVEFILE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 7 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click The Mouse Or Press [+] For The Next Card. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(43) THEN IF VERT% = 7 OR K$ = CHR$(43) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(43) THEN BUTTON 7, 5, 6, 1, 7, 1, " +>> " BUTTON 7, 5, 6, 1, 7, 0, " +>> " 'LASTTIME =0 GOSUB NEXTCARD END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 9 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click Here Or Press [-] For The Previous Card. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(45) THEN IF VERT% = 9 OR K$ = CHR$(45) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(45) THEN BUTTON 9, 5, 6, 1, 7, 1, " <<- " BUTTON 9, 5, 6, 1, 7, 0, " <<- " 'LASTTIME =0 GOSUB PREVIOUSCARD END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 11 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click Here Or Press [ALT] + [X] To Exit From Edit Mode." DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(45) OR K$ = CHR$(27) THEN IF VERT% = 11 OR K$ = CHR$(0) + CHR$(45) OR K$ = CHR$(27) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(0) + CHR$(45) OR K$ = CHR$(27) THEN BUTTON 11, 5, 6, 1, 7, 1, " Exit " BUTTON 11, 5, 6, 1, 7, 0, " Exit " 'LASTTIME =0 IF NOT (SAVED) THEN PCOPY 0, 3 WBOX 7, 20, 19, 60, 15, 2, 1, 1, 0, 3, "" LINE$(1) = "- Query -" LINE$(2) = STRING$(31, 220) LINE$(3) = "" LINE$(4) = " The Current File Has Not Been Saved." LINE$(5) = "Would You Like To Do So Now? If Yes, " LINE$(6) = "Click `O.K.' Or Press The [ENTER] Key." LINE$(7) = "Otherwise, Click `CANCEL' Or Press The" LINE$(8) = "[ESCAPE] Key. " FOR X% = 1 TO 8 RC% = 60: LC% = 20 DOIT 7 + X%, 21 + (((62 - 21) - LEN(LINE$(X%))) / 2), 15, 2, LINE$(X%) '20 + (((52 - 20) - LEN(LINE$(X%))) / 2), 15, 2, LINE$(X%) NEXT X% BUTTON 17, 28, 0, 7, 2, 0, "O.K.": BUTTON 17, 48, 0, 7, 2, 0, "CANCEL" DO CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) K$ = UCASE$(INKEY$) IF MBUTTONS$ = "L " OR K$ = CHR$(13) THEN IF VERT% >= 17 OR K$ = CHR$(13) THEN IF HOR% >= 28 AND HOR% <= 33 OR K$ = CHR$(13) THEN BUTTON 17, 28, 0, 7, 2, 1, "O.K." BUTTON 17, 28, 0, 7, 2, 0, "O.K." PCOPY 3, 0 'LASTTIME =0 GOSUB SAVEFILE PCOPY 7, 0 EXIT SUB END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(27) THEN IF VERT% >= 17 OR K$ = CHR$(27) THEN IF HOR% >= 48 AND HOR% <= 55 OR K$ = CHR$(27) THEN BUTTON 17, 48, 0, 7, 2, 1, "CANCEL" BUTTON 17, 48, 0, 7, 2, 0, "CANCEL" PCOPY 3, 0 PCOPY 7, 0 'LASTTIME =0 EXIT SUB END IF END IF END IF LOOP END IF END IF END IF END IF LOOP EXIT SUB MAKECARD: STATUSLINE$ = " ³ | ³ " LINE$(1) = " - Name - " ' 5 LINE$(2) = "Last.....:" '6 LINE$(3) = "First....:" '7 LINE$(4) = "MI.......:" '8 LINE$(5) = "" '9 LINE$(6) = " - Address - " ' 10 LINE$(7) = "Street...:" '11 LINE$(8) = "City.....:" '12 LINE$(9) = "State....:" '13 LINE$(10) = "ZipCode..:" '14 LINE$(11) = "HomePhone:" '15 LINE$(12) = "" '16 LINE$(13) = " - Other Info - " ' 17 LINE$(14) = "e-Mail...:" '18 LINE$(15) = "Home Page:" '19 LINE$(16) = "WorkPhone:" '20 LINE$(17) = "Notes....:" '21 IF ALREADYHERE THEN 'BOX 3, 3, 22, 77, 1, 1, 1, 1, 1, "Click Mouse On Item To Edit" WBOX 4, 16, 22, 75, 0, 7, 1, 0, 0, 3, "" DOIT 25, 1, 3, 3, STRING$(80, 32) DOIT 25, 1, 7, 3, STATUSLINE$ FOR X% = 1 TO 17 DOIT 4 + X%, 19, 1, 7, LINE$(X%) NEXT X% DOIT 5, 19, 15, 1, LINE$(1) DOIT 10, 19, 15, 1, LINE$(6) DOIT 17, 19, 15, 1, LINE$(13) ELSE WBOX 3, 3, 22, 77, 15, 1, 1, 1, 1, 1, "Click Mouse On Item To Edit" BOX 4, 16, 22, 75, 1, 7, 0, 0, 3, "" DOIT 25, 1, 3, 3, STRING$(80, 32) DOIT 25, 1, 7, 3, STATUSLINE$ FOR X% = 1 TO 17 DOIT 4 + X%, 19, 1, 7, LINE$(X%) NEXT X% DOIT 5, 19, 15, 1, LINE$(1) DOIT 10, 19, 15, 1, LINE$(6) DOIT 17, 19, 15, 1, LINE$(13) END IF BUTTON 5, 5, 6, 1, 7, 0, " Save " BUTTON 7, 5, 6, 1, 7, 0, " +>> " BUTTON 9, 5, 6, 1, 7, 0, " <<- " BUTTON 11, 5, 6, 1, 7, 0, " Exit " DOIT 25, 59, 15, 3, STR$(RECORD): DOIT 25, 63, 15, 3, STR$(MAXRECORD) RETURN NEXTCARD: ALREADYHERE = TRUE 'ALREADYHERE = 0 IF RECORD >= MAXRECORD THEN RECORD = MAXRECORD MOUSEOFF PCOPY 0, 3 WBOX 7, 20, 13, 55, 0, 2, 1, 1, 0, 3, "" LINE$(1) = " You Have Reached The End Of The" LINE$(2) = "Current File. Would You Like To " LINE$(3) = "Add A New Card? " FOR X% = 1 TO 3 DOIT 7 + X%, 20 + (((57 - 20) - LEN(LINE$(X%))) / 2), 15, 2, LINE$(X%) NEXT X% BUTTON 11, 29, 0, 7, 2, 0, "Yes": BUTTON 11, 44, 0, 7, 2, 0, "No" MOUSEON DO CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) IF MBUTTONS$ = "L " THEN IF VERT% = 11 THEN IF HOR% >= 30 AND HOR% <= 32 THEN BUTTON 11, 29, 0, 7, 2, 1, "Yes" BUTTON 11, 29, 0, 7, 2, 1, "Yes" RECORD = RECORD + 1 PCOPY 0, 3 GOSUB MAKECARD EXIT DO END IF END IF END IF IF MBUTTONS$ = "L " THEN IF VERT% = 11 THEN IF HOR% >= 45 AND HOR% <= 46 THEN BUTTON 11, 44, 0, 7, 2, 1, "No" BUTTON 11, 44, 0, 7, 2, 0, "No" PCOPY 3, 0 EXIT DO END IF END IF END IF LOOP ELSE RECORD = RECORD + 1 GOSUB GETFILE END IF RETURN PREVIOUSCARD: ALREADYHERE = TRUE 'ALREADYHERE = 0 IF RECORD <= MINRECORD THEN RECORD = MINRECORD ELSE RECORD = RECORD - 1 GOSUB GETFILE END IF RETURN SAVEFILE: IF NOT (SAVED) THEN OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) ALLRECORDS = LOF(1) / LEN(TOTAL) PUT #1, RECORD, TOTAL '(ALLRECORDS +1) CLOSE #1 PCOPY 0, 3 WBOX 7, 20, 13, 55, 0, 2, 1, 1, 0, 3, "" BUTTON 11, 35, 0, 7, 2, 0, "O.K." LINE$(1) = " The Current Card Containing " LINE$(2) = " Record #: " + STR$(RECORD) LINE$(3) = " Has Been Saved. " FOR X% = 1 TO 3 DOIT 7 + X%, 20 + (((57 - 20) - LEN(LINE$(X%))) / 2), 15, 2, LINE$(X%) NEXT X% DO CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) SELECT CASE VERT% CASE 11 IF MBUTTONS$ = "L " THEN IF VERT% = 11 THEN IF HOR% >= 35 AND HOR% <= 40 THEN BUTTON 11, 35, 0, 7, 2, 1, "O.K." BUTTON 11, 35, 0, 7, 2, 0, "O.K." EXIT DO END IF END IF END IF END SELECT LOOP PCOPY 3, 0 ELSE OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) ALLRECORDS = LOF(1) / LEN(TOTAL) PUT #1, RECORD, TOTAL '(ALLRECORDS +1) CLOSE #1 ALREADYHERE = TRUE SAVED = TRUE SORTFILE GOSUB MAKECARD END IF RETURN GETFILE: OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) ALLRECORDS = LOF(1) / LEN(TOTAL) GET #1, RECORD, TOTAL CLOSE #1 GOSUB MAKECARD DOIT 6, 30, 0, 7, TOTAL.LAST DOIT 7, 30, 0, 7, TOTAL.FIRST DOIT 8, 30, 0, 7, TOTAL.MIDDLE DOIT 11, 30, 0, 7, TOTAL.STREET DOIT 12, 30, 0, 7, TOTAL.CITY DOIT 13, 30, 0, 7, TOTAL.STATE DOIT 14, 30, 0, 7, TOTAL.ZIP IF TOTAL.HOMEPHONE = "" THEN DOIT 15, 30, 0, 7, TOTAL.HOMEPHONE ELSE DOIT 15, 30, 0, 7, "[" + MID$(TOTAL.HOMEPHONE, 1, 3) + "] " + MID$(TOTAL.HOMEPHONE, 4, 3) + "-" + MID$(TOTAL.HOMEPHONE, 7, 4) END IF DOIT 18, 30, 0, 7, TOTAL.EMAIL DOIT 19, 30, 0, 7, TOTAL.HOMEPAGE IF TOTAL.WORKPHONE = "" THEN DOIT 20, 30, 0, 7, TOTAL.WORKPHONE ELSE DOIT 20, 30, 0, 7, "[" + MID$(TOTAL.WORKPHONE, 1, 3) + "] " + MID$(TOTAL.WORKPHONE, 4, 3) + "-" + MID$(TOTAL.WORKPHONE, 7, 4) END IF DOIT 21, 30, 0, 7, TOTAL.NOTES DOIT 25, 59, 15, 3, STR$(RECORD): DOIT 25, 63, 15, 3, STR$(MAXRECORD) RETURN COUNTRECORDS: OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) ALLRECORDS = LOF(1) / LEN(TOTAL) FOR RECORD = 1 TO ALLRECORDS GET #1, RECORD, TOTAL COUNT = COUNT + 1 NEXT RECORD CLOSE #1 MINRECORD = 1: MAXRECORD = COUNT RECORD = MAXRECORD + 1 RETURN END SUB FUNCTION ASKIT$ (TR%, LC%, FC%, BC%, TFC%, TBC%, MAX%, STYLE%) IF TR% > 22 THEN TR% = 22 IF LC% > 80 - MAX% THEN LC% = 80 - MAX% NAME$ = "" COLOR FC%, BC% LOCATE TR%, LC%: PRINT SPACE$(MAX%); DO GOSUB FLASH IF LEN(NAME$) < MAX% THEN LOCATE TR%, LC% + LEN(NAME$) G$ = INKEY$ IF G$ <> "" THEN SELECT CASE G$ CASE CHR$(8) IF LEN(NAME$) > 0 THEN NAME$ = MID$(NAME$, 1, (LEN(NAME$) - 1)) COLOR FC%, BC% LOCATE TR%, LC%: PRINT NAME$; PRINT SPACE$(MAX% - LEN(NAME$)); END IF CASE CHR$(13) PRESSED = 1 CASE CHR$(27) PRESSED = 2 COLOR TBC%, TBC% LOCATE TR%, LC%: PRINT SPACE$(MAX%); COLOR 7, 0 EXIT DO END SELECT IF LEN(NAME$) < MAX% THEN SELECT CASE STYLE% CASE 0 IF ASC(UCASE$(G$)) >= 65 AND ASC(UCASE$(G$)) <= 90 THEN NAME$ = NAME$ + UCASE$(G$): COLOR FC%, BC% LOCATE TR%, LC%: PRINT NAME$; END IF IF ASC(UCASE$(G$)) >= 48 AND ASC(UCASE$(G$)) <= 57 THEN NAME$ = NAME$ + G$: COLOR FC%, BC% LOCATE TR%, LC%: PRINT NAME$; END IF IF ASC(UCASE$(G$)) = 95 OR ASC(UCASE$(G$)) = 45 THEN NAME$ = NAME$ + G$: COLOR FC%, BC% LOCATE TR%, LC%: PRINT NAME$; END IF CASE 1 IF ASC(UCASE$(G$)) >= 32 AND ASC(UCASE$(G$)) <= 127 THEN NAME$ = NAME$ + G$: COLOR FC%, BC% LOCATE TR%, LC%: PRINT NAME$; END IF CASE 2 IF ASC(UCASE$(G$)) >= 48 AND ASC(UCASE$(G$)) <= 57 THEN NAME$ = NAME$ + G$: COLOR FC%, BC% LOCATE TR%, LC%: PRINT NAME$; END IF END SELECT END IF END IF LOOP UNTIL PRESSED = 1 'IF PRESSED = 2 THEN ' COLOR TBC%, TBC% ' LOCATE TR%, LC%: PRINT SPACE$(MAX%); ' COLOR 7, 0 'ELSE COLOR TFC%, TBC% LOCATE TR%, LC%: PRINT NAME$; PRINT SPACE$(MAX% - LEN(NAME$) + 1); COLOR 7, 0 ASKIT$ = NAME$ 'END IF EXIT FUNCTION FLASH: FL$ = CHR$(SCREEN(TR%, LC% + LEN(NAME$))) COLOR FC%, BC%: LOCATE TR%, LC% + LEN(NAME$): PRINT CHR$(179); PAUSE 1 COLOR FC%, BC%: LOCATE TR%, LC% + LEN(NAME$): PRINT FL$; FOR X% = 0 TO 1: PAUSE 1: NEXT X% RETURN END FUNCTION SUB BACKGROUND (TR%, LC%, BR%, RC%, FC%, BC%, CH%) COLOR FC%, BC% LOCATE TR%, LC% PRINT CHR$(CH%); FOR X% = (LC% + 1) TO (RC% - 1) PRINT CHR$(CH%); NEXT X% PRINT CHR$(CH%); FOR X% = (TR%) TO (BR% - 1) LOCATE X%, LC% PRINT CHR$(CH%); STRING$(RC% - LC% - 1, CH%); CHR$(CH%); NEXT X% LOCATE BR%, LC% PRINT CHR$(CH%); FOR X% = (LC% + 1) TO (RC% - 1) PRINT CHR$(CH%); NEXT X% PRINT CHR$(CH%); COLOR 7, 0 END SUB SUB BOX (TR%, LC%, BR%, RC%, FC%, BC%, SHADOW%, TEXT%, STYLE%, TEXT$) ' TR% = Top Row ' LC% = Left Column ' BR% = Bottom Row [With Shadow ON, 1 To 24. With Shadow OFF 1 To 25] ' RC% = Right Column [With Shadow ON, 1 To 78. With Shadow OFF 1 To 80] ' FC% = ForeGround Color [0 To 15] ' BC% = BackGround Color [0 To 7] ' SHADOW% = Shadow ON / OFF [1 = ON, 0 = OFF] ' TEXT% = Text ON / OFF [1 = ON, 0 = OFF] ' STYLE% = Type Of Box ' 1 = Windows Style ' 2 = Text Box With Border ' 3 = 3-D Style ' TEXT$ = Text String [With Text OFF Just Use "". With Text ON Use Text ' String Surrounded By "" i.e. "Text String..."] ' ' Example = BOX 5, 5, 15, 65, 14, 1, 1, 1, 1, "Windows Box" 'PCOPY 0, 2 MOUSEOFF SELECT CASE STYLE% CASE 1 COLOR BC%, BC% LOCATE TR%, LC% PRINT CHR$(32); FOR X% = (LC% + 1) TO (RC% - 1) LOCATE TR%, X% PRINT CHR$(32); NEXT X% PRINT CHR$(32); COLOR 15, 0 COLOR 0, 7 FOR X% = (TR% + 1) TO (BR - 1) LOCATE X%, LC% PRINT CHR$(32); STRING$(RC% - LC% - 1, 32); CHR$(32); NEXT X% LOCATE BR%, LC% PRINT CHR$(32); FOR X% = (LC% + 1) TO (RC% - 1) PRINT CHR$(32); NEXT X% PRINT CHR$(32); COLOR 7, 0 CASE 2 'PCOPY 0, 2 COLOR FC%, BC% LOCATE TR%, LC% PRINT CHR$(218); FOR X% = (LC% + 1) TO (RC% - 1) PRINT CHR$(196); NEXT X% PRINT CHR$(191); COLOR FC%, BC% FOR X% = (TR% + 1) TO (BR - 1) LOCATE X%, LC% PRINT CHR$(179); SPACE$(RC% - LC% - 1); CHR$(179); NEXT X% LOCATE BR%, LC% PRINT CHR$(192); FOR X% = (LC% + 1) TO (RC% - 1) PRINT CHR$(196); NEXT X% PRINT CHR$(217); 'PCOPY 2, 0 COLOR 7, 0 CASE 3 'PCOPY 0, 2 TEXT% = 0 COLOR 0, BC% LOCATE TR%, LC% PRINT CHR$(32); CHR$(218); FOR X% = (LC% + 1) TO (RC% - 1) PRINT CHR$(196); NEXT X% COLOR BC% + 8, BC% PRINT CHR$(191); CHR$(32); FOR X% = (TR% + 1) TO (BR - 1) LOCATE X%, LC% COLOR 0, BC%: PRINT CHR$(32); CHR$(179); : COLOR BC%, BC%: PRINT SPACE$(RC% - LC% - 1); : : COLOR BC% + 8, BC%: PRINT CHR$(179); CHR$(32); NEXT X% COLOR 0, BC% LOCATE BR%, LC% PRINT CHR$(32); CHR$(192); COLOR BC% + 8, BC% FOR X% = (LC% + 1) TO (RC% - 1) PRINT CHR$(196); NEXT X% PRINT CHR$(217); CHR$(32); 'PCOPY 2, 0 COLOR 7, 0 END SELECT SELECT CASE SHADOW% CASE 1 IF STYLE% = 3 THEN COLOR 8, 0 'CHR$(SCREEN(TR%,LC%)) FOR X% = TR% + 1 TO BR% LOCATE X% + 1, RC% + 3: PRINT CHR$(SCREEN(X% + 1, RC% + 3)); LOCATE X% + 1, RC% + 4: PRINT CHR$(SCREEN(X% + 1, RC% + 4)); NEXT X% FOR X% = LC% TO RC% LOCATE BR% + 1, X% + 2: PRINT CHR$(SCREEN(BR% + 1, X% + 2)); NEXT X% COLOR 7, 0 ELSE COLOR 8, 0 'CHR$(SCREEN(TR%,LC%)) FOR X% = TR% + 1 TO BR% LOCATE X% + 1, RC% + 1: PRINT CHR$(SCREEN(X% + 1, RC% + 1)); LOCATE X% + 1, RC% + 2: PRINT CHR$(SCREEN(X% + 1, RC% + 2)); NEXT X% FOR X% = LC% TO RC% LOCATE BR% + 1, X% + 2: PRINT CHR$(SCREEN(BR% + 1, X% + 2)); NEXT X% COLOR 7, 0 END IF CASE ELSE END SELECT SELECT CASE TEXT% CASE 1 COLOR FC%, BC% LOCATE TR%, LC% + (((RC% - LC%) - LEN(TEXT$)) / 2) PRINT " " + TEXT$ + " "; COLOR 7, 0 CASE ELSE END SELECT MOUSEON END SUB SUB BUTTON (TR%, LC%, FC%, BC%, OBC%, STYLE%, TEXT$) ' TR% = Top Row ' LC% = Left Column ' FC% = ForeGround Color of the button ' BC% = BackGround Color of then button ' OBC% = BackGround Color of object containing the button ' STYLE% = Position of the button - 0 = Up, 1 = Down ' TEXT$ = Text on the button ' ' Example: BUTTON 8, 27, 0, 7, 2, 0, "O.K." MOUSEOFF TEXTLEN% = LEN(TEXT$) + 2: RC% = LC + TEXTLEN%: TEXT$ = " " + TEXT$ + " " IF TEXTLEN% <= 2 THEN TEXTLEN% = 6 SELECT CASE STYLE% CASE 0 COLOR BC%, BC% LOCATE TR%, LC% PRINT STRING$(TEXTLEN%, 32); COLOR 0, OBC% LOCATE TR%, RC% PRINT CHR$(220); LOCATE TR% + 1, LC% + 1 PRINT STRING$(TEXTLEN%, 223); COLOR FC%, BC% LOCATE TR%, LC% + (((RC% - LC%) - LEN(TEXT$)) / 2): PRINT TEXT$; COLOR 7, 0 FOR SLOW% = 0 TO 2: PAUSE 1: NEXT CASE 1 COLOR OBC%, OBC% FOR X% = TR% TO TR% + 1 LOCATE X%, LC% - 2: PRINT STRING$(TEXTLEN% + 4, 32); NEXT X% COLOR BC%, BC% LOCATE TR%, LC% + 1: PRINT STRING$(TEXTLEN%, 32); COLOR FC%, BC% LOCATE TR%, LC% + (((RC% - LC%) - LEN(TEXT$)) / 2) + 1: PRINT TEXT$; COLOR 7, 0 FOR SLOW% = 0 TO 2: PAUSE 1: NEXT END SELECT MOUSEON END SUB SUB CLICKBOX (TR%, LC%, FC%, CC%, STYLE%, TEXT$) RC% = LC% + 20: BR% = TR% + 2 SELECT CASE STYLE% CASE 1 BOX TR%, LC%, BR%, RC%, 0, CC%, 0, 0, 3, "" DOIT TR% + 1, LC% + (((RC% - LC%) - LEN(TEXT$)) / 2) + 1, FC%, CC%, TEXT$ FOR SLOW% = 0 TO 3: PAUSE 1: NEXT CASE 2 RC% = LC% + LEN(TEXT$) + 2 DOIT TR%, LC%, FC%, CC%, STRING$(LEN(TEXT$) + 4, 32) DOIT TR%, LC% + (((RC% - LC%) - LEN(TEXT$)) / 2) + 1, FC%, CC%, TEXT$ FOR SLOW% = 0 TO 3: PAUSE 1: NEXT CASE 3 RC% = LC% + LEN(TEXT$) DOIT TR%, LC%, FC%, CC%, STRING$(LEN(TEXT$), 32) DOIT TR%, LC% + (((RC% - LC%) - LEN(TEXT$)) / 2), FC%, CC%, TEXT$ FOR SLOW% = 0 TO 3: PAUSE 1: NEXT END SELECT END SUB SUB CURRENTIME (TR%, LC%, FC%, BC%) T$ = TIME$ Hr = VAL(T$) IF Hr < 12 THEN Ampm$ = " am" ELSE Ampm$ = " pm" IF Hr > 12 THEN Hr = Hr - 12 COLOR FC%, BC% LOCATE TR%, LC% 'PRINT STR$(HR); RIGHT$(T$, 5); "ù"; Ampm$; PRINT STR$(Hr); MID$(T$, 3, 3); "ù"; RIGHT$(T$, 2); Ampm$; COLOR 7, 0 END SUB SUB DELETERECORD GOSUB DELCOUNTRECORDS MINREC = 1: MAXREC = COUNT%: CRECORD = RECORD OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) OPEN "KEN-001.TMP" FOR BINARY AS #2 LEN = LEN(TOTAL) SEEK #1, 1 'CRECORD FOR R% = MINREC TO CRECORD - 1 GET #1, R%, TOTAL PUT #2, , TOTAL NEXT R% FOR R% = CRECORD + 1 TO MAXREC GET #1, R%, TOTAL PUT #2, , TOTAL NEXT R% CLOSE #2 CLOSE #1 KILL "KEN-001.DB" NAME "KEN-001.TMP" AS "KEN-001.DB" SORTFILE EXIT SUB DELCOUNTRECORDS: OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) R% = LOF(1) / LEN(TOTAL) FOR R% = 1 TO R% GET #1, R%, TOTAL COUNT = COUNT + 1 NEXT R% CLOSE #1 RETURN END SUB SUB DESKTOP (FC%, BC%, CH%) TR% = 2: LC% = 1: BR% = 24: RC% = 80 'COLOR BC%, FC% 'LOCATE TR% - 1, LC% 'PRINT STRING$(80, 32); FOR X% = (TR%) TO (BR%) LOCATE X%, LC% COLOR BC%, FC%: PRINT CHR$(32); : COLOR FC%, BC%: PRINT STRING$(RC% - LC% - 1, CH%); : COLOR BC%, FC%: PRINT CHR$(32); NEXT X% 'LOCATE BR% + 1, LC% 'PRINT STRING$(80, 32); COLOR 7, 0 END SUB SUB DOIT (TR%, LC%, FC%, BC%, TEXT$) COLOR FC%, BC% LOCATE TR%, LC% PRINT TEXT$; COLOR 7, 0 END SUB SUB DOPALETTE (STYLE%) SELECT CASE STYLE% CASE 1 'PALETTE 0, 8 PALETTE 1, 17 PALETTE 2, 16 PALETTE 3, 24 PALETTE 4, 32 '40 PALETTE 5, 40 '32 PALETTE 6, 38 PALETTE 7, 7 'PALETTE 8, 56 PALETTE 9, 1 PALETTE 10, 2 PALETTE 11, 31 PALETTE 12, 4 PALETTE 13, 33 '45 '61 PALETTE 14, 20 PALETTE 15, 63 CASE 2 PALETTE 1, 17 PALETTE 2, 10 PALETTE 3, 11 PALETTE 4, 28 PALETTE 5, 61 PALETTE 6, 46 'PALETTE 7, 8 PALETTE 8, 56 PALETTE 9, 41 PALETTE 10, 22 PALETTE 11, 31 PALETTE 12, 36 PALETTE 13, 45 PALETTE 14, 55 PALETTE 15, 63 CASE 0 PALETTE END SELECT END SUB SUB DRAWSCREEN '-------------------------------- MAIN MENU -------------------------------- GOSUB DRAWCOUNTRECORDS RECORD = 0: MAXRECORD = COUNT TLINEPROG$ = "KBASE ù version p1.0": TLINEWARE$ = "(c)" + MID$(DATE$, 7, 8) + " DarkAges SoftWare" STATUSLINE$ = " ³ | ³ " DESKTOP 9, 0, 176 BOX 4, 25, 21, 57, 15, 4, 1, 1, 1, "Main Menu" DOIT 1, 1, 15, 3, STRING$(40, 32): DOIT 1, 4, 15, 3, TLINEPROG$: DOIT 1, 43, 15, 0, TLINEWARE$ DOIT 25, 1, 3, 3, STRING$(80, 32) DOIT 25, 1, 7, 3, STATUSLINE$ DOIT 25, 59, 15, 3, STR$(RECORD): DOIT 25, 63, 15, 3, STR$(MAXRECORD) '-------------------------------- NEW BUTTON ------------------------------- BUTTON 7, 34, 15, 1, 7, 0, "Edit Records" '-------------------------------- VIEW BUTTON ------------------------------ BUTTON 11, 34, 15, 1, 7, 0, "View Records" '------------------------------- PRINT BUTTON ------------------------------ BUTTON 15, 34, 15, 1, 7, 0, " Print " '-------------------------------- QUIT BUTTON ------------------------------ BUTTON 19, 34, 15, 1, 7, 0, "Quit Program" EXIT SUB DRAWCOUNTRECORDS: OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) ALLRECORDS = LOF(1) / LEN(TOTAL) FOR RECORD = 1 TO ALLRECORDS GET #1, RECORD, TOTAL COUNT = COUNT + 1 NEXT RECORD CLOSE #1 RETURN END SUB SUB HELPSCREEN MOUSEOFF PCOPY 0, 2 MOUSEON WBOX 7, 20, 19, 60, 15, 3, 1, 1, 0, 3, "" LINE$(1) = "KBASE ù version p1.0" LINE$(2) = "(c)" + MID$(DATE$, 7, 8) + " DarkAges SoftWare" LINE$(3) = STRING$(31, 220) LINE$(4) = "" LINE$(5) = "Thanks To:" LINE$(6) = "Chris Wagner For The Mouse Routines" LINE$(7) = "Loir Zur For The Input Routine" LINE$(8) = "William Yu For All Of His Help" FOR X% = 1 TO 8 RC% = 60: LC% = 20 DOIT 7 + X%, 21 + (((62 - 21) - LEN(LINE$(X%))) / 2), 15, 3, LINE$(X%) NEXT X% BUTTON 17, 28, 0, 7, 3, 0, "O.K.": BUTTON 17, 48, 0, 7, 3, 0, "CANCEL" CALL MOUSESETHOR(22, 60) CALL MOUSESETVERT(8, 18) CALL MOUSELOCATE(17, 40) CALL MOUSEON DO CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) K$ = UCASE$(INKEY$) IF MBUTTONS$ = "L " OR K$ = CHR$(13) THEN IF VERT% >= 17 OR K$ = CHR$(13) THEN IF HOR% >= 28 AND HOR% <= 33 OR K$ = CHR$(13) THEN BUTTON 17, 28, 0, 7, 3, 1, "O.K." BUTTON 17, 28, 0, 7, 3, 0, "O.K." 'LASTTIME =0 CALL MOUSESETHOR(2, 79) CALL MOUSESETVERT(2, 24) CALL MOUSELOCATE(12, 40) PCOPY 2, 0 DOPALETTE 0 MOUSEOFF CLS END END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(27) THEN IF VERT% >= 17 OR K$ = CHR$(27) THEN IF HOR% >= 48 AND HOR% <= 55 OR K$ = CHR$(27) THEN BUTTON 17, 48, 0, 7, 3, 1, "CANCEL" BUTTON 17, 48, 0, 7, 3, 0, "CANCEL" 'LASTTIME =0 CALL MOUSESETHOR(2, 79) CALL MOUSESETVERT(2, 24) CALL MOUSELOCATE(12, 40) PCOPY 2, 0 EXIT DO END IF END IF END IF LOOP END SUB SUB MMENU (TR%, LC%, RC%, ACTION$) CALL MOUSESETHOR(1, 80) CALL MOUSESETVERT(2, 25) CALL MOUSELOCATE(12, 40) CALL MOUSEON DO CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) SELECT CASE VERT% CASE TR% IF MBUTTONS$ = "L " THEN IF VERT% = TR% THEN IF HOR% >= LC% AND HOR% <= RC% THEN EXIT DO END IF END IF END IF END SELECT LOOP MOUSEOFF END SUB DEFSNG A-Z FUNCTION MOUSEINSTALLED% DEF SEG = 0 MouseSeg& = 256& * PEEK(207) + PEEK(206) MouseOfs& = 256& * PEEK(205) + PEEK(204) + 2 DEF SEG = MouseSeg& IF (MouseSeg& = 0 AND MouseOfs& = 0) OR PEEK(MouseOfs&) = 207 THEN MOUSEINSTALLED% = 0 EXIT FUNCTION ELSE MOUSEINSTALLED% = -1 END IF DEF SEG REGX.ax = 0 CALL INTERRUPTX(&H33, REGX, REGX) IF REGX.ax = -1 THEN MOUSEINSTALLED% = -1 ELSE MOUSEINSTALLED% = 0 END IF END FUNCTION SUB MOUSELOCATE (XPOS%, YPOS%) REGX.dx = (XPOS% * 8) - 1 REGX.cx = (YPOS% * 8) - 1 REGX.ax = 4 CALL INTERRUPTX(&H33, REGX, REGX) END SUB DEFINT A-Z SUB MOUSEMENU 'LASTTIME =0 CALL MOUSEON CALL MOUSESETHOR(2, 79) CALL MOUSESETVERT(2, 24) CALL MOUSELOCATE(11, 40) 'CALL MOUSEON CALL DRAWSCREEN DO CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) K$ = UCASE$(INKEY$) IF MBUTTONS$ = " " THEN IF VERT% = 7 THEN IF HOR% >= 34 AND HOR% <= 47 THEN HELP$ = "Add New DataBASE Or Record To Existing DataBASE " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(32) THEN IF VERT% = 7 OR K$ = CHR$(0) + CHR$(32) THEN IF HOR% >= 34 AND HOR% <= 47 OR K$ = CHR$(0) + CHR$(32) THEN BUTTON 7, 34, 15, 1, 7, 1, "Edit Records" BUTTON 7, 34, 15, 1, 7, 0, "Edit Records" MOUSEOFF 'LASTTIME =0 CALL ADDSTUFF END IF END IF END IF IF MBUTTONS$ = " " THEN IF VERT% = 11 THEN IF HOR% >= 34 AND HOR% <= 78 THEN HELP$ = "View DataBASE One Record At A Time " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(47) THEN IF VERT% = 11 OR K$ = CHR$(0) + CHR$(47) THEN IF HOR% >= 34 AND HOR% <= 47 OR K$ = CHR$(0) + CHR$(47) THEN BUTTON 11, 34, 15, 1, 7, 1, "View Records" BUTTON 11, 34, 15, 1, 7, 0, "View Records" MOUSEOFF 'LASTTIME =0 VIEWSTUFF END IF END IF END IF IF MBUTTONS$ = " " THEN IF VERT% = 15 THEN IF HOR% >= 34 AND HOR% <= 47 THEN HELP$ = "Print A Record Or Entire DataBASE " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(25) THEN IF VERT% = 15 OR K$ = CHR$(0) + CHR$(25) THEN IF HOR% >= 34 AND HOR% <= 47 OR K$ = CHR$(0) + CHR$(25) THEN BUTTON 15, 34, 15, 1, 7, 1, " Print " BUTTON 15, 34, 15, 1, 7, 0, " Print " MOUSEOFF 'LASTTIME =0 PRINTROUTINE END IF END IF END IF IF MBUTTONS$ = " " THEN IF VERT% = 19 THEN IF HOR% >= 34 AND HOR% <= 47 THEN HELP$ = "Quit The Program " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(45) OR K$ = CHR$(27) THEN IF VERT% = 19 OR K$ = CHR$(0) + CHR$(45) OR K$ = CHR$(27) THEN IF HOR% >= 34 AND HOR% <= 47 OR K$ = CHR$(0) + CHR$(45) OR K$ = CHR$(27) THEN BUTTON 19, 34, 15, 1, 7, 1, "Quit Program" BUTTON 19, 34, 15, 1, 7, 0, "Quit Program" STATUSLINE$ = STRING$(56, 32) DOIT 25, 1, 0, 3, STATUSLINE$ 'EXIT DO 'LASTTIME =0 HELPSCREEN END IF END IF END IF LOOP END SUB DEFSNG A-Z SUB MOUSEOFF REGX.ax = 2 CALL INTERRUPTX(&H33, REGX, REGX) END SUB SUB MOUSEON REGX.ax = 1 CALL INTERRUPTX(&H33, REGX, REGX) END SUB SUB MOUSESETHOR (MIN%, MAX%) REGX.cx = (MIN% * 8) - 1 REGX.dx = (MAX% * 8) - 1 REGX.ax = 7 CALL INTERRUPTX(&H33, REGX, REGX) END SUB SUB MOUSESETVERT (MIN%, MAX%) REGX.cx = (MIN% * 8) - 1 REGX.dx = (MAX% * 8) - 1 REGX.ax = 8 CALL INTERRUPTX(&H33, REGX, REGX) END SUB SUB MOUSESTATUS (VERT%, HOR%, MBUTTONS$) REGX.ax = 3 CALL INTERRUPTX(&H33, REGX, REGX) VERT% = (REGX.dx / 8) + 1 HOR% = (REGX.cx / 8) + 1 SELECT CASE REGX.bx CASE 0 MBUTTONS$ = " " CASE 1 MBUTTONS$ = "L " CASE 2 MBUTTONS$ = " R" CASE 3 MBUTTONS$ = "L R" CASE 4 MBUTTONS$ = " C " END SELECT END SUB DEFINT A-Z SUB PAUSE (STYLE%) SELECT CASE STYLE% CASE 1 T! = TIMER: WHILE T! = TIMER: WEND CASE 2 FOR T% = 0 TO 25000: NEXT T% END SELECT END SUB SUB PRINTROUTINE MOUSEOFF PCOPY 0, 2 MOUSEON WBOX 7, 20, 21, 60, 15, 1, 1, 1, 0, 3, "" LINE$(1) = "- Information -" LINE$(2) = STRING$(31, 220) LINE$(3) = "" LINE$(4) = " We Are Sorry About This. The Current " LINE$(5) = "Print Function Is Only Set To Print One" LINE$(6) = "Card At A Time. We Are Working On A New" LINE$(7) = "Print Routine As Fast As We Can Which " LINE$(8) = "Will Print The Whole File. " LINE$(9) = " Thanks, " LINE$(10) = " DarkAges SoftWare " FOR X% = 1 TO 10 RC% = 60: LC% = 20 DOIT 7 + X%, 21 + (((62 - 21) - LEN(LINE$(X%))) / 2), 15, 1, LINE$(X%) '20 + (((52 - 20) - LEN(LINE$(X%))) / 2), 15, 3, LINE$(X%) NEXT X% BUTTON 19, 38, 0, 7, 1, 0, "O.K." CALL MOUSESETHOR(22, 60) CALL MOUSESETVERT(8, 20) CALL MOUSELOCATE(17, 40) CALL MOUSEON DO CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) K$ = UCASE$(INKEY$) IF MBUTTONS$ = "L " OR K$ = CHR$(13) THEN IF VERT% = 19 OR K$ = CHR$(13) THEN IF HOR% >= 38 AND HOR% <= 43 OR K$ = CHR$(13) THEN BUTTON 19, 38, 0, 7, 1, 1, "O.K." BUTTON 19, 38, 0, 7, 1, 0, "O.K." 'LASTTIME =0 CALL MOUSESETHOR(2, 79) CALL MOUSESETVERT(2, 24) CALL MOUSELOCATE(12, 40) EXIT DO END IF END IF END IF LOOP PCOPY 2, 0 END SUB SUB SORTFILE OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) ALLRECORDS = LOF(1) / LEN(TOTAL) FOR RECORDS = 1 TO ALLRECORDS GET #1, RECORDS, TOTAL CURRENTLAST = TOTAL.LAST CURRENTFIRST = TOTAL.FIRST CURRENTMIDDLE = TOTAL.MIDDLE CURRENTADDRESS = TOTAL.STREET CURRENTCITY = TOTAL.CITY CURRENTSTATE = TOTAL.STATE CURRENTZIP = TOTAL.ZIP CURRENTHOMEPHONE = TOTAL.HOMEPHONE CURRENTEMAIL = TOTAL.EMAIL CURRENTHOMEPAGE = TOTAL.HOMEPAGE CURRENTWORKPHONE = TOTAL.WORKPHONE CURRENTNOTES = TOTAL.NOTES FOR RECORDS1 = (RECORDS + 1) TO ALLRECORDSORDS GET #1, RECORDS1, TOTAL IF TOTAL.LAST < CURRENTLAST THEN PUT #1, RECORDS, TOTAL TOTAL.FIRST = CURRENTFIRST TOTAL.LAST = CURRENTLAST TOTAL.MIDDLE = CURRENTMIDDLE TOTAL.STREET = CURRENTADDRESS TOTAL.CITY = CURRENTCITY TOTAL.STATE = CURRENTSTATE TOTAL.ZIP = CURRENTZIP TOTAL.HOMEPHONE = CURRENTHOMEPHONE TOTAL.EMAIL = CURRENTEMAIL TOTAL.HOMEPAGE = CURRENTHOMEPAGE TOTAL.WORKPHONE = CURRENTWORKPHONE TOTAL.NOTES = CURRENTNOTES PUT #1, RECORDS1, TOTAL GET #1, RECORDS, TOTAL CURRENTLAST = TOTAL.LAST CURRENTFIRST = TOTAL.FIRST CURRENTMIDDLE = TOTAL.MIDDLE CURRENTADDRESS = TOTAL.STREET CURRENTCITY = TOTAL.CITY CURRENTSTATE = TOTAL.STATE CURRENTZIP = TOTAL.ZIP CURRENTHOMEPHONE = TOTAL.HOMEPHONE CURRENTEMAIL = TOTAL.EMAIL CURRENTHOMEPAGE = TOTAL.HOMEPAGE CURRENTWORKPHONE = TOTAL.WORKPHONE CURRENTNOTES = TOTAL.NOTES END IF NEXT RECORDS1 NEXT RECORDS CLOSE #1 END SUB SUB VIEWSTUFF MOUSEOFF PCOPY 0, 7 MOUSEON ALREADYHERE = FALSE GOSUB VIEWCOUNTRECORDS GOSUB VIEWGETFILE CALL MOUSESETHOR(2, 79) CALL MOUSESETVERT(2, 24) CALL MOUSELOCATE(12, 40) CALL MOUSEON DO CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) K$ = UCASE$(INKEY$) IF MBUTTONS$ = " " THEN IF VERT% = 6 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click The Mouse Or Press The [+] Key To View Next Card." DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(43) THEN IF VERT% = 6 OR K$ = CHR$(43) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(43) THEN BUTTON 6, 5, 6, 1, 7, 1, " +>> " BUTTON 6, 5, 6, 1, 7, 0, " +>> " 'LASTTIME =0 GOSUB VIEWNEXTCARD END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 8 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click Here Or Press The [-] Key To View Previous Card. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(45) THEN IF VERT% = 8 OR K$ = CHR$(45) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(45) THEN BUTTON 8, 5, 6, 1, 7, 1, " <<- " BUTTON 8, 5, 6, 1, 7, 0, " <<- " 'LASTTIME =0 GOSUB VIEWPREVIOUSCARD END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 10 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click Here Or Press [ALT] + [D] To Delete Current Card." DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(32) THEN IF VERT% = 10 OR K$ = CHR$(0) + CHR$(32) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(0) + CHR$(32) THEN BUTTON 10, 5, 6, 1, 7, 1, "Delete " BUTTON 10, 5, 6, 1, 7, 0, "Delete " 'LASTTIME =0 GOSUB VIEWDELETE END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 12 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click Mouse Here Or Press [END] To Move To Last Card. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(79) THEN IF VERT% = 12 OR K$ = CHR$(0) + CHR$(79) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(0) + CHR$(79) THEN BUTTON 12, 5, 6, 1, 7, 1, " End " BUTTON 12, 5, 6, 1, 7, 0, " End " 'LASTTIME =0 GOSUB VIEWENDCARD END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 14 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click The Mouse Or Press [HOME] To View The First Card." DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(71) THEN IF VERT% = 14 OR K$ = CHR$(0) + CHR$(71) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(0) + CHR$(71) THEN BUTTON 14, 5, 6, 1, 7, 1, " Home " BUTTON 14, 5, 6, 1, 7, 0, " Home " 'LASTTIME =0 GOSUB VIEWFIRSTCARD END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 16 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click Here Or Press [ALT] + [P] To Print This Card. " DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(25) THEN IF VERT% = 16 OR K$ = CHR$(0) + CHR$(25) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(0) + CHR$(25) THEN BUTTON 16, 5, 6, 1, 7, 1, " Print " BUTTON 16, 5, 6, 1, 7, 0, " Print " 'LASTTIME =0 GOSUB VIEWPRINTCARD END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 18 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click Mouse Or [ALT] + [S] To Search For Specific Card." DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(31) THEN IF VERT% = 18 OR K$ = CHR$(0) + CHR$(31) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(0) + CHR$(31) THEN BUTTON 18, 5, 6, 1, 7, 1, "Search " BUTTON 18, 5, 6, 1, 7, 0, "Search " 'LASTTIME =0 GOSUB VIEWSEARCH END IF END IF END IF '---------------------------------------------------------------------------- IF MBUTTONS$ = " " THEN IF VERT% = 20 THEN IF HOR% >= 5 AND HOR% <= 13 THEN HELP$ = "Click Here Or Press [ALT] + [X] To Exit From View Mode." DOIT 25, 80 - LEN(HELP$) - 23, 15, 3, HELP$ END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(0) + CHR$(45) OR K$ = CHR$(27) THEN IF VERT% = 20 OR K$ = CHR$(0) + CHR$(45) OR K$ = CHR$(27) THEN IF HOR% >= 5 AND HOR% <= 13 OR K$ = CHR$(0) + CHR$(45) OR K$ = CHR$(27) THEN BUTTON 20, 5, 6, 1, 7, 1, " Exit " BUTTON 20, 5, 6, 1, 7, 0, " Exit " 'LASTTIME =0 EXIT DO END IF END IF END IF LOOP PCOPY 7, 0 EXIT SUB MAKEVIEWCARD: STATUSLINE$ = " ³ | ³ " LINE$(1) = " - Name - " LINE$(2) = "Last.....:" LINE$(3) = "First....:" LINE$(4) = "MI.......:" LINE$(5) = "" LINE$(6) = " - Address - " LINE$(7) = "Street...:" LINE$(8) = "City.....:" LINE$(9) = "State....:" LINE$(10) = "ZipCode..:" LINE$(11) = "HomePhone:" LINE$(12) = "" LINE$(13) = " - Other Info - " LINE$(14) = "e-Mail...:" LINE$(15) = "Home Page:" LINE$(16) = "WorkPhone:" LINE$(17) = "Notes....:" IF ALREADYHERE THEN WBOX 4, 16, 22, 75, 0, 7, 1, 0, 0, 3, "" DOIT 25, 1, 3, 3, STRING$(80, 32) DOIT 25, 1, 7, 3, STATUSLINE$ FOR X% = 1 TO 17 DOIT 4 + X%, 19, 1, 7, LINE$(X%) NEXT X% DOIT 5, 19, 15, 1, LINE$(1) DOIT 10, 19, 15, 1, LINE$(6) DOIT 17, 19, 15, 1, LINE$(13) ELSE WBOX 3, 3, 22, 77, 15, 1, 1, 1, 1, 1, "" BOX 4, 16, 22, 75, 1, 7, 0, 0, 3, "" DOIT 25, 1, 3, 3, STRING$(80, 32) DOIT 25, 1, 7, 3, STATUSLINE$ FOR X% = 1 TO 17 DOIT 4 + X%, 19, 1, 7, LINE$(X%) NEXT X% DOIT 5, 19, 15, 1, LINE$(1) DOIT 10, 19, 15, 1, LINE$(6) DOIT 17, 19, 15, 1, LINE$(13) END IF BUTTON 6, 5, 6, 1, 7, 0, " +>> " '" Print " BUTTON 8, 5, 6, 1, 7, 0, " <<- " '" +>> " BUTTON 10, 5, 6, 1, 7, 0, "Delete " '" <<- " BUTTON 12, 5, 6, 1, 7, 0, " End " '" +>> " BUTTON 14, 5, 6, 1, 7, 0, " Home " '" Print " BUTTON 16, 5, 6, 1, 7, 0, " Print " '" <<- " BUTTON 18, 5, 6, 1, 7, 0, "Search " '" Delete" BUTTON 20, 5, 6, 1, 7, 0, " Exit " '" Exit " DOIT 25, 59, 15, 3, STR$(RECORD): DOIT 25, 63, 15, 3, STR$(MAXRECORD) RETURN DISPLAYINFO: DOIT 6, 30, 0, 7, TOTAL.LAST DOIT 7, 30, 0, 7, TOTAL.FIRST DOIT 8, 30, 0, 7, TOTAL.MIDDLE DOIT 11, 30, 0, 7, TOTAL.STREET DOIT 12, 30, 0, 7, TOTAL.CITY DOIT 13, 30, 0, 7, TOTAL.STATE DOIT 14, 30, 0, 7, TOTAL.ZIP IF TOTAL.HOMEPHONE = "" THEN DOIT 15, 30, 0, 7, TOTAL.HOMEPHONE ELSE DOIT 15, 30, 0, 7, "[" + MID$(TOTAL.HOMEPHONE, 1, 3) + "] " + MID$(TOTAL.HOMEPHONE, 4, 3) + "-" + MID$(TOTAL.HOMEPHONE, 7, 4) END IF DOIT 18, 30, 0, 7, TOTAL.EMAIL DOIT 19, 30, 0, 7, TOTAL.HOMEPAGE IF TOTAL.WORKPHONE = "" THEN DOIT 20, 30, 0, 7, TOTAL.WORKPHONE ELSE DOIT 20, 30, 0, 7, "[" + MID$(TOTAL.WORKPHONE, 1, 3) + "] " + MID$(TOTAL.WORKPHONE, 4, 3) + "-" + MID$(TOTAL.WORKPHONE, 7, 4) END IF DOIT 21, 30, 0, 7, TOTAL.NOTES DOIT 25, 59, 15, 3, STR$(RECORD): DOIT 25, 63, 15, 3, STR$(MAXRECORD) CURRENTLAST = UCASE$(TOTAL.LAST) IF UCASE$(LEFT$(TOTAL.LAST, 1)) <> UCASE$(LEFT$(CURRENTLAST, 1)) OR (LEFT$(CURRENTLAST, 1) <> " ") THEN L$ = UCASE$(LEFT$(TOTAL.LAST, 1)): L$ = " " + L$ + " " DOIT 3, 8 + ((72 - 8 - LEN(L$)) / 2), 15, 1, L$ END IF RETURN VIEWNEXTCARD: ALREADYHERE = TRUE 'ALREADYHERE = 0 IF RECORD >= MAXRECORD THEN RECORD = MAXRECORD ELSE RECORD = RECORD + 1 GOSUB VIEWGETFILE END IF RETURN VIEWPREVIOUSCARD: ALREADYHERE = TRUE 'ALREADYHERE = 0 IF RECORD <= MINRECORD THEN RECORD = MINRECORD ELSE RECORD = RECORD - 1 GOSUB VIEWGETFILE END IF RETURN VIEWFIRSTCARD: ALREADYHERE = TRUE RECORD = MINRECORD GOSUB VIEWGETFILE RETURN VIEWENDCARD: ALREADYHERE = TRUE RECORD = MAXRECORD GOSUB VIEWGETFILE RETURN VIEWGETFILE: OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) ALLRECORDS = LOF(1) / LEN(TOTAL) GET #1, RECORD, TOTAL IF LOF(1) = 0 THEN PCOPY 0, 3 WBOX 7, 20, 13, 55, 0, 2, 1, 1, 0, 3, "" BUTTON 11, 35, 0, 7, 2, 0, "O.K." LINE$(1) = " The Current File Is Empty. " LINE$(2) = " You Will Now Be Returned To The " LINE$(3) = " Main Menu. " FOR X% = 1 TO 3 DOIT 7 + X%, 20 + (((57 - 20) - LEN(LINE$(X%))) / 2), 15, 2, LINE$(X%) NEXT X% MOUSEON DO CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) K$ = UCASE$(INKEY$) IF MBUTTONS$ = "L " OR K$ = CHR$(13) OR K$ = CHR$(27) THEN IF VERT% = 11 OR K$ = CHR$(13) OR K$ = CHR$(27) THEN IF HOR% >= 35 AND HOR% <= 40 OR K$ = CHR$(13) OR K$ = CHR$(27) THEN BUTTON 11, 35, 0, 7, 2, 1, "O.K." BUTTON 11, 35, 0, 7, 2, 0, "O.K." PCOPY 3, 0 MOUSEOFF EXIT SUB 'EXIT DO END IF END IF END IF LOOP END IF CLOSE #1 GOSUB MAKEVIEWCARD GOSUB DISPLAYINFO RETURN VIEWCOUNTRECORDS: COUNT = 0 OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) ALLRECORDS = LOF(1) \ LEN(TOTAL) FOR RECORD = 1 TO ALLRECORDS GET #1, RECORD, TOTAL COUNT = COUNT + 1 NEXT RECORD CLOSE #1 'IF DELETED THEN ' MINRECORD = 1: MAXRECORD = COUNT - 1 'ELSE MINRECORD = 1: MAXRECORD = COUNT 'END IF RECORD = 1 RETURN VIEWDELETE: DELETED = FALSE PCOPY 0, 3 WBOX 7, 20, 13, 55, 0, 2, 1, 1, 0, 3, "" LINE$(1) = "You are about to delete this card." LINE$(2) = "All data on the card will be lost." LINE$(3) = " Do you wish to continue? " FOR X% = 1 TO 3 DOIT 7 + X%, 20 + (((57 - 20) - LEN(LINE$(X%))) / 2), 15, 2, LINE$(X%) NEXT X% BUTTON 11, 29, 0, 7, 2, 0, "Yes": BUTTON 11, 44, 0, 7, 2, 0, "No" DO CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) SELECT CASE VERT% CASE 11 IF MBUTTONS$ = "L " THEN IF VERT% = 11 THEN IF HOR% >= 30 AND HOR% <= 32 THEN BUTTON 11, 29, 0, 7, 2, 1, "Yes" BUTTON 11, 29, 0, 7, 2, 1, "Yes" 'LASTTIME =0 DELETERECORD DELETED = TRUE EXIT DO END IF END IF IF VERT% = 11 THEN IF HOR% >= 45 AND HOR% <= 46 THEN BUTTON 11, 44, 0, 7, 2, 1, "No" BUTTON 11, 44, 0, 7, 2, 0, "No" 'LASTTIME =0 EXIT DO END IF END IF END IF END SELECT LOOP PCOPY 3, 0 GOSUB VIEWCOUNTRECORDS GOSUB VIEWGETFILE RETURN VIEWSEARCH: TEXTENTERED = FALSE MOUSEOFF PCOPY 0, 2 MOUSEON WBOX 7, 20, 22, 60, 15, 2, 1, 1, 0, 3, "" LINE$(1) = "- Record Search -" LINE$(2) = STRING$(31, 220) LINE$(3) = "" LINE$(4) = " Please Enter Text To Be Searched. " LINE$(5) = "The Text Will Be Matched Against One " LINE$(6) = "Of The Following: " LINE$(7) = " Last Name Or First Name " LINE$(8) = " " LINE$(9) = "" LINE$(10) = "Search For: " FOR X% = 1 TO 10 RC% = 60: LC% = 20 DOIT 7 + X%, 21 + (((62 - 21) - LEN(LINE$(X%))) / 2), 15, 2, LINE$(X%) '20 + (((52 - 20) - LEN(LINE$(X%))) / 2), 15, 3, LINE$(X%) NEXT X% DOIT 16, 33, 6, 2, "ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿" DOIT 17, 33, 6, 2, "³ ³" DOIT 18, 33, 6, 2, "ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ" BUTTON 20, 28, 0, 7, 2, 0, "O.K.": BUTTON 20, 48, 0, 7, 2, 0, "CANCEL" CALL MOUSESETHOR(22, 60) CALL MOUSESETVERT(8, 21) CALL MOUSELOCATE(17, 40) CALL MOUSEON DO CURRENTIME 25, 69, 6, 3 CALL MOUSESTATUS(VERT%, HOR%, MBUTTONS$) K$ = UCASE$(INKEY$) IF MBUTTONS$ = "L " OR K$ = CHR$(13) THEN IF VERT% = 20 OR K$ = CHR$(13) THEN IF HOR% >= 28 AND HOR% <= 33 OR K$ = CHR$(13) THEN BUTTON 20, 28, 0, 7, 2, 1, "O.K." BUTTON 20, 28, 0, 7, 2, 0, "O.K." 'LASTTIME =0 PCOPY 2, 0 EXIT DO END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(27) THEN IF VERT% = 20 OR K$ = CHR$(27) THEN IF HOR% >= 48 AND HOR% <= 55 OR K$ = CHR$(27) THEN BUTTON 20, 48, 0, 7, 2, 1, "CANCEL" BUTTON 20, 48, 0, 7, 2, 0, "CANCEL" PCOPY 2, 0 'LASTTIME =0 TEXTENTERED = FALSE EXIT DO END IF END IF END IF IF MBUTTONS$ = "L " OR K$ = CHR$(9) THEN IF VERT% = 17 OR K$ = CHR$(9) THEN IF HOR% >= 34 AND HOR% <= 58 OR K$ = CHR$(9) THEN SEARCHSTRING$ = ASKIT$(17, 34, 15, 2, 6, 2, 25, 1) 'LASTTIME =0 TEXTENTERED = TRUE PCOPY 2, 0 EXIT DO END IF END IF END IF LOOP IF TEXTENTERED THEN FOUND = 0 OPEN "KEN-001.DB" FOR RANDOM AS #1 LEN = LEN(TOTAL) ALLRECORDS = LOF(1) \ LEN(TOTAL) FOR R% = 1 TO ALLRECORDS GET #1, R%, TOTAL IF RTRIM$(UCASE$(TOTAL.LAST)) = UCASE$(SEARCHSTRING$) THEN FOUND = 1: EXIT FOR NEXT R% CLOSE #1 END IF CALL MOUSESETHOR(2, 79) CALL MOUSESETVERT(2, 24) CALL MOUSELOCATE(12, 40) CALL MOUSEON ALREADYHERE = TRUE GOSUB MAKEVIEWCARD GOSUB DISPLAYINFO RETURN VIEWPRINTCARD: LPRINT LPRINT "----- KBASE version p1.0 þ "; (c); MID$(DATE$, 7, 8); " DarkAges SoftWare ----" LPRINT LPRINT LPRINT " - PERSONAL -" LPRINT "Name........: "; TOTAL.LAST; ", "; TOTAL.FIRST; " "; TOTAL.MIDDLE LPRINT "Address.....: "; TOTAL.STREET LPRINT "City........: "; TOTAL.CITY; ", "; TOTAL.STATE; " "; TOTAL.ZIP LPRINT "Home Phone.: ["; MID$(TOTAL.HOMEPHONE, 1, 3); "] "; MID$(TOTAL.HOMEPHONE, 4, 3); "-"; MID$(TOTAL.HOMEPHONE, 7, 4) LPRINT "" LPRINT " - OTHER INFO -" LPRINT "e-Mail.....: "; TOTAL.EMAIL LPRINT "Home Page..: "; TOTAL.HOMEPAGE LPRINT "Work Phone.: ["; MID$(TOTAL.WORKPHONE, 1, 3); "] "; MID$(TOTAL.WORKPHONE, 4, 3); "-"; MID$(TOTAL.WORKPHONE, 7, 4) LPRINT "Notes......: "; TOTAL.NOTES LPRINT LPRINT RETURN END SUB SUB WBOX (TR%, LC%, BR%, RC%, FC%, BC%, BACKORBOX%, SHADOW%, TEXT%, STYLE%, TEXT$) SELECT CASE BACKORBOX% CASE 1 WIDE = RC% - LC% - 1 HIGH = BR% - TR% HMID = (RC% + LC%) \ 2 VMID = (TR% + BR%) \ 2 FOR I = 1 TO HIGH \ 2 HOFS = I * (WIDE / HIGH) IF HOFS >= 1 THEN BOX VMID - I, HMID - HOFS, VMID + I, HMID + HOFS, FC%, BC%, SHADOW%, TEXT%, STYLE%, TEXT$ END IF FOR LUNKHEAD% = 0 TO 2: PAUSE 2: NEXT NEXT BOX TR%, LC%, BR%, RC%, FC%, BC%, SHADOW%, TEXT%, STYLE%, TEXT$ CASE 2 WIDE = RC% - LC% - 1 HIGH = BR% - TR% HMID = (RC% + LC%) \ 2 VMID = (TR% + BR%) \ 2 FOR I = 1 TO HIGH \ 2 HOFS = I * (WIDE / HIGH) IF HOFS >= 1 THEN BACKGROUND VMID - I, HMID - HOFS, VMID + I, HMID + HOFS, FC%, BC%, 176 END IF FOR X% = 0 TO 25000: NEXT X% FOR X% = 0 TO 25000: NEXT X% NEXT BACKGROUND TR%, LC%, BR%, RC%, FC%, BC%, 176 END SELECT END SUB