home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / LOPBCK40.ZIP / GETNUM.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1993-12-11  |  6KB  |  255 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  TINTEGER007(99)
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     BigStr   TBIGSTR001(1)
  29.     BigStr   TBIGSTR002(1)
  30.     BigStr   BIGSTR003
  31.     BigStr   TBIGSTR004(1)
  32.     BigStr   BIGSTR005
  33.     BigStr   BIGSTR006
  34.     BigStr   TBIGSTR007(4)
  35.     BigStr   BIGSTR008
  36.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     Copy PPEPath() + "callback.key", PPEPath() + "getnum.key"
  40.     FOpen 1, PPEPath() + PPEName() + ".KEY", 0, 0
  41.     For INTEGER002 = 1 To 4
  42.         FGet 1, TBIGSTR007(INTEGER002)
  43.     Next
  44.     FClose 1
  45.     BIGSTR008 = TBIGSTR007(1) + TBIGSTR007(2) + TBIGSTR007(3)
  46.     BIGSTR008 = Strip(BIGSTR008, " ")
  47.     For INTEGER006 = 1 To Len(BIGSTR008)
  48.         TINTEGER007(INTEGER006) = Asc(Mid(BIGSTR008, INTEGER006, 1))
  49.     Next
  50.     INTEGER008 = 0
  51.     For INTEGER006 = 1 To 80
  52.         INTEGER008 = INTEGER008 + TINTEGER007(INTEGER006)
  53.     Next
  54.     INTEGER009 = INTEGER008 * 709
  55.     If (INTEGER009 == TBIGSTR007(4)) Goto LABEL001
  56.     PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
  57.     PrintLn "@X70│ @X74Sorry, but this utility is just for registered users.    Why not read the  @X7F│@X0F"
  58.     PrintLn "@X70│ @X74Docs and find out how you to can become a registered user.                 @X7F│@X0F"
  59.     PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X0F"
  60.     End
  61.     :LABEL001
  62.     Cls
  63.     PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
  64.     PrintLn "@X70│ @X71This program will read your @X74USERS @X71file and get the @X7EUSER @X71name, @X7EDATA @X71number  @X7F│@X0F"
  65.     PrintLn "@X70│ @X71and the @X7EVOICE @X71number for each of your registered users, this will then be  @X7F│@X0F"
  66.     PrintLn "@X70│ @X71formatted into a @X79CALLBACK.FON @X71file for use with the LoopBack(tm) program.  @X7F│@X0F"
  67.     PrintLn "@X70│ @X71Please note!  The USERS file is just read from, there is @XF4NO @X71writing to it! @X7F│@X0F"
  68.     PrintLn "@X70│ @X71If you have a current CALLBACK.FON it will be appendeded to with all of    @X7F│@X0F"
  69.     PrintLn "@X70│ @X71the information found.                                                     @X7F│@X0F"
  70.     PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────@X7F┘@X0F"
  71.     InputYN "  @X0EDo you wish to continue (Y/N) ", BIGSTR006, 10
  72.     AnsiPos 1, 9
  73.     If (Upper(BIGSTR006) == "N") Then
  74.         End
  75.     Endif
  76.     BIGSTR005 = Date()
  77.     BIGSTR003 = ReadLine(PCBDat(), 29)
  78.     INTEGER001 = FileInf(BIGSTR003, 4) / 400
  79.     Redim TBIGSTR001, INTEGER001
  80.     Redim TBIGSTR002, INTEGER001
  81.     Redim TBIGSTR004, INTEGER001
  82.     INTEGER003 = 0
  83.     INTEGER004 = 61
  84.     INTEGER005 = 1
  85.     FOpen 1, BIGSTR003, 0, 0
  86.     StartDisp 1
  87.     PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
  88.     PrintLn "@X70│ @X71Reading in Business / Data #                                               @X7F│@X0F"
  89.     PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X0F"
  90.     For INTEGER002 = 1 To INTEGER001
  91.         AnsiPos 32, 10
  92.         FSeek 1, INTEGER004, 0
  93.         INTEGER003 = INTEGER003 + 400
  94.         INTEGER004 = INTEGER004 + 400
  95.         FRead 1, TBIGSTR001(INTEGER005), 13
  96.         Color 116
  97.         PrintLn INTEGER002
  98.         Inc INTEGER005
  99.     Next
  100.     FClose 1
  101.     AnsiPos 40, 10
  102.     Color 126
  103.     PrintLn "COMPLETE!     @X751 @X7Eof @X764"
  104.     INTEGER003 = 0
  105.     INTEGER004 = 74
  106.     INTEGER005 = 1
  107.     FOpen 1, BIGSTR003, 0, 0
  108.     AnsiPos 1, 12
  109.     PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
  110.     PrintLn "@X70│    @X71Reading in Voice / Home #                                               @X7F│@X0F"
  111.     PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X0F"
  112.     For INTEGER002 = 1 To INTEGER001
  113.         AnsiPos 1, 2
  114.         FSeek 1, INTEGER004, 0
  115.         INTEGER003 = INTEGER003 + 400
  116.         INTEGER004 = INTEGER004 + 400
  117.         FRead 1, TBIGSTR002(INTEGER005), 13
  118.         AnsiPos 32, 13
  119.         Color 116
  120.         PrintLn INTEGER002
  121.         Inc INTEGER005
  122.     Next
  123.     FClose 1
  124.     AnsiPos 40, 13
  125.     Color 126
  126.     PrintLn "COMPLETE!     @X752 @X7Eof @X764"
  127.     INTEGER003 = 0
  128.     INTEGER004 = 0
  129.     INTEGER005 = 1
  130.     FOpen 1, BIGSTR003, 0, 0
  131.     For INTEGER002 = 1 To INTEGER001
  132.         AnsiPos 1, 15
  133.         PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐"
  134.         PrintLn "@X70│      @X71 Reading in User Name #                                               @X7F│"
  135.         PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘"
  136.         FSeek 1, INTEGER004, 0
  137.         INTEGER003 = INTEGER003 + 400
  138.         INTEGER004 = INTEGER004 + 400
  139.         FRead 1, TBIGSTR004(INTEGER005), 25
  140.         AnsiPos 32, 16
  141.         Color 116
  142.         PrintLn INTEGER002
  143.         Inc INTEGER005
  144.     Next
  145.     FClose 1
  146.     AnsiPos 40, 16
  147.     Color 116
  148.     PrintLn "@X7ECOMPLETE!     @X753 @X7Eof @X764"
  149.     INTEGER005 = 1
  150.     FAppend 2, PPEPath() + "CALLBACK.FON", 2, 0
  151.     AnsiPos 1, 18
  152.     PrintLn "@X70┌────────────────────────────────────────────────────────────────────────────@X7F┐@X0F"
  153.     PrintLn "@X70│             @X71Writing Record #                                               @X7F│@X0F"
  154.     PrintLn "@X70└@X7F────────────────────────────────────────────────────────────────────────────┘@X0F"
  155.     For INTEGER002 = 1 To INTEGER001
  156.         TBIGSTR001(INTEGER005) = Strip(TBIGSTR001(INTEGER005), "-")
  157.         TBIGSTR001(INTEGER005) = Strip(TBIGSTR001(INTEGER005), " ")
  158.         TBIGSTR001(INTEGER005) = Strip(TBIGSTR001(INTEGER005), "(")
  159.         TBIGSTR001(INTEGER005) = Strip(TBIGSTR001(INTEGER005), ")")
  160.         TBIGSTR002(INTEGER005) = Strip(TBIGSTR002(INTEGER005), "-")
  161.         TBIGSTR002(INTEGER005) = Strip(TBIGSTR002(INTEGER005), " ")
  162.         TBIGSTR002(INTEGER005) = Strip(TBIGSTR002(INTEGER005), "(")
  163.         TBIGSTR002(INTEGER005) = Strip(TBIGSTR002(INTEGER005), ")")
  164.         TBIGSTR004(INTEGER005) = RTrim(TBIGSTR004(INTEGER005), " ")
  165.         AnsiPos 32, 19
  166.         Color 116
  167.         PrintLn INTEGER002
  168.         FPutLn 2, Chr(34) + TBIGSTR001(INTEGER005) + Chr(34) + Chr(44) + Chr(34) + TBIGSTR004(INTEGER005) + Chr(34) + Chr(44) + Chr(34) + BIGSTR005 + Chr(34)
  169.         FPutLn 2, Chr(34) + TBIGSTR002(INTEGER005) + Chr(34) + Chr(44) + Chr(34) + TBIGSTR004(INTEGER005) + Chr(34) + Chr(44) + Chr(34) + BIGSTR005 + Chr(34)
  170.         Inc INTEGER005
  171.     Next
  172.     FClose 2
  173.     AnsiPos 40, 19
  174.     Color 126
  175.     PrintLn "ALL DONE!     @X754 @X7Eof @X764"
  176.     Color 15
  177.  
  178. ;------------------------------------------------------------------------------
  179. ;
  180. ; Usage report (before postprocessing)
  181. ;
  182. ; ■ Statements used :
  183. ;
  184. ;    2       End
  185. ;    1       Cls
  186. ;    9       Color 
  187. ;    16      Goto 
  188. ;    48      Let 
  189. ;    32      PrintLn 
  190. ;    9       If 
  191. ;    4       FOpen 
  192. ;    1       FAppend 
  193. ;    5       FClose 
  194. ;    1       FGet 
  195. ;    2       FPutLn 
  196. ;    1       StartDisp 
  197. ;    1       InputYN 
  198. ;    4       Inc 
  199. ;    13      AnsiPos 
  200. ;    3       FSeek 
  201. ;    3       FRead 
  202. ;    3       Redim 
  203. ;    1       Copy 
  204. ;
  205. ;
  206. ; ■ Functions used :
  207. ;
  208. ;    1       *
  209. ;    1       /
  210. ;    41      +
  211. ;    2       ==
  212. ;    7       <
  213. ;    7       <=
  214. ;    14      >=
  215. ;    8       !
  216. ;    14      &&
  217. ;    7       ||
  218. ;    2       Len(
  219. ;    1       Upper()
  220. ;    1       Mid()
  221. ;    16      Chr()
  222. ;    1       Asc()
  223. ;    1       RTrim()
  224. ;    1       Date()
  225. ;    9       Strip()
  226. ;    1       PCBDat()
  227. ;    4       PPEPath()
  228. ;    1       ReadLine()
  229. ;    1       FileInf()
  230. ;    1       PPEName()
  231. ;
  232. ;------------------------------------------------------------------------------
  233. ;
  234. ; Analysis flags : d
  235. ;
  236. ; d - Access PCBOARD.DAT ■ 2
  237. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  238. ;     for many PPE so they can find various informations on the system
  239. ;     (system paths, max number of lines in messages, ...) but it may also
  240. ;     be a way to gather vital informations.
  241. ;     ■ Search for : PCBDAT()
  242. ;
  243. ;------------------------------------------------------------------------------
  244. ;
  245. ; Postprocessing report
  246. ;
  247. ;    7       For/Next
  248. ;    0       While/EndWhile
  249. ;    1       If/Then or If/Then/Else
  250. ;    0       Select Case
  251. ;
  252. ;------------------------------------------------------------------------------
  253. ;                 AEGiS Corp - Break the routines, code against the machines!
  254. ;------------------------------------------------------------------------------
  255.