home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / WP110.ZIP / WP.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1994-03-18  |  5KB  |  306 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.     String   STRING001
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   STRING005
  30.     String   STRING006
  31.     String   STRING007
  32.     String   TSTRING008(21)
  33.     String   STRING009
  34.     String   STRING010
  35.     String   STRING011
  36.     String   STRING012
  37.     String   STRING013
  38.     String   STRING014
  39.     String   STRING015
  40.     Time     TIME001
  41.  
  42. ;------------------------------------------------------------------------------
  43.  
  44.     INTEGER003 = 0
  45.     STRING001 = "WHO Professional v1.10"
  46.     Log "■ " + STRING001, 0
  47.     If (Exist(PPEPath() + "wp.cfg")) Then
  48.         FOpen 1, PPEPath() + "wp.cfg", 0, 0
  49.         FGet 1, STRING006
  50.         FGet 1, STRING009
  51.         FGet 1, STRING010
  52.         FGet 1, STRING011
  53.         FGet 1, STRING012
  54.         FGet 1, STRING013
  55.         FGet 1, STRING014
  56.         FGet 1, STRING015
  57.         FGet 1, TSTRING008(1)
  58.         FGet 1, TSTRING008(2)
  59.         FGet 1, TSTRING008(3)
  60.         FGet 1, TSTRING008(4)
  61.         FGet 1, TSTRING008(5)
  62.         FGet 1, TSTRING008(6)
  63.         FGet 1, TSTRING008(7)
  64.         FGet 1, TSTRING008(8)
  65.         FGet 1, TSTRING008(9)
  66.         FGet 1, TSTRING008(10)
  67.         FGet 1, TSTRING008(11)
  68.         FGet 1, TSTRING008(12)
  69.         FGet 1, TSTRING008(13)
  70.         FGet 1, TSTRING008(14)
  71.         FGet 1, TSTRING008(15)
  72.         FGet 1, TSTRING008(16)
  73.         FGet 1, TSTRING008(17)
  74.         FGet 1, TSTRING008(18)
  75.         FGet 1, TSTRING008(19)
  76.         FGet 1, TSTRING008(20)
  77.         FGet 1, TSTRING008(21)
  78.     Else
  79.         PrintLn "@X0DConfiguration file WHO.CFG not found, aborting..."
  80.         Stop
  81.     Endif
  82.     STRING002 = TokenStr()
  83.     Tokenize STRING002
  84.     If (TokCount() == 1) Then
  85.         INTEGER003 = S2I(GetToken(), 10) * 3
  86.     Endif
  87.     For INTEGER002 = 1 To 21
  88.         TSTRING008(INTEGER002) = Trim(TSTRING008(INTEGER002), " ")
  89.         INTEGER004 = Len(TSTRING008(INTEGER002))
  90.         TSTRING008(INTEGER002) = Space(12 - INTEGER004 / 2) + TSTRING008(INTEGER002)
  91.         TSTRING008(INTEGER002) = TSTRING008(INTEGER002) + Space(25 - Len(TSTRING008(INTEGER002)))
  92.         If (Len(TSTRING008(INTEGER002)) > 25) Then
  93.             TSTRING008(INTEGER002) = Left(TSTRING008(INTEGER002), 25)
  94.         Endif
  95.     Next
  96.     BOOLEAN001 = 0
  97.     INTEGER001 = S2I(STRING006, 10)
  98.     If (Upper(STRING014) == "YES") Then
  99.         STRING003 = ReadLine(PCBDat(), 30)
  100.     Endif
  101.     KbdChkOff
  102.     :LABEL001
  103.     If (BOOLEAN001) Goto LABEL002
  104.     Cls
  105.     PrintLn "@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X07"
  106.     PrintLn "@X77 @X74NODE       ACTIVITY                  USERNAME                LOCATION         @X07"
  107.     PrintLn "@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  108.     For INTEGER002 = 1 To INTEGER001
  109.         RdUNet INTEGER002
  110.         If (INTEGER002 > 99) Then
  111.             STRING005 = String(INTEGER002)
  112.         ElseIf (INTEGER002 > 9) Then
  113.             STRING005 = " " + String(INTEGER002)
  114.         Else
  115.             STRING005 = "  " + String(INTEGER002)
  116.         Endif
  117.         Print STRING009, " ", STRING005, " ", STRING010
  118.         Select Case (UN_Stat())
  119.             Case " "
  120.                 Print TSTRING008(1)
  121.             Case "A"
  122.                 Print TSTRING008(2)
  123.             Case "B"
  124.                 Print TSTRING008(3)
  125.             Case "C"
  126.                 Print TSTRING008(4)
  127.             Case "D"
  128.                 Print TSTRING008(5)
  129.             Case "E"
  130.                 Print TSTRING008(6)
  131.             Case "F"
  132.                 Print TSTRING008(7)
  133.             Case "G"
  134.                 Print TSTRING008(8)
  135.             Case "L"
  136.                 Print TSTRING008(9)
  137.             Case "M"
  138.                 Print TSTRING008(10)
  139.             Case "N"
  140.                 Print TSTRING008(11)
  141.             Case "O"
  142.                 Print TSTRING008(12)
  143.             Case "P"
  144.                 Print TSTRING008(13)
  145.             Case "R"
  146.                 Print TSTRING008(14)
  147.             Case "S"
  148.                 Print TSTRING008(15)
  149.             Case "T"
  150.                 If (Left(UN_Oper(), 3) == "(U)") Then
  151.                     Print TSTRING008(16)
  152.                 Else
  153.                     Print TSTRING008(17)
  154.                 Endif
  155.             Case "U"
  156.                 If (INTEGER002 == PcbNode()) Then
  157.                     Print TSTRING008(2)
  158.                 Else
  159.                     Print TSTRING008(18)
  160.                 Endif
  161.             Case "W"
  162.                 Print TSTRING008(19)
  163.             Case "X"
  164.                 Print TSTRING008(20)
  165.             Case Else
  166.                 Print TSTRING008(21)
  167.         End Select
  168.         If (((UN_Stat() == " ") && (Upper(STRING014) == "YES")) && Exist(STRING003 + String(INTEGER002))) Then
  169.             TIME001 = FileInf(STRING003 + String(INTEGER002), 3)
  170.             INTEGER005 = Time() - TIME001
  171.             If (INTEGER005 < 0) Then
  172.                 INTEGER005 = INTEGER005 + 86400
  173.             Endif
  174.             TIME001 = INTEGER005
  175.             STRING007 = "Idle for " + String(TIME001) + " hrs"
  176.             INTEGER004 = Len(STRING007)
  177.             STRING007 = Space(12 - INTEGER004 / 2) + STRING007
  178.             STRING007 = STRING007 + Space(24 - Len(STRING007))
  179.             Print STRING013, STRING007
  180.         Else
  181.             INTEGER004 = Len(UN_Name())
  182.             STRING007 = Space(12 - INTEGER004 / 2) + UN_Name()
  183.             STRING007 = STRING007 + Space(24 - Len(STRING007))
  184.             Print STRING011, STRING007
  185.         Endif
  186.         GetUser
  187.         If ((UN_Name() == Trim(U_Alias, " ")) && (Upper(STRING015) == "YES")) Then
  188.             INTEGER004 = Len(U_City)
  189.             STRING007 = Space(12 - INTEGER004 / 2) + U_City
  190.             STRING007 = STRING007 + Space(24 - Len(STRING007))
  191.             PrintLn STRING012, STRING007
  192.             Continue
  193.         Endif
  194.         INTEGER004 = Len(UN_City())
  195.         STRING007 = Space(12 - INTEGER004 / 2) + UN_City()
  196.         STRING007 = STRING007 + Space(24 - Len(STRING007))
  197.         PrintLn STRING012, STRING007
  198.     Next
  199.     INTEGER002 = 0
  200.     If (INTEGER003 > 0) Then
  201.         While ((INTEGER002 < INTEGER003) && !BOOLEAN001) Do
  202.             STRING004 = Inkey()
  203.             If (STRING004 <> "") Then
  204.                 BOOLEAN001 = 1
  205.             Endif
  206.             Delay 6
  207.             Inc INTEGER002
  208.         EndWhile
  209.     Else
  210.         BOOLEAN001 = 1
  211.     Endif
  212.     Goto LABEL001
  213.     :LABEL002
  214.     PrintLn 
  215.     PrintLn "@X08", "■ ", STRING001, " (Mike Paschen)"
  216.     KbdChkOn
  217.     End
  218.  
  219. ;------------------------------------------------------------------------------
  220. ;
  221. ; Usage report (before postprocessing)
  222. ;
  223. ; ■ Statements used :
  224. ;
  225. ;    1       End
  226. ;    1       Cls
  227. ;    67      Goto 
  228. ;    40      Let 
  229. ;    25      Print 
  230. ;    8       PrintLn 
  231. ;    36      If 
  232. ;    1       FOpen 
  233. ;    29      FGet 
  234. ;    1       GetUser
  235. ;    1       Log 
  236. ;    1       Delay 
  237. ;    1       Inc 
  238. ;    1       Tokenize 
  239. ;    1       Stop
  240. ;    1       KbdChkOn
  241. ;    1       KbdChkOff
  242. ;    1       RdUNet 
  243. ;
  244. ;
  245. ; ■ Functions used :
  246. ;
  247. ;    1       *
  248. ;    5       /
  249. ;    22      +
  250. ;    11      -
  251. ;    27      ==
  252. ;    1       <>
  253. ;    4       <
  254. ;    2       <=
  255. ;    4       >
  256. ;    4       >=
  257. ;    37      !
  258. ;    8       &&
  259. ;    2       ||
  260. ;    11      Len(
  261. ;    3       Upper()
  262. ;    2       Left()
  263. ;    10      Space()
  264. ;    2       Trim()
  265. ;    1       Time()
  266. ;    1       Inkey()
  267. ;    6       String()
  268. ;    1       PCBDat()
  269. ;    2       PPEPath()
  270. ;    1       PcbNode()
  271. ;    1       ReadLine()
  272. ;    20      UN_Stat()
  273. ;    3       UN_Name()
  274. ;    2       UN_City()
  275. ;    1       UN_Oper()
  276. ;    1       GetToken()
  277. ;    2       Exist()
  278. ;    2       S2I()
  279. ;    1       TokenStr()
  280. ;    1       FileInf()
  281. ;    1       TokCount()
  282. ;
  283. ;------------------------------------------------------------------------------
  284. ;
  285. ; Analysis flags : d
  286. ;
  287. ; d - Access PCBOARD.DAT ■ 2
  288. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  289. ;     for many PPE so they can find various informations on the system
  290. ;     (system paths, max number of lines in messages, ...) but it may also
  291. ;     be a way to gather vital informations.
  292. ;     ■ Search for : PCBDAT()
  293. ;
  294. ;------------------------------------------------------------------------------
  295. ;
  296. ; Postprocessing report
  297. ;
  298. ;    2       For/Next
  299. ;    1       While/EndWhile
  300. ;    13      If/Then or If/Then/Else
  301. ;    1       Select Case
  302. ;
  303. ;------------------------------------------------------------------------------
  304. ;                 AEGiS Corp - Break the routines, code against the machines!
  305. ;------------------------------------------------------------------------------
  306.