home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / S / STATS110.ZIP / STATS.PPS < prev    next >
Text File  |  1994-08-13  |  7KB  |  238 lines

  1. STRING    numbers(50)
  2. STRING    time1,time2,data,it,Protocol
  3. STRING    cursor_pos,cursor_text(4,2),stats_text(4,8),clear_line
  4. INTEGER count,count2,show
  5. INTEGER clock_line,char_depth,char_length,move_cursor_pos,stats_pos,clock_pos
  6.  
  7.     GETUSER 
  8.  
  9.     IF (GRAFMODE()="N") GOTO STUFF
  10.     IF (U_PAGELEN()<23) THEN
  11.         IF (U_PAGELEN()<>0) THEN
  12.         NEWLINE
  13.         PRINTLN "@X07THE STATiSTiCS ONLY OPERATE WiTH 23 LiNES OR MORE !"
  14.         PRINTLN "YOUR PAGELENGTH IS SHORTER THAN 23 LiNES. ENTER (P)AGELENGTH FROM THE CMD-LINE."
  15.         WAIT
  16.         GOTO STUFF
  17.         ENDIF
  18.     ENDIF
  19.  
  20.     PRINT "@PRODESC@"
  21.     Protocol=SCRTEXT(1,GETY(),22,FALSE)
  22.  
  23.     RDUNET (PCBNODE())
  24.     WRUNET PCBNODE(),UN_STAT(),UN_NAME(),UN_CITY(),"ViEWiNG THE STATiSTiCS",""
  25.  
  26.     clear_line="                                          "
  27.  
  28.     stats_text(1,1)="@X0F@USER@'S STATiST@X07iC@X08S"
  29.     stats_text(1,2)=""
  30.     stats_text(1,3)="@X08T@X07iM@X0FE LEFT / USED @X05:@X0F @TIMELEFT@ / @TIMEUSED@ MiNS"
  31.     stats_text(1,4)="@X08    Y@X07OU@X0FR CONNECT @X05:@X0F "+MID(MODEM(),1,22)
  32.     stats_text(1,5)="@X08Y@X07OU@X0FR VOiCE NUMBA @X05:@X0F @HOMEPHONE@"
  33.     stats_text(1,6)="@X08 N@X07UM@X0FBER TiMES ON @X05:@X0F @NUMTIMESON@"
  34.     stats_text(1,7)="@X08L@X07AS@X0FT TiME ON WAS @X05:@X0F @LASTDATEON@ @X07/@X0F @LASTTIMEON@"
  35.     stats_text(1,8)="@X08Y@X07OU@X0FR EXPiRE DATE @X05:@X0F @EXPDAYS@ DAYS"
  36.  
  37.     stats_text(2,1)="@X08  Y@X07OU@X0F DOWNLOADED @X05:@X0F @DLBYTES@ BYTES"
  38.     stats_text(2,2)="                 @X05:@X0F @DLFILES@ FiLES"
  39.     stats_text(2,3)="@X08    Y@X07OU@X0F UPLOADED @X05:@X0F @UPBYTES@ BYTES"
  40.     stats_text(2,4)="                 @X05:@X0F @UPFILES@ FiLES"
  41.     stats_text(2,5)="@X08Y@X07OU@X0FR DL/UL RATIO @X05:@X0F @BYTERATIO@"
  42.     stats_text(2,6)="@X08T@X07OD@X0FAY BYTES LEFT @X05:@X0F @BYTELIMIT@"
  43.     stats_text(2,7)="  @X08S@X07E@X0FCURiTY LEVEL @X05:@X0F "+MID(CURSEC(),1,22)
  44.     stats_text(2,8)="@X08D@X07EF@X0FAULT PROTOCOL @X05:@X0F "+Protocol
  45.  
  46.     stats_text(3,1)="@X0FMESSAGE STATiST@X07iC@X08S"
  47.     stats_text(3,2)=""
  48.     stats_text(3,3)="@X08Y@X07OU@X0F WROTE @X05:@X0F @MSGLEFT@ MESSAGES"
  49.     stats_text(3,4)="@X08Y@X07OU@X0F READ  @X05:@X0F @MSGREAD@ MESSAGES"
  50.     stats_text(3,5)=""
  51.     stats_text(3,6)="@X08Y@X07OU@X0FR CURRENT CONF @X07(@X0F@CONFNUM@@X07)@POS:28@@X05:@X0F @CONFNAME@"
  52.     stats_text(3,7)="@X08 T@X07HE@X0F HiGHEST MSG # iS @X05:@X0F @HIGHMSGNUM@"
  53.     stats_text(3,8)="@X08  L@X07AS@X0FT MSG # YOU READ @X05:@X0F @LMR@"
  54.  
  55.     data=U_STAT(1)
  56.     stats_text(4,1)="@X08F@X07iR@X0FST CONNECT WiTH SYSTEM WAS "+data
  57.     data=U_STAT(7)
  58.     stats_text(4,2)="@X082@X0740@X0F0 BPS CONNECTS @X05:@X0F "+data
  59.     data=U_STAT(8)
  60.     stats_text(4,3)="@X089@X0760@X0F0 BPS CONNECTS @X05:@X0F "+data
  61.     data=U_STAT(9)
  62.     stats_text(4,4)="@X081@X074k@X0F+ BPS CONNECTS @X05:@X0F "+data
  63.     data=U_STAT(14)
  64.     stats_text(4,5)="@X08P@X07AS@X0FSWORD ERRORS   @X05:@X0F "+data
  65.     data=U_STAT(12)
  66.     stats_text(4,6)="@X08D@X07L @X0FLiMiT REACHED  @X05:@X0F "+data
  67.     data=U_STAT(15)
  68.     stats_text(4,7)="@X08V@X07ER@X0FiFY ERRORS     @X05:@X0F "+data
  69.     data=U_STAT(2)
  70.     stats_text(4,8)="@X08S@X07YS@X0FOP PAGES       @X05:@X0F "+data
  71.  
  72.     cursor_text(1,1)="@X0F  PERSONAL STATS  "
  73.     cursor_text(2,1)="@X0F  TRANSFER STATS  "
  74.     cursor_text(3,1)="@X0F  MESSAGES STATS  "
  75.     cursor_text(4,1)="@X0F  SPECiAL  STATS  "
  76.     IF (LANGEXT()="") THEN
  77.         cursor_text(1,2)="@X0F▐@X7F▒PERSONAL STATS@X78▒@X08▌"
  78.         cursor_text(2,2)="@X0F▐@X7F▒TRANSFER STATS@X78▒@X08▌"
  79.         cursor_text(3,2)="@X0F▐@X7F▒MESSAGES STATS@X78▒@X08▌"
  80.         cursor_text(4,2)="@X0F▐@X7F▒SPECiAL  STATS@X78▒@X08▌"
  81.         ENDIF
  82.     IF (LANGEXT()=".AMI") THEN
  83.         cursor_text(1,2)="@X01:|@X1FPERSONAL STATS@X01|:"
  84.         cursor_text(2,2)="@X01:|@X1FTRANSFER STATS@X01|:"
  85.         cursor_text(3,2)="@X01:|@X1FMESSAGES STATS@X01|:"
  86.         cursor_text(4,2)="@X01:|@X1FSPECiAL  STATS@X01|:"
  87.         ENDIF
  88.  
  89.  
  90.     char_depth=4
  91.     char_length=8
  92.     move_cursor_pos=58
  93.     stats_pos=6
  94.     clock_pos=9
  95.     clock_line=18
  96.  
  97.     time2=""
  98.     cursor_pos=1
  99.  
  100.     IF (!EXIST (PPEPATH()+"numbas"+GRAFMODE()) & !EXIST (PPEPATH()+"numbas") & !EXIST (PPEPATH()+"numbas"+LANGEXT())) END
  101.     IF (EXIST (PPEPATH()+"numbas"+GRAFMODE()+LANGEXT())) THEN
  102.         FOPEN 1,PPEPATH()+"numbas"+GRAFMODE()+LANGEXT(),O_RD,S_DN
  103.         GOTO READ_NUMBERS
  104.         ENDIF
  105.     IF (EXIST (PPEPATH()+"numbas"+LANGEXT())) THEN
  106.         FOPEN 1,PPEPATH()+"numbas"+LANGEXT(),O_RD,S_DN
  107.         GOTO READ_NUMBERS
  108.         ENDIF
  109.     FOPEN 1,PPEPATH()+"numbas",O_RD,S_DN
  110.  
  111. :READ_NUMBERS
  112.     FOR count = 1 TO 12*char_depth
  113.         FGET 1,numbers(count)
  114.         NEXT
  115.     FCLOSE 1
  116.  
  117. :BUILD_SCREEN
  118.     CLS
  119.     PRINT "@POFF@"
  120.     DISPFILE PPEPATH()+"FIELD",GRAPH+LANG
  121.     IF (!LANGEXT()=".AMI") THEN
  122.         IF (GRAFMODE()="A") THEN
  123.             ANSIPOS 1,24
  124.             MPRINT "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
  125.         ENDIF
  126.         IF (GRAFMODE()="G"|GRAFMODE()="R") THEN
  127.             ANSIPOS 1,24
  128.             MPRINT "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
  129.         ENDIF
  130.     ENDIF
  131.     ANSIPOS move_cursor_pos,6
  132.     PRINT cursor_text(1,2)
  133.     ANSIPOS move_cursor_pos,7
  134.     PRINT cursor_text(2,1)
  135.     ANSIPOS move_cursor_pos,8
  136.     PRINT cursor_text(3,1)
  137.     ANSIPOS move_cursor_pos,9
  138.     PRINT cursor_text(4,1)
  139.     GOSUB DISP_STATS
  140.  
  141. :RESCALE_TIME
  142.     time2=time1
  143.     time1=TIME()
  144.     FOR count=1 to 9
  145.         IF (MID (time1,count,1)<>MID(time2,count,1)) THEN
  146.             data=time1
  147.             GOSUB NEW_SCREEN
  148.             ENDIF
  149.         NEXT
  150.     it=INKEY()
  151.     IF (it<>"") GOTO KEY
  152.     DELAY 1
  153.     GOTO RESCALE_TIME
  154.  
  155. :KEY
  156.     IF (it=CHR(27))        GOTO END
  157.     IF (it=CHR(13))        GOTO END
  158.     IF (UPPER(it)="Q")    GOTO END
  159.     IF (it=" ")        GOTO END
  160.     IF (it="4")        GOTO UP
  161.     IF (it="LEFT")        GOTO UP
  162.     IF (it="8")        GOTO UP
  163.     IF (it="UP")        GOTO UP
  164.     IF (it="2")        GOTO DOWN
  165.     IF (it="DOWN")        GOTO DOWN
  166.     IF (it="6")        GOTO DOWN
  167.     IF (it="RIGHT")        GOTO DOWN
  168.     GOTO RESCALE_TIME
  169.  
  170. :UP
  171.     IF (cursor_pos="1") GOTO RESCALE_TIME
  172.     DEC cursor_pos
  173.     GOSUB NEW_CURSOR_UP
  174.     GOTO RESCALE_TIME
  175.  
  176. :DOWN
  177.     IF (cursor_pos="4") GOTO RESCALE_TIME
  178.     INC cursor_pos
  179.     GOSUB NEW_CURSOR_DOWN
  180.     GOTO RESCALE_TIME
  181.  
  182.  
  183. :NEW_CURSOR_UP
  184.     ANSIPOS move_cursor_pos,cursor_pos+6
  185.     PRINT cursor_text(cursor_pos+1,1)
  186.     ANSIPOS move_cursor_pos,cursor_pos+5
  187.     PRINT cursor_text(cursor_pos,2)
  188.     GOSUB DISP_STATS
  189.     RETURN
  190.  
  191. :NEW_CURSOR_DOWN
  192.     ANSIPOS move_cursor_pos,cursor_pos+4
  193.     PRINT cursor_text(cursor_pos-1,1)
  194.     ANSIPOS move_cursor_pos,cursor_pos+5
  195.     PRINT cursor_text(cursor_pos,2)
  196.     GOSUB DISP_STATS
  197.     RETURN
  198.  
  199. :DISP_STATS
  200.     FOR count = 1 to 8
  201.         ANSIPOS stats_pos,count+3
  202.         PRINT clear_line
  203.         ANSIPOS stats_pos,count+3
  204.         PRINT stats_text(cursor_pos,count)
  205.     NEXT
  206.     RETURN
  207.  
  208. :NEW_SCREEN
  209.     show=""
  210.     IF (MID (data,count,1)="1") show=1
  211.     IF (MID (data,count,1)="2") show=2
  212.     IF (MID (data,count,1)="3") show=3
  213.     IF (MID (data,count,1)="4") show=4
  214.     IF (MID (data,count,1)="5") show=5
  215.     IF (MID (data,count,1)="6") show=6
  216.     IF (MID (data,count,1)="7") show=7
  217.     IF (MID (data,count,1)="8") show=8
  218.     IF (MID (data,count,1)="9") show=9
  219.     IF (MID (data,count,1)=":") show=10
  220.     IF (MID (data,count,1)=".") show=11
  221.     IF (MID (data,count,1)="-") show=11
  222.     IF (show="") show=11
  223.     IF (MID (data,count,1)="0") show=0
  224.     FOR count2=1 TO char_depth
  225.         ANSIPOS count*char_length-char_length+clock_pos,count2+clock_line-1
  226.         PRINT numbers(show*char_depth+count2)
  227.         NEXT
  228.     RETURN
  229.  
  230. :STUFF
  231.     KBDSTUFF "V"+CHR(13)
  232.     END
  233.  
  234. :END
  235.     PRINT "@X07"
  236.     CLS
  237.     END
  238.