Vladimir_S, простите, что столько много вопросов задаю, но вы могли бы пожалуйста вот эти строчки немного растолковать, а то я вроде со всем разобралась, а в конце немного запуталась.
if d=1 then D3a:=D3a+'1';
D3:='';
for i:=1 to Length(D3a) do
D3:=D3+D3a[Length(D3a)-i+1];
Sum:=D3;
end;