Default parameter

From Free Pascal wiki
Revision as of 10:00, 20 March 2015 by Djzepi (talk | contribs) (Created page with "{{MenuTranslate| page=Default parameter}} A default parameter also referred to as optional argument (or default argument) is a function or [[Procedure|procedure...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Template:MenuTranslate

A default parameter also referred to as optional argument (or default argument) is a function or procedure parameter that has a default value provided to it. If the programmer does not supply a value for this parameter, the default value will be used. If the programmer does supply a value for the default parameter, the programmer-supplied value is used. The programmer can extend an existing function or procedure by adding some parameters that have default value instead of writing an identical method with different parameters.


uses SysUtils, DateUtils


function deadline_day( day: integer; month: integer = 0 ) : tDateTime;
var
  n :TDateTime;
  y, m, d :word;
begin
  n := now;
  DecodeDate( n, y, m, d );
  if month = 0 then
     begin
       if d > day  then
         begin
           n := IncMonth( n );
           DecodeDate( n, y, m, d );
         end;
     end
   else
     begin
       if month < m then n := IncYear( n );
       DecodeDate( n, y, m, d );
       m := month;
     end;
    d := day;
   result := EncodeDate( y, m, d );
end;