الرئيسية | مركز الدعم | نبذة عنا | اتصل بنا | تابعنا على فيسبوك | English
YAZSYS.COM, Pos, Pop, Point Of Sale
منذ عام 2012 - 2019 عدد العملاء حتى الأن: 2766
تحميل نظام المبيعات  
 
طريقة إدارة الأخبار العاجلة أو الإعلانات والتحكم بوقت ظهورها في الموقع (مثال للتحميل + شرح)

 

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

 

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

 

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

 

ولكن كيف؟

 

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

 

وسأستخدم في هذا الشرح قاعدة بيانات 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

 

 

 

 

تحميل المثال

 

 

 
 

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