home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 438.ALERT3.BAS < prev    next >
BASIC Source File  |  1993-05-27  |  7KB  |  198 lines

  1.      CLS
  2.      REM      ALERT3.BAS  SATELLITE VISIBILITY ALERTING PROGRAM   Ver 5.1
  3.      REM              Copyright 1992,1993 by John W. Gardner, Jr.
  4.      REM     Note of thanks to Walter Nissen for his ideas used in program
  5.      KEY(1) ON
  6.      ON KEY(1) GOSUB 1830
  7.      SCREEN 0
  8.      COLOR 6, 0
  9.      REM                'QBASIC Microsoft ver 1.0
  10.      SHELL "A3B.COM"
  11.      LOCATE 24, 12
  12.      INPUT "Type 1 to abort program else press ENTER to continue "; A$
  13.      IF A$ <> "1" THEN 140 ELSE 1850
  14. 140  CLS
  15.      ON ERROR GOTO 1050
  16.      PRINT "  Enter TRAKSAT BATCH MODE output file for tonight's observations.  IF you DO"
  17.      PRINT "  NOT designated a file, previously created SAT_VIEW.FIL will automatically  "
  18.      INPUT "  be used if located in the current directory. "; A$
  19.      IF A$ = "" THEN A$ = "SAT_VIEW.FIL"
  20.      OPEN A$ FOR INPUT AS #1
  21.      IF A$ <> "SAT_VIEW.FIL" THEN 330
  22.      A = LOF(1)
  23.      B = A / 44
  24.      V = INT(B)
  25.      LOCATE 5, 5
  26.      PRINT "You're using a previously created satellite notification file.  NO viewing"
  27.      PRINT "    parameter changes other than prompts to set site UTC time are offered."
  28.      PRINT "    Since program will LOCK ON to satellite that is already visible, the  "
  29.      PRINT "    file's 1st satellite visibility time must be LATER than current UTC time."
  30.      PRINT
  31.      INPUT "         Press  ENTER  if this was intentional or press  1  to abort. "; B$
  32.      IF B$ = "" THEN 520 ELSE 1830
  33. 330  OPEN "X2UID.CVU" FOR OUTPUT AS #2
  34.      CLS
  35.      LOCATE 2, 6
  36.      PRINT "Program allows you to exclude one area of the sky blocked by high trees"
  37.      INPUT "     or buildings.  Simply press ENTER for no problems - else press 1 "; B$
  38.      IF B$ <> "1" THEN B = 0 AND C = 360 ELSE 400
  39.      GOTO 450
  40. 400  LOCATE 5, 6
  41.      PRINT "By excluding a section of the sky you are instructing the program to"
  42.      PRINT "     ignore all objects within an azimuth degree range regardless of its"
  43.      PRINT "     elevation or direction of travel.  To exclude an area enter compass"
  44.      INPUT "     degree headings with higher degree first then the lower. ( 27,5 ) "; B, C
  45. 450  LOCATE 10, 6
  46.      PRINT "Enter minimum elevation rising sat must be for notification.  Make sure"
  47.      INPUT "     to enter a realistic figure based on seeing conditions ( 15 ) "; M$
  48.      IF M$ = "" THEN M$ = "15"
  49.      IF VAL(M$) >= 90 THEN 450
  50.      V = 0: G = 0
  51.      J$ = "TGIF"
  52. 520  CLS
  53.      LOCATE 3, 2
  54.      INPUT "Is computer set to Day Light Saving, Standard, or UTC time (D=1 S=2 U=3)"; P
  55.      IF P = 1 THEN X = X - 1
  56.      IF P > 2 THEN Y = 0 ELSE 580
  57.      GOTO 630
  58. 580  LOCATE 5, 5
  59.      PRINT "In order to sync your computer time with UTC time, please enter how many"
  60.      PRINT "    hours your time zone is from the O° Greenwich Meridian.  If you are east"
  61.      INPUT "    of it your entry would be a negative number ( 5 or -2 ) "; Y
  62.      IF X = -1 THEN Y = Y - 1
  63. 630  LOCATE 5, 4
  64.      IF A$ = "SAT_VIEW.FIL" THEN 1130
  65.      PRINT "Enter time frame based on 24 hour clock for observation session.  Program"
  66.      PRINT "   accepts ON THE HOUR (no minutes) UTC times only ( 01,05 ).  The sample   "
  67.      INPUT "   shown equals 9pm - 1am ( EDT ) in month of MAY east coast U.S.A. "; E, F
  68.      LOCATE 10, 4
  69.      PRINT "One moment please...any sats remaining below requested elevation during"
  70.      PRINT "   specified observation period or for obstructions being thrown out."
  71. 710  IF EOF(1) THEN 990
  72.      LINE INPUT #1, C$
  73.      IF MID$(C$, 79, 1) <> "Y" THEN 710
  74.      D$ = MID$(C$, 2, 13)
  75.      E$ = MID$(C$, 15, 7)
  76.      F$ = MID$(C$, 35, 3)
  77.      IF VAL(F$) >= C AND VAL(F$) <= B THEN 940
  78.      G$ = MID$(C$, 43, 2)
  79.      IF G$ < M$ THEN 710
  80.      H$ = MID$(C$, 23, 8)
  81.      L$ = MID$(H$, 1, 2)
  82.      IF VAL(L$) < E OR VAL(L$) >= F THEN 940
  83.      I$ = MID$(C$, 51, 4)
  84.      IF J$ = D$ THEN 900
  85. 850  PRINT #2, D$; ","; E$; ","; H$; ","; F$; ","; G$; ","; I$
  86.      V = V + 1
  87.      J$ = D$
  88.      K$ = L$
  89.      GOTO 710
  90. 900  IF K$ = L$ THEN 710
  91.      IF VAL(L$) = VAL(K$) + 1 AND J$ = D$ THEN 710
  92.      IF VAL(L$) < E OR VAL(L$) >= F THEN 710
  93.      IF G$ < M$ THEN 710 ELSE 850
  94. 940  IF J$ <> D$ THEN 950 ELSE 710
  95. 950  G = G + 1
  96.      LOCATE 15, 4
  97.      PRINT ; G; "oppurtunities have been discarded base on parameters entered"
  98.      GOTO 710
  99. 990  CLOSE #1
  100.      CLOSE #2
  101.      SHELL "SORT /+21 < X2UID.CVU > SAT_VIEW.FIL"  'Must be sorted by DOS only
  102.      KILL "X2UID.CVU"
  103.      OPEN "SAT_VIEW.FIL" FOR INPUT AS #1
  104.      GOTO 1130
  105. 1050 IF ERR = 52 THEN RESUME 1850 ELSE 1060
  106. 1060 IF ERR = 53 THEN RESUME 1070 ELSE 1850
  107. 1070 CLS
  108.      BEEP
  109.      LOCATE 4, 8
  110.      PRINT "File  "; U$; "  not found in current directory.  Enter full path."
  111.      LOCATE 1, 1
  112.      GOTO 140
  113. 1130 O = 0
  114.      CLS
  115. 1150 IF EOF(1) THEN 1880
  116.      INPUT #1, A$, B$, C$, D$, E$, F$
  117.      LOCATE 1, 16
  118.      PRINT "Total of"; V; "observation opportunities remaining  "
  119.      IF C$ = K$ THEN T = 1 ELSE 1210
  120.      GOTO 1430
  121. 1210 G$ = TIME$
  122.      O$ = "0"
  123.      R$ = RIGHT$(G$, 6)
  124.      Q$ = MID$(G$, 1, 2)
  125.      IF Y = 0 THEN 1320
  126.      U = VAL(Q$)
  127.      W = U + Y
  128.      IF W > 23 THEN W = W - 24
  129.      Q$ = STR$(W)
  130.      IF VAL(Q$) < 10 THEN Z$ = MID$(Q$, 2, 1) ELSE 1320
  131.      Q$ = O$ + Z$
  132. 1320 G$ = Q$ + R$
  133.      N = LEN(A$)
  134.      R = 14 - N
  135.      LOCATE 3, 18
  136.      PRINT "Based on provided data UTC time is "; G$; SPC(2);
  137.      LOCATE 6, 14
  138.      PRINT "Satellite  "; A$; SPC(R); "for UTC of "; C$; " is next"
  139.      LOCATE 7, 18
  140.      PRINT "Press  F1  key when you wish to exit program"
  141.      IF T = 1 THEN 1710
  142.      IF G$ <> C$ THEN 1210
  143. 1430 BEEP
  144.      LOCATE 10, 29
  145.      PRINT "SATELLITE NOW VISIBLE"
  146.      LOCATE 12, 7
  147.      PRINT "SATELLITE      DATE      TIME      AZIMUTH     ELEVATION     RANGE"
  148.      PRINT
  149.      N = LEN(A$)
  150.      R = 15 - N
  151.      PRINT SPC(4); A$; SPC(R); B$; SPC(3); C$; SPC(6); D$; CHR$(248); SPC(10); E$; CHR$(248); SPC(8); F$; SPC(3);
  152.      IF O = 0 THEN 1620
  153.      LOCATE 17, 27
  154.      IF T = 1 THEN PRINT "Multiple satellites read" ELSE PRINT "Previous satellite found"
  155.      rem
  156.      PRINT
  157.      PRINT "      Satellite      Date      Time      Azimuth     Elevation     Range"
  158.      PRINT
  159.      N = LEN(I$)
  160.      R = 15 - N
  161.      PRINT SPC(4); I$; SPC(R); J$; SPC(3); K$; SPC(6); L$; CHR$(248); SPC(10); M$; CHR$(248); SPC(8); N$; SPC(3);
  162. 1620 I$ = A$
  163.      J$ = B$
  164.      K$ = C$
  165.      L$ = D$
  166.      M$ = E$
  167.      N$ = F$
  168.      O = 1
  169.      V = V - 1
  170.      GOTO 1150
  171. 1710 H = 23
  172.      Q$ = MID$(G$, 1, 2)
  173.      S$ = MID$(G$, 4, 2)
  174.      T$ = MID$(G$, 7, 2)
  175.      H$ = MID$(C$, 1, 2)
  176.      P$ = MID$(C$, 4, 2)
  177.      V$ = MID$(C$, 7, 2)
  178.      IF VAL(Q$) < H AND VAL(H$) = H THEN 1810
  179.      IF VAL(Q$) >= VAL(H$) THEN 1790 ELSE 1210
  180. 1790 IF VAL(S$) >= VAL(P$) THEN 1800 ELSE 1210
  181. 1800 IF VAL(T$) > VAL(V$) THEN 1810 ELSE 1210
  182. 1810 T = 0
  183.      GOTO 1430
  184. 1830 CLOSE #1
  185.      REM  KILL "SAT_VIEW.FIL"   'remove  rem  if you wish to always delete file
  186. 1850 CLS
  187.      PRINT "                           Program aborted by user"
  188.      GOTO 1920
  189. 1880 LOCATE 23, 1
  190.      BEEP: BEEP: BEEP
  191.      CLOSE #1
  192.      PRINT "                    PROGRAM COMPLETED  NO MORE SATELLITES "
  193. 1920 PRINT
  194.      PRINT "                         Type  CLS  to clear screen"
  195.      SYSTEM
  196.      END
  197.  
  198.