On Saturday 04 April 2009 11:40:03 Francisco Reyes wrote: > > I guess I could try one unit at a time until I find a simple one, but I > figure if anyone knows of a simple unit that may be easy to read, that may > be a better starting point.
Here's a simple unit that may help. I have occasion to add time values in my programs. I don't care that 249 seconds isn't "proper time" and in the form of 4 minutes and 9 seconds, I just want it encoded into a TDateTime value so I can add it to another TDateTime value. Save this as my_unit.pp: unit my_unit; interface { Everything out here in the interface section is seen by programs that use this unit } function EncodeTimeValue (hr, min, sec, msec: Integer): TDateTime; implementation { Everything down here is hidden to the outside } const HoursPerDay = 24; MinutesPerDay = 60 * HoursPerDay; SecondsPerDay = 60 * MinutesPerDay; MilliSecsPerDay = 1000 * SecondsPerDay; function EncodeTimeValue (hr, min, sec, msec: Integer): TDateTime; begin Result := hr / HoursPerDay + min / MinutesPerDay + sec / SecondsPerDay + msec / MilliSecsPerDay; end; end. There you go, one complete unit. In a main program (or even in another unit), all you have to do is use that unit and you can then call the function all you want: program test_my_unit; uses my_unit; begin Writeln ('24 hours and 720 minutes is 1.5 days: ', EncodeTimeValue (24, 720, 0, 0)); { Uncomment this next to see an error, because HoursPerDay is private } { Writeln ('Hours per day is: ', HoursPerDay); } end. To add a new routine, put it down in the implementation section, and copy the 'procedure foo(blahblah)' or 'function bar(blahblah): blah' part up to the interface section. There are also 'initialization' and 'finalization' sections too, but you can probably ignore those until you understand units better. I hope this is helpful. The code above is released to the public domain, if anyone cares to use it. Best regards, Pete C. -- ===================================================================== Cliches are a dime a dozen; that's why I avoid them like the plague. ===================================================================== _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal