home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / MISC / PBAPI10.ZIP / DEMO2.BAS < prev    next >
BASIC Source File  |  1998-02-21  |  22KB  |  602 lines

  1. ' ─────────────────────────────────────────────────────────────────────────
  2. ' Program Title: Demo Program to Show How to add User Records to TriBBS
  3. '     Copyright: 1997-98 By Freejack's Software
  4. '        Author: Gary Price
  5. ' Last Modified: 02/21/98
  6. ' ─────────────────────────────────────────────────────────────────────────
  7. '   Description: Program template for PowerBASIC programmers to control
  8. '                exactly how PowerBASIC generates your executables.
  9. ' ─────────────────────────────────────────────────────────────────────────
  10. '         Notes:
  11. ' ─────────────────────────────────────────────────────────────────────────
  12. '       History:
  13. ' ─────────────────────────────────────────────────────────────────────────
  14. $CPU 80386                    ' Requires a 386 system or faster
  15.  
  16. $OPTIMIZE SPEED             ' make fastest possible executable
  17.  
  18. '$COMPILE EXE "DEMO2.EXE"   ' compile to an EXE
  19.  
  20. $DEBUG MAP      OFF         ' turn off map file generation
  21. $DEBUG PBDEBUG  OFF         ' don't include pbdebug support in our executable
  22.  
  23. $LIB COM        OFF         ' turn off PowerBASIC's communications library.
  24. $LIB CGA        OFF         ' turn off PowerBASIC's CGA graphics library.
  25. $LIB EGA        OFF         ' turn off PowerBASIC's EGA graphics library.
  26. $LIB VGA        OFF         ' turn off PowerBASIC's VGA graphics library.
  27. $LIB LPT        OFF         ' turn off PowerBASIC's printer support library.
  28. $LIB IPRINT     OFF         ' turn off PowerBASIC's interpreted print library.
  29. $LIB FULLFLOAT  OFF         ' turn off PowerBASIC's floating point support.
  30.  
  31. $ERROR ALL                  ' Set for All Error checks
  32.  
  33. $COM    0                   ' set communications buffer to nothing
  34. $STRING 32                  ' set largest string size at 32k
  35. $STACK  8192                ' let's use a 8k stack
  36. $SOUND  1                   ' smallest music buffer possible
  37.  
  38. $DIM ALL                    ' forces all Varibles and Arrays to be
  39.                             ' pre-dementioned before use.
  40.  
  41. $DYNAMIC                    ' all arrays will be dynamic by default
  42.  
  43. $OPTION CNTLBREAK OFF       ' don't allow Ctrl-Break to exit program
  44.  
  45. DEFINT A-Z                  ' default all variables to integers for maximum
  46.                             ' speed and minimum size
  47. '============================================================================
  48.  
  49. '============================================================================
  50. '                          DECLARATIONS SECTION
  51. '============================================================================
  52. ' ** THIS SECTION IS FOR LINKS AND INCLUDES STATMENTS **
  53.  
  54. $LINK "G:\PB35\TBAPI10\PBAPI10.PBL"    ' ** SET THIS LINE TO YOUR PATH **
  55. $INCLUDE "G:\PB35\TBAPI10\PBAPI10.INC" ' ** SET THIS LINE TO YOUR PATH **
  56.  
  57. '---------------------------------------------------------------------------
  58. ' ** DECLARE SUB's BELOW THAT WILL BE USED IN THIS PROGRAM **
  59.  
  60. '---------------------------------------------------------------------------
  61. '* DECLARE ALL LOCAL AND SHARED VARIABLES USED IN MAIN PROGRAM BETWEEN SUBS *
  62. '
  63. '----------------------------------------------------------------------------
  64. ' ** SET THIS LINE BELOW TO YOUR TRIBBS MAIN NODE's DIRECTORY **
  65.  
  66. TBNode1sMainDirectory = "E:\TRIBBS"
  67. '============================================================================
  68.  
  69. CLS ' Clears the Screen
  70.  
  71. '============================================================================
  72. '                         ** MAIN PROGRAM BODY **
  73. '============================================================================
  74. ON ERROR GOTO DONE            ' Set Error Trap to Exit on any Errors
  75.  
  76. DIM CharAllow       AS STRING
  77. DIM PromptLine      AS STRING
  78. DIM RecordNum       AS WORD
  79. DIM NEWUSER         AS STRING
  80. DIM ENTERNAME       AS STRING
  81. DIM NameCounter     AS INTEGER
  82. DIM PASSWORD        AS STRING
  83. DIM TempPass1       AS STRING
  84. DIM TempPass2       AS STRING
  85. DIM PasswordCounter AS INTEGER
  86. DIM ALIASNAME       AS STRING
  87. DIM STREETADDR1     AS STRING
  88. DIM STREETADDR2     AS STRING
  89. DIM CITY            AS STRING
  90. DIM STATE           AS STRING
  91. DIM ZIPCODE         AS STRING
  92. DIM COUNTRY         AS STRING
  93. DIM PHONENUMBER     AS STRING
  94. DIM BIRTHDAY        AS STRING
  95. DIM PROTOCOL        AS INTEGER
  96. DIM EDITOR          AS INTEGER
  97.  
  98. '----------------------------------------------------------------------------
  99.  
  100. CharAllow = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + _
  101.             "~`'!@#$%^&*()_=+\|{}[],<>./?;:"
  102.  
  103. NameCounter = 1
  104. PasswordCounter = 1
  105.  
  106. CLS
  107.  
  108. REDONAME:
  109.    ENTERNAME = ""
  110.    COLOR 15, 0
  111.    PromptLine = "Enter your FIRST and LAST name: "
  112.    ENTERNAME = LineInput("", CharAllow, PromptLine, 25, 47)
  113.    ENTERNAME = InitialCaps(TrimString(ENTERNAME))
  114.  
  115.      IF ENTERNAME = "" THEN
  116.        IF NameCounter => 5 THEN GOTO DONE
  117.        INCR NameCounter
  118.        GOTO REDONAME
  119.      END IF
  120.  
  121.   COLOR 11, 0: PRINT "Searching user records for " + ENTERNAME, _
  122.   : COLOR 15, 0: PRINT
  123.  
  124.       USERS_IDX_Open
  125.     IF USERS_IDX_Search(ENTERNAME) = 0 THEN
  126.       USERS_IDX_Close
  127.          ALIAS_IDX_Open
  128.        IF ALIAS_IDX_Search(ENTERNAME) = 0 THEN
  129.          ALIAS_IDX_Close
  130.        ELSE
  131.          RecordNum = ALIAS_IDX_GetRN
  132.          ALIAS_IDX_Close
  133.          GOTO READUSERSRECORDS
  134.        END IF
  135.     ELSE
  136.        RecordNum = USERS_IDX_GetRN
  137.        USERS_IDX_Close
  138.        GOTO READUSERSRECORDS
  139.     END IF
  140.  
  141.         COLOR 15, 0: PRINT "<G>oodye, <R>eenter, or <N>ew User? "; _
  142.         : LOCATE,,1
  143.  
  144.            NEWUSER = ""
  145.  
  146.            DO WHILE NEWUSER = ""
  147.              NEWUSER = INKEY$
  148.               SELECT CASE ASCII(UCASE$(NEWUSER))
  149.                  CASE 71  ' For "G"
  150.                    GOTO DONE
  151.                  CASE 82  ' For "R"
  152.                    PRINT:PRINT
  153.                    GOTO REDONAME
  154.                  CASE 78  ' For "N"
  155.                    PRINT:PRINT
  156.                    GOTO REDOPASSWORD
  157.                  CASE ELSE
  158.                    NEWUSER = ""
  159.               END SELECT
  160.            LOOP
  161.  
  162. '----------------------------------------------------------------------------
  163. REDOPASSWORD:
  164.    TempPass1 = ""
  165.    TempPass2 = ""
  166.    PASSWORD = ""
  167.    COLOR 15, 0
  168.    PromptLine = "Please select a password (1 to 15 chars.): "
  169.    TempPass1 = LineInput("*", CharAllow, PromptLine, 25, 15)
  170.    TempPass1 = InitialCaps(TrimString(TempPass1))
  171.  
  172.      IF TempPass1 = "" THEN
  173.        IF PasswordCounter => 5 THEN GOTO DONE
  174.        INCR PasswordCounter
  175.        GOTO REDOPASSWORD
  176.      END IF
  177.  
  178.    PromptLine = "Please reenter password for verification: "
  179.    TempPass2 = LineInput("*", CharAllow, PromptLine, 25, 15)
  180.    TempPass2 = InitialCaps(TrimString(TempPass2))
  181.  
  182.      IF TempPass1 = TempPass2 THEN
  183.        PASSWORD = TempPass2
  184.        PRINT
  185.      ELSE
  186.        COLOR 12, 0: PRINT "Sorry the passwords do not match!"
  187.        PasswordCounter = 1
  188.        COLOR 15, 0: PRINT
  189.        GOTO REDOPASSWORD
  190.      END IF
  191.  
  192. '----------------------------------------------------------------------------
  193. REDOALIASNAME:
  194.    COLOR 15, 0
  195.    ALIASNAME = ""
  196.    PromptLine = "Please enter an Alias Name: "
  197.    ALIASNAME = LineInput("", CharAllow, PromptLine, 25, 50)
  198.    ALIASNAME = InitialCaps(TrimString(ALIASNAME))
  199.  
  200.   IF ALIASNAME = "" THEN ALIASNAME = ENTERNAME
  201.  
  202.   COLOR 11, 0: PRINT "Searching for " + ALIASNAME, _
  203.   : COLOR 15, 0: PRINT
  204.  
  205.       ALIAS_IDX_Open
  206.     IF ALIAS_IDX_Search(ALIASNAME) <> 0 THEN
  207.       ALIAS_IDX_Close
  208.        COLOR 12, 0: PRINT ALIASNAME + " is already being used!"
  209.         PRINT
  210.         GOTO REDOALIASNAME
  211.     ELSE
  212.       ALIAS_IDX_Close
  213.          COLOR 15, 0
  214.          IF YesNo("Is " + ALIASNAME + " correct (Y/n)?", 25, 1) = 1 THEN
  215.            PRINT:PRINT
  216.          ELSE
  217.            PRINT:PRINT
  218.            GOTO REDOALIASNAME
  219.          END IF
  220.     END IF
  221.  
  222. '----------------------------------------------------------------------------
  223. REDOSADDR1:
  224.    COLOR 15, 0
  225.    STREETADDR1 = ""
  226.    PromptLine = "Enter your street address (line 1): "
  227.    STREETADDR1 = LineInput("", CharAllow, PromptLine, 25, 40)
  228.    STREETADDR1 = InitialCaps(TrimString(STREETADDR1))
  229.  
  230.       IF STREETADDR1 = "" THEN GOTO REDOSADDR1
  231.  
  232.          COLOR 15, 0
  233.          IF YesNo("Is " + STREETADDR1 + " correct (Y/n)?", 25, 1) = 1 THEN
  234.            PRINT:PRINT
  235.          ELSE
  236.            PRINT:PRINT
  237.            GOTO REDOSADDR1
  238.          END IF
  239.  
  240. '----------------------------------------------------------------------------
  241. REDOSADDR2:
  242.    COLOR 15, 0
  243.    STREETADDR2 = ""
  244.    PromptLine = "Enter your street address (line 2): "
  245.    STREETADDR2 = LineInput("", CharAllow, PromptLine, 25, 40)
  246.    STREETADDR2 = InitialCaps(TrimString(STREETADDR2))
  247.  
  248.         IF STREETADDR2 = "" THEN
  249.            PRINT:PRINT
  250.            EXIT IF
  251.         ELSE
  252.           COLOR 15, 0
  253.           IF YesNo("Is " + STREETADDR2 + " correct (Y/n)?", 25, 1) = 1 THEN
  254.             PRINT:PRINT
  255.           ELSE
  256.             PRINT:PRINT
  257.             GOTO REDOSADDR2
  258.           END IF
  259.         END IF
  260.  
  261. '----------------------------------------------------------------------------
  262. REDOCITY:
  263.    COLOR 15, 0
  264.    CITY = ""
  265.    PromptLine = "Enter your City: "
  266.    CITY = LineInput("", CharAllow, PromptLine, 25, 30)
  267.    CITY = InitialCaps(TrimString(CITY))
  268.  
  269.       IF CITY = "" THEN GOTO REDOCITY
  270.  
  271.          COLOR 15, 0
  272.          IF YesNo("Is " + CITY + " correct (Y/n)?", 25, 1) = 1 THEN
  273.            PRINT:PRINT
  274.          ELSE
  275.            PRINT:PRINT
  276.            GOTO REDOCITY
  277.          END IF
  278.  
  279. '----------------------------------------------------------------------------
  280. REDOSTATE:
  281.    COLOR 15, 0
  282.    STATE = ""
  283.    PromptLine = "Enter your State: "
  284.    STATE = LineInput("", CharAllow, PromptLine, 25, 30)
  285.    STATE = InitialCaps(TrimString(STATE))
  286.  
  287.         IF STATE = "" THEN
  288.           PRINT:PRINT
  289.           EXIT IF
  290.         ELSE
  291.           COLOR 15, 0
  292.           IF YesNo("Is " + STATE + " correct (Y/n)?", 25, 1) = 1 THEN
  293.             PRINT:PRINT
  294.           ELSE
  295.             PRINT:PRINT
  296.             GOTO REDOSTATE
  297.           END IF
  298.         END IF
  299.  
  300. '----------------------------------------------------------------------------
  301. REDOZIPCODE:
  302.    COLOR 15, 0
  303.    ZIPCODE = ""
  304.    PromptLine = "Enter your Zip Code: "
  305.    ZIPCODE = LineInput("", CharAllow, PromptLine, 25, 10)
  306.    ZIPCODE = InitialCaps(TrimString(ZIPCODE))
  307.  
  308.         IF ZIPCODE = "" THEN
  309.            PRINT:PRINT
  310.            EXIT IF
  311.         ELSE
  312.           COLOR 15, 0
  313.           IF YesNo("Is " + ZIPCODE + " correct (Y/n)?", 25, 1) = 1 THEN
  314.             PRINT:PRINT
  315.           ELSE
  316.             PRINT:PRINT
  317.             GOTO REDOZIPCODE
  318.           END IF
  319.         END IF
  320.  
  321. '----------------------------------------------------------------------------
  322. REDOCOUNTRY:
  323.    COLOR 15, 0
  324.    COUNTRY = ""
  325.    PromptLine = "Enter your Country (ENTER for USA): "
  326.    COUNTRY = LineInput("", CharAllow, PromptLine, 25, 30)
  327.    COUNTRY = InitialCaps(TrimString(COUNTRY))
  328.  
  329.         IF COUNTRY = "" THEN COUNTRY = "Usa"
  330.  
  331.          COLOR 15, 0
  332.          IF YesNo("Is " + COUNTRY + " correct (Y/n)?", 25, 1) = 1 THEN
  333.            PRINT:PRINT
  334.          ELSE
  335.            PRINT:PRINT
  336.            GOTO REDOCOUNTRY
  337.          END IF
  338.  
  339. '----------------------------------------------------------------------------
  340. REDOPHONENUMBER:
  341.    COLOR 15, 0
  342.    PHONENUMBER = ""
  343.    PromptLine = "Enter your Phone Number ###-###-####: "
  344.    PHONENUMBER = PhoneNumberInput(PromptLine, 25)
  345.    PHONENUMBER = InitialCaps(TrimString(PHONENUMBER))
  346.  
  347.       IF PHONENUMBER = "" THEN GOTO REDOPHONENUMBER
  348.  
  349.          COLOR 15, 0
  350.          IF YesNo("Is " + PHONENUMBER + " correct (Y/n)?", 25, 1) = 1 THEN
  351.            PRINT:PRINT
  352.          ELSE
  353.            PRINT:PRINT
  354.            GOTO REDOPHONENUMBER
  355.          END IF
  356.  
  357. '----------------------------------------------------------------------------
  358. REDOBIRTHDAY:
  359.    COLOR 15, 0
  360.    BIRTHDAY = ""
  361.    PromptLine = "Enter your Date of Birth MM/DD/YY: "
  362.    BIRTHDAY = DateInput(PromptLine, 25)
  363.    BIRTHDAY = InitialCaps(TrimString(BIRTHDAY))
  364.  
  365.       IF BIRTHDAY = "" THEN GOTO REDOBIRTHDAY
  366.  
  367.          COLOR 15, 0
  368.          IF YesNo("Is " + BIRTHDAY + " correct (Y/n)?", 25, 1) = 1 THEN
  369.            PRINT:PRINT
  370.          ELSE
  371.            PRINT:PRINT
  372.            GOTO REDOBIRTHDAY
  373.          END IF
  374.  
  375. '----------------------------------------------------------------------------
  376. REDOPROTOCOL:
  377.    PROTOCOL = 0
  378.    COLOR 11, 0
  379.     PRINT "<A> Ascii"
  380.     PRINT "<X> Xmodem"
  381.     PRINT "<K> Xmodem-1K"
  382.     PRINT "<Y> Ymodem"
  383.     PRINT "<G> Ymodem-G"
  384.     PRINT "<Z> Zmodem"
  385.     PRINT "<N> No Default Protocol"
  386.     COLOR 15, 0: PRINT
  387.  
  388.     PRINT "Please select a Default Protocol: "; : LOCATE,,1
  389.  
  390.            NEWUSER = ""
  391.  
  392.            DO WHILE NEWUSER = ""
  393.              NEWUSER = INKEY$
  394.               SELECT CASE ASCII(UCASE$(NEWUSER))
  395.                  CASE 78
  396.                    PROTOCOL = 0         ' For "N"
  397.                    EXIT DO
  398.                  CASE 65,88,75,89,71,78,90 ' For "A,X,K,Y,G,Z"
  399.                    PROTOCOL = ASCII(UCASE$(NEWUSER))
  400.                    EXIT DO
  401.                  CASE ELSE
  402.                   NEWUSER = ""
  403.               END SELECT
  404.            LOOP
  405.  
  406. PRINT:PRINT
  407.  
  408. '----------------------------------------------------------------------------
  409. REDOEDITOR:
  410.    EDITOR = 0
  411.    COLOR 11, 0
  412.     PRINT "<L> Line Editor"
  413.     PRINT "<F> Full Screen Editor"
  414.     PRINT "<N> No Default Editor"
  415.     COLOR 15, 0 : PRINT
  416.  
  417.     PRINT "Please select a Default Editor: "; : LOCATE,,1
  418.  
  419.            NEWUSER = ""
  420.  
  421.            DO WHILE NEWUSER = ""
  422.              NEWUSER = INKEY$
  423.               SELECT CASE ASCII(UCASE$(NEWUSER))
  424.                  CASE 78
  425.                    EDITOR = 0  ' For "N"
  426.                    EXIT DO
  427.                  CASE 76       ' For "L"
  428.                    EDITOR = 1
  429.                    EXIT DO
  430.                  CASE 70       ' For "F"
  431.                    EDITOR = 2
  432.                    EXIT DO
  433.                  CASE ELSE
  434.                   NEWUSER = ""
  435.               END SELECT
  436.            LOOP
  437.  
  438. PRINT:PRINT
  439.  
  440. '----------------------------------------------------------------------------
  441. '** Add User to Users.dat file **
  442.  
  443. COLOR 12, 0: PRINT "Adding you to the system data files.....Please wait....."
  444.  
  445. DIM NewRecord   AS LONG
  446. DIM Month       AS INTEGER
  447. DIM Day         AS INTEGER
  448. DIM Year        AS INTEGER
  449. DIM CurrentDate AS STRING
  450. DIM Hour        AS INTEGER
  451. DIM Minute      AS INTEGER
  452. DIM Second      AS INTEGER
  453. DIM CurrentTime AS STRING
  454. DIM DateTime    AS STRING
  455. DIM nw          AS INTEGER
  456.  
  457.  USERS_DAT_Open
  458.   NewRecord = USERS_DAT_LENGTH + 1          ' Gets last record and adds 1
  459.   USERS_DAT_ClearIt(NewRecord)              ' Creates empty new record
  460.     USERS_DAT_PutUN(ENTERNAME)              ' Name
  461.     USERS_DAT_PutAN(ALIASNAME)              ' Alias Name
  462.     USERS_DAT_PutUP(PASSWORD)               ' Password
  463.     USERS_DAT_PutSA1(STREETADDR1)           ' Street Address 1
  464.     USERS_DAT_PutSA2(STREETADDR2)           ' Street Address 2
  465.     USERS_DAT_PutCity(CITY)                 ' City
  466.     USERS_DAT_PutUS(STATE)                  ' State
  467.     USERS_DAT_PutUC(COUNTRY)                ' Country
  468.     USERS_DAT_PutUZ(ZIPCODE)                ' Zipcode
  469.     USERS_DAT_PutUPN(PHONENUMBER)           ' Phone Number
  470.     USERS_DAT_PutUBD(BIRTHDAY)              ' Birth Date
  471.      SplitDate DATE$, Month, Day, Year      ' Get system date and split up
  472.                                             ' it's components
  473.      CurrentDate = MakeDate(Month, Day, Year) ' Create new USA date format
  474.                                               ' MM/DD/YY
  475.     USERS_DAT_PutDOFC(CurrentDate)          ' Date Of First Call
  476.     USERS_DAT_PutDOLFC(CurrentDate)         ' Date Of Last File Check
  477.     USERS_DAT_PutSED("")                    ' Subscription Expiration Date
  478.      SplitTime TIME$, Hour, Minute, Second  ' Get system time and split up
  479.                                             ' it's components
  480.      CurrentTime = MakeTime12(Hour, Minute) ' Create new time format HH:MM
  481.      DateTime = CurrentDate + " " + CurrentTime ' Create Date & Time String
  482.     USERS_DAT_PutDATOLC(DateTime)           ' Date And Time Of Last Call
  483.     USERS_DAT_PutEM(0)                      ' Set Expert Mode to Novice Mode
  484.     USERS_DAT_PutSL(10)                     ' Set Security Level to 10
  485.     USERS_DAT_PutNOC(1)                     ' Set Number Of Calls to 1
  486.     USERS_DAT_PutTLFT(30)                   ' Set Time Left For Today,
  487.                                             ' (Minutes), to 30
  488.     USERS_DAT_PutLMC(0)                     ' Set Last Message Conference
  489.                                             ' to 0
  490.     USERS_DAT_PutLFA(0)                     ' Set Last File Area to 0
  491.     USERS_DAT_PutDP(PROTOCOL)               ' Default Protocol
  492.     USERS_DAT_PutNOCT(1)                    ' Set Number Of Calls Today to 1
  493.     USERS_DAT_PutDE(EDITOR)                 ' Default Editor
  494.     USERS_DAT_PutICS(0)                     ' Set Initial Chat Status to
  495.                                             ' default, "available for chat"
  496.     USERS_DAT_PutNOFDT(0)                   ' Set Number Of Files Downloaded
  497.                                             ' Today to default 0
  498.     USERS_DAT_PutAUIQ(0)                    ' Set Archive Used In QWK to
  499.                                             ' default "ZIP"
  500.     USERS_DAT_PutNOFU(0)                    ' Set Number Of Files Uploaded
  501.                                             ' to default 0
  502.     USERS_DAT_PutNOFD(0)                    ' Set Number Of Files Downloaded
  503.                                             ' to default 0
  504.     USERS_DAT_PutNOKBU(0)                   ' Set Number Of KBytes Uploaded
  505.                                             ' to default 0
  506.     USERS_DAT_PutNOKBD(0)                   ' Set Number Of KBytes Downloaded
  507.                                             ' to default 0
  508.     USERS_DAT_PutNOMP(0)                    ' Set Number Of Messages Posted
  509.                                             ' to default 0
  510.     USERS_DAT_PutNOBDT(0)                   ' Set Number Of Bytes Downloaded
  511.                                             ' Today to default 0
  512.      FOR nw = 1 to 16                       ' Set FOR/NEXT for 16 records
  513.        USERS_DAT_PutNWF nw, 0               ' Set Network Flag for Record
  514.      NEXT nw                                ' 'nw' to default 0,
  515.                                             ' "no netstatus"
  516.     USERS_DAT_PutLOF(0)                     ' Set Locked Out Flag to default
  517.                                             ' 0, "Not locked out"
  518.     USERS_DAT_PutMFDF(0)                    ' Set Marked For Deletion Flag to
  519.                                             ' default 0, "not marked for deletion"
  520.     USERS_DAT_PutILIQF(0)                   ' Set Include Logon1 In QWK Flag
  521.                                             ' to default 0
  522.     USERS_DAT_PutIGIQF(0)                   ' Set Include Goodbye In QWK Flag
  523.                                             ' to default 0
  524.     USERS_DAT_PutIBIQF(0)                   ' Set Include Bulletins in QWK
  525.                                             ' Flag to default 0
  526.     USERS_DAT_PutINFIQF(0)                  ' Set Include New Files In QWK
  527.                                             ' Flag to default 0
  528.     USERS_DAT_PutINLIQF(0)                  ' Set Include News Letter In QWK
  529.                                             ' Flag to default 0
  530.     USERS_DAT_PutCWMF(0)                    ' Set Check Waiting Messages Flag
  531.                                             ' to default 0, "Yes"
  532.     USERS_DAT_PutGAUF(0)                    ' Set Goodbye After Upload Flag
  533.                                             ' to default 0
  534.     USERS_DAT_PutAFIQF(0)                   ' Set Attach Files In QWK Flag
  535.                                             ' to default 0
  536.  USERS_DAT_WriteClose(NewRecord)            ' Write new user info and close
  537.                                             ' Users.dat file
  538.  
  539. '----------------------------------------------------------------------------
  540. '** Add User to Users.idx & Alias.idx files **
  541.  
  542.  USERS_IDX_Open
  543.   USERS_IDX_Insert ENTERNAME, NewRecord
  544.  USERS_IDX_Close
  545.  
  546.  ALIAS_IDX_Open
  547.   ALIAS_IDX_Insert ALIASNAME, NewRecord
  548.  ALIAS_IDX_Close
  549.  
  550. '----------------------------------------------------------------------------
  551. '** Add User to Users.spm & Users.spf files **
  552.  
  553.  USERS_SPM_Open
  554.   USERS_SPM_ClearIt(NewRecord)
  555.  USERS_SPM_Close
  556.  
  557.  USERS_SPF_Open
  558.   USERS_SPF_ClearIt(NewRecord)
  559.  USERS_SPF_Close
  560.  
  561. COLOR 15, 0: PRINT
  562. PRINT "Done!"
  563. PRINT
  564. PRINT "Hit Any Key To End Program"
  565. WHILE NOT INSTAT: WEND
  566.  
  567. GOTO DONE
  568.  
  569. '----------------------------------------------------------------------------
  570. READUSERSRECORDS:
  571.  
  572. DIM RecNum AS STRING
  573. RecNum = LTRIM$(STR$(RecordNum))
  574.  
  575.  USERS_DAT_OpenReadClose RecordNum ' Will Open and Read in USERS.DAT
  576.                                    ' for RecordNum and Close the file
  577.     CLS
  578.     PRINT "Record #";RecNum    ' Prints current Record Number
  579.     PRINT USERS_DAT_GetUN      ' Name
  580.     PRINT USERS_DAT_GetAN      ' Alias Name
  581.     PRINT USERS_DAT_GetUP      ' Password
  582.     PRINT USERS_DAT_GetSA1     ' Street Address 1
  583.     PRINT USERS_DAT_GetSA2     ' Street Address 2
  584.     PRINT USERS_DAT_GetCity    ' City
  585.     PRINT USERS_DAT_GetUS      ' State
  586.     PRINT USERS_DAT_GetUC      ' Country
  587.     PRINT USERS_DAT_GetUZ      ' Zipcode
  588.     PRINT USERS_DAT_GetUPN     ' Phone Number
  589.     PRINT USERS_DAT_GetUBD     ' Birth Date
  590.  
  591. PRINT
  592. PRINT "Hit Any Key To End Program"
  593. WHILE NOT INSTAT: WEND
  594.  
  595. '---------------------------------------------------------------------------
  596. DONE:
  597.  CLS
  598.  LOCATE 25, 1
  599. END
  600.  
  601. '============================================================================
  602.