program WtStdFn; // Příklad volání standardních funkcí, // které mohou mít při volání některé skutečné parametry // s implicitní (default) hodnotou, tedy vypustitelné. // Stejně jako v C++ platí, že vypustím-li některý parametr, // musím vypustit i všechny následující; // jejich hodnota při volání bude pak také implicitní. // (bez zavedení tohoto pravidla by překladač obecně nemohl // rozpoznat, který skutečný parametr přísluší ke kterému // formálnímu parametru). begin { žádný parametr není default : } CharLeft(1, False); CharRight(1, True); LineDown(2, False); LineUp(-1, True); { poslední parametr je default (false) : } CharLeft(1); CharRight(1); LineDown(2); LineUp(-1); { oba parametry default (1, false) : } CharLeft; CharRight; LineDown; LineUp; (* CharLeft(false); *) { - compile error : nelze vypustit první parametr a volat se druhým; false je interpretováno jako první skutečný parametr, nekompatibilní s prvním formálním parametrem v deklaraci funkce, jenž je typu integer } Info_box("beep", "default parameter 1 - standard beep"); beep; { standard beep } Info_box("beep(1)", "standard beep"); beep(1); { standard beep } Info_box("beep(2)", "beep MB_OK"); beep(2); { beep MB_OK } Info_box("beep(3)", "beep MB_ICONHAND"); beep(3); { beep MB_ICONHAND } Info_box("beep(4)", "beep MB_ICONQUESTION"); beep(4); { beep MB_ICONQUESTION } Info_box("beep(5)", "beep MB_ICONEXCLAMATION"); beep(5); { beep MB_ICONEXCLAMATION } Info_box("beep(6)", "beep MB_ICONASTERISK"); beep(6); { beep MB_ICONASTERISK } Info_box("beep(7)", "standard beep"); beep(7); { standard beep } end.