EasyDelphi Q&A
0 تصويتات
40 مشاهدات

السلام عليكم، مرحبا بالجميع.

هل هذه الطريقة سليمة من الناحية المنطقية و البرمجية
وبماذا تنصحون
وفي الاخير تقبلوا شكري الجزيل

 

nit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Unit2,DateUtils;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    DateTimePicker1: TDateTimePicker;
    Label1: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  end;

  TEnterEmployee = class(Tds)
  private
   fDateE: TDate;
   procedure SetLDate(ALDate: TDate); override;
   function GetLDate: TDate; override;
  end;

  TSortieEmployee = class(Tds)
  private
   fDateS: TDate;
   procedure SetLDate(ALDate: TDate); override;
   function GetLDate: TDate; override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 d1: Tds;
begin
 d1:= TEnterEmployee.Create;
 try
   d1.NameFirst := Edit1.Text;
   d1.NameLast := Edit2.Text;
   d1.LDate := DateTimePicker1.Date;
   //
   Label1.Caption := d1.NameFirst;
   Label2.Caption := d1.NameLast;
   Label3.Caption := DateToStr(d1.LDate);
 finally
  d1.Free
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 d1: Tds;
begin
 d1:= TSortieEmployee.Create;
 try
   d1.NameFirst := Label1.Caption;
   d1.NameLast := Label2.Caption;
   d1.LDate := StrToDate(Label3.Caption);
   //
   Edit1.Text := d1.NameFirst;
   Edit2.Text := d1.NameLast;
   DateTimePicker1.Date := d1.LDate;
 finally
  d1.Free
 end;
end;

function TEnterEmployee.GetLDate: TDate;
begin
  Result := fDateE
end;

procedure TEnterEmployee.SetLDate(ALDate: TDate);
begin
 if YearOf(Now)-YearOf(ALDate)>17 then
   fDateE := ALDate;
end;

function TSortieEmployee.GetLDate: TDate;
begin
  Result := fDateS
end;

procedure TSortieEmployee.SetLDate(ALDate: TDate);
begin
  fDateS := ALDate
end;

end.

-----------

unit Unit2;

interface
uses Controls;
type
  Tds = class
  protected
   fNameFirst,fNameLast: string;
   procedure SetLDate(ALDate: TDate); virtual; abstract;
   function GetLDate: TDate; virtual; abstract;
  public
   property NameFirst: string read fNameFirst write fNameFirst;
   property NameLast: string read fNameLast write fNameLast;
   property LDate: TDate read GetLDate write SetLDate;
  end;
implementation
end.

 

سُئل في تصنيف vcl بواسطة (170 نقاط) | 40 مشاهدات
0
انت وضعت كود كامل الوحدة . وتريد مننا استنتاج عن ماذا تتحدث انت ؟!
١ ـ لا تضع كل الكود. لا يهم كل الكود .. ضع فقط الاسطر التي لها علاقة .
٢ ـ اشرح عن ماذا تتحدث . وما الذي حدث معك ..  لا تتوقع مننا ان نستنتج ماذا تريد .

شكرا لتفهمك . فما طلبي هذا إلا لجعل الموقع اكثر افادة .

من فضلك سجل دخولك أو قم بتسجيل حساب للإجابة على هذا السؤال

اسئلة متعلقة

+4 تصويتات
1 إجابة
سُئل سبتمبر 30، 2018 في تصنيف Database بواسطة فريد (1,130 نقاط) | 70 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك
Comodo SSL

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

لا يسمح بطلب او السؤال عن كراك او تفعيل او كسر او فك او اي شيء يخالف اتفاقيات الترخيص  مهما كان السبب ومهما كان البرنامج ونوعه. ولا حتى نشر روابط تحتوي على مثل هذه الاشياء لا في الاسئلة ولا في الاجابات ولا التعليقات . نهائيا

440 سؤال
673 إجابة
1,216 تعليق
257 مستخدم