كبتن جاك عضو مشارك
عدد الرسائل : 84 العمر : 43 العمل : STAF تاريخ التسجيل : 01/11/2007
| موضوع: مكتبة معلومات الكمبيوتر الجزء (2) الثلاثاء نوفمبر 27, 2007 12:58 pm | |
| <HR style="COLOR: #395989" SIZE=1> دروس الفيجول بيسك
دروس الفيجول بيسك من مستوه الصفر الى 100 % قمت بالبحث في هذا القسم عن هذا الموضوع ، قبل البدء به ووجدت العديد من المواضيع التي تهتم بهذه اللغة الفريدة من نوعها فيجول بيسك ، ولكن للأسف جميع هذه المواضيع بها روابط لمواقع أخرى خارج هذا المنتدى . ونظراً لأهمية هذه اللغة وعدم المقدرة عن لإستغناء عنها خصوصاً مع برمجة سأتناول هذه اللغة فيجول بيسك في عدة إجزاء من المستوى 0 إلى المستوى المتقدم ونسأل الله العلي القدير التوفيق والسداد وأن تعم هذه الفائدة . الدرس --------------------- المستوى المتوقع ----=============------------
- مقدمة - مستوى 0----------------5% - مستوى 1----------------10% - مستوى 2----------------15% - مستوى 3----------------20% - مستوى 4--------------- 25% - مستوى 5----------------30% - مستوى متوسط------------50% - مستوى عالي متوسط--------70% - مستوى متقدم------------100% * متطلبات هذه الدورة : 1- معرفة ولو قليلة باللغة الإنجليزية ( الحروف كأقل مستوى) 2- عدم الإستعجال وطرح الأسئلة من مستوى لآخر ، مثال في المستوى الثاني نستقبل سؤال من المستوى المتقدم وذلك يحصل دائماً ، وهذا له تأثير سلبي خصوصاً على المبتدئين والمتابعين لسلسلة الدروس والتشويش عليهم .اولا نبدا بالدرس الاول وعلى بركة الله سم بالله وابدا ملاحظه يرعى التركيز بالدرس في الفيجوال بيسيك نواجه الكثير من البرامج التي تتعامل مع الملفات والنصوص من اشهر الامثلة على ذلك برنامج المفكرة الذي يأتي مع الويندوز ويقوم بانشاء وتحرير الملفات النصية وحفظها اما العمليات التي تمر بها تحرير وحفظ الملفات بصيغة txt فهذا ما سنتحدث عنه في هذا الدرس :
-------------------------------------------- اهم المواضيع في هذا الدرس : 1 - قراءة ملف نصي ووضع محتواياته في textbox . 2 - حفظ البيانات في ملف نصّي . 3 - حذف سطر من ملف نصّي . -------------------------------------------- قم بفتح بيئة التطوير في فيجوال بيسيك وابدا مشروع جديد :
قم بإضافة textbox الى المشروع وليكن اسم الاداة text1 . قم باضافة الكود التالي الى المشروع : ========== التصريحات ========== Dim FileNum as Integer ' ليحل محل الملف المؤقت في الذاكرة . Dim FileName as String ' اسم الملف المراد فتحه . Dim LineofText as String ' ملف وسيط يقوم بتخزين سلاسل نصّية . FileName = "Mytextfile.txt ' تحديد اسم الملف ونوعه . ================ الكود ================ FileNum = FreeFile
open FileName for input as #FileNum ' فتح الملف FileName كملف وسيط باسم FileNum
do until EOF(FileNum)
Line input #FileNum, LineOfText Text1=Text1 & LineOfText & vbcrlf ' يتم اضافة محتويات الملف الى التكست بوكس
Loop
Close #FileNum ' اغلاق الملف ----------------------------- التعليقات : تعد هذه العملية بسيطة مقارنة مع الوظائف او الطرق الاخرى التي تتم فيها التعامل مع الملفات يمكنك فتح اي ملف تريده وبأي امتداد لكن يجب ان تراعي ان تكست بوكس يمكن ان يعرض نصوص وارقام فقط هنالك اداة او اشارة كودية وهي Vbcrlf وهذه الاشارة تقوم بتقطيع السطور الى اجزاء ووضعها في سطر جديد ===================
حفظ البيانات لملف نصّي ==========
لنفرض انه لديك 3 تكست بوكس اسم كل منها text1, text2,text3 نستخدم الكود التالي ( ضع ما يلي في قسم التصريح ) :
Dim FileNum as Intager Dim FileName as String ======================= الكود : FileName = "Mytextfile.txt"
Open FileName for Append as #FileNum Print #FileNum, Text1 ' هنا تتم عملية حفظ البيانات الى الملف المذكور والذي اسمه mytextfile.txt
Print #FileNum, Text2 ' ايضا نفس العملية Print #FileNum, Text3 ' نفس العماية Close #FileNum ' اغلاق الملف -------------------------------------- التعليقات : في هذا المثال تم تحديد بعض النصوص في كل من text1,text2,text3 حسب ادخالات المستخدم . وبواسطة الكود تم حفظ ما كان موجودأ في هذه العناصر في ملف نصّي موجود في المكان الذي يحدده المبرمج . يمكن استخدام الامر Open FileName for output as #FileNum بدلاً من السطر الاول في الكود السابق قد يتم استعمال CommonDialog بدلاً من تحديد اسم الملف لذلك يتغير الكود كالتالي CommonDialog1.ShowSave ' عرض مربع حوار حفظ الملف FileName = CommonDialog1.FileName ' يتم حفظ الملف حسب الاسم الذي ادخله المستخدم في مربع حوار الحفظ .
=========================
حذف سطر من ملف ======== لا يتطلب هذا الجزء وجود تكست بوكس وما شابه وانما تستطيع وضع هذا الكود في زر حدث Click لزر امر . ضع هذا الامر في قسم التصريحات :
Dim FileNum1 as Integer Dim FileNum2 as Integer Dim FileName as String Dim TmpFileName as String Dim LineofText as String ======================== الكود : FileNum1 = FreeFile FileNum2 = FreeFile
FileName = "Mytextfile.txt" TmpFileName = "TmpMytextfile.txt"
Open FileName for input as #FileNum1 Open TmpFileName for Output as #FileNum2
do until EOF(FileNum)
Line input #FileNum, LineOfText if instr("text to look for") = 0 then اذا لم يكن السطر موجودا في LineOfText تعود قيمة صفرية Print #FileNum2, LineofText End If
Loop ' تكرار العملية Close ' اغلاق جميع الملفات
Kill FileName ' حذف الملف المؤقت Name TmpFileName As FileName ' تغيير اسم الملف المؤقت الى اسم الملف الاصلي --------------------------------------------
-------------------------------------------- ارجو ان اكون قد وفقت في تقديم جزء بسيط من بحر واسع للبرمجة في فيجوال بيسيك .
سوف انتقل الى الدرس الثاني بسم الله الرحمن الرحيم
سوف نقوم في هذا الدرس بالتعرف الى الاامر الخاصة بالتصريح عن المتغيرات التي لا يمكن لاي برنامج ان يشتغل بالطريقة الصحيحة بدونها ويمكن لاي مبرمج وضع التصريحات الخاصة به في نافذة الكود او في وحدة نمطية Module او اي مكان اخر لكن يجب الانتباه الى طريقة التصريح عن المتغيرات . فخطأ واحد يمكن ان يسبب انهيار البرنامج بكامله .
Dim - هذه هي ابسط امر يمكن تصريح المتغيرات فيها . مثال : i = dim i as integer, r as single
ReDim - يستخدم هذا الامر لتغيير الابعاد الخاصة بمتغير معين . مثال : redim arrayname(37) p
Static - هذه الوظيفة تستخدم لتعريف متغير تكون قيمته ثابتة في جميع الاجراءات . مثال : static i as integer
Public - انشاء متغير يمكن استخدامه في اجراءات اخرى . مثال : public i as integer
Private - انشاء متغير يستخدم داخل الاجراء الموجود فيه ولا يمكن استخدامه في الاجراءات الاخرى . مثال : private i as integer
Sub - تعريف اجراء ليتسنى له تنفيذ مجموعة من الكود . مثال : Sub NewProcedure (var1 as integer, var2 as string) p
Function - تعريف اجراء لاعطاء قيمة من خلاله . مثال : Function NewFunction (var1 as integer, var2 as string) as SINGLE p هذا الامر يستخدمه معظم المبرمجين في انشاء الكود لتعريف اجراءات قد تعطي دلالالة معينة او وظيفة معينة .
Call - نقل التحكم لـ Sub او Function وهذا الامر اختياري . مثال : Call Procedure 1 تستطيع اهمال هذا الامر لانه لا يؤثر على الكود ولا على عملية مناداة الاجراءات .
CallByName - تنفيذ عملية وضع او ارجاع خاصية معينة لكائن مثل الفورم Form . مثال : CallByName(form1,procedurename,vbMethod) p
Option Explicit - وهذا الامر يوضع في بداية انشاء الكود ليجبر فيجوال بيسيك على اعطاء تصريح واضح لكل متغير في نافذة الكود . بمعنى اخر اذا كان هذا الامر موجود يجب ان تكون جميع المتغيرات معرّفة باي اداة تعريف . مثال : Option explicit
Option Compare - لعمل مقارنة بين سلسلتين نصيتين . مثال : Option Compare Binary
Option Private - منع مكونات وحدة نمطية ان تكون مرجع خارج المشروع ( اي بين المشروعات المختلفة اذا كان اكثر من مشروع . مثال : Option Private Module
Property Get - تستخدم لجلب قيمة معينة من خاصية . مثال : Property Get Name() p يستخدم هذا الامر غالباً في انشاء عناصر تحكم اكتيف اكس ActiveX Control
Property Let - تستخدم لتعيين قيمة لخاصية معينة . مثال : Property Let Name() p نفس الوظيفة السابقة .
Property Set - التصريح عن الطريقة التي سيتم فيها تعيين مرجع لمتغير في كائن معين . مثال : لا يوجد امثلة .
Set - تعيين قيمة مرجعية من كائن لمتغير . مثال : Set X = form1.txtInputFromUser
Let - تعيين قيمة مثبتة سابقا لمتغير . مثال : Let i = 3 هذه الوظيفة يمكن اهمالها في اثناء انشاء الكود .
Type...End Type - هذه وظيفة مهمة جدا .....جدا .....جدا خاصة للمبرمجين المحترفين الذين يريدون انشاء متغيرات خاصة بهم تشمل البيانات الخاصة بالفيجوال بيسيك ( Integer , Single ,Boolean ) وهي طريقة مناسبة جدا لوضع اكثر من تصريح تحت متغير معين .
مثال : type anytypename one as string two as integer three as boolean End Type
Const - هذه الوظيفة تقوم بانشاء قيمة ثابتة . مثال : const anyname
Declare - هذه الوظيفة مهمة جدا خاصة في تطبيقات API وتستخدم لتعريف اجراءات موجودة في ملفات اخرى . مثال : declare functionname (arg1 as integer, arg2 as string) as integer
GetObject - اعطاء مرجع لتحكم اكتيف اكس ActiveX Control . CreateObject - انشاء مرجع لتحكم اكتيف اكس . GetAutoServerSettings - اعطاء معلومات عن حالة تحكم اكتيف اكس المسجلة .
Enum - تعريف نوع لحساب احد المتغيرات . Event - التصريح عن حدث تم التصريح عنه بواسطة المستخدم .
TypeName - اعطاء نوع البيانات الخاصة بمتغير . VarType - نفس الوظيفة . DefType - اعطاء نوع من البيانات كقيمة فطرية (Defualt) لمتغير . مثال : DefInt A-Z
IS - تستخدم لتحديد و التحقق من بيانات المتغير . مثال : IsArray, IsBindable, IsBroken, IsDate, IsDirty, IsEmpty, IsError, IsMissing, IsNull, IsNumber, IsObject, IsReady, IsRootFolder | |
|
mrgog{fal}04 عضو متواصل ومثابر
عدد الرسائل : 661 العمر : 31 العمل : طالب المزاج : على كيف كييييييفك تاريخ التسجيل : 30/10/2007
| موضوع: رد: مكتبة معلومات الكمبيوتر الجزء (2) الثلاثاء نوفمبر 27, 2007 1:19 pm | |
| | |
|
mot300 نائب المدير العام
عدد الرسائل : 1238 العمر : 35 العمل : طالب المزاج : على كيفك تاريخ التسجيل : 28/10/2007
| موضوع: رد: مكتبة معلومات الكمبيوتر الجزء (2) الثلاثاء نوفمبر 27, 2007 4:33 pm | |
| | |
|
بسطويسي مشرف عام للمنتدى
عدد الرسائل : 520 العمر : 34 العمل : جزار المزاج : شاي بلبن تاريخ التسجيل : 22/11/2007
| موضوع: رد: مكتبة معلومات الكمبيوتر الجزء (2) الثلاثاء نوفمبر 27, 2007 9:47 pm | |
| | |
|
fal_x مشرف عام للمنتدى
عدد الرسائل : 568 العمل : مدرب تاريخ التسجيل : 29/10/2007
| موضوع: رد: مكتبة معلومات الكمبيوتر الجزء (2) الأربعاء نوفمبر 28, 2007 5:25 pm | |
| | |
|
كبتن جاك عضو مشارك
عدد الرسائل : 84 العمر : 43 العمل : STAF تاريخ التسجيل : 01/11/2007
| موضوع: رد: مكتبة معلومات الكمبيوتر الجزء (2) السبت ديسمبر 01, 2007 1:39 pm | |
| اشكر مروركم الكريم مرجوج - موت - بسطويسي - فال اكس | |
|
ميدنيو عضو نشيط جداً
عدد الرسائل : 467 العمر : 33 العمل : 'طالب تاريخ التسجيل : 14/12/2007
| موضوع: رد: مكتبة معلومات الكمبيوتر الجزء (2) الثلاثاء ديسمبر 25, 2007 1:29 am | |
| مشكووووووور وما فصرت يعطيك العافيه | |
|