Back To DATOW Software's Home Page

BACK to Technical SupportPage


Technical Support: Questions and Answers - Detailed Explanations



This is a detailed explanation of some of the questions we receive. If you do not understand these explanations, do not worry about it. You do not need to understand these detailed explanations to be able to use DATOW Software. However, some of our users are advanced enough to appreciate these detailed explanations.


Q: Since the update you e-mailed us, the datow program is not advancing the date and time. I have already checked the DOS system and it is keeping track. We can advance the date in datow manually each day and it will accept this manual change. Is there a way to fix this so we do not have to change this manually every day?

A: This is probably because you are leaving the program each night at, for example, the Dispatch / Call access screen. Try exiting to the Enter your Password screen before you leave for the night. This is a good practice anyway, since at that point all the files are closed. This is a very safe place to be in the event of a computer malfunction or a power outage.

BTW, the update we sent you would have had nothing to do with this....It has always done that! It was designed that way because, in the not-so-distant past, computers lacked the "horsepower" of today's machines. We figured: "Why waste CPU cycles for 23 hours 59 minutes and 59 seconds a day looking for the date to change?" Especially when you are "inside" of an active program. We didn't think you would want to slow down, for example, your searches for this. So, we do that check for midnight in the "Enter your Password" portion of the program, since the program doesn't have much to do there anyway. Actually, the problem goes much deeper than this.

FYI,versions of MS-DOS prior to WIN95/98 (and I say that only because I haven't looked at this issue under WIN 95 or 98) had a very strange way of dealing with the midnight crossover. Here's how it works:

18 times a second, the MS DOS gets a message from a device called an Interrupt Timer. Every 18 times it gets this message, it advances the seconds counter. It may also have to advance the minutes counter. It may even have to advance the hours counter. Now this is where it gets interesting. If the hours counter hits 24, then it knows a day has ended so it resets the hours counter back to zero, but it doesn/t advance the date. Instead, it leaves a message for itself, sort of a reminder string around your finger, fxat tells it to remember to advance the date the next time a program asks what time is it or what date is it. Programmers call this "setting a flag".

The problem with this approach is that if no program asks for the date and another midnight rolls around, as might happen on a weekend, especially a holiday weekend, then when the second (or third) midnight crossover occurs, MS-DOS raises the flag again --- but it is already raised! So a day gets lost. Or 2 days. Or however many days this goes on for.

Our solution to this problem, since we cannot change the way DOS behaves (mis-behaves?) is that when you are at the "Enter your Password" screen, our program looks to see if you have pressed a key and then it asks DOS: "What time is it?" It does this thousands of times per second.

So, if you would simply exit (F1) to the "Enter your Password" screen before you go home at night, you should be OK.

GOTO Top of this page