GestionAbsences
Gestion des absences journalieres des eleves - Delphi/Object Pascal + Microsoft Access (MERISE). Memoire de fin de formation, technicien superieur en informatique.
- Active · last change 9-15-2026
- ★ 1 on GitHub
README
برنامج متابعة الغيابات اليومية للتلاميذ
Gestion des absences journalières des élèves — Delphi + Object Pascal + Microsoft Access
تطبيق سطح مكتب لتسيير غيابات وتأخرات التلاميذ في المؤسسة التربوية، منجز وفق منهجية MERISE كما وردت في مذكرة التخرج « تصميم وانجاز برنامج لمتابعة الغيابات اليومية للتلاميذ » (متوسطة الشهيد بالعربي أحمد — سيدي طيفور، ولاية البيض).
1. المتطلبات
| العنصر | التفاصيل |
|---|---|
| نظام التشغيل | Windows 7 أو أحدث |
| بيئة التطوير | Delphi 2009 أو أحدث (تم اختبار البنية على RAD Studio 10/11/12) |
| قاعدة البيانات | Microsoft Jet 4.0 (مدمج في ويندوز 32 بت) أو Microsoft Access Database Engine |
| المكونات | ADO (TADOConnection, TADOQuery) — مدمجة في Delphi، لا تحتاج أي مكتبة خارجية |
مهم : اجعل هدف البناء Win32 وليس Win64. موفر
Microsoft.Jet.OLEDB.4.0لا يوجد إلا بنسخة 32 بت. إذا كان لا بد من Win64، ثبّت Microsoft Access Database Engine 2010 (64-bit) وغيّرDB_FILENAMEفيSource/uDB.pasإلىGestionAbsences.accdb(البرنامج ينتقل تلقائيا إلى موفر ACE).
2. الفتح والتشغيل
- افتح
Source/GestionAbsences.dprبواسطة Delphi (سينشئ الـ IDE ملف.dprojتلقائيا عند أول فتح). - اضبط المنصة على Windows 32-bit.
Project → Build، ثمRun(F9).- عند أول تشغيل ينشئ البرنامج تلقائيا :
- المجلد
Data\ - ملف قاعدة البيانات
Data\GestionAbsences.mdb - الجداول الثلاثة عشر
- البيانات المرجعية (4 مستويات، 8 أقسام، 13 مادة، 8 حصص، إعدادات المؤسسة)
- المجلد
الحساب الافتراضي
?????? ???????????????? : admin
???????? ???????????? : adminغيّر كلمة المرور فورا من : أدوات ← المستخدمون.
3. بنية المشروع
GestionAbsences/
????????? README.md
????????? Assets/ ?????? ???????????????? ?????????? ??????????????????
??? ????????? app.ico ???????????? ????????????????
??? ????????? logo.png ???????????? ?????????????????? (?????????????? ?????????? ??????????????)
??? ????????? Cards/ ???????????? ???????????? ???????????? ???????????????? (+ CREDITS.md)
????????? Database/
??? ????????? 01_CreateTables.sql ?????????????? SQL ???????????? ?????????????? (?????????????? / ?????????????? ????????????)
????????? Docs/
??? ????????? 01_Modele_de_donnees.md ?????????? ???????????????? + MCD + MLD + ?????????? ????????????????
??? ????????? 02_Chapitre3_Application.md ???? ???????? ?????????? ???????????? ???? ??????????????
????????? Reports/ ?????????????? ???????????????????? (HTML ?????????? ??????????????)
????????? Source/
????????? GestionAbsences.dpr ?????? ??????????????
????????? uLang.pas ???? ???????????? ?????????????? ??????????????
????????? uUtils.pas SHA-1?? ???????????????? RTL?? ?????????? ??????????????
????????? uDB.pas ?????????? ?????????????? ???????????????? + ?????????? ??????????????????
????????? dmMain.pas/.dfm ???????? ???????????????? (ADO)
????????? uLogin.pas/.dfm ?????????? ????????????
????????? uMain.pas/.dfm ?????????????? ???????????????? ?????????? ??????????????
????????? uStudents.pas/.dfm ?????????? ????????????????
????????? uRefData.pas/.dfm ??????????????????/??????????????/????????????/????????????????/??????????/??????????????
????????? uAbsence.pas/.dfm ?????????? ???????????????? ?????????????? ??? ?????????????? ????????????????
????????? uJustify.pas/.dfm ?????????? ????????????????
????????? uNotices.pas/.dfm ?????????????????? ????????????????????????
????????? uDocs.pas/.dfm ???????? ???????????? ???????????????? ????????????????
????????? uReports.pas/.dfm ???????????????? ??????????????????????
????????? uUsers.pas/.dfm ???????????????????? ????????????????????
????????? uSettings.pas/.dfm ?????????????? ??????????????مجلد Assets
مجلد Assets يُنسخ بجانب الملف التنفيذي عند التوزيع. يبحث عنه البرنامج
بدءا من مجلد التنفيذي ثم في المجلدات الأعلى، فيعمل كذلك أثناء التطوير عندما
يكون التنفيذي في Win32\Debug. إذا غاب المجلد يشتغل البرنامج عاديا :
البطاقات تبقى بيضاء والشعار يختفي، دون أي رسالة خطأ.
- خلفيات البطاقات : تُمزج مع لون البطاقة عند العرض فتبقى باهتة خلف النص
(
DrawWashedCoverفيuUtils.pas). لتغيير خلفية يكفي استبدال الملف بنفس الاسم فيAssets\Cards. مصادر الصور ورخصها فيAssets/Cards/CREDITS.md. - الشعار : يعرض البرنامج شعار المؤسسة المضبوط في أدوات ← إعدادات المؤسسة،
وعند غيابه يعرض
Assets\logo.pngويستعمله كذلك في ترويسة الوثائق المطبوعة. - الأيقونة : مضمَّنة في
Source/GestionAbsences.resوتُقرأ أيضا منAssets\app.icoعند الإقلاع. إن أعاد الـ IDE توليد ملف المورد فاضبطها من Project → Options → Application → Load Icon علىAssets\app.ico.
مبدأ تصميمي : كل نصوص الواجهة موجودة في uLang.pas فقط، وملفات .dfm
تحتوي على محارف ASCII فقط. هذا يمنع أي مشكل في ترميز المحارف عند فتح المشروع
على جهاز آخر.
4. تبديل اللغة (عربي / فرنسي)
البرنامج ثنائي اللغة : العربية (الافتراضية) والفرنسية.
- التبديل من : أدوات ← اللغة ← العربية / الفرنسية (Outils → Langue → Arabe / Français)
- التبديل فوري ولا يحتاج إعادة تشغيل : تتغير التسميات، ويتغير اتجاه الواجهة تلقائيا (يمين‑يسار للعربية، يسار‑يمين للفرنسية)، وكذلك اتجاه رسائل الحوار.
- اللغة المختارة تُحفظ في جدول
AppSettingsتحت المفتاحLANG، فتُسترجع عند التشغيل القادم. - التقارير تتبع اللغة كذلك : سمة
dirفي ملف HTML، وترويسة الوثيقة، وأسماء الأيام والأشهر (بالتسمية المغاربية : جانفي / janvier …).
ما الذي لا يتغير مع اللغة — ولماذا
| العنصر | يبقى بالعربية | السبب |
|---|---|---|
| نصوص الوثائق الرسمية (الإشعارات، الإعذار بالشطب، الشهادة المدرسية، ورقة الدخول) | نعم | وثائق إدارية جزائرية تُحرَّر بالعربية، ونصوصها منقولة عن المذكرة |
| البيانات المرجعية (أسماء المواد، المستويات، الأقسام) | نعم | هذه معطيات مخزَّنة في القاعدة وليست نصوص واجهة — تُعدَّل من واجهة البيانات الأساسية |
إضافة لغة ثالثة
- أضف قيمة إلى
TAppLangفيuLang.pas(مثلاlangEN). - انسخ الإجراء
LoadFrenchوسمّهLoadEnglishوترجم القيم. - أضف حالة في
SetLanguageوSetLanguageByCode. - أضف عنصرا في قائمة أدوات ← اللغة في
uMain.
بنية uLang.pas : 314 نصا × عدد اللغات، كلها متغيرات string تُملأ عند
التبديل، لذلك لا يحتاج أي ملف آخر إلى تعديل.
5. دليل الاستعمال السريع
أ) التحضير (مرة واحدة في السنة)
- أدوات ← إعدادات المؤسسة : اسم المؤسسة، المديرية، المدير، مستشار التربية، العتبات.
- البيانات الأساسية ← السنوات الدراسية : أنشئ السنة ثم تعيين كسنة جارية.
- البيانات الأساسية ← الأقسام : أنشئ الأقسام واربطها بالمستوى والسنة.
- البيانات الأساسية ← المواد / الأساتذة / الحصص : عدّلها حسب المؤسسة.
- التلاميذ : أدخل ملفات التلاميذ ووزّعهم على الأقسام.
ب) العمل اليومي
- الغيابات ← تسجيل الغيابات اليومية
- اختر التاريخ + القسم + الحصة (والمادة والأستاذ اختياريا) ثم عرض قائمة التلاميذ.
- انقر على خانة الحالة لتتنقل بين: حاضر ← غائب ← متأخر. انقر على خانة مبرر لتغييرها. اكتب دقائق التأخر والسبب مباشرة في الشبكة.
- حفظ كشف الغيابات.
- الحالة «حاضر» تحذف أي تسجيل سابق ← يمكن تصحيح الأخطاء بسهولة.
- قيد الوحدانية يمنع ازدواج التسجيل لنفس التلميذ/التاريخ/الحصة.
ج) المتابعة
- الغيابات ← تبرير الغيابات : حدّد سطرا أو عدة أسطر (Ctrl / Shift) ثم تبرير المحدد.
- الوثائق ← الإشعارات : اضغط اقتراح الإشعارات آليا ← ثم طباعة الوثيقة.
- التقارير : اختر النوع والفترة ← عرض للمعاينة، طباعة لتوليد الوثيقة.
6. الوثائق والتقارير
تُولَّد كل الوثائق بصيغة HTML في مجلد Reports\ وتُفتح تلقائيا في المتصفح،
ثم تُطبع منه (Ctrl+P). اختير هذا الأسلوب لأنه :
- يدعم الكتابة من اليمين إلى اليسار دعما كاملا وبدون تشويه للحروف العربية،
- لا يحتاج أي مكوّن تقارير خارجي (QuickReport / FastReport) قد لا يكون مثبتا،
- يسمح بالتصدير إلى PDF مباشرة من المتصفح.
الوثائق المتوفرة : قائمة التلاميذ، استمارة معلومات التلميذ، التقرير اليومي، سجل الغيابات والتأخرات، حوصلة حسب القسم، التلاميذ الأكثر غيابا، نسب الحضور، الإشعار الأول، الإشعار الثاني، الإعذار بالشطب، استدعاء الولي، ورقة الدخول، الشهادة المدرسية.
7. حل المشاكل الشائعة
| العطل | الحل |
|---|---|
Provider cannot be found |
ابنِ المشروع في Win32، أو ثبّت Access Database Engine |
تعذر إنشاء ملف قاعدة البيانات |
تحقق من صلاحيات الكتابة في مجلد البرنامج (لا تضعه في Program Files) |
| الحروف العربية تظهر مربعات | تأكد أن خط النماذج هو Tahoma وأن Font.Charset = ARABIC_CHARSET |
| الواجهة تظهر من اليسار | ApplyRTL يُستدعى في FormCreate لكل نافذة — تأكد من عدم حذفه |
| الشهر بالفرنسية في التقارير | أسماء الأشهر مضبوطة في uUtils.ArabicMonthName (التسمية المغاربية) |
8. ملاحظة أكاديمية
الوثيقتان في مجلد Docs/ تكملان المذكرة :
01_Modele_de_donnees.mdيحتوي على قاموس المعطيات، قواعد التسيير، النموذج المفاهيمي MCD بتعداداته، قواعد الانتقال، والنموذج المنطقي MLD — وهي العناصر المدرجة في فهرس المذكرة والتي لم تُحرَّر بعد.02_Chapitre3_Application.mdنص جاهز للفصل الثالث (الجانب التطبيقي).

