Дельфовский код из статьи скомпилится с незначительными изменениями:
function WhatDay(Year: Integer; Month: Integer; Day: Integer):integer;
var a,y,m: integer;
begin
a := (14 - Month) div 12;
y := year - a;
m := month + 12 * a - 2;
WhatDay := (7000 + (day + y + y div 4 - y div 100 + y div 400 + (31 * m) div 12)) mod 7;
end;
UPD
Кстати, в MP есть готовая функция
GetWeekDay.
Тогда вся программа будет примерно такой:
program day;
var
ok:command;
DTF:Integer;
DT, WD:Integer;
begin
ShowForm;
DTF:=FormAddDateField('EnterDate', DF_DATE);
ok:=CreateCommand('OK',cm_ok,1);
AddCommand(ok);
repeat
Delay(200);
Until GetClickedCommand = ok;
DT:=FormGetDate(DTF);
WD:=GetWeekDay(DT);
DTF:=FormAddString(IntegerToString(WD));
repeat
Delay(200);
Until GetClickedCommand = ok;
end.