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