home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / TRL-ONEL.ZIP / ONELINER.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-01-07  |  6KB  |  436 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 3.O1 (Encryption type I) - 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  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     String   STRING001
  30.     String   STRING002
  31.     String   STRING003
  32.     String   STRING004
  33.     String   STRING005
  34.     String   STRING006
  35.     String   TSTRING007(15)
  36.     String   TSTRING008(15)
  37.     String   STRING009
  38.     String   STRING010
  39.     String   STRING011
  40.     String   STRING012
  41.     String   STRING013
  42.     String   STRING014
  43.     String   STRING015
  44.     String   STRING016
  45.     String   STRING017
  46.     String   STRING018
  47.     String   STRING019
  48.     String   STRING020
  49.     String   STRING021
  50.     BigStr   BIGSTR001
  51.     BigStr   BIGSTR002
  52.     BigStr   BIGSTR003
  53.  
  54. ;------------------------------------------------------------------------------
  55.  
  56.     Log "Opening ONELINER.PPE - By Zaskar", 0
  57.     INTEGER002 = 0
  58.     STRING006 = ""
  59.     FOpen 1, PPEPath() + "ONELINER.CNF", 2, 0
  60.     FGet 1, INTEGER005
  61.     FGet 1, INTEGER006
  62.     FGet 1, INTEGER007
  63.     FGet 1, INTEGER008
  64.     FGet 1, INTEGER009
  65.     FGet 1, STRING015
  66.     FGet 1, STRING016
  67.     FGet 1, INTEGER010
  68.     FGet 1, BIGSTR001
  69.     FGet 1, BIGSTR002
  70.     FGet 1, BIGSTR003
  71.     FGet 1, STRING017
  72.     FGet 1, STRING018
  73.     FGet 1, STRING019
  74.     FGet 1, STRING020
  75.     FGet 1, STRING021
  76.     FClose 1
  77.     FOpen 1, PPEPath() + "ONELINER.USR", 2, 0
  78.     While (STRING002 <> "---") Do
  79.         If (STRING002 == U_Name()) Goto LABEL003
  80.         FGet 1, STRING002
  81.     EndWhile
  82.     FClose 1
  83.     STRING002 = ""
  84.     If (CurSec() < INTEGER010) Then
  85.         FOpen 1, PPEPath() + "ONELINER.WHO", 2, 0
  86.         STRING004 = 1
  87.         While (STRING004 < INTEGER005 + 1) Do
  88.             FGet 1, TSTRING007(STRING004)
  89.             STRING004 = STRING004 + 1
  90.         EndWhile
  91.         FClose 1
  92.     Endif
  93.     If (CurSec() >= INTEGER010) Then
  94.         FOpen 1, PPEPath() + "TRUENAME.WHO", 2, 0
  95.         STRING004 = 1
  96.         While (STRING004 < INTEGER005 + 1) Do
  97.             FGet 1, TSTRING007(STRING004)
  98.             STRING004 = STRING004 + 1
  99.         EndWhile
  100.         FClose 1
  101.     Endif
  102.     FOpen 1, PPEPath() + "ONELINER.DAT", 2, 0
  103.     STRING004 = 1
  104.     While (STRING004 < INTEGER005 + 1) Do
  105.         FGet 1, TSTRING008(STRING004)
  106.         STRING004 = STRING004 + 1
  107.     EndWhile
  108.     FClose 1
  109.     STRING009 = STRING020 + Upper(STRING017) + "@X08" + STRING019 + STRING021 + Lower(STRING018)
  110.     STRING010 = STRING021 + Lower(STRING017) + "@X08" + STRING019 + STRING020 + Upper(STRING018)
  111.     Cls
  112.     DispFile PPEPath() + "ONELINER.ANS", ""
  113.     FOpen 1, PPEPath() + "ONELINER.DAT", 2, 0
  114.     STRING004 = 1
  115.     While (STRING004 < INTEGER005 + 1) Do
  116.         AnsiPos INTEGER006, STRING004 + 2
  117.         FGet 1, STRING002
  118.         Print STRING015 + STRING002
  119.         STRING004 = STRING004 + 1
  120.     EndWhile
  121.     FClose 1
  122.     :LABEL001
  123.     AnsiPos INTEGER008, INTEGER009
  124.     Color STRING015
  125.     ClrEol
  126.     STRING005 = 2
  127.     Print BIGSTR001 + STRING010
  128.     While (AnsiOn()) Do
  129.         STRING001 = ""
  130.         STRING001 = Inkey()
  131.         STRING001 = Upper(STRING001)
  132.         If (STRING001 <> "") Then
  133.             If (STRING001 == "UP") Then
  134.                 INTEGER001 = INTEGER007 + INTEGER005 - 1
  135.                 Break
  136.                 Continue
  137.             Endif
  138.             If (STRING001 == "DOWN") Then
  139.                 INTEGER001 = INTEGER007
  140.                 Break
  141.                 Continue
  142.             Endif
  143.             If (STRING001 == "LEFT") Then
  144.                 Print Chr(27) + "[" + String(Len(StripAtx(STRING009))) + "D"
  145.                 Print STRING009
  146.                 STRING005 = 1
  147.                 Continue
  148.             Endif
  149.             If (STRING001 == "RIGHT") Then
  150.                 Print Chr(27) + "[" + String(Len(StripAtx(STRING010))) + "D"
  151.                 Print STRING010
  152.                 STRING005 = 2
  153.                 Continue
  154.             Endif
  155.             If (STRING001 == Chr(13)) Then
  156.                 If (STRING005 == 1) Goto LABEL002
  157.                 If (STRING005 == 2) Goto LABEL003
  158.                 Continue
  159.             Endif
  160.             If (STRING001 == "Y") Then
  161.                 Print Chr(27) + "[" + String(Len(StripAtx(STRING009))) + "D"
  162.                 Print STRING009
  163.                 Goto LABEL002
  164.                 Continue
  165.             Endif
  166.             If (STRING001 == "N") Then
  167.                 Print Chr(27) + "[" + String(Len(StripAtx(STRING010))) + "D"
  168.                 Print STRING010
  169.                 Goto LABEL003
  170.             Endif
  171.         Endif
  172.     EndWhile
  173.     STRING003 = ScrText(INTEGER006, INTEGER001, 75, 1)
  174.     AnsiPos INTEGER006, INTEGER001
  175.     Print STRING016 + StripAtx(STRING003)
  176.     AnsiPos INTEGER008, INTEGER009
  177.     Color STRING015
  178.     ClrEol
  179.     Print STRING015 + TSTRING007(INTEGER001 - 2)
  180.     While (AnsiOn()) Do
  181.         STRING001 = ""
  182.         STRING001 = Inkey()
  183.         STRING001 = Upper(STRING001)
  184.         If (STRING001 <> "") Then
  185.             If ((STRING001 == "DOWN") || (STRING001 == "Z")) Then
  186.                 AnsiPos INTEGER006, INTEGER001
  187.                 Print STRING003
  188.                 INTEGER001 = INTEGER001 + 1
  189.                 If (INTEGER001 == INTEGER005 + INTEGER007) Goto LABEL001
  190.                 STRING003 = ScrText(INTEGER006, INTEGER001, 75, 1)
  191.                 AnsiPos INTEGER006, INTEGER001
  192.                 Print STRING016 + StripAtx(STRING003)
  193.                 AnsiPos INTEGER008, INTEGER009
  194.                 Color STRING015
  195.                 ClrEol
  196.                 Print STRING015 + TSTRING007(INTEGER001 - 2)
  197.                 Continue
  198.             Endif
  199.             If ((STRING001 == "UP") || (STRING001 == "A")) Then
  200.                 AnsiPos INTEGER006, INTEGER001
  201.                 Print STRING003
  202.                 INTEGER001 = INTEGER001 - 1
  203.                 If (INTEGER001 == INTEGER007 - 1) Goto LABEL001
  204.                 STRING003 = ScrText(INTEGER006, INTEGER001, 75, 1)
  205.                 AnsiPos INTEGER006, INTEGER001
  206.                 Print STRING016 + StripAtx(STRING003)
  207.                 AnsiPos INTEGER008, INTEGER009
  208.                 Color STRING015
  209.                 ClrEol
  210.                 Print STRING015 + TSTRING007(INTEGER001 - 2)
  211.                 Continue
  212.             Endif
  213.             If ((STRING001 == "Q") || (STRING001 == Chr(27))) Then
  214.                 AnsiPos INTEGER006, INTEGER001
  215.                 Print STRING003
  216.                 Goto LABEL001
  217.             Endif
  218.         Endif
  219.     EndWhile
  220.     :LABEL002
  221.     FOpen 1, PPEPath() + "ONELINER.DAT", 2, 0
  222.     STRING004 = 1
  223.     FGet 1, STRING002
  224.     While (STRING004 < INTEGER005 + 1) Do
  225.         AnsiPos INTEGER006, STRING004 + INTEGER007 - 1
  226.         ClrEol
  227.         FGet 1, STRING002
  228.         Print STRING015 + STRING002
  229.         STRING004 = STRING004 + 1
  230.     EndWhile
  231.     FClose 1
  232.     AnsiPos INTEGER008, INTEGER009
  233.     ClrEol
  234.     Print "@X0BE@X03nt@X08er @X0BY@X03ou@X08r @X0BO@X03ne@X08liner @X0Bn@X03ow@X08!"
  235.     AnsiPos INTEGER006, INTEGER005 + INTEGER007 - 1
  236.     Print STRING015
  237.     While (STRING006 <> Chr(13)) Do
  238.         STRING006 = Inkey()
  239.         If (((Len(STRING006) == 1) && (STRING006 >= " ")) && (INTEGER002 < 74)) Then
  240.             Print STRING006
  241.             Inc INTEGER002
  242.             STRING014 = STRING014 + STRING006
  243.             If (StripAtx(Right(STRING014, 4)) == "") Then
  244.                 INTEGER004 = CurColor()
  245.                 For INTEGER003 = 1 To 4
  246.                     Print Chr(8) + " " + Chr(8)
  247.                     Dec INTEGER002
  248.                 Next
  249.                 Print Right(STRING014, 4)
  250.             Endif
  251.             Continue
  252.         Endif
  253.         If ((STRING006 == Chr(8)) && (Len(STRING014) > 0)) Then
  254.             If (StripAtx(Right(STRING014, 4)) == "") Then
  255.                 Color INTEGER004
  256.                 STRING014 = Left(STRING014, Len(STRING014) - 4)
  257.                 Continue
  258.             Endif
  259.             Print Chr(8) + " " + Chr(8)
  260.             Dec INTEGER002
  261.             STRING014 = Left(STRING014, Len(STRING014) - 1)
  262.         Endif
  263.     EndWhile
  264.     If (STRING014 == "") Then
  265.         AnsiPos INTEGER008, INTEGER009
  266.         ClrEol
  267.         Print "@X0BO@X03ne@X08liner @X0BA@X03bo@X08rted!"
  268.     Else
  269.         AnsiPos INTEGER008, INTEGER009
  270.         Color STRING015
  271.         ClrEol
  272.         STRING005 = 2
  273.         Print BIGSTR002 + STRING010
  274.         While (AnsiOn()) Do
  275.             STRING001 = ""
  276.             STRING001 = Inkey()
  277.             STRING001 = Upper(STRING001)
  278.             If (STRING001 <> "") Then
  279.                 If (STRING001 == "LEFT") Then
  280.                     Print Chr(27) + "[" + String(Len(StripAtx(STRING009))) + "D"
  281.                     Print STRING009
  282.                     STRING005 = 1
  283.                     Continue
  284.                 Endif
  285.                 If (STRING001 == "RIGHT") Then
  286.                     Print Chr(27) + "[" + String(Len(StripAtx(STRING010))) + "D"
  287.                     Print STRING010
  288.                     STRING005 = 2
  289.                     Continue
  290.                 Endif
  291.                 If (STRING001 == Chr(13)) Then
  292.                     If (STRING005 == 1) STRING013 = "Anonymous"
  293.                     If (STRING005 == 2) STRING013 = Mixed(String(U_Name()))
  294.                     Break
  295.                     Continue
  296.                 Endif
  297.                 If (STRING001 == "Y") Then
  298.                     STRING013 = "Anonymous"
  299.                     Print Chr(27) + "[" + String(Len(StripAtx(STRING009))) + "D"
  300.                     Print STRING009
  301.                     Break
  302.                     Continue
  303.                 Endif
  304.                 If (STRING001 == "N") Then
  305.                     STRING013 = Mixed(String(U_Name()))
  306.                     Print Chr(27) + "[" + String(Len(StripAtx(STRING010))) + "D"
  307.                     Print STRING010
  308.                     Break
  309.                 Endif
  310.             Endif
  311.         EndWhile
  312.         AnsiPos INTEGER008, INTEGER009
  313.         ClrEol
  314.         Print "@X0BS@X03av@X08ing @X0BO@X03ne@X08liner..."
  315.         FOpen 1, PPEPath() + "ONELINER.TRH", 2, 0
  316.         While (STRING011 <> "---") Do
  317.             FGet 1, STRING011
  318.             FGet 1, STRING012
  319.             STRING014 = ReplaceStr(STRING014, STRING011, STRING012)
  320.         EndWhile
  321.         FClose 1
  322.         Delete PPEPath() + "ONELINER.DAT"
  323.         FCreate 1, PPEPath() + "ONELINER.DAT", 2, 0
  324.         FOpen 1, PPEPath() + "ONELINER.DAT", 2, 0
  325.         STRING004 = 2
  326.         While (STRING004 < INTEGER005 + 1) Do
  327.             FPutLn 1, TSTRING008(STRING004)
  328.             STRING004 = STRING004 + 1
  329.         EndWhile
  330.         FPut 1, STRING014
  331.         FClose 1
  332.         Log "Oneliner Added: " + StripAtx(STRING014), 0
  333.         Delete PPEPath() + "ONELINER.WHO"
  334.         FCreate 1, PPEPath() + "ONELINER.WHO", 2, 0
  335.         FOpen 1, PPEPath() + "ONELINER.WHO", 2, 0
  336.         STRING004 = 2
  337.         While (STRING004 < INTEGER005 + 1) Do
  338.             FPutLn 1, TSTRING007(STRING004)
  339.             STRING004 = STRING004 + 1
  340.         EndWhile
  341.         FPut 1, "@X0BA@X03dd@X08ed @X0BB@X03y @X08[@X0F" + STRING013 + "@X08] @X0Ba@X03t @X08[@X0F" + String(Left(Time(), 5)) + "@X08] @X0Bo@X03n @X08[@X0F" + String(Date()) + "@X08]"
  342.         FClose 1
  343.         Delete PPEPath() + "TRUENAME.WHO"
  344.         FCreate 1, PPEPath() + "TRUENAME.WHO", 2, 0
  345.         FOpen 1, PPEPath() + "TRUENAME.WHO", 2, 0
  346.         STRING004 = 2
  347.         While (STRING004 < INTEGER005 + 1) Do
  348.             FPutLn 1, TSTRING007(STRING004)
  349.             STRING004 = STRING004 + 1
  350.         EndWhile
  351.         FPut 1, "@X0BA@X03dd@X08ed @X0BB@X03y @X08[@X0F" + Mixed(U_Name()) + "@X08] @X0Ba@X03t @X08[@X0F" + String(Left(Time(), 5)) + "@X08] @X0Bo@X03n @X08[@X0F" + String(Date()) + "@X08]"
  352.         FClose 1
  353.         AnsiPos INTEGER008, INTEGER009
  354.         ClrEol
  355.         Print "@X0BS@X03av@X08ed! - Oneliner Door by Zaskar [SPECiALiZED]"
  356.         Log "Exiting ONELINER.PPE - By Zaskar", 0
  357.     Endif
  358.     :LABEL003
  359.  
  360. ;------------------------------------------------------------------------------
  361. ;
  362. ; Usage report (before postprocessing)
  363. ;
  364. ; ■ Statements used :
  365. ;
  366. ;    1       Cls
  367. ;    10      ClrEol
  368. ;    6       Color 
  369. ;    83      Goto 
  370. ;    55      Let 
  371. ;    38      Print 
  372. ;    47      If 
  373. ;    1       DispFile 
  374. ;    3       FCreate 
  375. ;    11      FOpen 
  376. ;    11      FClose 
  377. ;    25      FGet 
  378. ;    3       FPut 
  379. ;    3       FPutLn 
  380. ;    3       Delete 
  381. ;    3       Log 
  382. ;    1       Inc 
  383. ;    2       Dec 
  384. ;    18      AnsiPos 
  385. ;
  386. ;
  387. ; ■ Functions used :
  388. ;
  389. ;    103     +
  390. ;    10      -
  391. ;    30      ==
  392. ;    6       <>
  393. ;    11      <
  394. ;    1       <=
  395. ;    1       >
  396. ;    4       >=
  397. ;    40      !
  398. ;    5       &&
  399. ;    4       ||
  400. ;    12      Len(
  401. ;    2       Lower()
  402. ;    5       Upper()
  403. ;    4       Left()
  404. ;    3       Right()
  405. ;    17      Chr()
  406. ;    2       Date()
  407. ;    2       Time()
  408. ;    4       U_Name()
  409. ;    14      StripAtx()
  410. ;    4       Inkey()
  411. ;    14      String()
  412. ;    18      PPEPath()
  413. ;    2       CurSec()
  414. ;    3       AnsiOn()
  415. ;    1       CurColor()
  416. ;    3       ScrText()
  417. ;    1       ReplaceStr()
  418. ;    3       Mixed()
  419. ;
  420. ;------------------------------------------------------------------------------
  421. ;
  422. ; Analysis flags : No flag
  423. ;
  424. ;------------------------------------------------------------------------------
  425. ;
  426. ; Postprocessing report
  427. ;
  428. ;    1       For/Next
  429. ;    14      While/EndWhile
  430. ;    25      If/Then or If/Then/Else
  431. ;    0       Select Case
  432. ;
  433. ;------------------------------------------------------------------------------
  434. ;                 AEGiS Corp - Break the routines, code against the machines!
  435. ;------------------------------------------------------------------------------
  436.