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

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

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

مرحبا بك اخي محب اسامة :)

#77

تشغيل الاصوات عن طريق دوال API

بصراحة لم اجد طريقة مناسبة غير معقدة في فيجوال بيسك .نت تمكننا من تشغيل الاصوات .

ولكني تذكرت الدالة sndPlaySound والتي كنا نستخدمها في VB6 لتشغيل الاصوات و سنستخدمها ان شاء الله في VB.NET ايضا .

و في المثال التالي سنتعلم:

1- كيفية استخدام دوال ال API و الثوابت في VB.NET .

2- كيفية تشغيل الاصوات .

اتبع الخطوات التالية:-

1- ابدا مشروع Windows Application .

2- اضف زر امر وادخل على صفحة الكود .

3- يجب ان نصرح اولا عن الدالة sndPlaySound , وذلك ضمن الكلاس Form1 .تحت السطر الاتي مباشرة:

Inherits System.Windows.Forms.Form

اكتب هذا التصريح:

[CODE]    Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

ثم اضف هذا الكود والذي يصرح عن الثابت Constant :

Const SND_ASYNC = &H1

4- اضف الكود التالي ضمن زر الامر لكي تقوم بتشغيل الصوت مباشرة:

sndPlaySound("d:x.wav", SND_ASYNC)

الدالة sndPlaySound لها وسيطين :

1- مسار الملف الذي تريد تشغيله .

2- كيفية التشغيل : يعني هل تريده ان يكرر الصوت او ان يقوم بتشغيله مرة واحدة فقط . يعني خيارات اضافية , ويمكنك ان تجعل هذه القيمة صفر ليقوم بتشغيل الصوت مرة واحدة .

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

www.allapi.net

واريد ان اوضح نقطة وهي انه بامكانك تشغيل الاصوات عن طريق هذا الكود

System.Diagnostics.Process.Start("d:x.wav")

ولكن هذا الكود يقوم بتشغيل برنامج لتشغيل الصوت ولا يقوم بتشغيل الصوت من برنامجك .

ارجو ان يكون الدرس مفيد .

#78

خدمات الويندوز Windows Service

خدمات الويندوز هي عبارة عن برامج تشتغل في الخلفية BackGround و تستخدم في عدة امور ككتابة ملفات السجلات log و مراقبة البرامج وغيرها , و وميزتها انها تشتغل قبل دخول المستخدم للويندوز . يعني قبل ال Log In .

ولانشاء خدمة ويندوز خاصة بك , قم بالاتي:-

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

2- اضف اداة Timer واجعل قيمة Inrerval تساوي 10000 (عشر ثواني) ثم ادخل الى صفحة الكود . لاحظ ان هناك حدثان هما On Start و يستخدم عند تشغيل الخدمة , و الحدث On Stop ويستخدم عند ايقاف الخدمة .

3- اضف هذا الكود ضمن حدث اداة ال Timer1 :

        Dim y As New IO.StreamWriter("C:x.txt")

        y.Write(Now.ToString)

        y.Close()

الكود السابق يقوم بكتابة الوقت والتاريخ لملف يدعى x.txt .ففي البداية استدينا الكلاس StreamWrite لكي نستخدم الدالة Write والتي تقوم بالكتابة الى ملف معين . الدالة Now تعيد الوقت والتاريخ الحالي .

لاحظ انه يجب ان نغلق الملف في النهاية بالدالة Close .

4- اضف الى الحدث OnStart الكود التالي لتفعيل المؤقت عند تشغيل الخدمة:

Timer1.Enabled = True

ثم اضف الكود التالي الى الحدث OnStop وذلك لابطال المؤقت عند ايقاف الخدمة:

Timer1.Enabled = False

انتهينا الان من برمجة خدمة الويندوز وبقي علينا مشروع تثبيت الخدمة على الويندوز .

5- اخرج الان من صفحة الكود واذهب الى صفحة التصميم Service1.vb [Design] , ثم اضغط باليمين في اي مكان واختر Add Installer . ستظهر لك اداتين , اضغط على الاداة ServiceInstaller1 وغير الخاصية DisplayName الى MyService . وهذا سيكون الاسم الذي ترى به خدمتك الجديدة في الويندوز .

ثم اضغط على الاداة ServiceProcessInstaller1 وغير الخاصية Account الى LocalSystem (لكي نقوم بتشغيل الخدمة على الجهاز الحالي .

6- انشء ملف txt تحت هذا المسار

c:x.txt

من قائمة Build اضغط على Build Solution لتقوم بعمل بناء و تجميع لخدمتك .

الى الان لم تثبت الخدمة على النظام .

7- من قائمة Start - Programs - Microsoft Visual Studio .NET - Visual Studio .NET Tools - Visual Studio .NET Command Prompt .

اذا كان مسار الملف التنفيذي الذي انشاته للخدمه هو

D:WindowsService1binWindowsService1.exe فاكتب الامر الاتي تحت سطر الاوامر:

installutil D:WindowsService1binWindowsService1.exe

لاحظ ان الامر السابق يقوم بتثبيت الخدمة فعليا تحت نظام الويندوز .

8- لاختبار الخدمة , من Control Panel اضغط على Administrative Tools , ثم Services . ثم ابحث عن خدمة MyService , اضغط عليها باليمين ثم اضغط على Start .

الان كل عشر ثواني ستكتب الخدمة الوقت والتاريخ في الملف c:x.txt .

#79

الكلاس Class

سابدا الان بالتحدث عن الامور المتقدمة في نفس لغة Visual Basic .NET (الكلاسات , الاشتقاق , الاحداث , الخ)

الكلاس يتكون من مجموعة من الخصائص و الوظائف . و الكلاس ليس كائنا Object وانما الكائن ينشأ من الكلاس , اليك المثال:

Class SimpleClass



        Public Sub SimpleMethod()



                System.Console.Write("Simple Class")



        End Sub



End Class

الكود السابق عبارة عن تصريح لللكلاس SimpleClass , والذي به الوظيفة SimpleMethod .لاحظ ان الكود السابق لا يقوم باي عمل الا اذا كتبت هذا الكود :

Class Prog1



        Public  Shared Sub Main()



                Dim obj as New SimpleClass()



                obj.SimpleMethod()



        End Sub



End Class

الكود السابق عبارة عن الكلاس Prog1 , و به الاجراء main والذي يقوم باستدعاء صورة (كائن) من الكلاس SimpleClass و استخدام الوظيفة التابعة له SimpleMethod . لاحظ اننا قمنا باستخدام الكلمة المحجوزة New لكي نقوم باستدعاء صورة او كائن Instance من الكلاس SimpleClass . و بدون الكلمة New فانك لن تستطيع القيام بانشاء الكائن , وبالتالي لن تقوم باستخدام الكلاس .

والدرس القادم يوضح انواع التصريح عن الكلاسات (عام , خاص , محمي ...)

#80

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

نتابعك بك اهتمام وترقب...

#81

كنت راح اكمل الدروس ولكني وجدت ان الاخ نجم قد شرح المواضيع التي كنت راح اشرحها . و كمان من نفس الموقع النجليزي PlanetSourceCode.com

ولو تلاحظ فان المثال اللي كتبته في الدرس السابق موجود في درس الاخ نجم , والليك الرابط

http://www.arabteam2000.com/vb/showthread....?threadid=23293

وبالتالي من الافضل ان اكتب درسا اخر لكي ننوع:)

#82

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

1- الادخال والاخراج .

2- الملفات والمجلدات .

3- انواع البيانات .

4- تحويل انواع المتغيرات .

5- النصوص .

6- صيغ البيانات .

7- الرياضيات .

8- التاريخ والوقت .

9- القراءة والكتابة في الملفات .

10- الارقام العشوائية .

11- الرسومات .

12- الريجستري .

13- التطبيق او البرنامج .

14- منوعات اخرى .

وسنتعرض لهذه الدوال بالامثلة بشكل سريع لانها راح تكون سهلة ان شاء الله و مفيدة في نفس الوقت .

#83

الادخال والاخراج : الدالتين Msgbox , Inputbox

اولا الدالة InputBox :تطلب هذه الدالة من المستخدم ان يقوم بادخال بيانات .

InputBox("please enter your name", "name", System.Environment.UserName.ToString)

الوسيط الاول: النص الذي يوضح للمستخدم ما يدخله.

الوسيط الثاني: عنوان مربع الادخال .

الوسيط الثالث : هذا الوسيط لم يكن موجودا في VB6 , وهو ان تقوم بكتابة بيانات تتوقع ان المستخدم سوف يكتبها . فمثلا الكود السابق يطلب من المستخدم كتابة اسمه , وفي هذا الوسيط كتبت الكود الذي يقوم بالكشف عن اسم المستخدم . فعلا وسيط رائع للغاية .

الوسيط الرابع: موقع مربع الادخال في الشاشة (X,Y) .

ثانيا الدالة MsgBox :

الدالة MsgBox عكس الدالة InputBox , فهي تقوم بعرض بيانات للمستخدم

        MsgBox("helow my friend", MsgBoxStyle.Information, "helo")

ولها 3 وسائط:

الاول: محتوى الرسالة.

الثاني: نوع الرسالة (معلومات . تحذير , مساعدة , .... الخ)

الثالث: عنوان الرسالة .

#84

[FONT=Arial]شكرا لك على جهودك المتميزه ومزيد من التقدم.... ونعدك بمتابعة بقية الدروس إن شاء الله (gift)

#85

دوال الملفات

الدالة SetAttr

تقوم هذه الدالة بتغيير خواص الملفات Attributes . (للقراءة فقط , مخفي ...)

ولها وسيطين:

        SetAttr("d:x.gif", FileAttribute.ReadOnly)

الاول: الملف الذي تريد تغير خواصه .

الثاني: الخواص التي تريد تغييرها .

الدالة Kill

تقوم بحذف الملفات .

        Kill("C:x.txt")

ولها وسيط وحيد وهو الملف الذي تريد حذفه .

الدالة FileDateTime

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

        MsgBox(FileDateTime("d:x.gif"))

ولها وسيط وحيد وهو الملف الذي تريد معرفة التاريخ والوقت الذي انشئ فيه او

المرة الاخيرة التي تم التعديل فيه .

الدالة FileLen :

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

MsgBox(FileLen("c:x.txt"))

طبعا راح يكون الرقم كبير لانه بالبايتات . وبالتالي يمكنك القسمة على 1024 لتحويله الى كيلو بايت .

الدالة FileCopy

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

        FileCopy("C:x.txt", "d:x.txt")

لها وسيطين وهما:

الاول: مسار الملف الذي تريد نسخه .

الثاني: المسار الذي تريد نسخ الملف اليه .

الدالة Rename

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

        Rename("C:x.txt", "C:y.txt")

ولها وسيطين:

الاول: مسار الملف الذي تريد تغيير اسمه .

الثاني: المسار والاسم الجديد .

ويمكنك تغيير اسم مجلد كامل حتى لو كانت به ملفات او مجلدات .

#86

هلا بالاخت عاشقة الحاسب .

و مشكورة على التشجيع :)

#87

دوال المجلدات

الدالة MkDir

تقوم بانشاء مجلد

MkDir("C:fld")

ولها تابع وحيد وهو مسار المجلد الذي تريد انشاؤه .

الدالة RmDir

تقوم بمسح مجلد معين بشرط ان يكون المجلد خالي . واذا اردت حذف مجلد به ملفات فقم باستخدام الدالة Kill لمسح الملفات ثم استخدم الدالة RmDir لحذف المجلد .

RmDir("C:fld")

ولها تابع وحيد وهو مسار المجلد الذي تريد حذفه .

كما ان هناك دوال اخرى مثل Dir والتي تتحقق من وجود ملف او مجلد معين .

واليك هذا الكود على الدالة Dir .

        hidden = Dir("C:WINNT*.dll", FileAttribute.Hidden)

فالكود السابق يقوم بالكشف عن ملفات ال dll المخفية الموجود في ملفات الويندوز .

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

#88

التعرف على انواع البيانات

الدالة IsArray

تقوم بالتحقق فيما اذا كان المتغير على شكل مصفوفة او لا .

        Dim x(100)

        MsgBox(IsArray(x))

الدالة IsDate

تقوم بالتحقق من المتغير اذا كان على هيئة تاريخ او لا .

        Dim x

        x = InputBox("Enter the date")

        If IsDate(x) = True Then

            MsgBox("thank you")

        Else

            MsgBox("enter the date correctly")

        End If

الكود السابق يطلب من المستخدم كتابة التاريخ . ثم يقوم بالتحقق عن طريق الدالة IsDate ما اذا كان المستخدم قد ادخل التاريخ بشكل صحيح او لا .

الدالة IsNumeric

تقوم بالتحقق من المتغير فيما اذا كان رقما او نصا .

        Dim x

        x = InputBox("type your age")

        If Not IsNumeric(x) = True Then

            MsgBox("type it again please")

        End If

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

#89

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

برك الله فيك

#90

هلا بالاخ BASHER_VB .

احب فقط ان اطلعكم على هذا الموقع الشامل لتقنية .NET

به روابط كثيرة جدا

http://www.sql-server-vb-asp.net/

#91

تحويل انواع البيانات

1- CBool : تقوم بتحويل نوع المتغير الى قيمة Boolean اي (True , False ) .

2- CByte : تقوم بتحويل نوع المتغير الى قيمة بايت .

3- CDate : تقوم بتحويل نوع المتغير الى قيمة تاريخ .

4- CDec : تقوم بتحويل نوع المتغير الى قيمة عشرية .

5- CDble :تقوم بتحويل نوع المتغير الى عدد مضاعف .

6- CInt : تقوم بتحويل نوع المتغير الى عدد صحيح .

7- CLong : تقوم بتحويل نوع المتغير الى عدد طويل .

8- CStr : تقوم بتحويل نوع المتغير الى نص .

و ساعطيك مثال على الدالة الاخيرة لتعرف كيف تقوم بالتحويل في انواع البيانات :

        MsgBox(CStr(123))

في هذه المثال حولنا العدد 123 الى قيمة نصية يمكن استخدامها في الدوال التي تطلب منك ادخال قيمة نصية وليس عددية .

#92

شكراً على المجهود الرائع والى الامام

اعتقد أني اتخرت لكن نشكرك بالعمل الطيب

وشكراً(f)

If you think yourself that you are nobody, you should go somewhere to find yourself

#93

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

نشكر الاخ عبدالرحمن

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

وادعو الله ان يجزيك عنا خير الجزاء

ولكن لى ملحوظة على هذا الكود الخاص بتشغيل الصوتيات

هذا الكود لا يستدعى إلا الامتداد wav على الرغم من اننى قد قمت بتغير نوع الملف الى امتدادات اخرى مثل mp3--dat--asf

فماذا أفعل

ولك منى جزيل الشكر

وارجو منك الرد العاجل

:o:o:o:o

#94

نشكر الاخ عبدالرحمن

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

وادعو الله ان يجزيك عنا خير الجزاء

ولكن لى ملحوظة على هذا الكود الخاص بتشغيل الصوتيات

هذا الكود لا يستدعى إلا الامتداد wav على الرغم من اننى قد قمت بتغير نوع الملف الى امتدادات اخرى مثل mp3--dat--asf

فماذا أفعل وما هو الكود الازم لايقاف الدالة:o:o

ولك منى جزيل الشكر

وارجو منك الرد العاجل

#95

نشكر الاخ عبدالرحمن

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

وادعو الله ان يجزيك عنا خير الجزاء

ولكن لى ملحوظة على هذا الكود الخاص بتشغيل الصوتيات

هذا الكود لا يستدعى إلا الامتداد wav على الرغم من اننى قد قمت بتغير نوع الملف الى امتدادات اخرى مثل mp3--dat--asf

فماذا أفعل وما هو الكود الازم لايقاف الدالة:o:o

ولك منى جزيل الشكر

وارجو منك الرد العاجل

#96

الشبح : اهلا بك :)

amr_a : والله للاسف اخوي , حاولت ان اجد طريقة لتشغيل انواع اخرى من الاصوات غير ال wav و لكني لم اجد . ولكن ان شاء الله سوف نجدها .

#97

التعامل مع النصوص 1

الدالة Asc : تعطي الرقم المقابل لحرف معين .

MsgBox(Asc("x"))

سيكون الناتج 120 .

الدالة Chr : تعطي الحرف المقابل لرقم معين (عكس الدالة Asc )

MsgBox(Chr("120"))

سيكون الناتج هو الحرف x .

الدالة LCase : تحول الحروف الكبيرة Capital الى صغيرة ( من A الى a )

MsgBox(LCase("HOLA"))

الدالة UCase : تحول الحروف الصغيرة الى كبيرة (من a الى A )

        MsgBox(UCase("hola"))
#98

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

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

التشغيل

وفقك الله اخيك عمرو

:o:o:o :o:o:o

#99

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

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

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

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

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

ولا تنسوونا بصالح الدعاء

çلمْىم_çلٌْèى.zip

#100

الله يعطيك العافيه ويزيدك علما ينفع به الله الأمه الاسلاميه...

وننتظر المزيد ....

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

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