1 (edited by zahar2002 2017-03-01 18:05:11)

Topic: sloved

hello admin and all members of MVD
here is my script if someone want help me and he want the  project i send it

function CalculateDateBetween(StartDate, EndDate: TDateTime): string;
var
    YY, MM, DD: Word;
    dv, ad, ac: integer;

begin

    YY := YearsBetween(EndDate, StartDate);
    MM := MonthsBetween(EndDate, StartDate) - (YY*12);
    DD := DaysBetween(EndDate, StartDate) - (YY*365) - (MM*30);

   //Result := 'سنة,' + IntToStr(YY) + 'شهر,'+IntToStr(MM) + 'يوم,'+IntToStr(DD);
     Result := (IntToStr(YY)+' سنة  ') + (IntToStr(MM)+' شهر  ') + (IntToStr(DD)+' يوم  ');


end;
//*********************************************************************************************************
procedure frmEmployee_Button2_OnClick (Sender: string; var Cancel: boolean);

      var
    s,: string;
begin

  Grade.Edit2.Text := frmEmployee.EditCounter1.Text;
  Grade.Edit1.Text := SQLExecute('SELECT Name FROM Employees WHERE id ='+inttostr(frmEmployee.TableGrid1.dbitemid));

  s := SQLExecute('SELECT Date_denter FROM Employees WHERE id='+frmEmployee.TableGrid1.sqlValue);
  if s <> '' then Grade.DateTimePicker1.Date := SQLDateTimeToDateTime (s)
  else Grade.DateTimePicker1.Checked := true;

     //     fixing  date in Grade.DateTimePicker2/Grade.DateTimePicker3/Grade.DateTimePicker4


     Grade.DateTimePicker2.Date := EncodeDate(2010, 4, 14);
     Grade.DateTimePicker4.Date := EncodeDate(2016, 12, 31);

  if Grade.DateTimePicker1.Checked and Grade.DateTimePicker2.Checked then
     Grade.DateTimePicker3.DateTime := Grade.DateTimePicker2.DateTime + 1;
  if Grade.DateTimePicker1.Checked and Grade.DateTimePicker2.Checked  then

     Grade.Edit3.Text := CalculateDateBetween(Grade.DateTimePicker2.Date, Grade.DateTimePicker1.Date);
     Grade.Edit5.Text := CalculateDateBetween(Grade.DateTimePicker3.Date, Grade.DateTimePicker4.Date);
     Grade.Edit12.Value := DaysBetween(Grade.DateTimePicker3.DateTime, Grade.DateTimePicker4.DateTime);
     Grade.Edit10.Value := DaysBetween(Grade.DateTimePicker1.DateTime, Grade.DateTimePicker2.DateTime);
     Grade.Edit11.Value := Grade.Edit10.Value/2;
     Grade.DateTimePicker5.DateTime := Grade.DateTimePicker1.DateTime + Grade.Edit11.Value ;
     Grade.Edit4.Text := CalculateDateBetween(Grade.DateTimePicker2.Date, Grade.DateTimePicker5.Date);
     Grade.Edit13.Value := Grade.Edit11.Value + Grade.Edit12.Value ;
     Grade.Edit7.Value :=  trunc((Grade.Edit13.Value / 365*30*12)/730) ;
     frmEmployee.Edit17.Value :=  Grade.Edit7.Value;
     frmEmployee.panel1.Visible := true;

2 (edited by zahar2002 2017-02-27 17:09:22)

Re: sloved

other example

Post's attachments

Attachment icon 2017-02-27_065559.jpg 89.67 kb, 348 downloads since 2017-02-27 

Attachment icon help.jpg 156.99 kb, 280 downloads since 2017-02-27 

Re: sloved

Hello.


Please attach your project (zip file without exe and dll)

Dmitry.

Re: sloved

is attached my project thank you señor

Re: sloved

I have read your descriptions on screenshots, but unfortunately can't understand your question.

Dmitry.

6 (edited by zahar2002 2017-02-28 13:47:17)

Re: sloved

i mean if date_enter with is Grade.DateTimePicker1 > 14/04/2010 (Grade.DateTimePicker2) or 15/04/2010 (Grade.DateTimePicker3)
get the result just from Grade.DateTimePicker1 to 31/12/2016 or Grade.DateTimePicker4
i try to get the solution with false and true

Re: sloved

we have evry 2 year 1 grade but the Time period from date enter to 14/04/2010 is calculated 1/2 + Time period from 15/04/2010 to 31/12/2016

Re: sloved

Sloved thankx to admin