home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / pcboard / edsqt101.zip / ADDQUOTE.PPE (.txt) next >
PCBoard Programming Language Executable  |  1993-05-06  |  6KB  |  310 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 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Integer  INTEGER001
  25.     Integer  INTEGER002
  26.     Integer  INTEGER003
  27.     Integer  INTEGER004
  28.     Integer  INTEGER005
  29.     Integer  INTEGER006
  30.     Integer  INTEGER007
  31.     Integer  INTEGER008
  32.     Integer  INTEGER009
  33.     String   STRING001
  34.     String   STRING002
  35.     String   STRING003
  36.     String   STRING004
  37.  
  38. ;------------------------------------------------------------------------------
  39.  
  40.     If (Exist(PPEPath() + "EDSQUOTE.QTS")) Then
  41.         If (Exist(PPEPath() + "EDSQUOTE.CNF")) Then
  42.             FOpen 1, PPEPath() + "EDSQUOTE.CNF", 2, 2
  43.             FGet 1, STRING002
  44.             INTEGER002 = S2I(STRING002, 10)
  45.             STRING002 = 0
  46.             FGet 1, STRING002
  47.             INTEGER001 = S2I(STRING002, 10)
  48.             STRING002 = 0
  49.             FGet 1, STRING003
  50.             FGet 1, STRING004
  51.             FClose 1
  52.             Gosub LABEL002
  53.             BOOLEAN003 = 1
  54.             Gosub LABEL003
  55.             While (BOOLEAN003 == 1) Do
  56.                 Cls
  57.                 PrintLn "                @X10┌──────────────────────────────────────────────@X19┐@X0F"
  58.                 PrintLn "                @X10│               @X1BAdd-A-Quote @X1Cv@X1F1@X1C.@X1F0               @X19│@X0F"
  59.                 PrintLn "                @X10│     @X1AC@X12opyright @X1D(@X19C@X1D) @X1F1993 by @X1EE@X16ric @X1ED@X16. @X1ES@X16cales     @X19│@X0F"
  60.                 PrintLn "                @X10│                                              @X19│@X0F"
  61.                 PrintLn "                @X10│            @X1EUse with @X1BEDSQuote @X1Cv@X1F1@X1C.@X1F0            @X19│@X0F"
  62.                 PrintLn "                @X10└@X19──────────────────────────────────────────────┘@X0F"
  63.                 PrintLn 
  64.                 PrintLn 
  65.                 PrintLn 
  66.                 PrintLn 
  67.                 PrintLn "                            @X09[@X0FA@X09]@X0Fdd a Quote to Database"
  68.                 PrintLn "                            @X09[@X0FQ@X09]@X0Fuit back to BBS"
  69.                 PrintLn 
  70.                 PrintLn 
  71.                 STRING002 = "A"
  72.                 InputStr "Enter selection", STRING002, 11, 1, "aqAQ", 2 + 4 + 8 + 64
  73.                 If (STRING002 == "Q") Goto LABEL008
  74.                 PrintLn 
  75.                 PrintLn "@X0CPlease enter quote below.  (Max 75 chars.)   Enter=Abort"
  76.                 STRING002 = " "
  77.                 InputText "", STRING002, 14, 75
  78.                 BOOLEAN002 = 1
  79.                 If ((STRING002 == " ") || (STRING002 == "")) BOOLEAN002 = 0
  80.                 Newline
  81.                 If (BOOLEAN002 == 1) Then
  82.                     STRING001 = "Y"
  83.                     Log "(" + STRING002 + ")", 0
  84.                     Log "AddQuote v1.0: User entered new quote. (See Below)", 0
  85.                     InputYN "Do you wish to save this quote", STRING001, 9
  86.                     If (STRING001 == NoChar()) BOOLEAN002 = 0
  87.                 Endif
  88.                 Newline
  89.                 BOOLEAN004 = 1
  90.                 If (BOOLEAN002 == 1) Then
  91.                     PrintLn "@X0CSaving changes to @X0FEDSQUOTE.QTS@X0F"
  92.                     PrintLn 
  93.                     Gosub LABEL004
  94.                     Goto LABEL001
  95.                 Endif
  96.                 BOOLEAN004 = 0
  97.                 PrintLn "@X8CChanges have not been saved!"
  98.                 PrintLn 
  99.                 Delay 20
  100.                 :LABEL001
  101.                 If (BOOLEAN004 == 1) Then
  102.                 Endif
  103.             EndWhile
  104.             Goto LABEL008
  105.             :LABEL002
  106.             INTEGER003 = INTEGER001 * 4
  107.             Inc INTEGER003
  108.             INTEGER003 = INTEGER003 + 2491
  109.             INTEGER003 = INTEGER003 - 8503
  110.             Inc INTEGER003
  111.             INTEGER003 = INTEGER003 + 9947
  112.             INTEGER003 = INTEGER003 / 2
  113.             Inc INTEGER003
  114.             INTEGER003 = INTEGER003 + 1211
  115.             Inc INTEGER003
  116.             BOOLEAN001 = 0
  117.             For INTEGER004 = 1 To Len(STRING003)
  118.                 INTEGER003 = INTEGER003 + Asc(Mid(STRING003, INTEGER004, 1))
  119.             Next
  120.             If (INTEGER003 == INTEGER002) BOOLEAN001 = 1
  121.             Return
  122.             :LABEL003
  123.             BOOLEAN005 = 0
  124.             INTEGER004 = 0
  125.             INTEGER005 = 0
  126.             INTEGER006 = 0
  127.             INTEGER007 = 0
  128.             If (!Exist(PPEPath() + "EDSTRASH.USR")) Return
  129.             FOpen 1, PPEPath() + "EDSTRASH.USR", 0, 2
  130.             While (!Ferr(1) && (BOOLEAN005 == 0)) Do
  131.                 Gosub LABEL007
  132.                 STRING002 = ""
  133.                 STRING001 = ""
  134.                 FGet 1, STRING002
  135.                 STRING002 = Upper(STRING002)
  136.                 STRING001 = U_Name()
  137.                 STRING001 = Upper(STRING001)
  138.                 If (InStr(STRING001, STRING002) <> 0) BOOLEAN005 = 1
  139.             EndWhile
  140.             FClose 1
  141.             If (BOOLEAN005) Then
  142.                 PrintLn 
  143.                 PrintLn "@X0BSorry, system files need updating..."
  144.                 Log "AddQuote v1.0: User was denied access...", 0
  145.                 PrintLn "@X0FYour SysOp has been notified..."
  146.                 Goto LABEL008
  147.             Endif
  148.             Return
  149.             :LABEL004
  150.             INTEGER004 = 0
  151.             INTEGER005 = 0
  152.             INTEGER006 = 0
  153.             INTEGER008 = 0
  154.             STRING001 = ""
  155.             INTEGER009 = 0
  156.             INTEGER007 = 0
  157.             FOpen 1, PPEPath() + "EDSQUOTE.QTS", 0, 2
  158.             FCreate 2, TempPath() + "EDSQWORK." + I2S(PcbNode(), 10), 1, 3
  159.             FGet 1, INTEGER008
  160.             INTEGER009 = S2I(INTEGER008, 10)
  161.             Inc INTEGER009
  162.             FPutLn 2, I2S(INTEGER009, 10)
  163.             :LABEL005
  164.             If (Ferr(1)) Goto LABEL006
  165.             Gosub LABEL007
  166.             FGet 1, STRING001
  167.             If (!(STRING001 == "")) FPutLn 2, STRING001
  168.             Goto LABEL005
  169.             :LABEL006
  170.             FClose 1
  171.             FPutLn 2, STRING002
  172.             Frewind 2
  173.             FClose 2
  174.             Shell 1, INTEGER004, "copy ", TempPath() + "EDSQWORK." + I2S(PcbNode(), 10) + " " + PPEPath() + "EDSQUOTES.QTS"
  175.             Delete TempPath() + "EDSQWORK." + I2S(PcbNode(), 10)
  176.             Return
  177.             :LABEL007
  178.             Inc INTEGER004
  179.             INTEGER007 = INTEGER004
  180.             If (INTEGER004 == 10) Print "@X09Please wait, reading files @X0F."
  181.             If (INTEGER007 % 15 == 0) Then
  182.                 Inc INTEGER005
  183.                 Print "."
  184.                 If (INTEGER005 >= 6) Then
  185.                     Backup 1
  186.                     Print " "
  187.                     Backup 2
  188.                     Inc INTEGER006
  189.                     If (INTEGER006 >= 5) Then
  190.                         INTEGER006 = 0
  191.                         INTEGER005 = 0
  192.                     Endif
  193.                 Endif
  194.             Endif
  195.             Return
  196.         Endif
  197.         PrintLn 
  198.         PrintLn "@X0C AddQuote v1.0 ERROR: Your SysOp does not have the EDSQUOTE.QTS file installed!"
  199.         Log "AddQuote ERROR: EDSQUOTE.QTS not found.. Please consult docs..", 1
  200.         PrintLn "@X0F Sysop has been notified, you may continue..."
  201.         Goto LABEL008
  202.     Endif
  203.     PrintLn 
  204.     PrintLn "@X0C AddQuote v1.0 ERROR: Your SysOp does not have the EDSQUOTE.CNF file installed!"
  205.     Log "AddQuote ERROR: EDSQUOTE.CNF not found.. Please consult docs..", 1
  206.     PrintLn "@X0F SysOp has been notified, you may continue..."
  207.     :LABEL008
  208.     PrintLn 
  209.     PrintLn 
  210.     If (BOOLEAN001 == 1) Then
  211.         PrintLn "@X09Thanks to the following person who has supported EDSQuote & AddQuote."
  212.         PrintLn 
  213.         PrintLn "@X0E    " + STRING003
  214.         PrintLn "@X0E    " + STRING004
  215.         PrintLn 
  216.         PrintLn "@X0CIt is illegal for anyone besides the above person to possess AddQuote!"
  217.     Else
  218.         PrintLn "@X09Please ask your SysOp how you can help support shareware..."
  219.         PrintLn "@X0EAsk how you can register EDSQuote (AddQuote)..."
  220.         Log "AddQuote v1.0: [UNREGISTERED EVALUATION COPY]", 0
  221.         Delay 19
  222.     Endif
  223.     End
  224.  
  225. ;------------------------------------------------------------------------------
  226. ;
  227. ; Usage report (before postprocessing)
  228. ;
  229. ; ■ Statements used :
  230. ;
  231. ;    1       End
  232. ;    1       Cls
  233. ;    25      Goto 
  234. ;    46      Let 
  235. ;    3       Print 
  236. ;    39      PrintLn 
  237. ;    22      If 
  238. ;    1       FCreate 
  239. ;    3       FOpen 
  240. ;    4       FClose 
  241. ;    7       FGet 
  242. ;    3       FPutLn 
  243. ;    1       Delete 
  244. ;    6       Log 
  245. ;    1       InputStr 
  246. ;    1       InputYN 
  247. ;    5       Gosub 
  248. ;    5       Return
  249. ;    2       Delay 
  250. ;    8       Inc 
  251. ;    2       Newline
  252. ;    1       Shell 
  253. ;    1       InputText 
  254. ;    2       Backup 
  255. ;    1       Frewind 
  256. ;
  257. ;
  258. ; ■ Functions used :
  259. ;
  260. ;    1       *
  261. ;    1       /
  262. ;    1       %
  263. ;    27      +
  264. ;    1       -
  265. ;    14      ==
  266. ;    1       <>
  267. ;    1       <
  268. ;    1       <=
  269. ;    4       >=
  270. ;    17      !
  271. ;    3       &&
  272. ;    2       ||
  273. ;    2       Len(
  274. ;    2       Upper()
  275. ;    1       Mid()
  276. ;    2       Ferr()
  277. ;    1       Asc()
  278. ;    1       InStr()
  279. ;    1       U_Name()
  280. ;    1       NoChar()
  281. ;    7       PPEPath()
  282. ;    3       PcbNode()
  283. ;    3       Exist()
  284. ;    4       I2S()
  285. ;    3       S2I()
  286. ;    3       TempPath()
  287. ;
  288. ;------------------------------------------------------------------------------
  289. ;
  290. ; Analysis flags : S
  291. ;
  292. ; S - Shell to DOS ■ 5
  293. ;     This may be normal if the PPE need to execute an external command,
  294. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  295. ;     or usefull (sorting, maintenance,...). Check!
  296. ;     ■ Search for : SHELL
  297. ;
  298. ;------------------------------------------------------------------------------
  299. ;
  300. ; Postprocessing report
  301. ;
  302. ;    1       For/Next
  303. ;    2       While/EndWhile
  304. ;    10      If/Then or If/Then/Else
  305. ;    0       Select Case
  306. ;
  307. ;------------------------------------------------------------------------------
  308. ;                 AEGiS Corp - Break the routines, code against the machines!
  309. ;------------------------------------------------------------------------------
  310.