home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / THTMSG11.ZIP / THT-MSG.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-09-02  |  4KB  |  265 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  INTEGER002
  20.     Integer  INTEGER003
  21.     Integer  INTEGER004
  22.     String   STRING001
  23.     String   STRING002
  24.     String   STRING003
  25.     String   STRING004
  26.     String   STRING005
  27.     String   STRING006
  28.     String   STRING007
  29.     String   STRING008
  30.     String   STRING009
  31.     String   STRING010
  32.     String   STRING011
  33.     String   STRING012
  34.     String   STRING013
  35.     String   STRING014
  36.     String   STRING015
  37.     String   STRING016
  38.     String   STRING017
  39.     String   STRING018
  40.     String   STRING019
  41.     String   STRING020
  42.     String   STRING021
  43.     String   STRING022
  44.     String   STRING023
  45.     String   STRING024
  46.     String   STRING025
  47.     String   STRING026
  48.     String   STRING027
  49.     String   STRING028
  50.     String   STRING029
  51.     String   STRING030
  52.     String   STRING031
  53.     String   STRING032
  54.     String   STRING033
  55.     String   STRING034
  56.     String   STRING035
  57.     String   STRING036
  58.     String   STRING037
  59.     String   STRING038
  60.     String   STRING039
  61.     String   STRING040
  62.     String   STRING041
  63.     String   STRING042
  64.  
  65. ;------------------------------------------------------------------------------
  66.  
  67.     If (STRING001 == "T") Then
  68.         Goto LABEL001
  69.     Else
  70.         Goto LABEL002
  71.     Endif
  72.     :LABEL001
  73.     If (!(STRING001 == STRING002)) Stop ; PPLC BUG!
  74.     :LABEL002
  75.     INTEGER002 = GetY()
  76.     FDefIn 1
  77.     FOpen 1, PPEPath() + PPEName() + ".cnf", 0, 0
  78.     FDGet STRING009
  79.     FDGet STRING015
  80.     FDGet STRING010
  81.     FDGet STRING016
  82.     FDGet STRING011
  83.     FDGet STRING017
  84.     FDGet STRING012
  85.     FDGet STRING018
  86.     FDGet STRING013
  87.     FDGet STRING019
  88.     FDGet STRING014
  89.     FDGet STRING020
  90.     FDGet STRING021
  91.     FDGet STRING022
  92.     FDGet STRING023
  93.     FDGet STRING024
  94.     FDGet STRING025
  95.     FDGet STRING034
  96.     FDGet STRING035
  97.     FDGet STRING036
  98.     FDGet STRING037
  99.     FDGet STRING038
  100.     FDGet STRING039
  101.     FDGet STRING040
  102.     FDGet STRING041
  103.     FDGet STRING042
  104.     FDGet STRING033
  105.     FClose 1
  106.     GetUser
  107.     U_Cls = 1
  108.     U_PageLen = 22
  109.     PutUser
  110.     If (Exist(PPEPath() + PPEName() + ".hdr")) STRING032 = ReadLine(PPEPath() + PPEName() + ".hdr", 1)
  111.     FClose -1
  112.     If (Left(STRING032, 2) <> "@X") STRING032 = "@X10"
  113.     STRING031 = Left(STRING032, 4) + I2S(29, 36) + I2S(17, 36) + I2S(29, 36) + "-" + "Msg " + "v" + "1.10"
  114.     STRING008 = ScrText(1, 0, 5, 0)
  115.     STRING001 = ScrText(6, 1, 23, 0)
  116.     STRING007 = ScrText(44, 1, 32, 0)
  117.     STRING002 = ScrText(6, 2, 31, 0)
  118.     STRING030 = ScrText(1, 2, 6, 0)
  119.     STRING003 = ScrText(6, 3, 31, 0)
  120.     STRING004 = ScrText(6, 4, 47, 0)
  121.     STRING005 = ScrText(6, 5, 30, 0)
  122.     STRING026 = ScrText(37, 5, 7, 0)
  123.     STRING027 = ScrText(44, 5, 35, 0)
  124.     STRING006 = ScrText(6, 6, 25, 0)
  125.     STRING028 = ScrText(34, 6, 10, 0)
  126.     STRING029 = ScrText(44, 6, 35, 0)
  127.     If (U_LongHDR == 1) Then
  128.         If (!(STRING008 == "Date:")) Stop
  129.         AnsiPos 1, 1
  130.         If (Exist(PPEPath() + PPEName() + ".hdr")) DispFile PPEPath() + PPEName() + ".hdr", 0
  131.         AnsiPos 63, 1
  132.         Print STRING031
  133.         Tokenize STRING034
  134.         Gosub LABEL003
  135.         Print STRING009 + "Date" + Left(STRING009, 3) + "F:" + STRING015 + RTrim(STRING001, " ")
  136.         Tokenize STRING035
  137.         Gosub LABEL003
  138.         Print STRING021 + RTrim(STRING007, " ")
  139.         Tokenize STRING036
  140.         Gosub LABEL003
  141.         Print STRING010 + "  To" + Left(STRING010, 3) + "F:" + STRING016 + RTrim(STRING002, " ")
  142.         Tokenize STRING037
  143.         Gosub LABEL003
  144.         Print STRING011 + "From" + Left(STRING011, 3) + "F:" + STRING017 + RTrim(STRING003, " ")
  145.         Tokenize STRING038
  146.         Gosub LABEL003
  147.         Print STRING012 + "Subj" + Left(STRING012, 3) + "F:" + STRING018 + STRING004
  148.         Tokenize STRING039
  149.         Gosub LABEL003
  150.         Print STRING022 + "Status" + Left(STRING022, 3) + "F:" + STRING023 + RTrim(STRING027, " ")
  151.         Tokenize STRING040
  152.         Gosub LABEL003
  153.         Print STRING013 + "Read" + Left(STRING013, 3) + "F:" + STRING019 + RTrim(STRING005, " ")
  154.         Tokenize STRING041
  155.         Gosub LABEL003
  156.         Print STRING024 + "Read Type" + Left(STRING024, 3) + "F:" + STRING025 + RTrim(STRING029, " ")
  157.         Tokenize STRING042
  158.         Gosub LABEL003
  159.         Print STRING014 + "Conf" + Left(STRING014, 3) + "F:" + STRING020 + RTrim(STRING006, " ")
  160.         AnsiPos 1, INTEGER002
  161.     Else
  162.         AnsiPos 1, 1
  163.         If (Exist(PPEPath() + PPEName() + "s.hdr")) DispFile PPEPath() + PPEName() + "s.hdr", 0
  164.         AnsiPos 63, 5
  165.         Print STRING031
  166.         Tokenize STRING034
  167.         Gosub LABEL003
  168.         Print STRING009 + "Date" + Left(STRING009, 3) + "F:" + STRING015 + RTrim(STRING001, " ")
  169.         Tokenize STRING035
  170.         Gosub LABEL003
  171.         Print STRING009 + RTrim(STRING007, " ")
  172.         Tokenize STRING036
  173.         Gosub LABEL003
  174.         Print STRING010 + "  To" + Left(STRING010, 3) + "F:" + STRING016 + RTrim(STRING002, " ")
  175.         Tokenize STRING038
  176.         Gosub LABEL003
  177.         Print STRING011 + "From" + Left(STRING011, 3) + "F:" + STRING017 + RTrim(STRING003, " ")
  178.         Tokenize STRING033
  179.         Gosub LABEL003
  180.         AnsiPos INTEGER003 - 5, INTEGER004
  181.         Print STRING012 + "Subj" + Left(STRING012, 3) + "F:" + STRING018 + Left(STRING004, 34)
  182.         AnsiPos 1, INTEGER002
  183.     Endif
  184.     Stop
  185.     :LABEL003
  186.     GetToken INTEGER003
  187.     GetToken INTEGER004
  188.     AnsiPos INTEGER003, INTEGER004
  189.     Return
  190.  
  191. ;------------------------------------------------------------------------------
  192. ;
  193. ; Usage report (before postprocessing)
  194. ;
  195. ; ■ Statements used :
  196. ;
  197. ;    6       Goto 
  198. ;    19      Let 
  199. ;    16      Print 
  200. ;    8       If 
  201. ;    2       DispFile 
  202. ;    1       FOpen 
  203. ;    2       FClose 
  204. ;    1       GetUser
  205. ;    1       PutUser
  206. ;    14      Gosub 
  207. ;    1       Return
  208. ;    14      Tokenize 
  209. ;    2       GetToken 
  210. ;    3       Stop
  211. ;    8       AnsiPos 
  212. ;    1       FDefIn 
  213. ;    27      FDGet 
  214. ;
  215. ;
  216. ; ■ Functions used :
  217. ;
  218. ;    1       -
  219. ;    83      +
  220. ;    1       -
  221. ;    4       ==
  222. ;    1       <>
  223. ;    5       !
  224. ;    15      Left()
  225. ;    12      RTrim()
  226. ;    7       PPEPath()
  227. ;    1       ReadLine()
  228. ;    3       Exist()
  229. ;    3       I2S()
  230. ;    1       GetY()
  231. ;    7       PPEName()
  232. ;    13      ScrText()
  233. ;
  234. ;------------------------------------------------------------------------------
  235. ;
  236. ; Analysis flags : W
  237. ;
  238. ; W - Write user ■ 5
  239. ;     Program writes a user record. Although this may be normal for a
  240. ;     User Editor, it may also be a way to modify an account level.
  241. ;     ■ Search for : PUTUSER
  242. ;
  243. ;
  244. ;------------------------------------------------------------------------------
  245. ;
  246. ;     One or more PPLC bugs were found, this is not a PPLX error, but PPLX is  
  247. ;     reporting the error ;)  Some statements  like VAR = !!!!10, VAR = !0*!0  
  248. ;     or similar things are not handled  correctly by PPLC, some may use this  
  249. ;     to  avoid a  correct decompilation...  This doesn't mean that there  is  
  250. ;     actually an error, but the probability of error is high...               
  251. ;     ■ Search for : PPLC BUG
  252. ;
  253. ;------------------------------------------------------------------------------
  254. ;
  255. ; Postprocessing report
  256. ;
  257. ;    0       For/Next
  258. ;    0       While/EndWhile
  259. ;    2       If/Then or If/Then/Else
  260. ;    0       Select Case
  261. ;
  262. ;------------------------------------------------------------------------------
  263. ;                 AEGiS Corp - Break the routines, code against the machines!
  264. ;------------------------------------------------------------------------------
  265.