الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تصميم برنامج لمكتب سيارات سياحية Vfp9

مغلق
بدأه Shadowz في 27 أكتوبر 2007 · 10 رد · 7,093 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم،،

أخي العزيز sayedall تحياتي

كما وعدت سابقا بأن اضع برنامج مع الشرح

هذا برنامج جديد أبدأ فيه من الصفر وبأسلوب بسيط للتمكن من متابعة الخطوات

الهدف منه تصميم نظام متابعة لمكاتب تأجير السيارات السياحية

اتمنى الاستفادة والافادة للجميع،،

مع تحياتي

أخوكم عبدالله.

CarRental.rar

أستغفر الله العظيم و أتوب إليه

#2

السلام عليكم شكرا على ردك و تعاونك والبرنامج ووقتك ويا ريت تسمح باضافة بعض التفاصيل الى البرنامج والنقاش حولها لرفع مستوى هذا البرنامج لاعلى درجة ممكنةالسلام عليكم شكرا على ردك و تعاونك والبرنامج ووقتك ويا ريت تسمح باضافة بعض التفاصيل الى البرنامج والنقاش حولها لرفع مستوى هذا البرنامج لاعلى درجة ممكنة

#3

برنامج حلو وممتاز والشكل العام يعبر عن ذوق رائع

في حال الاضافات سيتم اعلامكم يرحمنا الله واياكم

أحب الصالحين ولست منهم لعـلي أنـــال بهم الشـفاعة

وأكره من تجارته المعاصي ولو كنا سواء في البضاعة

-------------------------------------------------------

ولقد عشقت بني القسام قاطبة فهل تراني بحب القوم أتصل ؟

#4

عمل رائع جداً

و ذوق رفيع مع البساطة

هل يمكنكم تقبل التعديل التالي مع نفس المشروع (مرفق)

فقط قمت بعمل ترتيب لملفات المشروع في فهارس

كل ما عليك القيام به لفتح المشروع في بيئة VFP هو عمل Double Click على البرنامج الصغير setup.prg

هذا بإعتبار أن المجلد CarRental موجود على الـ C:\ Drive

CarRental01.rar

#5

السلام عليكم ورحمة ،،،

الاخوة الاعزاء..شكرا لكم هذا كله والله من ذوقكم...

الاخ العزيز Baker Salah شكرا على التعديلات

وانا عدلت ال Paths الداخلية في البرنامج حسب طلبك

مع انه الواحد تعب من كثرتها ايام fpw2.6 علما انه التعامل مع Project Manager كثير سهل

لكن بالنسبة للجداول أظن من الافضل جعلها مفصولة لانه ممكن في أحد الايام نفكر نطور الموضوع

فمثلا ممكن تكون الجداول اساسا على جهاز كمبيوتر آخر

وممكن يشتغل على البرنامج اكثر من مستخدم واحد فيكون الاتصال بالجداول اسهل حيث لا يحتاج الامر الا لتغيير ال DataPath

وممكن العميل يفكر انه يستخدم البرنامج لاكثر من شركة على فرض تم ربط البرنامج محاسبيا وهنا تغيير ال DataPath

اسهل ايضا

أخي sayedall إن شاء الله قريبا ننقاش التفاصيل من البداية

مع تحياتي للجميع

CarRental.rar

أستغفر الله العظيم و أتوب إليه

#6

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله

اخواني الاعزاء

عذرا على تاخري ولكن للأسف فقد اضعت الجزء الجديد من البرنامج بسبب اضطراري للفورمات ( طبعا دون عمل نسخة احتياطية للأسف )

لذا واختصاراً وللسرعة فسوف اشرح البرنامج هنا.... الى ان يكتمل إن شاء الله

- الهدف : انشاء برنامج تعليمي صغير يهتم بعقود تأجير السيارات السياحية

- الأفكار الرئيسية : انشاء قاعدة بيانات تحتوي على الركائز الاساسية التي سيقوم عليها البرنامج مبدئيا وهي الزبائن، السيارات، وتفاصيل العقود

-انشاء برنامج للتعامل مع هذه البيانات

نبدأ أولا بتحديد الملف الذي سوف نصمم فيه البرنامج

الشاشة الرئيسية للفوكس برو تحتوي على شاشة تسمى

Command Window

ونستطيع من خلالها تنفيذ أي أمر ( أي انها نقطة البداية )

ننشأ على المحرك E: ملف يدعى Cars للبدء في تصميم البرنامج

نستخدم الاوامر التالية:

Set Default to E:\ التغيير الى

Md Cars انشاء مكتبة البرنامج الرئيسي

Set Default to E:\Cars الدخول الى مكتبة البرنامج

post-113506-1195673645_thumb.jpg

التصور المبدئي لقاعدة البيانات ( قاعدة بيانات تحتوي على ثلاثة جداول هي الزبائن والسيارات والعقود )

datebase name : MyData

table1 : Customers.dbf

table2 : Cars.dbf

table3 : Contracts.dbf

ننشأ الان قاعدة البيانات بالامر:

Create DataBase MyData

ونستطيع عمل ذلك من القائمة

File > Create New > DataBase

post-113506-1195674327_thumb.jpg

تم تعديل هذه المشاركة بواسطة a.jallad في 21 نوفمبر 2007 في 23:08

أستغفر الله العظيم و أتوب إليه

#7

هذا هو محرر قاعدة البيانات وتظهر فيه قائمة أوامر نستطيع من خلالها اما انشاء جداول او اضافة جداول، اول عمل روابط لقواعد بيانات اخرى سواء كانت لقواعد الفوكس برو او لقواعد بيانات آخرى ( مثل الاكسس على سبيل المثال )

والان ننشأ الجدول الاول ( جدول الزبائن ) عن طريق أمر انشاء جدول الموجود في قائمة الاوامر المذكورة

post-113506-1195674697_thumb.jpg

اذا الجدول الاول هو

DBF.Customers

ويحتوي على الحقول التالية:

رقم الزبون، اسم الزبون، نوع اثبات الشخصية، رقم اثبات الشخصية، رقم الهاتف، عنوان الزبون مع ملاحظة اننا اعطينا اسم باللغة العربية لكل حقل

post-113506-1195674944_thumb.jpg

سيظهر لنا الجدول في القاعدة على النحو التالي:

post-113506-1195675003_thumb.jpg

اما الجدول الثاني وهو جدول السيارات فسوف نضيفه برمجيا عن طريق ال

Command Windows

CREATE TABLE Cars ( CarNo n(10) NULL, CarType c(50) Null,;
CarModel c(30) Null, CarColor c(15) Null )

وسوف يتم اضافته لقاعدة البيانات مباشرة طالما انها مفتوحة

ويتبقى علينا عمل فهرسة للمفتاح الرئيسي

Index on CarNo Tag CarNo

هذه هي الجداول الان وسوف نصمم الجدول الاخير الخاص بالعقود لاحقا

New Project نبدا الان بعمل البرنامج ومن الخلال القائمة نختار

MyProject ونسميه

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

post-113506-1195676200_thumb.jpg

تم تعديل هذه المشاركة بواسطة a.jallad في 22 نوفمبر 2007 في 02:33

أستغفر الله العظيم و أتوب إليه

#8

حسنا

نبدأ الان بتصميم نقطة انطلاق للبرنامج

نعمل برنامج صغير لوضع الاعدادات الاساسية فيه ونسميه Go

ونستطيع عمل هذا البرنامج اما عن طريق ال Project manager

او بكتابة الامر التالي في ال Command Window

public cMyLocation
cMyLocation=fullpath(sys(2003))
set default to &cMyLocation 
Application.visible=.f. 
set sysmenu off 
set talk off 
close databases all 
clear 
set deleted on 
set console off
set help off 
set safety on 
set exclusive off 
set refresh to 

private oMainMenu
do form frmMain.SCX with cMyLocation NAME oMainMenu linked 
Read Events

function AppExit 
if vartype(oMainMenu) = "O" 
oMainMenu.release() 
endif
set sysmenu to defa 
set sysmenu on 
clear events 
endfunc

انشاء متغير لاستخدامه لتحديد مكتبة البرنامج public cMyLocation

وتعبئة قيمته بالمسار الكامل للبرنامج cMyLocation=fullpath(sys(2003))

لتوجيه مكتبة العمل لنفس المكتبة التي يبتدئ منها البرنامج set default to &cMyLocation

لاخفاء شاشة الفوكس برو الرئيسية Application.visible=.f.

لاخفاء القائمة الرئيسية الخاصة بالفوكس set sysmenu off

لمنع الفوكس من اظهار نتائج بعض العلميات على الشاشة set talk off

لاقفال كافة قواعد البيانات close databases all

تنظيف الشاشة clear

لتجاهل البيانات المحذوفة من الجداول set deleted on

لمنع ظهور الكتابة على الشاشة اثناء تنفيذ بعض الاوامر set console off

لمنع ظهور شاشة المساعدة set help off

لاعطاء تنبيه عند تنفيذ بعض الاوامر مثل حذف ملف وخلافه set safety on

لفتح الملفات اكثر من مرة لاستخدامها من قبل عدة مستخدمين في نفس الوقت set exclusive off

3.5 تحديد الوقت اللازم لعمل تجديد للبيانات في حال استخدامها من قبل عدة اشخاص set refresh to

private oMainMenu

اعطاء صفة للمتغير للاستخدام ضمن حدود معينة واخفاء قيمته من البرامج الاخرى Private

التالي امر لاطلاق النموذج الاساسي للبرنامج والذي سنطلق عليه frmMain

بالاضافة لربطه باسم للقائمة التي ستظهر معه والتي سنصممها

do form frmMain.SCX with cMyLocation NAME oMainMenu linked

نحتاج هذا الامر في حال تحويل البرنامج الى برنامج تنفيذي حيث يبدأ من هنا تنفيذالبرنامج

Read Events

ونضيف لآخر البرنامج الدالة التالية لتنفذ عند الخروج من البرنامج

function AppExit

للتأكد من وجود القائمة التي انشأناها if vartype(oMainMenu) = "O"

وحذفها من الذاكرةان وجدت oMainMenu.release()

endif

ارجاع قائمة الفوكس الرئيسية set sysmenu to defa

وتفعيلها set sysmenu on

لاعطاء الامر النهائي للخروج من البرنامج clear events

endfunc

وبعد انهاء البرنامج نقوم بواسطة القائمة او الزر الايمن للماوس بتحديد كنقطة بداية للمشروع او التطبيق

SET MAIN

تم تعديل هذه المشاركة بواسطة a.jallad في 22 نوفمبر 2007 في 04:05

أستغفر الله العظيم و أتوب إليه

#9

سلام

تحياتي للجميع

أهلا عبد الله ،،

- في الحقيقية أن فكرة المشروع جيدة... وفي نظري أنه بحاجة منك إلى التحليل أكثر منه للبرمجة!.

- نحن كمساعدين لك لا نعرف كثيرا عن هدفك! دور تأجير السيارات في بلدك قد تختلف عن ماهو في بلدي! هل هذا صحيح؟

- إذا ما هو رأيك في البدء في تحليل البيانات المطلوبة في مشروعك ومن ثم ندلف إلى واجهات المستخدم؟

- وفي نظري أن هذا هو الطريق الصحيح لبناء تطبيقات قواعد البيانات...

أتمنى للجميع التوفيق

القحم

#10

أهلا أخي القحم ( نورت المنتدى – وين هل الغيبة ان شاء الله خير!! )

أصبت أخي العزيز في أن التخطيط السليم والتحليل هما الاساس للبدء في أي تطبيق

ولكن هذا طبعي " لا اعرف كيف امسك ورقة واخطط لما أريد فعله وانما أبدأ عندما تتبلور الفكرة في رأسي مباشرة..."

علما بان الهدف الاول من البرنامج هو شرح كيفية العمل مع الفوكس برو وأدواته اكثر منه تحليل للبرنامج ( فعسى ان أستفيد من أحد الخبراء أو يستفيد منه احد المبتدئين )

على كل أهلا وسهلا بك مرة أخرى واتمنى ان لا يتكرر غيابك عن منتداك

هذا توضيح بسيط للافكار التي تدور برأسي حول البرنامج

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

مع التنويه على اني لم ارى أي عقد سابقا ولا علم لي بطبيعة العمل الفعلية في هذا المجال لذا أشكر المساعدة مقدما ان كان لكم رأي فيها

ونبدأ بالجداول

الجدول الرئيسي

جدول العقود

تاريخ العقد

رقم العقد

اسم الزيون ( ويتم اختياره من جدول الزبائن )

الأشخاص المخولين بقيادة السيارة

السيارة المؤجرة ( ويتم اختيارها من جدول السيارات )

تاريخ بدء العقد

مدة العقد المتفق عليها بالأيام ( ومنه تاريخ انتهاؤه، علما بأن جزء اليوم سيعتبر يوما )

قيمة الإيجار باليوم ( ومنه قيمة العقد )

القيمة المدفوعة مقدما ( وتخزن في جدول منفصل لبيان الدفعات والمبالغ المستحقة )

التأمين المدفوع ( نقد وشيكات )

ملاحظات التأمين المدفوع

الكفلاء ( ان وجدوا )

ملاحظات خاصة بالعقد

ملاحظات خاصة بالسيارة عند تسليمها للزبون

تاريخ ارجاع السيارة ( ومنه سنحدد ان كان علينا اضافة اجور اخرى على الزبون ام لا، ومنها كذلك سنحدد مدى التزام الزبون بالعقود )

ملاحظات خاصة بالسيارة عند ارجاعها

رقم الفاتورة ( حيث ان العقد سيعتبر فاتورة )

الجداول المساعدة:

جدول الزبائن Customers

رقم بطاقة الزبون

اسم الزبون

جنسيته

نوع وثيقة اثبات الشخصية

رقم وثيقة اثبات الشخصية

مكان اصدارها

تاريخ ميلاده

مكان اقامته

رقم الهاتف

معرفين

جدول السيارات Cars

رقم بطاقة السيارة

نوع السيارة

سنة الصنع

لون السيارة

رقم اللوحة

ملاحظات عن السيارة

جدول فواتير Invoices

رقم الفاتورة

تاريخ الفاتورة

رقم العقد

القيمة

البيان

نقدا/ذمم

جدول الدفعات Payments

رقم السند

رقم العقد

القيمة المدفوعة

ملاحظات عن الدفعة

وستكون جميع العلاقات بين الجداول المذكورة مبينة على ( رقم العقد )

التقارير المطلوبة

العقود

طباعة نموذج عقد

تقرير بكافة العقود

تقرير العقود الحالية

تقرير العقود المنتهية

تقرير العقود المتجاوزة

تقرير التأمينات المقدمة من قبل الزبائن

تقارير الزبائن

طباعة بطاقة زبون

تقرير بكافة الزبائن

تقرير بالزبائن الحاليين

تقرير بالزبائن الملتزمين والغير ملتزمين

تقارير السيارات

طباعة بطاقة سيارة

تقرير بكافة سيارات المكتب

تقرير بالسيارات المؤجرة

تقرير بالسيارات المتوفرة

تقرير بالسيارات المتوقع توفرها خلال فترة معينة

التقارير المالية

كشوف حساب تفصيلية للزبائن

كشف اجمالي بالذمم

تقرير ايرادات العقود

تقرير الدفعات الواردة

تقرير الدفعات المستحقة

تقرير المبالغ الواجب دفعها بسبب تجاوز العقود

النماذج المطلوبة

نموذج عقد التأجير

نموذج فاتورة

نموذج سند قبض

نموذج بطاقات الزبائن

نموذج بطاقات السيارات

نموذج للتقارير

بالاضافة لنموذج البرنامج الاساسي

هذه الافكار الموجودة لدي في الوقت الحالي

وهنا لا انوي التطرق لتكاليف السيارات ومصاريفها لان الموضوع سيتحول لبرنامج محاسبة

عذرا ان اطلت وبانتظار آراؤكم الكريمة

مع تحياتي

أستغفر الله العظيم و أتوب إليه

#11

السلام عليكم

انجازرائع يا عزيزي جلاد في هذا البرنامج.

انا اطلعت على البرنامج بشكل سريع وعندي ملاحظة سريعة ايضا

يستحسن اضافة الملف config.fpw اما في مجلد البرنامج او اضافتة مع البرنامج . فحاول تلاحظ ماذا سيحدث اذا وضعت الملف مع مجلد البرنامج وشغلت البرنامج (بمعنى اخر ضيف الملف وشغل البرنامج واحذف الملف وشغل البرنامج)

فياريت لو تمهلني يومين او ثلاث لعمل البرنامج بصيغتي وراح اشرح الخطوات واتمنى ان تعم الفائدة على الجميع.

وشكرا

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…