Delphi - data z systemu.

0

Jak pobrać aktualną datę z komputera oraz odjąć od niej liczbe np. integer, w tym wypadku zmienną wiek?

program zad;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
  imie,nazwisko:string;
  wiek:integer;
  c:integer;
begin
  writeln('Podaj imie:');
  readln(imie);
  writeln('Podaj nazwisko:');
  readln(nazwisko);
  writeln('Podaj wiek:');
  readln(wiek);
  writeln('Rok urodzenia: ',FormatDateTime('yyyy', Date)-wiek);
  readln;
end. 
3

Nie wiem co chcesz uzyskać, ale aktualną date uzyskujemy funkcją Now, a jak chcesz odjąć ileś lat uzywasz funkcji IncYear. Ale nie rozumiem co chcesz uzyskać, bo napisałeś to niezbyt czytelnie.

2

@kaczus Now zwraca datę i czas dla samej daty wystarcza jak ma Date

writeln('Rok urodzenia: ', YearOf(Date)-wiek);

albo jedna z przekombinowanych wersji:

writeln('Rok urodzenia: ', YearOf(IncYear(Date, -wiek)));
writeln('Rok urodzenia: ', FormatDateTime('yyyy', IncYear(Now, -wiek)));

Krótko mówiąc InYear jest przydatne gdy potrzebujemy całą datę "na wyjściu" a jemu potrzebny tylko rok.
EDIT: do uses dodaj DateUtils

1 użytkowników online, w tym zalogowanych: 0, gości: 1