1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| program BrouillonDateDePaques;
{$FRAME_WIDTH 320}
{$FRAME_HEIGHT 200}
uses
Flash8;
type
TEditBox = class(TextField)
procedure onKeyDown;
end;
var
e: TEditBox;
t: TextField;
A,G,C,C4,E_,H,K,P,Q,I,B,J1,J2,R: Integer;
procedure TEditBox.onKeyDown;
begin
if Key.getAscii = 13 then
begin
//t.Text := e.Text;
A:=0;
A:=A+1*(Ord(e.Text[4])-48);
A:=A+10*(Ord(e.Text[3])-48);
A:=A+100*(Ord(e.Text[2])-48);
A:=A+1000*(Ord(e.Text[1])-48);
G:=A mod 19;
C:=A div 100;
C4:=C div 4;
E_:=(8*C+13) div 25;
H:=(19*G+C-C4-E_+15) mod 30;
K:=H div 28;
P:=29 div (H+1);
Q:=(21-G) div 11;
I:=(K*P*Q-1)*K+H;
B:=A+(A div 4);
J1:=B+I+2+C4-C;
J2:=J1 mod 7;
R:=28+I-J2;
t.Text := 'Pour A='+IntToStr(A)+', R='+IntToStr(R)+'.';
end;
end;
begin
e := TEditBox.Create(nil, 'input', 0, 10, 10, 150, 21);
e.type := 'input';
Selection.setFocus(e);
Key.addListener(e);
t := TextField.Create(nil, 'output', 1, 10, 40, 150, 21);
end. |
Partager