home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / J_CONFX.ZIP / J_CONF.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-01-04  |  3KB  |  198 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.     String   STRING001
  23.     String   STRING002
  24.     String   STRING003
  25.     String   STRING004
  26.     String   STRING005
  27.     String   STRING006
  28.     String   STRING007
  29.     String   STRING008
  30.  
  31. ;------------------------------------------------------------------------------
  32.  
  33.     If (TokCount() > 0) Then
  34.         STRING005 = ""
  35.         While ((TokCount() > 0)) STRING005 = STRING005 + GetToken() + " "
  36.         Tokenize STRING005
  37.         STRING005 = TokenStr()
  38.         Tokenize STRING005
  39.         If (("BUILD" == Upper(GetToken())) && ("MENU" == Upper(GetToken()))) Then
  40.             Tokenize STRING005
  41.             Goto LABEL001
  42.         Endif
  43.         STRING005 = "J;" + STRING005
  44.         KbdStuff STRING005
  45.         End
  46.     Endif
  47.     :LABEL001
  48.     INTEGER001 = ReadLine(PCBDat(), 108)
  49.     STRING001 = ReadLine(PCBDat(), 31)
  50.     STRING002 = FileInf(STRING001, 6) + ":" + FileInf(STRING001, 7) + "cmnu"
  51.     If (!Exist(STRING002) || (TokCount() > 0)) Then
  52.         PrintLn "Please wait....Building new menu file"
  53.         FCreate 1, STRING002, 2, 0
  54.         For INTEGER003 = 0 To INTEGER001
  55.             STRING005 = ReadLine(STRING001, 33 * INTEGER003 + 1)
  56.             STRING006 = ReadLine(STRING001, 33 * INTEGER003 + 20)
  57.             If (STRING006 == "-1") STRING006 = "Public"
  58.             If (STRING006 == "0") STRING006 = "Private"
  59.             STRING007 = ReadLine(STRING001, 33 * INTEGER003 + 23)
  60.             If (Len(Trim(STRING005, " ")) > 0) Then
  61.                 STRING008 = Right("   " + I2S(INTEGER003, 10), 3)
  62.                 If (STRING006 == "Private") Then
  63.                     FPutLn 1, " ", STRING008, "  ", Mid(STRING005 + Space(62), 1, 62), STRING006
  64.                     Continue
  65.                 Endif
  66.                 FPutLn 1, " ", STRING008, "  ", Mid(STRING005 + Space(62), 1, 62), STRING007
  67.             Endif
  68.         Next
  69.         FClose 1
  70.     Endif
  71.     If (CurColor() < 10) Then
  72.         STRING003 = "0F"
  73.     Else
  74.         STRING003 = I2S(CurColor(), 16)
  75.         INTEGER003 = S2I(Left(STRING003, 1), 16)
  76.         If (7 < INTEGER003) INTEGER003 = INTEGER003 - 8
  77.         If (INTEGER003 == 1) Then
  78.             STRING003 = I2S(INTEGER003, 16) + "F"
  79.         Else
  80.             STRING003 = I2S(INTEGER003, 16) + "8"
  81.         Endif
  82.     Endif
  83.     INTEGER002 = S2I(STRING003, 16)
  84.     FOpen 1, STRING002, 0, 0
  85.     FGet 1, STRING005
  86.     While (!Ferr(1) && !Abort()) Do
  87.         Color INTEGER002
  88.         Cls
  89.         PrintLn "  @INCONF@"
  90.         PrintLn " ###  Conference Name/Descripton                                    Access"
  91.         PrintLn " ---  ------------------------------------------------------------  -------"
  92.         For INTEGER003 = 1 To 12
  93.             If (Ferr(1)) Break
  94.             PrintLn STRING005
  95.             If (INTEGER003 == 4) PrintLn 
  96.             If (INTEGER003 == 8) PrintLn 
  97.             If (INTEGER003 < 12) FGet 1, STRING005
  98.         Next
  99.         PrintLn 
  100.         If ((INTEGER003 == 13) && !Ferr(1)) Then
  101.             InputStr "(@TIMELEFT@ min left), Conference (#) to join or Enter for More", STRING004, 14, 5, "1234567890N", 8 + 32
  102.         Else
  103.             InputStr "(@TIMELEFT@ min left), Conference (#) to join or Enter for none", STRING004, 14, 5, "1234567890N", 8 + 32
  104.         Endif
  105.         If (Len(Trim(STRING004, " ")) > 0) Then
  106.             If (STRING004 == "N") Break
  107.             STRING004 = "J;" + STRING004
  108.             KbdStuff STRING004
  109.             Break
  110.         Endif
  111.         FGet 1, STRING005
  112.     EndWhile
  113.     FClose 1
  114.     DefColor
  115.     Cls
  116.     End
  117.  
  118. ;------------------------------------------------------------------------------
  119. ;
  120. ; Usage report (before postprocessing)
  121. ;
  122. ; ■ Statements used :
  123. ;
  124. ;    2       End
  125. ;    2       Cls
  126. ;    1       Color 
  127. ;    24      Goto 
  128. ;    25      Let 
  129. ;    8       PrintLn 
  130. ;    21      If 
  131. ;    1       FCreate 
  132. ;    1       FOpen 
  133. ;    2       FClose 
  134. ;    3       FGet 
  135. ;    2       FPutLn 
  136. ;    1       DefColor
  137. ;    2       InputStr 
  138. ;    3       Tokenize 
  139. ;    2       KbdStuff 
  140. ;
  141. ;
  142. ; ■ Functions used :
  143. ;
  144. ;    3       *
  145. ;    19      +
  146. ;    1       -
  147. ;    10      ==
  148. ;    5       <
  149. ;    2       <=
  150. ;    5       >
  151. ;    4       >=
  152. ;    16      !
  153. ;    7       &&
  154. ;    3       ||
  155. ;    2       Len(
  156. ;    2       Upper()
  157. ;    2       Mid()
  158. ;    1       Left()
  159. ;    1       Right()
  160. ;    2       Space()
  161. ;    3       Ferr()
  162. ;    1       Abort()
  163. ;    2       Trim()
  164. ;    2       PCBDat()
  165. ;    5       ReadLine()
  166. ;    3       GetToken()
  167. ;    1       Exist()
  168. ;    4       I2S()
  169. ;    2       S2I()
  170. ;    1       TokenStr()
  171. ;    2       FileInf()
  172. ;    2       CurColor()
  173. ;    3       TokCount()
  174. ;
  175. ;------------------------------------------------------------------------------
  176. ;
  177. ; Analysis flags : d
  178. ;
  179. ; d - Access PCBOARD.DAT ■ 2
  180. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  181. ;     for many PPE so they can find various informations on the system
  182. ;     (system paths, max number of lines in messages, ...) but it may also
  183. ;     be a way to gather vital informations.
  184. ;     ■ Search for : PCBDAT()
  185. ;
  186. ;------------------------------------------------------------------------------
  187. ;
  188. ; Postprocessing report
  189. ;
  190. ;    2       For/Next
  191. ;    1       While/EndWhile
  192. ;    9       If/Then or If/Then/Else
  193. ;    0       Select Case
  194. ;
  195. ;------------------------------------------------------------------------------
  196. ;                 AEGiS Corp - Break the routines, code against the machines!
  197. ;------------------------------------------------------------------------------
  198.