يوم سوالف، في 7 أغسطس القادم

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > ASP و ASP.NET
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: Jun 2006-
#1 (permalink)  
طريقة عمل عداد زوار (كلي) للموقع باستخدام السيشن وملف نصي


طريقة عمل عداد زوار للموقع

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

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

العداد يعتمد على السيشن
Session
وعلى ملف نصي لتخزين عدد الزيارت فيه

بسم الله نبدأ

قم بعمل ملف نصي جديد في داخل مجلد الموقع سميه مثلا
كود:
HitCounter.Txt
وهذا الملف سوف يحتوي على رقم الزوار للموقع

الان نريد كل ما يدخل زائر جديد للموقع نروح لهذا الملف نجيب الرقم الموجود به اصلا
ومن ثم نزيد على هذا الرقم رقم واحد يعني لو كان 20 نعمله 21
وبعد هذا نرجع نخزن الرقم الجديد في الملف وهكذا يكون عندنا عدد الزوار داخل الملف

في ملف
كود:
Global.asax
وتحديدا في دالة بداية السيشن وهي الدالة التي يتم تطبيق محتواها عند دخول لك للموقع
يعني بداية جلستك في الموقع وهذه هي الدالة

كود:
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' هنا نكتب الكود
End Sub
راجع هذا الدرس عن السيشن
http://www.swalif.net/softs/showthread.php?t=159868



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

هذا هو الكود

كود:
'جلب رقم عداد الزوار الموجود في ملف عداد الزوار HitCounter
        'ومن ثم زيادة الرقم الموجود في الملف رقم واحد واعادة تخزين الرقم الجديد

        'جلب عدد الزوار الموجود حاليا في الملف وتخزيه في متغير من نوع رقم طويل

        Dim HitCounterR As New IO.StreamReader("C:\HitCounter.txt")
        Dim HitCounter As Long = CLng(HitCounterR.ReadToEnd())
        HitCounterR.Close()

        'زيادة رقم واحد على المتغير الموجود بعدد الزواؤ
        HitCounter = HitCounter + 1

        'اعادة تخزين الرقم الجديد لعدد الزوار في الملف النصي
        Dim HitCounterW As New IO.StreamWriter("C:\HitCounter.txt")
        HitCounterW.Write(HitCounter)
        HitCounterW.Close()
لاحظ اننا في هذا السطر
كود:
Dim HitCounter As Long = CLng(HitCounterR.ReadToEnd())
عرفنا متغير من نوع رقم طويل وقمنا بتغزين محتوى الملف في داخله
ولكن قبل التخزين قمنا بتحويل محتوى الملف لرقم لانه في الاصل يكون من نوع نص
حولناه باستخدام دالة التحويل
CLng

لاحظ كذلك في هذا السطر
كود:
Dim HitCounterR As New IO.StreamReader("C:\HitCounter.txt")
وفي هذا السطر
كود:
Dim HitCounterW As New IO.StreamWriter("C:\HitCounter.txt")
في الاول قمنا بقرائة الملف لاحظ مسار الملف هذا لازم تعدله لكي يتناسب مع مكان الملف على الجهاز
وفي السطر الثاني كذلك كتبنا في الملف ولازم تعدل المسار كذلك





الان يكون عندنا عداد الزوار جاهز في ملف نصي


نقوم بعمل صفحة جديده في موقعنا لعرض عداد الزوار مثلا نسميها
كود:
hitcounter.aspx
في حدث تحميل الصفحة نقوم بجلب عدد الزوار المجود في الملف النصي
تحديدا في دالة تحميل الصفحة
كود:
Private Sub Page_Load
نجلب عدد الزوار من الملف النصي

كود:
'جلب عدد الزوار الموجود حاليا في الملف وتخزيه في متغير
        Dim HitCounterR As New IO.StreamReader(SitePath & "\HitCounter.txt")
        Dim HitCounter As String = HitCounterR.ReadToEnd()
        HitCounterR.Close()
الان عندنا عداد الزوار مخزن في متغير اسمه
كود:
HitCounter
تقدر تطبعه او تكتبه في المكان الي تحب ولكن الافضل اننا نرجع نرسم هذا الرقم على شكل صورة
راجع هذا الدرس لمعرفة طريقة الرسم
http://www.swalif.net/softs/showthread.php?t=162296


وهذا هو كود رسم العدد على شكل صورة

كود:
'عرض عداد الزوار باسلوب صورة مرسومه بشكل مميز
        Dim imgNew As System.Drawing.Image = New Bitmap(1, 1)
        Dim gc As Graphics = Graphics.FromImage(imgNew)
        Dim font As Font = New Font("Verdana", 12, FontStyle.Underline)
        Dim size As SizeF = gc.MeasureString(HitCounter, font)
        Dim width As Integer = CType(size.Width, Integer) + 1
        Dim height As Integer = CType(size.Height, Integer) + 1
        imgNew = New Bitmap(width, height)
        gc = Graphics.FromImage(imgNew)
        gc.FillRectangle(Brushes.White, 0, 0, width, height)
        gc.DrawString(HitCounter, font, Brushes.Black, 0, 0)
        imgNew.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)

لاحظ اناا رسمنا المتغير الي اسمه
كود:
 HitCounter
وهو المتغير الي جلبنا في داخله عدد الزوار من الملف النصي

يعني حدث تحميل الصفحة الي سنعرض بها عداد الزوار الكود فيه يكون بالكامل هكذا

كود:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here

        'جلب عدد الزوار الموجود حاليا في الملف وتخزيه في متغير
        Dim HitCounterR As New IO.StreamReader(SitePath & "\HitCounter.txt")
        Dim HitCounter As String = HitCounterR.ReadToEnd()
        HitCounterR.Close()

        'عرض عداد الزوار باسلوب صورة مرسومه بشكل مميز
        Dim imgNew As System.Drawing.Image = New Bitmap(1, 1)
        Dim gc As Graphics = Graphics.FromImage(imgNew)
        Dim font As Font = New Font("Verdana", 12, FontStyle.Underline)
        Dim size As SizeF = gc.MeasureString(HitCounter, font)
        Dim width As Integer = CType(size.Width, Integer) + 1
        Dim height As Integer = CType(size.Height, Integer) + 1
        imgNew = New Bitmap(width, height)
        gc = Graphics.FromImage(imgNew)
        gc.FillRectangle(Brushes.White, 0, 0, width, height)
        gc.DrawString(HitCounter, font, Brushes.Black, 0, 0)
        imgNew.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)


    End Sub

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


واعذروووني على الاخطاء الاملائيه اذا كانت موجوده لكن انا متأكد انها موجوده وبكثره غالبا
لاني قاعد اطبع بسرعه واكيد صار معي اخطاء في الطباعه ان شاء الله ماتكون كثيره


في امان الله وحفظة






__________________
احنا بكل فخر واخلاص باغة باروده ورصاص
وصقور تحب المقناص بجو الأردن عاليه
وفوق الأردن عاليه ........
nothing4u غير متواجد حالياً   قديم 13-07-2006, 12:42 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2006-
#2 (permalink)  

نسيت اقول وش اللغة المستخدمه

ASP.Net With VB.NET







__________________
احنا بكل فخر واخلاص باغة باروده ورصاص
وصقور تحب المقناص بجو الأردن عاليه
وفوق الأردن عاليه ........
nothing4u غير متواجد حالياً   قديم 13-07-2006, 12:49 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#3 (permalink)  

مشكور على الشرح الله يجازيك عنا خير






act غير متواجد حالياً   قديم 28-08-2006, 08:50 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Nov 2005-
#4 (permalink)  

جزاك الله بكل خير اخي على هدا الشرح






__________________
إبعث لي بقائمة الأشياء التي تحتاجها وسوف أخبرك بكيفية الإستغناء عنها :D
Dragon-tm(@)Hot.com
Mercedes غير متواجد حالياً   قديم 05-09-2006, 05:06 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2006-
#5 (permalink)  

مشكوور اخوى






__________________
I LoVe GoOgEl.CoM

P.R-O@MSN.COM
أمير الأحزان00 غير متواجد حالياً   قديم 09-09-2006, 05:56 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2006-
#6 (permalink)  

مشكورين اخواني وبالتوفيق للجميع يارب






__________________
احنا بكل فخر واخلاص باغة باروده ورصاص
وصقور تحب المقناص بجو الأردن عاليه
وفوق الأردن عاليه ........
nothing4u غير متواجد حالياً   قديم 09-09-2006, 10:41 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#7 (permalink)  

الله يجزاك خير أخوي ..

على الدرس الطيب






__________________
تم الإفتتاح

متخصص في التصميم

www.mumiz.cc
Mumiz غير متواجد حالياً   قديم 01-11-2006, 01:25 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2006-
#8 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة Mumiz
الله يجزاك خير أخوي ..

على الدرس الطيب
تسلم اخوي ماقصرت وحياك الله في اي وقت






__________________
احنا بكل فخر واخلاص باغة باروده ورصاص
وصقور تحب المقناص بجو الأردن عاليه
وفوق الأردن عاليه ........
nothing4u غير متواجد حالياً   قديم 01-11-2006, 02:21 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Mar 2000-
#9 (permalink)  

أقدم فائق أحترامي لك أخي أحمد






__________________
قمت بإغلاق مواقعي
من يريد شراء نسخه من جده طرب مراسلتي
r.-f[@]hotmail.com
الثلج غير متواجد حالياً   قديم 04-11-2006, 04:46 PM
رد مع اقتباس
رد


أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 08:20 AM بتوقيت المملكة العربية السعودية