برمجة وبرامج


أهلا وسهلا بك زائرنا الكريم, أنت لم تقم بتسجيل الدخول بعد! يشرفنا أن تقوم بالدخول أو التسجيل إذا رغبت بالمشاركة في المنتدى

منتدى هواة البرامج » المنتدى التقني » تطبيقات- وبرامج للتحميل » برنامج متابعة العمال

برنامج متابعة العمال

إرسال موضوع جديد  إرسال مساهمة في موضوع

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل  رسالة [صفحة 1 من اصل 1]

1 برنامج متابعة العمال في السبت فبراير 21, 2015 3:07 pm

وصف البرنامج:
هذا الموضوع يشرح كود بسيط لبرنامج يقوم بتخزين معلومات عن عمال مؤسسة، يبين الكود كيف يمكن إضافة عامل، تعديل البيانات ، حفظها أو حذفها، ثم في الأخير طباعة القائمة.

البرنامج مكتوب بلغة الدلفي Delphi XE7 تحت نظام windows8:
مبدأ البرنامج :
يحتوي البرنامج على إطار رئيسي به لوحة التحكم لتحرير البيانات والانتقال بين الإطارات ، وضعنا عناصر تسيير قاعدة البيانات من نوع TClientDataSet لتخزين الجداول ، بدانا بجدول لتخزين العمال سميناه
الكود:
CDSEMPLOYE
ثم جدول لتخزين الوظائف :
الكود:
CDSFonctions
وجدول لتخزين معلومات المؤسسة الموظفة :
الكود:
CDSEtabl


تفاصيل الكود:


  • في هذا البرنامج استعملنا العناصر التالية



الكود:
 Panel1: TPanel;
  Panel2: TPanel;
  AppBar: TPanel;


 - في القسم private أضفنا الكود التالي :

الكود:
private
 { Déclarations privées }
procedure AppBarResize;
procedure AppBarShow(mode: Integer);

-العنصر AppBar يستعمل كلوحة التحكم ويحتوي على عناصر التحكم.
- العنصر Panel2 يحتوي عناصر TDBEdit لإدخال البيانات


- الكود التالي يستعمل لجعل لوحة التحكم تأخذ نفس عرض الإطار الرئيسي :

الكود:
procedure TForm2.AppBarResize;
begin
   AppBar.SetBounds(0, AppBar.Parent.Height - AppBarHeight, AppBar.Parent.Width,
   AppBarHeight);
end;

- أما الكود التالي فيستعمل لإظهار أو إخفاء لوحة التحكم:
الكود:
procedure TForm2.AppBarShow(mode: Integer);
begin
   if mode = -1 then // Basculer
   mode := Integer(not AppBar.Visible);
 if mode = 0 then
   AppBar.Visible := False
 else
 begin
   AppBar.Visible := True;
   AppBar.BringToFront;
 end;
end;

- الكود التالي يسمح لنا  بإظهار لوحة التحكم عند الحاجة إليها أو إخفائها حتى نحافظ على مساحة العمل  عند النقر في أي جهة من الإطار الرئيسي 

الكود:
procedure TForm2.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
   if Button = mbRight then
   AppBarShow(-1)
 else
   AppBarShow(0);
end;
استعملنا عنصر TclientDataSet سميناه CDSEmploye وأضفنا  الحقول التالية :
الكود:
FieldDefs = <
      item
        Name = 'idempl'
        Attributes = [faReadonly]
        DataType = ftAutoInc
      end
      item
        Name = 'nomempl'
        DataType = ftString
        Size = 100
      end
      item
        Name = 'prenomempl'
        DataType = ftString
        Size = 100
      end
      item
        Name = 'dateNaiss'
        DataType = ftDate
      end
      item
        Name = 'adresseempl'
        DataType = ftString
        Size = 200
      end
      item
        Name = 'telempl'
        DataType = ftString
        Size = 20
-استعملنا الستايل : Metropolis UI Green الخاص بويندوز 8 لإعطاء أنتعاشه للمظهر ، وستكون إضافات أخرى إن شاء الله .
- وهذه صورة للبرنامج :
- تحميل التطبيق exe
- تحميل الكود الأصلي



عدل سابقا من قبل Couade في الخميس يونيو 09, 2016 2:00 pm عدل 4 مرات

معاينة صفحة البيانات الشخصي للعضو

2 رد: برنامج متابعة العمال في الأحد فبراير 22, 2015 10:50 am

للبحث عن عامل من بين العمال يمكن أن نستعمل عنصر TMaskEdit
ونكتب الكود التالي في الحدث : Onchange لهذا العنصر
الكود:
Procedure Tform2.Maskedit1Change(Sender :Tobject) ;
var filtre :string;
Begin
Filtre:='NomEmpl like '+quotedstr('%'+Maskedit1.text+'%') + 'Or PrenomEmpl Like '+ Quotedstr('%'+Maskedit1.text+'%');
CDSEMPLoye.Filter:=Filtre;
End;

لا تنسى تغيير خاصية Filtred =True ; للعنصر CDSEMPLoye



عدل سابقا من قبل Foxtromike في الإثنين فبراير 23, 2015 9:35 am عدل 1 مرات

معاينة صفحة البيانات الشخصي للعضو http://ta3bir.exprimetoi.net

3 رد: برنامج متابعة العمال في الأحد فبراير 22, 2015 9:45 pm

أضفنا ثلاث إطارات خاصة بالعمال والوظائف والمؤسسة
-كل إطار مخصص لمعالجة البيانات لجدول معين
أضفنا الأكواد التالية:
الكود:
procedure TForm2.FormShow(Sender: TObject);
 var nf:string;
Begin
  // Travailleurs
  nf := extractfilepath(paramstr(0)) + 'employ.slh';
  if fileexists(nf) then
    CDSEMPLOYE.LoadFromFile(nf);
  CDSEMPLOYE.Open;

  // Fonctions
  nf := extractfilepath(paramstr(0)) + 'Fonction.slh';
  if fileexists(nf) then
    CDSFonctions.LoadFromFile(nf);
  CDSFonctions.Open;
    // CDSEtabl
  nf := extractfilepath(paramstr(0)) + 'Etabl.slh';
  if fileexists(nf) then
    CDSEtabl.LoadFromFile(nf);
  CDSEtabl.Open;

end;
وهي أكواد خاصة بفتح البيانات المخزنة في ملفات خارجية

معاينة صفحة البيانات الشخصي للعضو

4 رد: برنامج متابعة العمال في الأحد فبراير 22, 2015 9:48 pm

أما كيفية حفظ البيانات في الملفات الخارجية فإننا استعملنا أكواد مشابهة للكود التالي :
الكود:
procedure Ttrvfrm.FormClose(Sender: TObject; var Action: TCloseAction);
  var nf:string;
begin
     // Travailleurs
  nf := extractfilepath(paramstr(0)) + 'employ.slh';
     Form2.CDSEMPLOYE.SaveToFile(nf);
  Action := cafree;
end;

معاينة صفحة البيانات الشخصي للعضو

5 رد: برنامج متابعة العمال في الأحد فبراير 22, 2015 9:49 pm

لتغيير لغة لوحة المفاتيح إلى اللغة العربية مباشرة عند البدأ في الكتابة استعملنا الكود التالي :
الكود:
procedure Ttrvfrm.DBEdit2Enter(Sender: TObject);
begin
  LoadKeyboardLayout('00000401', KLF_ACTIVATE);
  Application.BiDiKeyboard := '00000401';
end;

معاينة صفحة البيانات الشخصي للعضو

6 رد: برنامج متابعة العمال في الأحد فبراير 22, 2015 9:54 pm

للتنقل تلقائيا من عنصر إلى آخر عند الضرب على مفتاح الإدخال Enter استعملنا الكود التالي :
الكود:
procedure Ttrvfrm.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    Key := #0;
    PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);
  end
end;

معاينة صفحة البيانات الشخصي للعضو

7 رد: برنامج متابعة العمال في الأحد فبراير 22, 2015 9:59 pm

- جمعنا جميع الأوامر في عنصر TActionList
-أضفنا PopupMenu1 لعرض الأوامر السابقة.
استعملنا أكواد مشابهة للكود التالي :
الكود:
procedure TForm2.FonctionExecute(Sender: TObject);
begin
  Application.CreateForm(Tfnctfrm, fnctfrm);
end;

معاينة صفحة البيانات الشخصي للعضو

8 رد: برنامج متابعة العمال في الأربعاء فبراير 25, 2015 3:10 pm

يمكن ربط جميع الجداول السابقة (عمال ، مؤسسة ، وظيفة) ببعضها باستعمال جدول أخر يحتوي على مفاتيح خارجية (clé externes)  ثم نستعمل الأمر Filter

معاينة صفحة البيانات الشخصي للعضو

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة  رسالة [صفحة 1 من اصل 1]

إرسال موضوع جديد  إرسال مساهمة في موضوع

صلاحيات هذا المنتدى:
تستطيع الرد على المواضيع في هذا المنتدى