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

دروس شبه يومية لل Visual Basic .Net

مغلقرائج
بدأه عبدالرحمن في 14 يناير 2003 · 305 رد · 102,183 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#51

التشفير باستخدام MD5

تستخدم خوارزمية MD5 لتشفير الكلمات السرية , والميزة من هذه الخوارزمية انها غير قابلة لفك التشفير Decrypt , وبالتالي فانه من المستحيل سرقة الكلمة السرية حتى من مشرف او مدير الموقع .ولكن تبقى قضية ال Login . فلو ادخل المستخدم الكلمة السرية كي يعمل Login فكيف للموقع معرفة ما اذا كانت الكلمة السرية صحيحة ام لا الا اذا قام بفك التشفير و مطابقتها بالاصل , وبما ان MD5 غير قابلة لفك التشفير فهناك طريقة اخرى للتاكد من الكلمة السرية وهي ان يقوم الموقع بتشفير الكلمة السرية التي ادخلها المستخدم ومن ثم يقوم بمقارنة الشفرة بالشفرة المخزنة في قاعدة البيانات , فاذا كانت متطابقة فانه يقوم بال Login والا فلا.

الدالة التي تقوم بتشفير النص هي ComputeHash والتي تقوم بتحويل البايتات التي تمثل النص الى مصفوفة بايتات , ولانها تحول بايتات النص فيجب اولا تحويل النص الى بايتات وذلك باستخدام الكلاس UTF8Encoding والذي به الدالة GetByte والتي تقوم بتحويل النص الى بايتات (كما هو معلوم فان اصل البيانات مكون من بايتات)

اليكم كود التشفير باستخدام خوارزمية MD5 :

        'النص المراد تشفيره

        Dim txt As String = "Encrypt me!"



        'متغير من فئة بايت والذي سوف يمثل النص

        Dim Bytes As Byte()

        ' الكلاس الذي يستخدم لتحويل النص الى بايتات



        Dim encoder As New UTF8Encoding()



        'MD5 Class

        Dim md5Hasher As New MD5CryptoServiceProvider()



        ' عملية التشفير : تحويل النص الى البايتات التي تمثله - تحويل بايتات النص الى مصفوفة بايتات

        Bytes = md5Hasher.ComputeHash(encoder.GetBytes(txt))

ولا تنسى ان تكتب قبل كل شيء

Imports System.Security.Cryptography

Imports System.Text

Imports System.Data

يبقى علينا

1- حفظ الكلمة السرية في قاعدة بيانات .

2- عملية الدخول Login .

ارجو من اهل الخبرة ان يساعدوننا فيها .

#52

اليكم صورة للكلمات السرية المشفرة في قاعدة البيانات باستخدام MD5

enc.data.gif

#53

الله يعطيك العافية

مع انني ليس لدي فيجول بيسك دوت نت ولم أجدها لكي أشتريها وانا اعمل على فيجول بيسك 6 واريد التغيير من VB6 إلى VB.NET وعندما دخلت إلى هنا وجدتها جميلة ولكن دلني على مكان عبر الأنترنت يبيع هذا الأصدار من VB.Net لكي أقوم بشرائها أو مكتب يتعامل بالحوالات البريدية أو المصرفية لكن ليس بالكريديت كارت

جزراك الله عنا خيرا

تزودوا فأن خيرا الزاد التقوى

اللهم انصر اخواننا المسلمين المجاهدين في كل مكان

#54

سرقة الصفحات Scraping

بصراحة لم اجد لScraping ترجمة مناسبة , ولكن معناها هو الاتي:

[WEB]http://www.google.com[/WEB]

ولكن ب ASP.NET هي كالاتي:

1- اضف زر امر .

2- اضف الاداة Literal (والتي سوف تعرض فيها الصفحة) .

3- اكتب الكود التالي:

        'متغير من فئة webclient

        Dim wc As New WebClient()



        'القيمة المسترجعة من الدالة DownloadData على شكل بايتات

        Dim bytes() As Byte

        bytes = wc.DownloadData("http://www.asp.net")



        ' تحويل البايتات الى سلسلة نصية

        Dim objUTF8 As New UTF8Encoding()

        Dim html As String

        html = objUTF8.GetString(bytes)



        ' عرض الصفحة

        Literal1.Text = html

ولا تنسى

Imports System.Net

Imports System.Text

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

ملاحظة:لو استبدلت الاداة Literal بالاداة TextBox فسوف يعرض كود ال HTML للصفحة .

#56

هل رأيت رسالة الخطأ التي تظهر لي عندما أريد عرض صفحات الانترنت

ولدي سءال هنا وهو كود أنشاء المجلد لم ينفذ معي وليس هناك فئنة من نوع diroctry

ربما أكون مخطي ولكن ياليت تصححلي

وياليت تشوف الصورة التالية وتقول اين الخطأ

4.zip

#57

المدة الزمنية اللتي استغرقها السيرفر منذ تشغيله

يمكنك معرفة معلومات كثيرة عن السيرفر الذي يستضيف موقعك . واذا كان السيرفر محليا LocalHost فهذا يعني ان السيرفر هو الجهاز الذي تشتغل عليه .

الكود التالي يوضح كيفية معرفة المدة الزمنية التي استغرقها السيرفر من اخر مرة تم اعادة تشغيله فيها . يعني من باب اللقافة :P .

اضف زر امر واكتب الكود التالي:

        Dim ts As TimeSpan = TimeSpan.FromMilliseconds(Environment.TickCount)

        Response.Write("The Web server has been running for:" & ts.Days & " days, " & ts.Hours & " hours, " & "and " & ts.Minutes & " minutes.")

الكلاس TimeSpan يفيدك في معرفة مدة زمنية معينة , ولان TickCount ترجع بقيمة المللي ثانية فاننا استخدمنا الدالة FromMilliseconds لنحسب مدة زمنية تحسب بالمللي ثانية . وكما نعرف فان TickCount تفيدك في معرفة المدة الزمنية التي استغرقها النظام , وبما اننا ننشئ تطبيقات للويب فان النظام هنا سيكون السيرفر .

واخيرا نستخدم الخواص Days , Hours , Minutes , Secondes لمعرفة الزمن بالتحديد .

#58

المدة الزمنية اللتي استغرقها السيرفر منذ تشغيله

يمكنك معرفة معلومات كثيرة عن السيرفر الذي يستضيف موقعك . واذا كان السيرفر محليا LocalHost فهذا يعني ان السيرفر هو الجهاز الذي تشتغل عليه .

الكود التالي يوضح كيفية معرفة المدة الزمنية التي استغرقها السيرفر من اخر مرة تم اعادة تشغيله فيها . يعني من باب اللقافة :P .

اضف زر امر واكتب الكود التالي:

        Dim ts As TimeSpan = TimeSpan.FromMilliseconds(Environment.TickCount)

        Response.Write("The Web server has been running for:" & ts.Days & " days, " & ts.Hours & " hours, " & "and " & ts.Minutes & " minutes.")

الكلاس TimeSpan يفيدك في معرفة مدة زمنية معينة , ولان TickCount ترجع بقيمة المللي ثانية فاننا استخدمنا الدالة FromMilliseconds لنحسب مدة زمنية تحسب بالمللي ثانية . وكما نعرف فان TickCount تفيدك في معرفة المدة الزمنية التي استغرقها النظام , وبما اننا ننشئ تطبيقات للويب فان النظام هنا سيكون السيرفر .

واخيرا نستخدم الخواص Days , Hours , Minutes , Secondes لمعرفة الزمن بالتحديد .

#59

شكلي راح اوقف .

المنتدى ميت لابعد الحدود .

#60

:(:(:(:(:(:(:(:(:(:(:(:(:(:mad::mad::mad::mad::mad::mad::'(:'(:'(

قراءة الملفات النصية (وامري لله)

اضف زر امر واكتب الكود الاتي:

        'الملف الذي تريد قراءته

        Dim FILENAME As String = "C:x.txt"



        'StreamReader يستخدم لقراءة الملفات

        Dim objStreamReader As StreamReader



        'OpenText تستخدم لفتح ملف ليتم التعامل معه

        objStreamReader = File.OpenText(FILENAME)



        'ReadToEnd تستخدم لقراءة الملف كاملا

        Dim contents As String = objStreamReader.ReadToEnd()



        'نسخ محتوى الملف الى مربع النص

        TextBox1.Text = contents



        'اغلاق الملف

        objStreamReader.Close()

وقبل كل شيء

Imports System.IO

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

والنهاية استخدمت الوظيفة Close كي اغلق الملف , ولاني اذا لم اغلقه فانه لن يقبل اي عملية Request عليه من اي مستخدم , وسيعرض الرسالة Access denied . لان الملف قيد الاستخدام ولم يغلق .

1
#61

اريد معرفة شيء واحد فقط : هل الدروس مفيدة ؟

بمعنى اخر: هل المواضيع جيدة , وهل الشرح مفهوم ؟

#62

Uploading

اذا اردت نقل ملف الى ملقم Server فقم بالاتي:

1- اضف زر امر واضف الاداة File Field من قسم HTML الموجود في مربع الادوات .

2- قم بالضغط على الاداة File Field باليمين واختر Run As Server Control , ثم غير الخاصية ID للاداة File Field الى File .

3- اضف الكود التالي تحت زر الامر :

        'معرفة مسار الملف

        Dim path As String = file.PostedFile.FileName



        'استخراج اسم الملف من المسار

        Dim name As String = System.IO.Path.GetFileName(path)



        'عملية نقل الملف الى السيرفر

        file.PostedFile.SaveAs("D:" + name)

4- قم بالتحويل الى محرر ال HTML لتقوم باضافة الكود التالي :

<form id="Form1" encType="multipart/form-data" runat="server">

تعليقات:-

* الاداة File Field تفيدك في عملية اختيار الملف .

*الدالة GetFileName تقوم باستخراج اسم الملف من المسار .

*اي سؤال انا بالخدمة .

#63

التصفح الذكي

يمكنك اضافة خاصية التصفح الذكي لصفحتك عن طريق السطر الاتي:

Page.SmartNavigation = True

وهذه الخاصية بها 3 ميزات :

1- اذا سويت Back للصفحة فانها ما راح تتحمل مرة ثانية , وانما تعرض بسرعة .

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

3- اذا كنت مركز على اداة فانك لن تفقد التركيز عليها .

#64

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

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

يعطيك العافيه اخوي عبدالرحمن وفي الحقيقة الدروس فعلا أكثر من رائعة

لكن عند سؤال وهو في RegistryKey هل يحتاج ان أعمل Import لانى عندما أعرف متغير لل RegistryKey لا تظهر لي في القائمة المنسدلة التي تلي As

وبارك الله في جهودكم ............................

#65

اردت ان اشكرك واقول : انا مبرمج cs.net اليوم فقط تصفحت هذه الصفحات وتصفحتها كلها

هذا يعني اكتب فهذا يفيد جدا اذا لم يكن سريعا فانه مستقبلا سيفيد .

وفي هذه المناسبه اطلب من المسؤلين ان يبقوا هذه الصفحات لزمن طويل لان فيها مراجع مفيده .

#66

بارك الله في جهودك أخي عبدالرحمن....

استمر ونحن من المتابعين باستمرار لمجهوداتك الطيبة المباركة....

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

وأنت لك السبق في هذا المنتدى في مثل هذه الدروس المهمة والمفيدة والمختصرة....

حقاً أنت رائع يا أخي....

استمر وبإذن الله ستجد النتيجة في الدنيا قبل الآخرة....

اللهم اجزِ أخانا عبد الرحمن خير الجزاء, ووفقه لكل خير وارزقه من حيث لا يحتسب...

اللهم واجعل له في كل حرف سطرته يداه حسنة, وضاعف له يا كريم...

يقول الرسول عليه الصلاة والسلام في معنى الحديث:

"أن الله خلق أناساً لخدمة إخوانهم" أو كما قال الرسول الكريم عليه أفضل الصلاة وأتم التسليم....

#67

اخ سليم: نسيت اكتب فضاء الاسماء للريجستري والذي هو:

Imports Microsoft.Win32.Registry

Imports Microsoft.Win32.RegistryKey

اخ mohamad_kassem : مشكور على التشجيع :) .

اخ محب اسامة : الله يعطيك العافية على ها الدعاء , والله يسمع منك ان شاء الله .

واسف على التوقف لاني بصراحة حصلتلي ظروف وانشغلت شوية , ولكن باذن الله سوف ابدا باستكمال السلسلة , وسانوع في اختيار المواضيع .

#68

السلام عليكم و رحمة الله و بركاته ... أما بعد،

قد يعجز القلم عن التعبير أحياناً (في حالتنا هذه - الكيبورد :P)

لكن أتمنى لك الصحة الدائمة و أن تنعم في الجنة إن شاء الله.

مجهودك والله ليس سهلاً أبداً ، لذا تقبل خالص تحياتي و تقديري و شكري.

أخوك (مصطفى - جامعة الملك عبد العزيز) :)

#69

جزاك الله خير اخوي مصطفى :)

#70

خدمات الويب Web Service

عن طريق Visual Studio.NET يمكنك انشاء خدمات للويب والتي تساعد العميل Client في جلب بيانات من خلال هذه الخدمة .

وخدمات الويب لا تعتمد على نظم التشغيل او لغات البرمجة . يعني تسلك معاك حتى لو كان نظامك لينكس او ويندوز او غيره .

والمثال التالي يوضح كيفية انشاء خدمة ويب , سنقوم بالاتي:

1- انشاء خدمة ويب . جهة السيرفر Server Side

2- انشاء تطبيق ويب او ويندوز (كما تحب) . جهة العميل Client Side

3- اختبار الخدمة عن طريق تطبيق الويندوز او تطبيق الويب .

اولا: خدمة الويب Server

1- سنقوم الان بعمل خدمة ويب مبسطة , شغل الفيجوال ستوديو .نت . من New Project اختر ASP.NET Web Service . ودع الاسم WebService1 .

2- اضغط على الفورم مرتين , ستظهر لك تعليمات بالاخضر . وفي اخر 3 سطور كود بسيط ولكنه على شكل تعليمات , اذن امسح العلامة ' لكي تزيل اللون الاخضر . ويصبح كود فعال :P .

    <WebMethod()> Public Function HelloWorld() As String

        HelloWorld = "Hello World"

    End Function

الكود السابق يمثل دالة مبسطة بسيطة جدا تعيد الجملة Hello World .

3- اضغط على F5 لكي تجرب خدمة الويب التي صنعتها . اتوقع انك ما راح تفهم شيء اذا شفت الصفحة لانك قاعد تتعامل مع لغة برمجة (وبالاصح لغة توصيف البيانات) اسمها XML . على اية حال اضغط على Hellow World , ثم Invoke , الان سترى القيمة المسترجعة باللون الاسود والتي هي Hellow World .

ملاحظة: احفظ عنوان خدمة الويب على الاكسبلورر . فمثلا العنوان عندي هو:

http://localhost/WebService1/Service1.asmx

لاحظ ان خدمة الويب تنتهي بامتداد asmx , وان تطبيق الويب ينتهي بامتداد aspx .

4- احفظ مشروعك كاملا باسم WebService1 .

الى الان لم نفعل شيء مشوق ويدعو الى الحماس , ولكننا سنرى الان ما فائدة خدمة الويب.

ثانيا:- تطبيق الويندوز Client

1- من New Project اختر Windows Application .

2- من Solution Explorer (على اليمين) اضغط على Windows Application1 باليمين , ثم Add Web Reference .

3- اكتب عنوان خدمة الويب التي عملناها و الذي ذكرتك بان تحفظه , ثم اضغط على السهم الاخضر , ثم اضغط على ADD Reference .

الان ربطنا التطبيق بالخدمة Link the client to the server .

ثالثا: الاختبار Testing

1- في تطبيق الويندوز الذي انشأناه الان , اضف زر امر واكتب الكود التالي:-

        'عملية ربط التطبيق بخدمة الويب برمجيا

        Dim x As New localhost.Service1()

        'عرض رسالة Hellow World

        MsgBox(x.HelloWorld)

2- اضغط F5 , ثم اضغط على الزر وسترى انه سيعرض لك رسالة Hellow World والتي انشأناها في خدمة الويب السابقة .

اذن نفهم من الدرس ان خدمات الويب تستخدم من العملاء Cleint للاستفادة من حاجة معينة كدرجات الحرارة المئوية و اسعار البضائع وارقام الرحلات وغيرها من التطبيقات المفيدة فعلا .

كما احب ان اذكر باننا انشانا خدمة ويب من دون كتابة سطر واحد من لغة التوصيف XML .

ارجو بان يكون الدرس مفيد , وسنتعلم في الدرس القادم إن شاء الله كيفية عمل برامج او تطبيقات لاجهزة الجوال عن طريق فيجوال بيسك .نت :cool:

الى اللقـــــــــــــــــــــــــــــــــــــــــــــــاء .

#71

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

أخي عبد الرحمن أنت بالفعل عضو مميز شكراً جزيلاً لك، نحن بانتظار المزيد

تحياتي.... أحمد

#72

تطبيقات الجوال Mobile Application

عن طريق .NET يمكنك عمل برامج او تطبيقات لاجهزة الجوال من دون اي خبرة في لغات WML او HTML وغيرها . بل تعملها بلغتك المفضلة سواء كانت CSahrp او Visual Basic.NET .

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

http://www.microsoft.com/downloads/details...&displaylang=en

والله يعينك لان حجمها 4 ميغا تقريبا ولكن عليك ان تحملها باي طريقة (لاننا بصراحة لم نكن نحلم ايام فيجوال بيسك6 عمل مثل هذه الاشياء) .

اذا انتهيت من التحميل , ابدا بتثبيت الملف في الجهاز . واذا انتهيت شغل الفيجوال ستوديو وتاكد من ان مشروع الجوال ظاهرة لديك كما في الصورة التالية:

mobile.psd.gif

اضغط على Mobile Web Application . طبعا كلمة web لان البرامج سوف تشتغل عن طريق الانترنت . يعني تحمل صفحتك والتي سوف تحتوي على التطبيق الى موقع يستضيف ملفات aspx كموقع brinkster.com ومن ثم تتصفح موقعك عن طريق النت باستخدام خدمة الواب .

اذن الشروط هي:

1- ان يكون الجوال يدعم خدمة الواب .

2-ان يكون الموقع يدعم هذ النوع من التطبيقات كـ Brinkster .

بعد ان تفتح بيئة التشغيل لديك ابدا مشروع جديد ومن ثم Mobile Web Application .

لاحظ ان عنصر جديد اضيف لصندوق الادوات باسم Mobile Web Forms .

اضف زر امر الى الفورم وذلك باضغط على الزر مرتين ثم سحبه الى الفورم .

اضغط الان على الزر مرتين لتفتح صفحة الكود , واكتب الكود الاتي:

Response.Write("helo Mr Mobile")

اضغط F5 كي تجرب التطبيق .

اذا ضغطت على الزر فسيكتب لك رسالة helo Mr Mobile .

بقي عليك تحميل صفحتك الى موقع Brinkser . ومن ثم عليك بالاشتراك في خدمة الواب سيرفس من شركة الاتصالات, بعد ذلك يمكنك اختبار تطبيقك على جهاز الجوال وذلك بالدخول للصفحة التي حملتها الى موقع Brinkster .

وما اتوقع انك تفكر بالرجوع الى فيجوال بيسك6 بعد كل هذه الخدمات المذهلة .

واذا في اي سؤال انا بالخدمة .

#73

اهلا اخ احمد .

معليش ما شفتك :D .

#74

انشاء برامج الدوس

بامكانك الان ومع فيجوال ستوديو.نت انشاء برامج يمكن تشغيلها عن طريق نظام الدوس , وذلك بعكس الاصدارات السابقة .

ولانشاء برنامج بسيط يمكن تشغيله من الدوس او بواسطة سطر الاوامر قم بالاتي:

1- من New Project اختر Console Application .

2- طبعا ما راح يكون في صندوق ادوات لانه لا توجد واجهة للبرنامج اصلا , وراح تدخل على الاوامر على طول . قم بكتابة السطر الاتي تحت الاجراء Main

Console.Write(System.Environment.OSVersion.ToString)

يستخدم الكلاس Console في عمليات الادخال والاخراج كالقراءة والكتابة .

و المثال السابق يقوم بكتابة اسم نظام التشغيـل (تم شرحه سابقا) باستخدام الدالة Write والتي تقوم بعمليات الاخراج OutPut .

3- اضغط F5 . يمكنك الان تشغيل البرنامج بواسطة Command Prompt والموجود في قائمة ال Accessories . فمثلا لو كان البرنامج اسمه ca.exe و موجود في مجلد C: فيمكنك تشغيله بكتابة الاتي في سطر الاوامر:-

cd c:

ca.exe

تعلمنا الى الان كيفية عمل:

1- برامج الويندوز Windows Application + امثلة .

2- تطبيقات الويب Web Application + امثلة .

3- خدمات الويب .

4- تطبيقات الجوال .

5- برامج نظام الدوس .

ويبقى لدينا كيفية انشاء خدمات للويندوز و ادوات للويب و لتطبيقات الويندوز .

والابحار في الامثلة لكل قسم وذلك باستخدام لغتنا الحبيبة Visual Basic.NET .

#75

جزاك الله كل خير يا غالي....

ننتظر منك البقية ...

ننتظر كل مفيد وجديد يا أخي الحبيب

وأسأل الله أن يجعل لك بك ثانية تقضيها لخدمة إخوانك المسلمين حسنة....

ننتظرك بفارغ الصبر(clock)

(clock)(clock)

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

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