home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / pc_ham2 / logenter.2 < prev    next >
Text File  |  1985-09-28  |  4KB  |  109 lines

  1. 10 REM LOGENTER VER 791008
  2. 20 ERRSET 820,E1,E2
  3. 40 REM "Copyright Snow Micro Systems Inc. 1979"
  4. 50 GOSUB 5010 \REM SET UP VARIABLES
  5. 60 GOSUB 5050 \ REM GET DATA NAME
  6. 70 PRINT \ N1=N \E9=1\ REM SET INIT NUMBER
  7. 80 IFN>80 THEN PRINT"OPENING LOG NOW"
  8. 90 OPEN #1,L1$
  9. 100 FOR I=1 TO N
  10. 110 READ #1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
  11. 120 NEXT \ REM POINTER SHOULD NOW BE SET UP TO WRITE
  12. 130 PRINT
  13. 140 IF N>0THEN160
  14. 150 PRINT\PRINT "BRAND NEW LOG BOOK"\ PRINT\ GOTO 180 
  15. 160 PRINT"Last entry was :-"
  16. 165 I=I-1
  17. 170 GOSUB5015 \ GOSUB5020
  18. 180 PRINT\PRINT"New Entry Information  "\PRINT
  19. 190 GOSUB 550 \ REM DATE
  20. 200 GOSUB 640 \ REM MODE
  21. 210 GOSUB 600 \ REM  POWER
  22. 220 GOSUB 620 \ REM  FREQ/BAND
  23. 230 Q1=0 \ Q2=0 \ REM MAIN LOOP
  24. 240 GOSUB 660 \ REM REST OF DATA
  25. 250 A=0 \ I=N+1 \ PRINT \GOSUB 5015 \ GOSUB 5020
  26. 260 INPUT"OK ?",A$
  27. 270 IF A$(1,1)="Y" THEN 280 ELSE 440
  28. 280 GOSUB 760 \ REM WRITE TO DISC
  29. 290 INPUT "Another Entry ?  ",A$
  30. 300 IF A$(1,1)="Y" THEN 440
  31. 310 IF A$(1,1)="A"  THEN 410
  32. 320 CLOSE #1 \ REMWRITING IS OVER
  33. 330 OPEN #0,L2$
  34. 340 WRITE #0,N
  35. 350 CLOSE #0
  36. 360 GOTO 5045
  37. 410 IF N>0 THEN N=N-1
  38. 420 GOTO 320
  39. 430 CHAIN "SYSTEM,"+STR$(I)
  40. 440 INPUT "Has DATE, MODE, POWER or FREQ/BAND Changed ?  ",A$\IFA$=""THEN440
  41. 450 IF A$(1,1)="N" THEN 230 \ REM KEEP GOING
  42. 460 INPUT "Has FREQ/BAND changed ?  ",A$\IFA$=""THEN460
  43. 470 IF A$(1,1)="Y" THEN GOSUB 620
  44. 480 INPUT "Has POWER changed ?  ",A$\IFA$=""THEN480
  45. 490 IF A$(1,1)="Y" THEN GOSUB 600
  46. 500 INPUT "Has MODE changed ?  ",A$\IFA$=""THEN500
  47. 510 IF A$(1,1)="Y" THEN GOSUB 640
  48. 520 INPUT"Has DATE changed ?  ",A$\IFA$=""THEN520
  49. 530 IFA$(1)="Y" THEN GOSUB 550
  50. 540 GOTO 230
  51. 550 INPUT"Day (1-31) ?  ",D1\IFD1<1ORD1>31THEN550
  52. 560 INPUT"Month ( 1 - 12 ) ?  ",D2\IFD2<0ORD2>12THEN560
  53. 570 INPUT "Year (19xx) ?",D3 \ IF D3<1900 THEN 570
  54. 580 D3 = D3 - 1900
  55. 590 RETURNè600 INPUT "Power (watts) ?  ",P
  56. 610 RETURN
  57. 620 INPUT "Freq/Band ?  ",F
  58. 630 RETURN
  59. 640 INPUT "Mode ?  ",M$\IFM$=""THEN640
  60. 645 IF M$(1,1)<>" "THEN650ELSEM$=M$(2,LEN(M$))\GOTO645
  61. 650 RETURN
  62. 660  PRINT \INPUT "Time ?  ",T
  63. 670 INPUT "Call sign ?  ",C$\IFC$=""THEN670
  64. 675 IF C$(1,1)<>" "THEN680ELSEC$=C$(2,LEN(C$))\GOTO675
  65. 680 INPUT1 "Report Received ?  ",R \ PRINT TAB(32),
  66. 690 INPUT "Report sent ?  ",S
  67. 700 INPUT1"QSL card sent ?  ",A$ \IFA$=""THEN700
  68. 710 PRINTTAB(32),\ IF A$(1,1)="Y" THEN Q1=1
  69. 720 INPUT"QSL card received ?  ",A$ \IFA$=""THEN720
  70. 730 IF A$(1,1)="Y" THEN Q2=1
  71. 740 INPUT "Comments ?  ",X$
  72. 750 RETURN
  73. 760 REM PUT IT ON DISC
  74. 770 D1=INT(D1) \D2=INT(D2)\D3=INT(D3)\S=INT(S)
  75. 780 R=INT(R)\P=INT(P)
  76. 790 WRITE#1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
  77. 800 N=N+1
  78. 810 RETURN
  79. 820 ERRSET 820,E1,E2
  80. 830 IF E1<>5650 THEN 840 ELSE IF I>4 THEN 5670 ELSE 5660
  81. 840 IF E2=15 THEN 360 \ REM CONTROL C INHIBIT
  82. 860 IF E1=790 AND E2=3 THEN 1070
  83. 870 IF E1=1130 AND E2=3 THEN 1150
  84. 890 IF E2<>8 THEN  900 ELSE PRINT"HARD DISC ERROR"\ GOTO 360
  85. 900 REM
  86. 970 IF E2<>7 THEN 980 ELSE PRINT"FILE ERROR"\GOTO360
  87. 980 REM
  88. 1000 PRINT"ERROR ",E2,"AT LINE ",E1\GOTO360
  89. 1020 PRINT "log file ",L$," does not exist "\GOTO60
  90. 1070 N=9999999
  91. 1080 PRINT"Log file is full, recovering to last disc entry"
  92. 1090 CLOSE#1
  93. 1100 OPEN #1,L1$
  94. 1110 FOR I=1 TO N
  95. 1120 I1=D1\I2=D2\I3=D3\C1$=C$ \ REM SAVE OLD CALL
  96. 1130 READ #1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
  97. 1140 NEXT
  98. 1150 N=I-1
  99. 1160 PRINT
  100. 1170 PRINT "LAST ENTRY ON DISC IS QSO WITH ",C1$," ON ",I1,I2,I3
  101. 1180 PRINT"file is now full, use 'NEWLOG' to open a new one"
  102. 1190 PRINT
  103. 1200 GOTO 320
  104. 1210 IF E9=0 THEN 360 \REM ABORT
  105. 1220 IF N<>N1 THEN 1240
  106. 1230 GOTO 330
  107. 1240 IF N>0 THEN N=N-1
  108. 1250 GOTO 360
  109. 5000 REM SUBROUTINE PACKAGE VER 790817è