home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / THTTOP10.ZIP / UPCR.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-06-20  |  5KB  |  339 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.     Boolean  BOOLEAN001
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  INTEGER007
  27.     Integer  INTEGER008
  28.     Integer  INTEGER009
  29.     Integer  INTEGER010
  30.     String   STRING001
  31.     String   STRING002
  32.     String   STRING003
  33.     String   STRING004
  34.     String   STRING005
  35.     String   STRING006
  36.     String   STRING007
  37.     String   STRING008
  38.     String   STRING009
  39.     String   STRING010
  40.     String   STRING011
  41.  
  42. ;------------------------------------------------------------------------------
  43.  
  44.     CdChkOff
  45.     INTEGER002 = 0
  46.     BOOLEAN001 = 0
  47.     GetUser
  48.     If ((U_Alias == "") || (U_Alias == "                         ")) Then
  49.         Alias 0
  50.     Else
  51.         Alias 1
  52.     Endif
  53.     STRING003 = 1
  54.     INTEGER007 = GetY()
  55.     AnsiPos 1, INTEGER007
  56.     Print "@OPTEXT@"
  57.     STRING001 = ScrText(1, INTEGER007, 12, 0)
  58.     STRING001 = LTrim(STRING001, " ")
  59.     INTEGER009 = CurConf()
  60.     If (INTEGER009 == 0) Then
  61.         INTEGER010 = 243
  62.     Else
  63.         INTEGER010 = INTEGER009 * 548 + 243
  64.     Endif
  65.     STRING011 = ReadLine(PCBDat(), 31)
  66.     FOpen 1, STRING011 + ".@@@", 0, 0
  67.     FSeek 1, INTEGER010, 0
  68.     FRead 1, STRING002, 25
  69.     FClose 1
  70.     STRING001 = STRING002 + STRING001
  71.     If (!Exist(STRING001)) Stop
  72.     INTEGER004 = FileInf(STRING001, 4)
  73.     If (Exist(PPEPath() + PPEName() + String(Month(Date())) + ".log")) FOpen 2, PPEPath() + PPEName() + String(Month(Date())) + ".log", 0, 0
  74.     :LABEL001
  75.     If (Ferr(2)) Goto LABEL002
  76.     FGet 2, STRING010
  77.     If (STRING010 == "") Goto LABEL002
  78.     If (Alias() == 1) Then
  79.         INTEGER001 = Len(U_Alias)
  80.     Else
  81.         INTEGER001 = Len(U_Name())
  82.     Endif
  83.     If ((Mid(STRING010, 1, INTEGER001) == U_Name()) || (Mid(STRING010, 1, INTEGER001) == U_Alias)) Then
  84.         INTEGER002 = Mid(STRING010, INTEGER001 + 1, 12)
  85.         INTEGER005 = Len(INTEGER002)
  86.         INTEGER002 = INTEGER002 + INTEGER004
  87.         INTEGER006 = Mid(STRING010, INTEGER001 + 1 + INTEGER005 + 1, 12)
  88.         INTEGER006 = INTEGER006 + STRING003
  89.         FAppend 3, PPEPath() + PPEName() + String(Month(Date())) + ".tmp", 1, 0
  90.         FPutLn 3, Mid(STRING010, 1, INTEGER001) + " " + String(INTEGER002) + " " + String(INTEGER006)
  91.     Else
  92.         FAppend 3, PPEPath() + PPEName() + String(Month(Date())) + ".tmp", 1, 0
  93.         FPutLn 3, STRING010
  94.     Endif
  95.     Goto LABEL001
  96.     :LABEL002
  97.     FClose 3
  98.     FClose 1
  99.     FClose 2
  100.     If (Exist(PPEPath() + PPEName() + ".log")) FOpen 2, PPEPath() + PPEName() + ".log", 0, 0
  101.     :LABEL003
  102.     If (Ferr(2)) Goto LABEL004
  103.     FGet 2, STRING010
  104.     If (STRING010 == "") Goto LABEL004
  105.     If (Alias() == 1) Then
  106.         INTEGER001 = Len(U_Alias)
  107.     Else
  108.         INTEGER001 = Len(U_Name())
  109.     Endif
  110.     If ((Mid(STRING010, 1, INTEGER001) == U_Name()) || (Mid(STRING010, 1, INTEGER001) == U_Alias)) Then
  111.         INTEGER002 = Mid(STRING010, INTEGER001 + 1, 12)
  112.         INTEGER005 = Len(INTEGER002)
  113.         INTEGER002 = INTEGER002 + INTEGER004
  114.         INTEGER006 = Mid(STRING010, INTEGER001 + 1 + INTEGER005 + 1, 12)
  115.         INTEGER006 = INTEGER006 + STRING003
  116.         FAppend 3, PPEPath() + PPEName() + ".tmp", 1, 0
  117.         FPutLn 3, Mid(STRING010, 1, INTEGER001) + " " + String(INTEGER002) + " " + String(INTEGER006)
  118.     Else
  119.         FAppend 3, PPEPath() + PPEName() + ".tmp", 1, 0
  120.         FPutLn 3, STRING010
  121.     Endif
  122.     Goto LABEL003
  123.     :LABEL004
  124.     FClose 4
  125.     FClose 3
  126.     FClose 1
  127.     FClose 2
  128.     If (Exist(PPEPath() + PPEName() + String(Month(Date())) + ".log")) FOpen 2, PPEPath() + PPEName() + String(Month(Date())) + ".log", 0, 0
  129.     BOOLEAN001 = 0
  130.     :LABEL005
  131.     If (Ferr(2)) Goto LABEL006
  132.     FGet 2, STRING010
  133.     If (STRING010 == "") Goto LABEL006
  134.     If (Alias() == 1) Then
  135.         INTEGER001 = Len(U_Alias)
  136.     Else
  137.         INTEGER001 = Len(U_Name())
  138.     Endif
  139.     If ((Mid(STRING010, 1, INTEGER001) == U_Name()) || (Mid(STRING010, 1, INTEGER001) == U_Alias)) BOOLEAN001 = 1
  140.     Goto LABEL005
  141.     :LABEL006
  142.     FClose 2
  143.     If (BOOLEAN001 == 0) Then
  144.         FClose 2
  145.         FAppend 2, PPEPath() + PPEName() + String(Month(Date())) + ".tmp", 1, 0
  146.         If (Alias() == 1) Then
  147.             FPutLn 2, U_Alias + " " + String(INTEGER004) + " " + STRING003
  148.             Goto LABEL007
  149.         Endif
  150.         FPutLn 2, U_Name() + " " + String(INTEGER004) + " " + STRING003
  151.     Endif
  152.     :LABEL007
  153.     FClose 2
  154.     BOOLEAN001 = 0
  155.     If (Exist(PPEPath() + PPEName() + ".log")) FOpen 2, PPEPath() + PPEName() + ".log", 0, 0
  156.     :LABEL008
  157.     If (Ferr(2)) Goto LABEL009
  158.     FGet 2, STRING010
  159.     If (STRING010 == "") Goto LABEL009
  160.     If (Alias() == 1) Then
  161.         INTEGER001 = Len(U_Alias)
  162.     Else
  163.         INTEGER001 = Len(U_Name())
  164.     Endif
  165.     If ((Mid(STRING010, 1, INTEGER001) == U_Name()) || (Mid(STRING010, 1, INTEGER001) == U_Alias)) BOOLEAN001 = 1
  166.     Goto LABEL008
  167.     :LABEL009
  168.     FClose 2
  169.     If (BOOLEAN001 == 0) Then
  170.         FAppend 2, PPEPath() + PPEName() + ".tmp", 1, 0
  171.         If (Alias() == 1) Then
  172.             FPutLn 2, U_Alias + " " + String(INTEGER004) + " " + STRING003
  173.             Goto LABEL010
  174.         Endif
  175.         FPutLn 2, U_Name() + " " + String(INTEGER004) + " " + STRING003
  176.     Endif
  177.     :LABEL010
  178.     FClose 2
  179.     Copy PPEPath() + PPEName() + String(Month(Date())) + ".tmp", PPEPath() + PPEName() + String(Month(Date())) + ".log"
  180.     Delete PPEPath() + PPEName() + String(Month(Date())) + ".tmp"
  181.     Copy PPEPath() + PPEName() + ".tmp", PPEPath() + PPEName() + ".log"
  182.     Delete PPEPath() + PPEName() + ".tmp"
  183.     FClose 3
  184.     FClose 2
  185.     FClose 1
  186.     FClose 4
  187.     If (Exist(PPEPath() + "UPCR.log")) FOpen 1, PPEPath() + "UPCR.log", 0, 0
  188.     If (Exist(PPEPath() + "upcr.log")) FCreate 4, PPEPath() + "WEEK1.tmp", 1, 0
  189.     :LABEL011
  190.     If (Ferr(1)) Goto LABEL012
  191.     FGet 1, STRING004
  192.     Tokenize STRING004
  193.     If (TokCount() == 3) Then
  194.         GetToken STRING005
  195.         GetToken STRING008
  196.         GetToken STRING009
  197.         INTEGER008 = Len(STRING008)
  198.         FPutLn 4, Space(9 - INTEGER008) + STRING008 + Space(1) + STRING005 + Space(1) + STRING009
  199.     Endif
  200.     If (TokCount() == 4) Then
  201.         GetToken STRING005
  202.         GetToken STRING006
  203.         GetToken STRING008
  204.         GetToken STRING009
  205.         INTEGER008 = Len(STRING008)
  206.         FPutLn 4, Space(9 - INTEGER008) + STRING008 + Space(1) + STRING005 + " " + STRING006 + Space(1) + STRING009
  207.     Endif
  208.     If (TokCount() == 5) Then
  209.         GetToken STRING005
  210.         GetToken STRING006
  211.         GetToken STRING007
  212.         GetToken INTEGER003
  213.         GetToken STRING009
  214.         STRING008 = INTEGER003
  215.         INTEGER008 = Len(STRING008)
  216.         FPutLn 4, Space(9 - INTEGER008) + STRING008 + Space(1) + STRING005 + " " + STRING006 + " " + STRING007 + Space(1) + STRING009
  217.     Endif
  218.     Goto LABEL011
  219.     :LABEL012
  220.     FClose 4
  221.     FClose 1
  222.     If (Exist(PPEPath() + "UPCR" + String(Month(Date())) + ".log")) FOpen 1, PPEPath() + "UPCR" + String(Month(Date())) + ".log", 0, 0
  223.     If (Exist(PPEPath() + "upcr" + String(Month(Date())) + ".log")) FCreate 4, PPEPath() + "monthu.tmp", 1, 0
  224.     :LABEL013
  225.     If (Ferr(1)) Goto LABEL014
  226.     FGet 1, STRING004
  227.     Tokenize STRING004
  228.     If (TokCount() == 3) Then
  229.         GetToken STRING005
  230.         GetToken STRING008
  231.         GetToken STRING009
  232.         INTEGER008 = Len(STRING008)
  233.         FPutLn 4, Space(9 - INTEGER008) + STRING008 + Space(1) + STRING005 + Space(1) + STRING009
  234.     Endif
  235.     If (TokCount() == 4) Then
  236.         GetToken STRING005
  237.         GetToken STRING006
  238.         GetToken STRING008
  239.         GetToken STRING009
  240.         INTEGER008 = Len(STRING008)
  241.         FPutLn 4, Space(9 - INTEGER008) + STRING008 + Space(1) + STRING005 + " " + STRING006 + Space(1) + STRING009
  242.     Endif
  243.     If (TokCount() == 5) Then
  244.         GetToken STRING005
  245.         GetToken STRING006
  246.         GetToken STRING007
  247.         GetToken INTEGER003
  248.         GetToken STRING009
  249.         STRING008 = INTEGER003
  250.         INTEGER008 = Len(STRING008)
  251.         FPutLn 4, Space(9 - INTEGER008) + STRING008 + Space(1) + STRING005 + " " + STRING006 + " " + STRING007 + Space(1) + STRING009
  252.     Endif
  253.     Goto LABEL013
  254.     :LABEL014
  255.     FClose 4
  256.     FClose 1
  257.  
  258. ;------------------------------------------------------------------------------
  259. ;
  260. ; Usage report (before postprocessing)
  261. ;
  262. ; ■ Statements used :
  263. ;
  264. ;    44      Goto 
  265. ;    42      Let 
  266. ;    1       Print 
  267. ;    39      If 
  268. ;    2       FCreate 
  269. ;    7       FOpen 
  270. ;    6       FAppend 
  271. ;    21      FClose 
  272. ;    6       FGet 
  273. ;    14      FPutLn 
  274. ;    1       GetUser
  275. ;    2       Delete 
  276. ;    1       CdChkOff
  277. ;    2       Tokenize 
  278. ;    24      GetToken 
  279. ;    1       Stop
  280. ;    1       AnsiPos 
  281. ;    1       FSeek 
  282. ;    1       FRead 
  283. ;    2       Alias 
  284. ;    2       Copy 
  285. ;
  286. ;
  287. ; ■ Functions used :
  288. ;
  289. ;    1       *
  290. ;    145     +
  291. ;    6       -
  292. ;    29      ==
  293. ;    25      !
  294. ;    5       ||
  295. ;    16      Len(
  296. ;    14      Mid()
  297. ;    18      Space()
  298. ;    6       Ferr()
  299. ;    1       LTrim()
  300. ;    13      Date()
  301. ;    10      U_Name()
  302. ;    13      Month()
  303. ;    21      String()
  304. ;    1       CurConf()
  305. ;    1       PCBDat()
  306. ;    28      PPEPath()
  307. ;    1       ReadLine()
  308. ;    9       Exist()
  309. ;    1       GetY()
  310. ;    1       FileInf()
  311. ;    20      PPEName()
  312. ;    6       TokCount()
  313. ;    1       ScrText()
  314. ;    6       Alias()
  315. ;
  316. ;------------------------------------------------------------------------------
  317. ;
  318. ; Analysis flags : d
  319. ;
  320. ; d - Access PCBOARD.DAT ■ 2
  321. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  322. ;     for many PPE so they can find various informations on the system
  323. ;     (system paths, max number of lines in messages, ...) but it may also
  324. ;     be a way to gather vital informations.
  325. ;     ■ Search for : PCBDAT()
  326. ;
  327. ;------------------------------------------------------------------------------
  328. ;
  329. ; Postprocessing report
  330. ;
  331. ;    0       For/Next
  332. ;    0       While/EndWhile
  333. ;    18      If/Then or If/Then/Else
  334. ;    0       Select Case
  335. ;
  336. ;------------------------------------------------------------------------------
  337. ;                 AEGiS Corp - Break the routines, code against the machines!
  338. ;------------------------------------------------------------------------------
  339.