unit check_user_data;

interface

uses SysUtils, ConstUnit;

const   MIN_YEAR  = 1900;        //минимальный год возможный для указания
        MAX_YEAR  = 2050;        //максимальный год возможный для указания


function user_data_check_and_correct_name(u_name:string):string; //проверка валидности входных данных

function user_data_check_and_correct_day(u_day:string):string; //проверка валидности входных данных
function user_data_check_and_correct_month(u_month:string):string; //проверка валидности входных данных
function user_data_check_and_correct_year(u_year:string):string; //проверка валидности входных данных


implementation

function user_data_check_and_correct_name(u_name:string):string;
begin
result:='';
u_name:=trim(u_name);
u_name:=strtst(u_name, '!@#$%^&*()\|/"№;:?<>{}[]''-+=', 2);
if Length(u_name)>0 then
  begin
    u_name[1]:=upCase(u_name[1]);
    result:=u_name;
  end
else
  begin
    //обработка ошибок
  end;
end;

function user_data_check_and_correct_day(u_day:string):string;
var int_day:integer;
begin
int_day:=strtoint(u_day);
if (int_day>0) and (int_day<32) then
  begin
    result:=convert_day(int_day);
  end
else
  begin
    result:='';
    //обработка ошибок
  end;
end;

function user_data_check_and_correct_month(u_month:string):string;
var int_month:integer;
begin
int_month:=strtoint(u_month);
if (int_month>0) and (int_month<13) then
  begin
    result:=convert_day(int_month);
  end
else
  begin
    result:='';
    //обработка ошибок
  end;
end;

function user_data_check_and_correct_year(u_year:string):string;
var int_year:integer;
begin
int_year:=strtoint(u_year);
if (int_year>MIN_YEAR) and (int_year<MAX_YEAR) then
  begin
    result:=inttostr(int_year);
  end
else
  begin
    result:='';
    //обработка ошибок
  end;
end;
end.
