Category : A Collection of Games for DOS and Windows
Archive   : DBD.ZIP
Filename : DBD.BAS

 
Output of file : DBD.BAS contained in archive : DBD.ZIP
1 ' SAVE "DBD",a
2 ' ----------------------------------------------------------------------------
3 ' Days Between Dates was originally written as a sub-routine for a program
4 ' to determine random payments on a loan and calculate daily interest due at
5 ' the time of payment. Dates are picked up from variables in the loan file
6 ' rather than on direct entry. However, putting it into this program makes
7 ' the routine available for other purposes, and the source code can be
8 ' can be modified to suit your own needs. Enjoy! - PROF~~~~~ [BDB647]
9 ' ----------------------------------------------------------------------------
10 DIM A(112),M$(12),D$(7)
20 FOR I=1 TO 12:READ A(I):NEXT
30 FOR I=101 TO 112:READ A(I):NEXT
40 FOR I=1 TO 12:READ M$(I):NEXT
50 FOR I=1 TO 7:READ D$(I):NEXT
100 CLS
110 PRINT:PRINT CHR$(201);STRING$(77,CHR$(205));CHR$(187)
120 PRINT CHR$(186);" CALCULATE DAYS BETWEEN TWO CALENDAR DATES - Useful in Interest Calculations ";CHR$(186);
130 PRINT:PRINT CHR$(200);STRING$(77,CHR$(205));CHR$(188)
140 PRINT:PRINT
150 INPUT " >> ENTER LATEST DATE as mmddyy or for TODAY: ",LATEST$
160 IF LEN(LATEST$)=0 THEN LATEST$=LEFT$(DATE$,2)+MID$(DATE$,4,2)+RIGHT$(DATE$,2)
170 A=VAL(LEFT$(LATEST$,2)):B=VAL(MID$(LATEST$,3,2)):C=1900+VAL(RIGHT$(LATEST$,2)):M=A:D=B:Y=C
180 GOSUB 400
190 Z=T
200 PRINT:INPUT " >> ENTER EARLIEST DATE as mmddyy: ",EARLIEST$
210 E=VAL(LEFT$(EARLIEST$,2)):F=VAL(MID$(EARLIEST$,3,2)):G=1900+VAL(RIGHT$(EARLIEST$,2)):M=E:D=F:Y=G
220 GOSUB 400
230 V=T-Z
240 V=ABS(V)
250 PRINT:PRINT
260 PRINT " * LATEST DATE -- ";:U=V+N:U=U-7*INT(U/7)
270 Q=U+1:IF U=7 THEN U=0
280 GOSUB 590:P=A:PRINT ", ";:GOSUB 580:PRINT B;C
290 PRINT:PRINT " * EARLEST DATE -- ";:Q=N+1:GOSUB 590:PRINT ", ";
300 P=E:GOSUB 580:PRINT F;G
310 PRINT:PRINT
320 PRINT " A DIFFERENCE OF ";V;" DAYS"
330 PRINT " (";INT((V/365)*100)/100;" YEARS)"
340 PRINT:PRINT
350 PRINT " >> Do you want to try another date (Y/N)? ";:ANS$=INKEY$
360 WHILE ANS$<>"Y" AND ANS$<>"y" AND ANS$<>"N" AND ANS$<>"n" AND ANS$<>CHR$(13):ANS$=INKEY$:WEND
370 IF ANS$="Y" OR ANS$="y" THEN 100
380 CLS:END
390 ' - Sub-routines & Data Statements
400 H=Y-1800
410 I=INT(H/4)
420 J=INT(I/25)
430 L=INT((H+200)/400)
440 K=0
450 IF I*4<>H THEN 490
460 IF J*100<>H THEN 490
470 IF L*400-200<>H THEN 490
480 K=1
490 T=365*H+I-J+L-K
500 T=T+A(M)+D-1
510 IF M<3 THEN 530
520 T=T+K
530 IF INT(H/4)<>H/4 THEN 560
540 IF M>2 THEN 560
550 T=T-1
560 N=T-7*INT(T/7)
570 RETURN
580 PRINT M$(P);:RETURN
590 PRINT D$(Q);:RETURN
600 DATA 0,31,59,90,120,151,181,212,243,273,304,334
610 DATA 31,28,31,30,31,30,31,31,30,31,30,31
620 DATA "JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER",DECEMBER"
630 DATA "WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY","MONDAY","TUESDAY"


  3 Responses to “Category : A Collection of Games for DOS and Windows
Archive   : DBD.ZIP
Filename : DBD.BAS

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/