هل هذه الطريقة سليمة من الناحية المنطقية و البرمجية
صفحة 1 من اصل 1
هل هذه الطريقة سليمة من الناحية المنطقية و البرمجية
السلام عليكم، مرحبا بالجميع.
هل هذه الطريقة سليمة من الناحية المنطقية و البرمجية
وبماذا تنصحون
وفي الاخير تقبلوا شكري الجزيل
- الكود:
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.
djelal- مبرمج مجتهد
- عدد المساهمات : 157
تاريخ التسجيل : 29/04/2015
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى