Witam. Mam mały problem z funkcją getdate. Mianowicie, chyba źle odczytuje aktualną datę z komputera. Mam następujący program:
program odczyt;
uses
crt, dos;
type
rosoba = record
imie, nazwisko : string;
rokurodzenia : byte;
end;
var
f : file of rosoba;
osoba : rosoba;
rok, m, d, dt : word;
begin
getdate(rok, m, d, dt);
clrscr;
assign(f, 'osoby.dta');
rewrite(f);
repeat
writeln('Podaj imie, lub wcisnji Enter aby zakonczyc');
readln(osoba.imie);
if osoba.imie <> '' then
begin
writeln('Podaj nazwisko');
readln(osoba.nazwisko);
writeln('Podaj rok urodzenia');
readln(osoba.rokurodzenia);
write(f, osoba);
end;
until osoba.imie = '';
close(f);
clrscr;
reset(f);
while not eof(f) do
begin
read(f, osoba);
write('Imie: ');
writeln(osoba.imie);
write('Nazwisko: ');
writeln(osoba.nazwisko);
write('Wiek: ');
writeln(rok - osoba.rokurodzenia,' lat');
writeln;
end;
close(f);
readln;
end.
I po podaniu roku urodzenia np. 1990 potem wyświetla mi w polu wiek 1813 lat. Nie wiem co jest nie tak i proszę o pomoc w rozwiązaniu tego problemu.