خارطة الموقع برنامج مبيعات ونقاط البيع وجرد المستودعات ومحاسبة الرئيسية من نحن اتصل بنا English
يازسيس لهندسة البرمجيات
Skip Navigation Links
خوارزميات وانظمة التشفيرExpand خوارزميات وانظمة التشفير
|
نظام إدارة المبيعات
|
نظام تأجير السيارات
|
نظام إدارة العيادات
|
تعليم & شروحاتExpand تعليم & شروحات
 
طريقة إدارة الأخبار العاجلة أو الإعلانات والتحكم بوقت ظهورها في الموقع (مثال للتحميل + شرح)
بواسطة احمد عادل موسى
2014-01-10

 

الإعلانات او الأخبار او المواضيع قد يكون لها مدة ظهور معينة يحددها مدير او مشرف الموقع وانا في هذا الشرح سأعتمد "خبر"

 

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

 

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

 

ولكن كيف؟

 

تعبر هذه ميزة في المواقع وتعود هذه التقنية على مدى خبرة المبرمج ولكن الآلية واحدة او ان اللعبة كلها قائمة على مبدأ الوقت.

 

وسأستخدم في هذا الشرح قاعدة بيانات SQL-Server ومن خلال VB.NET 2008 بيئة نت فريم ويرك 3.5

 

أولا سأقوم بإنشاء قاعدة بيانات وإنشاء جدول باسم NewsTable وسأقوم بإنشاء الحقول التالية:

 

 

الوظيفة

النوع والحجم

اسم الحقل

ترقيم تلقائي

int

id

وقت وتاريخ الإضافة

Nvarchar(50)

StartTime

وقت وتاريخ الإنتهاء

Nvarchar(50)

EndTime

مدة العرض

Nvarchar(50)

Minits

عنوان الخبر

Nvarchar(250)

Title

العمليات

Nvarchar(50)

ProssTime

 

 

والصورة التالية توضح المثال

أنتبه إن جميع الحقول السابقة أهمها أخر حقل وهو العمليات ، شخصيا انا سميته او أطلقت عليه هذه التسمية لأنني سأعتمد عليه في عملية إظهار الخبر

 

سأقوم بإنشاء صفحتين للتوضيح

  • الأولى لإضافة الأخبار وتحدد مدة عرضها والصفحة .
  • الثانية لإظهار الأخبار ولكن لا أريد كل الأخبار أريد فقط الأخبار والتي يكون وقتها ساري وإذا كان وقتها انتهى لا تعرض.

 

وهنا يأتي دور الحقل الأخير وهو ProssTime والذي سميناه العمليات، ولنبدأ في الصفحة الأولى وهي إضافة خبر..

 

وليكن ان مدة عرض الأخبار بالدقائق أي اريد ان يعرض خبر معين فقط 20 دقيقة او 30 دقيقة ... الخ

 

يجب ان يكون في هذه الصفحة صندوق نص  TextBox لإضافة العنوان و  DropDownList لإضافة قيم او أرقام وهي تمثل الدقائق  وهنا اللعبة.

 

في لغة البرمجة لو قمنا بإضافة كود في زر وكان لدي Lable واريد ان اظهر الوقت والتاريخ في هذا الـ Lable فإن الكود يكون

 

 

ولكن اريد ان يكون الوقت نفسه مضاف إليه 5 دقائق او 10 دقائق او ... قيمة معينة احددها انا كيف؟

 

من خلال هذه الكود

 

 

لاحظ ان وقت الدقائق ازداد 5 دقائق ...

 

لاحظ الفرق في لوحة التحكم  بين التاريخين ويتم إضافته بشكل تلقائي من خلال الكود المرفق

 

 

 

وهنا ركزّ ...

 

كيف تعمل صفحة عرض الخبر؟

عندما يتم تحميل الصفحة فإن او خطوة او كود يجب ان يكون هو قراءة الوقت والتاريخ الحالي ثم يتم مقارنته مع وقت وتاريخ انتهاء الخبر إذا كان أكبر فهذا يعني ان وقت الخبر قد انتهى لا تعرضه وإذا كان أقل يعني ان وقت هذه الخبر ساري قم بعرضه .

 

شاهد الفرق بين تاريخين

 

ولكن هناك مشكلة

 

إذا اعتمدنا على الوقت والتاريخ لابد ان يكون مشكلة لأن صيغة الوقت معقده مثلا AM و PM وهناك نظام 24 ساعة ونظام 12ساعة ... كيف نتعامل مع وقت ثابت على أي سيرفر ؟

 

هناك شيء اسمه صيغة او تنسيق الوقت مثلا يمكنك ان تعرض او تتعامل مع الوقت بدون تاريخ او بدن سنة او بدون دقائق او بدون ثواني او ان تعرض السنوات والأشهر والأيام بدون ساعة ... الخ وكل هذه الأمور تحددها من خلال String

 

وهنا يأتي دور الحقل الأخير وهو حقل العمليات لأن هذا الحقل سأقوم بتخزين الوقت بصيغة معينة انا احددها ولا اعتمد على وقت السيرفر او صيغة وقت السيرفر

 

مثلآ

إن كود إضافة الوقت بشكل افتراضي هو :

DateAndTime.Now.ToString

بحيث يكون الناتج

2014/01/10 05:55 PM

 

يمكنك ان تتحكم بصيغة هذا الوقت من خلال تبعية الكود بالتنسيق أي لو كتبنا

DateAndTime.Now.ToString ("yyyy/mm/dd hh:mm:ss")

أي ان

yyyy

تنسيق السنة 2014

yy

تنسيق السنة بدون 20 فقط 14

mm

الأشهر

dd

الأيام

hh

الساعات نظام 12

HH

الساعات نظام 24

mm

دقائق

ss

ثواني

 

 

اما الفواصل فيما بينها كأن يكون فواصل او \  او :  جميعها تعود عليك انت وبحسب التنسيق الذي تريده ولكن في موضوعي هذا انا اريد شيء مهم وغاية من هذا التاريخ والوقت هو تحويله الى رقم استطيع من خلاله إجراء المقارنات

 

في عملية إضافة الخبر اقوم بتخزين قيمة التاريخ والوقت بالثواني بنظام 24 ساعة بصيغة مجردة وبدن أي فواصل وهذه الصورة توضح ذلك

 

 

............

 

وتكون الصورة النهائية كالتالي:

 

 

اما صفحة العرض

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

 

بشرط يجب ان تكون صيغة التاريخ نفسها الصيغة التي استخدمها في عملية الإضافة ...

 

 

وهنا لتطبيق المثال سأستخدم GridView للعرض ويكون فيها كود العرض او Select

 

 

 

 

تحميل المثال

 

 

 
 
إعلان ... لأصحاب المتجار فقط - برنامج تنفيذي وليس سورس كود
تحميل برنامج مبيعات وجرد المستودعات

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