![]() |
المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )
http://www.qahtaan.com/works/up/get....q9ps1199796995
http://www.qahtaan.com/works/up/get....npsx1198363231 المدخل إلى فيجوال بيسيك 2005و 2008 على شان صبيان قحطان عزوتي يرخص كل شي:1107953448: بمساعدة الحريف:075: SmoothCriminal لماذا فيجوال بيسيك 2005و2008؟:confused: -العالم يتطور من حولنا ولابد لنا من نظرة على ما يحدث من أجل مواكبة التطور فالعالم يستعد الان لاستقبال Microsoft Visual Studio Codename Orcas الذى تم تغيير اسمة إلى Microsoft Visual Studio 2008 والذى سيعتمد على Dotnet Framwork 3.5 لم ندخل نحن إلى العمل فى بيئة Dotnet Framwork بالطريقة المرضية -دخول Dotnet Framwork جعل لغة البيسيك لغة غنية جدا تمكنك من عمل معظم المشاريع -البيسيك هى أسهل اللغات وأكثرها انتشارا فى العالم حيث أن اخر إحصائية تدل على أن 60%من المبرمجين هم مبرمجى بيسيك و40% لباقى اللغات -من خلال تصفحى للمواقع العربية فلم أجد هناك موضوعات تبحث أو تناقش فيجوال ستوديو 2005 بصفة عامة فقررت أن أبداء بة سأقوم بعرض معلومات بسيطة عن الدوت نت أولا قبل أن نبداء ثم أقوم بشرح الوظائف والخصائص من خلال مجموعة من الأمثلة البسيطة ثم التدرج حتى الوصول إلى المشاريع نظام الموضوع -موضوعات نظرية خاصة بالفيجوال بيسيك 2005 أقوم بشرحها دون التطرق إلى تطبيقات عملية -أمثلة عملية سيتم عرضهما بصورة منفصلة http://www.qahtaan.com/works/up/get....azlb1199797178 النقاط المشروحة *** أولا نظرة سريعة على دوت نت:deal: http://www.qahtaan.com/works/up/get....kz6y1199797206 ماهو دوت نت؟:confused: إطار عمل دوت نت (Dot Net Framwork) إن كل الإصدارات الحديثة من لغات البرمجة قد صممت لتعمل فى ظل وجود إطارعمل دوت نت Dot Net Framwork ولكن ماهو هذا الإطار وما هو الدوت نت من المعنى نستنتج أنة مجال أوحاوية لكن أيضا هناك سؤال أى مجال وإذا كانت حاوية فهى تحوى ماذا -المجال الذى يجمعنا جميعا ضمن إطار عمل مشترك إذا نستطيع عن بعد المشاركة فى عمل واحد -الحاوية التى تحوى المعدات التى تلزمنا لإتمام هذا العمل المشترك الذى اشتركنا فية فى السطر السابق والمقصود بالمعدات هنا هى لغات البرمجة معنى ذلك أننا كمشاركين فى هذا العمل نمثل جزء من إطار عمل دوت نت وأن الأدوات التى هى لغات البرمجة أيضا تمثل جزء اخر ولكن هناك شىء يستدعى الوقوف أمامة لقد ذكرت أننا كمشاركين فى هذا العمل نمثل جزء ونحن جميعنا من نوعية واحدة وهو النوع البشرى وهذا الأمر أمر مقبول لأننا من نوع واحد ولا يوجد بيننا مشارك من نوع اخر قد يكون متعارضا مما يؤدى إلى إفساد المهمة ولكن ماذا عن الطرف الاخر وهى لغات البرمجة مختلفة النوعية وطبيعة العمل والسلوك وأحيانا متعارضة هل يصلح ذلك؟:confused: كيف نستطيع نجعل هذة اللغات أن تفهم بعضها البعض من الذى يقوم بالترجمة؟:confused: نفترض الان أننا أن نقوم بعمل برنامج ما وهذة النوعية من البرامج يلزمها مجهود ضخم ويحتاج إلى عدد كبير جدا من المبرمجين وعندما بحثنا عن مبرمجين وجدنا أن هناك مبرمج يجيد لغة البسيك والاخر ++C ومبرمج يستخدم الجافا أضف إلى ذلك أنهم متواجدون فى أماكن متباعدة قد تصل الى الاف الأميال ولم نجد أمامنا سوى ذلك ويجب أن يقومون بهذا العمل سويا هل يمكنهم إتمام هذا العمل وهم متباعدون هل برنامج مهم مثل هذا يمكن أن يتم وإذا تم هل سيعمل بكفاءة ؟:confused: الإجابة على كل الأسئلة السابقة نعم -كيف يتم هذا وما الرابط الذى استطاع تجميع مجهوادات مختلفة وغير متجانسة وقام بصبها داخل بوتقة واحدة إنة Dot Net Framwork للإيضاح انظر الشكل http://www.qahtaan.com/works/up/get....z6eu1199797770 وعن طريق اللون المشترك لكل عنصر يكون الناتج هو بأحط الحكومه:021: - عبد الله السحيمي ++J - فارس قحطان #C - ابن خضير ++C - هبشان Vb يمثلون هذا الإطار ويقوم Dot Net Framwork بتجميع العمل من كافة العناصر ويقوم بترجمتها إلى لغة موحدة كيف يتم هذا؟ من الشكل يتضح الاتى تقوم لغات البرمجة بارسال العمل إلى مسرح العمليات والمسمى Dot Net Framwork إلى جزء محدد وهو Primary Microsoft Dot Net Framwork Components ويتكون هذا الأخيرمن جزئين 1-Class Liberary ما معنى هذة الجملة إذا قمت بترجمتها سواء كانت الترجمة حرفية أوغير حرفية فسوف أفشل فشلا ذريعا فى إيصال معنى هذة الجملة Liberary تعنى مكتبة و Class تعنى قسم فتكون الجملة قسم المكتبات أيضا غيرمفهومة -تعريف (Class Module) Module هى تصغير لكلمة Model التى تعنى نموذج وعند سؤالى عن تصغير نموذج قيل لى أنة أنموذج المهم المعنى أنة نموذج فى طور النمو ولكن ماهو؟ إذا كان مازال فى صورة نص Text فهو كود فإذا تم وضعة داخل التصميم إستعدادا لتنفيذة فقد صار Module فإذا تم توجيهة ليقوم بوظيفة ما فقد أصبحت لة أحقية فى الحصول على لقب Class وغالبا ماتكون وظائفة ثانوية الغرض منها خدمة العمل الأساسى . إذن Class Liberary هى تجميعة كبيرة لأكواد سوف تصبح فيما بعد Classes وهنا داخل Primary Microsoft Dotnet Framwork Components يتم تجميع كافة Classes المعروفة للغات الفيجوال ستوديو 2-(Common Language Runtime ( CLR ويتم إختصارها إلى CLR وهو بصورة مبسطة المكان الذى يتم تجميع الأوامر المرسلة وتحويلها إلى لغة موحدة قبل إرسالها إلى المترجم (Compiler) تعريف (Compiler) هو الاداة التى تقوم بترجمة الأكواد والأوامر التى نقوم بكتابتها أو تصميمها إلى لغة الآلة بصورة أبسط تحويلها الى الصورة التى يفهمها المعالج ويقوم بتنفيذها يعنى برنامج يعمل فى صورتة النهائية ولكل لغة برمجة المترجم (Compiler) الخاص بها السؤال الان لماذا تطلب بعض البرامج Dotnet Framwork؟ الإجابة لأنها قد أنشأت تحت رعايتة وهو الذى بستطيع القيام بتشغيلها عن طريق العملية العكسية لما يحدث داخل (Common Language Runtime ( CLR وللإيضاح نفترض أننا نقوم بعمل برنامج ما واننا بالضرورة سوف نقوم بتصميم أزرار وقوائم....الخ فى السابق كان تصميم مثل هذة الأشياء يأخذ حوالى 70% من الوقت والمجهود المستنفذ لعمل البرنامج الان هذة الأزرار والقوائم وخلافة موجودة ومعدة مسبقا داخل الدوت نت أثناء تصميم البرنامج يسمح لك Dotnet Framwork باستخدام النماذج الموجودة لدية ولكنة لا يمكنك من دمجها داخل برنامجك أثناء تعبئة البرنامج وعلى ذلك عندما يريد أحد المستخدمين تشغيل برنامجك سوف يطلب منة البرنامج أن يقوم بتثبيت Dotnet Framwork أولا لأنة هو الذى لا زال يحتفظ بالمكونات المذكورة سابقا والتى بدونها لن يعمل هذا البرنامج. عودة للحديث عن تطبيقات (Common Language Runtime ( CLR يقوم CLR بتوفير عدد من الخدمات الذى سوف بستخدمها الدوت نت لكى يتمكن من أداء المهمة 1-المترجم Compiler وقد تحدثنا عنة 2- مستكشف الأخطاء Debugger 3-مدير الذاكرة Memory Manager 4-إدارة السرية Security Management 5-المعارضة Exception Handling -ميكانيكية عمل (Common Language Runtime ( CLR يقوم (Common Language Runtime ( CLR بتحويل لغات الفيجوال ستوديو إلى ما يسمى باللغة الوسيطة ( Microsoft Intermediate Language ( MSIL هذا عند الإنشاء ويقوم بالعملية العكسية عند التشغيل ماالذى استفدناة من الدوت نت أصبح بالإمكان الان كتابة برنامج بأكثر من لغة برمجية ولكن ما الفرق بين أن أكتب برنامجا ما بلغة برمجية واحدة أوأكثر -إيضاح الفيجوال بيسيك كلغة فهى جيدة جدا وسهلة بالمقارنة مع اللغات الأخرى ولكنها تعتمد على نماذج معدة مسبقا من قبل ميكروسوفت مما كان يجعلها محدودة التطبيقات أى أنها كانت تعتمد على ماتوفرة ميكروسوفت من تطبيقات فقط وكان من الصعب جدا أن تقوم باى ابتكار لتطبيق جديد غير مدرج من قبل ميكروسوفت أما لغة ++C فهىقادرة على عمل أى شىء وبدون حدود ولكنها صعبة وتحتاج إلى درجة عالية جدا من التركيز كما انة من الصعب أن يقوم من يستخدمها بتصور الناتج النهائى ومدى كفائتة أثناء العمل والتعديل فى السطر رقم 70 مثلا وأنت تعمل فى السطر رقم 1200 يلزمك التعديل فى كافة الأسطر غالبا وأشياء أخرى ليس وقت الحديث فيها وبالنسبة للغات الاخرى فكان يعيبها نفس العيوب الخاصة بالفيجوال بيسيك مع وجود اختلافات ولكن الان يمكنك فعل أى شىء باستخدام أى لغة وبصورة أكثر دقة أنك تستطيع إستغلال المميزات المتواجدة فى اللغات الأخرى دون النظر عن اللغة التى تستخدمها بالفعل -المستفيد الأول من Dotnet Framwork هو الفيجوال بيسيك -فى السابق عندما كنت تقوم بإنشاء برنامج ما وكان هذا البرنامج يحتوى على مكونات ما مثل تطبيقات (COM (Component Object Model أويحتوى على ملفات مثل ملفات (Windows DLL (Dynamic Link Library أو غير ذلك كان ينبغى عليك إرفاق كافة الملفات التى تم إنشاؤها أثناء العمل ببرنامجك الذى قمت بإنشاؤة وهذا يفسررسائل الخطاء التى على الشكل التالى -التطبيق خاطىء الملف الفلانى غير موجود قم بإصلاح الملف التالف أو قم بإعادة الإعدادات أو اتصل بالبائع أو فوت علينا بكرة وكان سبب ذلك عدم وجود ملف من الملفات التى قام المبرمج بإنشائها أثناء عملة فى إنشاء البرنامج ماهى عيوب الدوت نت 1-البرامج التى أنشأت فى وجودة لا تعمل إلا فى وجودة 2-السرية Security إن وجود إمكانية المشاركة الشرعية عن بعد يعتبر فى حد ذاتة خرقا لقواعد السرية هناك قاعدة أمنية تقول إن كل ما يمكن الحصول علية بطريقة شرعية يمكن ايضا الحصول علية بصورة غير شرعية دون النظر إلى الكيفية التى تتم بها حماية هذا الشىء يتبع.................:banana: :banana: :banana: :banana: :banana: أرجو من الأخوة الأعضاء متابعت الدروس في هذا الموضوع في المستقبل |
رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته مجهود تشكلر عليه وفي انتظار جديدك وسوف يتم تجميع الدروس في موضوع بعد الانتهاء منها والله لا يهينك ويعطيك العافيه |
رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )
http://www.qahtaan.com/works/up/get....npsx1198363231
الله لايهينك يابن خضير على الحضور المبكر :) ولا شكر على واجب الله يطول عمرك و لاتنسى تابع الدروس الآتية بأذن الله ........:1108277095: ومالكم ألا دروس متكامله و افيه:1108277077: |
رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )
الموضوع شكله يبي له جلسه
يعطيك العافيه :) لي عوده |
رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )
ارحــــب يا ابو حسين
الله يبيض وجهك على الجهد هذا موضوع جميل وبدايته قويه وجميله وبرنامج الفجوال بيسك برنامج رائع ولكن يبيله واحد يفهم لغته وطريقته وانت بيض الله وجهك اذا بتجمعها في موضوع واحد ابيض وجه وانا بعدم بالي اقدر عليه ياكحيلان وتستاهل نقاط سمعه خالص شكري وتقديري اخوك/عبدالله السحيمي |
رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )
اقتباس:
الله يحيك في أي وقت |
رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )
اقتباس:
قايل ن ما يهون و كثر الله خيرك ياذيبان و أما من نا حية التجميع فمالك هم بعد ما ننتهي من مدخل الفجول بيسك بأسويله فهرسة بروابط مبشره في موضوع واحد العفوووو أخوك مبرمج /// لك و للأعضاء خالص التقدير |
رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )
ثانيا:banana: :banana:
التحميل والتثبيت:1107953627: الإعداد (Setup) نراجع سريعا الإعداد وسوف نقوم بإعدادات الحد الأدنى حتى لا نستهلك مساحة من القرص الصلب دون داعى http://www.qahtaan.com/works/up/get....qidx1199800438 أول واجهة تظهر عند بداية الإعداد http://www.qahtaan.com/works/up/get....xjbg1199800484 هذة الإعدادات إختيارية وليست إجبارية ثم يأتى دور MSDN Liberary مكتبة الأكواد المرجعية بخصوص SQL Server2005 يمكن إعدادة الان أو فيما بعد حتى لا يستهلك كمية من الذاكرةالعشوائية RAM روابط للتحميل Microsoft.Visual.Studio.2005.Professional.Edition أولا: فيجوال ستوديو 2005 كاملا وحجمة 2.7 جيجا تم تجديد الرابط بتاريخ 20/7/2007 إضغط الرابط Microsoft Visual Studio 2005 Team Suit لمستخدمى ويندوز فيستا يجب أيضا تحميل Visual studio 2005 Service pack1 من هذا الرابط VS 2005 SP1 الحجم 430 ميجا و هنا ستجد كل إصدارات Microsoft Visual Studio 2005 http://msdn2.microsoft.com/fr-fr/eva.../bb188238.aspx ثانيا:فيجوال بيسيك 2005 إكسبريس وذلك لمن يريدون نسخة خفيفة لاستخدام فيجوال بيسيك فقط ولا يستطيعون تحميل الفيجوال ستوديو كاملا فهذة النسخة تكفى ويمكن تحميلها من الرابط التالى Visual Basic 2005 Express حجم النسخة 435 ميجا كما يوجد تحديث للبرنامج خاص بويندوز فيستا هذا رابطه :- http://download.microsoft.com/downlo...32-X86-ENU.exe أو الذهاب إلى الرابط التالى http://msdn.microsoft.com/vstudio/ex...upport/install والذين يستخدمون ويندوز فيستا يجب أيضا عليهم تحميل Visual Basic 2005 Service Pack1 من الرابط التالى Visual Basic 2005 SP1 الحجم 32 ميجا ثالثا:SQL2005 Standerd Edition من هذا الرابط SQL 2005 Standerd Edition الحجم 890 ميجا نسخة كاملة وليست تجريبية ويمكنكم تحميل هذا التحديث SQL 2005 Service Pack2 وحجمها 282 ميجا من موقع ميكروسوفت مباشرة إضغط هنا SQL 2005 SP2 *** ثالثا:banana: :banana: :banana: Namespace System.Collections(للقراءة) إن فيجوال ستوديو 2005 يتيح إنشاء أنواع عديدة من التطبيقات التالية -تطبيقات الويندوز Windows Forms -تطبيقات الدوس Console applications -تطبيقات الويب Web Forms ولكن كيف يقوم بتوفير الأدوات اللازمة لإنشاء هذة التطبيقات؟ -يقوم الدوت نت بتوفير عدد كبير جدا من قواعد الفئات Base Class وهى وحدة كود صغيرة تحتوى على وظيفة ما وهى قابلة للتعامل مع لغات الفيجوال ستوديو دوت نت بمعنى أنة يمكنك التعامل معها من خلال الفيجوال بيسيك أو #C أو ++C أو ++J بدون أى تغيير فى مكوناتها - اسم المجال Namespace لا يمكن ترجمة Namespace ترجمة حرفية لأنها تعطى معنى بعيد عن ما نتحدث عنة المقصود بهذا المصطلح هو مجموعة من المكونات مرتبة طبقا لمجموعة من الوظائف المدرجة بها وهى كالتالى 1- System.Collections 2-System.Diagnostics 3- System.Data 4- System.IO 5- System.Math 6- System.Reflection 7- System.Security أولا: System.Collections هى مجموعة تحتوى على عدد من الفئات Class وهى تمكنك من عمل عديد من الأشياء مثل حفظ القوائم والتعديل والإضافة والحذف بعض الأمثلة على Namespace System.Collections ( قائمة المصفوفة ArrayList ) أولا ما هى المصفوفات ؟ .................................................. .................................................. .................................................. ......................... تعريف هى جمع مصفوفة والمصفوفة هى سلسلة من القيم المتشابة والتى ترتبط معا من خلال عامل مشترك يجمعها مثال: قطع الشطرنج والجنود داخل الكتيبة وعملاء شركة وتلاميذ فى فصل وفائدة المصفوفة هو تقليل حجم العمل الذى ينبغى عليك عملة لتخزين عناصر المصفوفة مثال: عند عمل لعبة شطرنج فإنك تحتاج لعمل 64 متغير لأن الرقعة تحتوى على 64 خانة مختلفة بينما تستطيع وضع 64 خانة هذة داخل مصفوفة واحدة ويتم الإعلان عن المصفوفة باستخدام الأمر Dim .................................................. .................................................. .................................................. ......................... عودة إلى قوائم المصفوفات إن قائمة المصفوفةArrayList مشابهة لدرجة كبيرة مع المصفوفات ولكنها تختلف فى أنها قادرة على النمو والإمتداد كما أنة يمكن إضافة مزيد من العناصر إليها وهى مناسبة إذا كان لديك مجموعة بيانات تتغير بصورة مستمرة بالزيادة أو النقصان التعامل مع قائمة المصفوفة Array List -خصائص قوائم المصفوفاتProperties of ArryList Capacity لقراءة الحجم الحالى لقائمة المصفوفة ArrayList Count عدد العناصر الموجود بالفعل داخل قائمة المصفوفة Item إيجاد عنصر معين من عناصر قائمة المصفوفة -ألأوامر الخاصة بقائمة المصفوفة ArrayList Add إضافة عنصر أو بند جديد Clear مسح أو إزالة كل العناصر IndexOf تحديد موقع عنصر محدد داخل قائمة المصفوفة Insert إضافة عنصر أو بند جديد فى موقع محدد داخل قائمة المصفوفة Remove إزالة عنصر أو بند المطلوب RemoveAt إزالة عنصر أو بند فى موقع معين Sort ترتيب وفرز ToArray نسخ الكل أو جزء ما إلى مصفوفة TrimToSize تقليص الحجم الكلى إلى الحجم الفعلى .................................................. .................................................. .................................................. ................ ( المصفوفة المقصوصة أو المقطوعة Bit Array ) وهى خاصة بإدارة قائمة المصفوفة Array List على مستوى البيانات المدمجة داخل المصفوفة وتقوم بالتحكم فى كل عنصر على حدة وبصورة فردية مثال رقعة الشطرنج التى تحدثنا عنها يوجد بها 64 خانة نفترض أننا أردنا أن نقوم بالتحكم بالخانة 5C فإن Bit Array تستطيع التحكم فيها من خلال إعطاؤها قيمة تسمى Boolean Value ويكون التحكم فى صورة True أو False http://www.qahtaan.com/works/up/get....himr1199960105 تعريف Boolean Value وتسمى أحيانا القيمة المنطقية للبيانات وهى تعطى الهدف أحد قيمتين True أو False ويتم التعبير عنها كالتالى True=1 False=0 .................................................. .................................................. .................................................. ................ (المقارن عديم التدقيق Cas Insensetive Comparer ) ويقوم بالمقارنة بين عنصريين دون التدقيق ومطابقة الاسم أو النص .................................................. .................................................. .................................................. ................. ( Case Insensitive Hash Code Provider ) وهو الذى يقوم بإمداد المقارن عديم التدقيق Cas Insensetive Comparer بالكود الذى يقوم بالمقارنة على أساسة .................................................. .................................................. .................................................. ................. (Collection Base ) وهو الذى يقوم بتوفير Class Base قواعد الفئات .................................................. .................................................. .................................................. ................. (Comparer ) المسئول عن عمليات المقارنة بين العناصر وهو Case Sensitive يعنى يتحسس حالة الأحرف .................................................. .................................................. .................................................. ................. ( ReadOnly Collection Base) المسئول عن جعل بعض قواعد الفئات للقراءة فقط أى غير قابلة للتحرير .................................................. .................................................. .................................................. ................. ( الطابور Queue) تمكنك من إضافة البيانات بسهولة وكذلك إخراجها بسهولة وتعتمد فى عملها على المبداء First in-First out ما يدخل أولا يخرج أولا ويرمز لها بالإختصار FIFO فهى تشبة حركة الأشخاص خلال الطابور خصائصها Count عدد البنود الموجودة الأوامر Clear مسح الكل Dequeue إخراج أحد العناصر وإعادتة مرة ثانية Enqueue إضافة عنصر جديد Peek عرض أحد البنود بدون إزالتة .............................................. (التكديس Stack ) نفس الطابور Queue ولكنة يختلف فى شىء واحد First in-Last out مايدخل أولا يخرج أخيرا ويرمز لها بالإختصار FILO مثال لو قمت بوضع مجموعة من الكتب فوق بعضها البعض فإن أول كتاب وضعتة سيكون فى الأسفل واخر كتاب فى الأعلى خصائصها Count عدد البنود الموجودة الأوامر Clear مسح الكل Pop إخراج أحد العناصر وإعادتة مرة ثانية Push إضافة بند جديد Peek عرض أحد البنود بدون إزالتة ................................ (فرز القوائم Sorted List) نفس إن قائمة المصفوفةArrayList ولكن يتم عمل مفتاح لكل بند لتمكين عملية الفرز وإعادة الترتيب الخصائص Capacity لقراءة الحجم الحالى للقائمة Count عدد العناصر الموجود بالفعل داخل القائمة Item إيجاد عنصر معين من عناصر القائمة Keys قراءة جميع المفاتيح المسجلة داخل القائمة Values ترتيب جميع البنود طبقا لترتيب المفاتيح الأوامر Add إضافة عنصر أو بند جديد Clear مسح أو إزالة كل العناصر IndexOfKey تحديد موقع عنصر محدد داخل القائمة Remove إزالة العنصر أوالبند المطلوب RemoveAt إزالة عنصر أو بند فى موقع معين TrimToSize تقليص الحجم الكلى إلى الحجم الفعلى أنتهى معى أمل التواصل:1108277095: |
رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )
رابعا :banana: :banana: :banana: :banana:
تحليل المثال رقم 3 رقم الحظ كود: PictureBox1.Visible = False معنى Visible يعنى مرئى فيكون معنى السطر إجعل خاصية رؤية محتويات PictureBox1 إذا اختارنا False فهذا يعنى (لا) فإذا كانت True فهذا يعنى (نعم) فيكون المعنى كاملا فى الحالة المذكورة لاتقم بإظهار محتوى صندوق الصورة إذا نظرنا إلى التركيبة فنجد أنة تم تكوينها بالصورة التالية (العنصر).(الخاصية المطلوب التعامل معها) =قيمة كأنها معادلة رياضية العنصرهنا هو( PictureBox1) ثم الفصل بينهما باستخدام (.) الخاصية هنا( Visible) القيمة المتغيرة هى Boolean وكما أشرنا فإنها تأخذ أحد قيمتين True أو False كود: Label.Text = CStr(Int(Rnd() * 10)) إن CStr هى فى الحقيقة إختصار للجملة Convert String وكلمة String تعنى نص إذن المعنى قم بتحويل النص وهى ليست CStr بل هى()CStr و يصبح معنى () أى المحتوى بين القوسين أما بالنسبة لكلمة Int فهى اختصار Integer وهو رقم صحيح لا يحتوى على كسور أو علامات عشرية وهى هنا ()Int أى الرقم الصحيح الموجود داخل المحتوى التالى بالنسبة لأهم تركيبة هنا فهى هذة Rnd() * 10 Rndهى اختصار Random ومعناها (عشوائى) إذن لدينا الان رقم صحيح عشوائى سوف يحل محل Text فى Label ولايضاح معنى Rnd() * 10 وما سينتج عنة نتابع هذا التسلسل Rnd() * 100 تعطى الأرقام الصحيحة من 0 إلى 99 Rnd() * 1000 تعطى الأرقام الصحيحة من 0 إلى 999 Rnd() * 10000 تعطى الأرقام الصحيحة من 0 إلى 9999 Rnd() * 100000 تعطى الأرقام الصحيحة من 0 إلى 99999 Rnd() * 1000000 تعطى الأرقام الصحيحة من 0 إلى 999999 وهكذا وهذا التتابع يسمى تتابع لوغاريتمى فيكون معنى هذا السطر كود: Label.Text = CStr(Int(Rnd() * 10)) قم بتحويل النص الموجود فى العنوان إلى عدد عشوائى صحيح بشرط أن يكون أكبر من ولا يساوى -1 وأقل من ولا يساوى 10 كود: If (Label1.Text = "7") Or (Label2.Text = "7") _ Or (Label3.Text = "7") Then PictureBox1.Visible = True Label4.Visible = True Beep() End IfIf إذا وهى أداة الشرط قيمة العنوان الأول =7 Or أو قيمة العنوان الثانى =7 Or أو قيمة العنوان الثالث =7 Then يأتى الان دور جواب الشرط ماذا سيحدث PictureBox1.Visible = True Label4.Visible = True ماهيب محتاجة خلاص Beep() وصوت End If نهاية الشرط *** خامسا التعامل مع الديالوج(مهم) يتم إدراج ديالوج عن طريق فتح Dialogs فى مربع الأدوات ToolBox -عند إدراج ديالوج فإنة سييتم إدراجة خارج الفورم وبالتحديد فى البار أسفل الفورم http://www.qahtaan.com/works/up/get....lqrv1200061558 -ديالوج إختيار اللونColor Dialog قم بإدراج Button و ColorDialog اكتب الكود التالى فى Button كود: Dim colors() As Integer = { _ &HFF, &H11FF, &H22FF, &H33FF, _ &H44FF, &H55FF, &H66FF, &H77FF, _ &H88FF, &H99FF, &HAAFF, &HBBFF, _ &HCCFF, &HDDFF, &HEEFF, &HFFFF} ColorDialog1.CustomColors = colors ColorDialog1.Color = Button1.BackColor If ColorDialog1.ShowDialog() = DialogResult.OK Then Button1.BackColor = ColorDialog1.Color End If عند اختيار لون فإنة يتم تغيير لون الزر إلى اللون الذى قمت باختيارة ................................................ ...................... 2-ديالوج فتح مجلد Browse For Folder قم بإدراج Button وTextBox1 وFolderBrowserDialog قم بوضع هذا الكود فى الزر Button كود: FolderBrowserDialog1.SelectedPath = "" FolderBrowserDialog1.Description = _ "قم باختيار مجلد" If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then TextBox1.Text = FolderBrowserDialog1.SelectedPath End If .................................................. ............................. 3- ديالوج اختيار خصائص الخط Font Dialog قم بإدراج Button وFontDialog قم بوضع هذا الكود فى الزر Button كود: FontDialog1.Font = Me.Font FontDialog1.Color = Me.ForeColor FontDialog1.ShowColor = True If FontDialog1.ShowDialog() = DialogResult.OK Then Me.Font = FontDialog1.Font Me.ForeColor = FontDialog1.Color End If لتغيير خصائص ونوع ولون الخط .................................................. ............................. 4-ديالوج فتح ملف OpenFileDialog يستخدم هذا الديالوج لفتح أى ملف دون النظر إلى امتدادة قم بإدراج Button و OpenFileDialog قم بوضع هذا الكود فى الزر Button كود: If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then MessageBox.Show(OpenFileDialog1.FileName) End If .................................................. .................................................. ............................. 5-ديالوج فتح ملف بامتداد محدد OpenFileDialog يستخدم هذا الديالوج لفتح ملف لة امتداد معين مثل ملف نص .txt أو ملف صورة .Bmp .....وهكذا قم بإدراج Button و OpenFileDialog إذهب إلى خصائص OpenFileDialog ثم إلى Filter وقم بكتابة السطر التالى كود: Text (*.txt)|*.txt" فى OpenFileDialog نقوم بكتابة الكود التالى كود: For Each file_name As String In OpenFileDialog1.FileNames If Not file_name.EndsWith(".txt") Then MessageBox.Show("File '" & file_name & _ "' هذا ليس ملف نص", _ "نوع الملف غير معروف", _ MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) e.Cancel = True Exit Sub End If Next file_name فى Button كود: If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then Dim file_names As String = Strings.Join(OpenFileDialog1.FileNames, " ") MessageBox.Show(file_names) End If ................................................ ............................. 6-ديالوج حفظ ملف بأى امتداد SaveFileDialog يستخدم هذا الديالوج لحفظ ملف بأى امتداد اختيارى قم بإدراج Button و SaveFileDialog إذهب إلى خصائص SaveFileDialog ثم إلى Filter وقم بكتابة السطر التالى كود: All Files (*.*)|*.*" الكود فى SaveFileDialog الكود التالى كود: e.Cancel = True وهذا الكود فى زر Button كود: If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then MessageBox.Show(SaveFileDialog1.FileName) End If .................................................. .......... 7-ديالوج حفظ ملف بامتداد محدد SaveFileDialog يستخدم هذا الديالوج لحفظ ملف بامتداد محدد .txt أو .dat مثلا قم بإدراج Button و SaveFileDialog إذهب إلى خصائص SaveFileDialog ثم إلى Filter وقم بكتابة السطر التالى كود: Data Files (*.dat)|*.*" الكود فى SaveFileDialog الكود التالى كود: If Not SaveFileDialog1.FileName.EndsWith(".dat") Then MsgBox("File " & SaveFileDialog1.FileName & _ " is not a .dat file", _ MsgBoxStyle.Exclamation, _ "Invalid File Type") e.Cancel = True End If وهذا الكود فى زر Button كود: If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then MessageBox.Show(SaveFileDialog1.FileName) End If أنتها درس اليوم و يتبع......:1108277077: |
رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )
سادسا
ديالوج الطباعة 1-ديالوج إعداد الصفحة قبل الطباعة قم بإدراج زر Button و PageSetupDialog الكود قم بالضغط على الفورم واكتب السطر التالى فى السطر الأول وقبل Declearation و Declearation هنا التى هى Public Class يعنى فى General كود: Imports System.Drawing.Printing فى الزر Button قم بكتابة التالى كود: PageSetupDialog1.Document = New PrintDocument If PageSetupDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then End If .................................................. .............................................. 2- ديالوج الطباعة Print Dialog قم بإدراج زر Button و PrintDialog و PrintDocument الكود قم بالضغط على الفورم واكتب السطر التالى فى السطر الأول وقبل Declearation كود: Imports System.Drawing.Printing على الزر Button كود: If PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then PrintDocument1.Print() End If .................................................. .............................................. 3-ديالوج معاينة الصفحة قبل الطباعة Print Privew قم بإدراج زر Button و PrintPreviewDialog قم بكتابة هذا الكود فى Button كود: If PrintPreviewDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then PrintPreviewDialog1.Document.Print() End If *** سابعا Namespace System.Diagnostics(للقراءة) إن مجموعة Namespace System.Diagnostics تقوم بتوفير الفئات Class التى تسمح بالتعامل مع عمليات النظام و عرض الأحداث ومقاييس الكفاءة داخل النظام وأنواع الفئات Class التى يوفرها كالتالى 1-(System.Diagnostics.Event Log) وهى توفر فئات Class التعامل مع الأحداث الخاصة بالنظام وقراءة مداخل الحدث وإنشاء وحذف سجلات الأحداث الخاصة بالنظام بالإضافة لمصادر الأحداث على الشبكة وهى كالتالى - سجلات الحدث Event Log وهى التى تعطى إمكانية التفاعل مع سجلات أحداث الويندوز Windows Event Logs ولكن ما هى سجلات أحداث الويندوز Windows Event Logs؟ .................................................. .................................................. .................................................. ................... توضيح حول سجلات الأحداث هى بيانات الحدث والحدث Event هى كلمة مشتقة من الحدوث وهو هنا يقصد بة كل ما قد حدث بالفعل أو ما هو قابل للحدوث من الأحداث مثل تشغيل برنامج معين أو إغلاقة والحالة التى كان عليها عند بدء التشغيل وكذلك الإغلاق وما حدث فى الفترة بين البداء وإنهاء النشغيل مصحوبا بزمن الحدوث التى وقع فية الحدث إلى اخر الأمور المتعلقة بالحدث من أخطاء وما شابة وهى مقسمة كالتالى طبقا للنوع 1-تطبيقات Application 2-أمان Security 3-تثبيت Setup 4-النظام System 5- الأحداث المتقدمة Forwarded Events ويمكن تقسيمها أيضا طبقا لطبيعة حدوثها كالتالى 1-أخطاء Error 2-تحذيرات Warning 3-معلومات Informations 4-تحكم ناجح Audit Success 5-تحكم فاشل Audit Failure ويمكن إيجاد سجلات الأحداث من خلال تشغيل Event Viewr عارض الأحداث من خلال الذهاب إلى تشغيل Run فى قائمة إبداء وكتابة eventvwr كما يمكنك إيجاد الملفات التى تحوى سجلات الحدث فى المسار التالى كود: %SystemRoot%\System32\Winevt\Log\ ................ -مدخل السجل الفردى EventLogEntry وهو المسئول عن إدخال وكتابة حدث واحد مفرد وهو فئة Class غير قابل للتوارث أى أنة غير قادر على تكرار نفسة -مدخل السجلات المتعددة EventLogEntryCollection وظيفتة تجميع عدد من السجلات الفردية وتحديد أعداد السجلات المسموح بها وكذلك أحجامها -مثبت سجلات الحدث EventLogInstaller وهو المسئول عن توزيع وتثبيت سجل الحدث للتطبيق المطلوب -تصريح الوصول إلى سجلات الحدث EventLogPermission وهو المسئول عن السماح والمنع للوصول إلى الكود عن طريق إعطاء أو عدم إعطاء تصاريح بذلك -مفسر التصريح بالحدث EventLogPermissionAttribute وهو المسئول عن تفسير وتوضيح الترخيص بسجل الحدث -مدخل التصريح الفردى للوصول إلى سجلات الحدث EventLogPermissionEntry -مدخل مجموعة التصريحات المجمعة إلى سجلات الحدثEventLogPermissionEntryCollection -متتبع الحدث EventLogTraceListener وهو المسئول عن تتبع مسار الحدث 2-(System.Diagnostics.Process) وهى المسئولة عن توفير الفئات Class التى تقوم بإدارة ومراقبة العمليات Process داخل النظام وكذلك العمليات التى تحدث خلال الشبكة ومعرفة حالة العمليات كما أنها أيضا تقوم بتنظيم العمليات عن طريق تسمية كل عملية ووضع ID رقم تعريفى لكل عملية وكذلك عرض العمليات التى تقوم باستخدام المعالج ....الخ ويوجد بعض أنواع الفئات Classالمتعلقة ب System.Diagnostics.Process ومنها -العمليات Process وهى المسئولة عن بداء وإيقاف عملية ما سواء كان هذا على الجهاز المحلى أو كمبيوتر أخر على شبكة الإتصال -وحدة العمليات Process Module وهى تقوم بتوضيح وعرض الملفات التى تستخدم العملية مثل ملفات DLL أوexe ..الخ -وحدة تجميع العمليات Process Module Collection وهى التى تقوم بتجميع كل مجموعة من Process Module وتوجبهها إلى الغرض التى تعمل من أجلة -بيانات بداء العملية Process Start Info وهى المسئولة عن ظبط القيم المستخدمة عند بداء عملية ما -مسار العملية Process Thread وهى التى تتحكم وتحدد مسار العملية داخل النظام -مجمع مسار العمليات Process Thread Collection وهى التى تحدد مسار مجمل العمليات داخل النظام 3-(System.Diagnostics.Performance Counter) إن هذة الفئات Class تمكن من متابعة الكفاءة الخاصة بالنظام كما تمكن من تخصيص إطار خاص للتحكم بكفاءة النظام 4-(System.Diagnostics.Debug) وهى توفر الفئات Class التى يمكنها تتبع الخطاء ومصدرة وهى تقوم بتنفيذ هذة المهمة كالتالى -التأكد Assert ويتم فى هذة المرحلة زيادة الحمل على العملية وفحص الحالة والتأكد إذا ما كان الخطاء كاذب - Write/WriteLine يتم تتبع مسار الخطاء وكتابة المعلومات عنة - WriteIf/ WriteLineIf يتم كتابة تقرير الخطاء وعرض رسالة الخطاء إذا تبين أن الخطاء خطاء حقيقى 5-(System.Diagnostics.Trac) توفر هذة المجموعة من الفئات أدوت تتبع مسارات العمليات والأحداث ومعرفة خصائصها *** ثامنا فكرة سريعة عن الفئات Classes (للقراءة) Notes about Classes In VS.Net هو المكونات الذى تستخدمها فى الفورم والديالوج والزر وكل مكونات الفيجوال ستوديو عبارة عن Class وهذة Class يقوم Dotnet FrameWork بإمداد الفيجوال استوديو بها وللفئة (Class) وجهين كوجهى العملة الوجة الأول :وهو الصورة النصية بمعنى أنك تتعامل معة على أنة كود وهذا التعامل تعامل مطاط فطالما هو فى صورة كود فيمكنك تعديلة وتغيير خصائصة الوجة الاخر :Namespace وهو نظام تقسيمى تم على أساسة تصنيف الفئات(Classes) طبقا لوظيفتها و Namespace هى التى تكون الفجوال ستوديو دوت نت والفئات فى Namespace تكون ناضجة وجاهزة للعمل تقريبا ولكن بعد توجيهها إلى العمل وتخصيص الإحداثيات النهائية لها ويتم ذلك إما عن طريق تغيير خصائصها من Properties صفحة الخصائص أو عن طريق كتابة كود أو الإثنين معا أو بدون ذلك مثل TextBox حيث أنك تستطيع تحديد وظيفتة دون المساس بة أو تغيير أى من خصائصة والتحكم بة من خلال زر ويتم تقسيم Namespace إلى 1-System.Collection 2-System.Diagnostics 3-System.Data 4-System.IO 5-System.Math 6-System.Reflection 7-System.Security إذن الفئات Classes هى جزء من أجزاء البرنامج الذى تقوم بإنشاءة والبرنامج هو مجموعة Classes وكل Class يحتوى على خصائص الجزء الذى يمثلة وقد تكون هذة الخاصية شكل أو سلوك أو وظيفة ومجموع الفئات Class هى التى تعطى فى النهاية المشروع الذى سيصبح برنامجا فيما بعد وليس من الضرورى أن يكون Class شىء نراة فى صورة مادية مثل الموجودة فى ToolBox فمن الممكن أن يكون سطرا من الأوامروالفئات Classes مخزنة داخل الدوت نت بلغة تسمى Microsoft Intermediate Languageويمكن إختصارها إلى MSLI أى اللغة الوسيطة وهى وسيطة لأن أى لغة من لغات الفيجوال ستوديو تستطيع فهمها والتعامل معها بدون عامل وسيط VB.Net أو C++.Net….الخ وعلى ذلك فأيا كانت اللغة الذى تعمل من خلالها فإنة يمكنك إستدعاء أحد الفئات Classes الموجودة فى Primary Microsoft Dotnet Framwork Components وبعد أن تنتهى من العمل فإنة تحويل نواتج العمل مرة أخرى إلى اللغة الوسيطة (MSLI)وذلك عن طريق Common Language Runtime وتختصر إلى CLR سؤال :هل يمكن إنشاء أو استحداث فئة Class غير متوفرة فى مكونات فيجوال ستوديو إجابة:نعم سؤال: كيف هذا إجابة:هكذا -قم بفتح الفيجوال ستوديو ثم من قائمة File اختر New Project -قم باختيار Class Liberary نفترض أننا نريد عمل Class للوحة دخول تحتوى على UserName و password وUserID نقوم بإعادة تسمية Class1 ونسمية Login -نقوم أولا بالإعلان عن المتغيرات الثلاثة كود: Private _UserID As Integer Private _UserName As String Private _password As String ثم تحديد بعض الخصائص -تحديد خصائص UserID كود: Public ReadOnly Property UserID() As Integer Get Return _empID End Get End Property -تحديد خصائص UserName كود: Public Property UserName() Get Return _UserName End Get Set(ByVal Value) _UserName = Value End Set End Property -تحديد خصائص password كود: Public Property Password() As String Get Return _password End Get Set(ByVal Value As String) If Len(Value) >= 6 then _password = Value Else Throw New Exception _ ("Password must be at least 6 characters.") End If End Set End Property هذة فكرة سريعة عن Class *** تاسعا التعامل مع القوائم(مهم) -مشروع جديد -قم بإدراج MenuStrip من خلال Menus&Toolbars -قم بالضغط على MenuStrip بالماوس يظهر لك مربع صغير فى أقصى النافذة مكتوب عليةType Here http://www.qahtaan.com/works/up/get....uwxy1200156263 سنقوم الان بإنشاء أول قائمة منسدلة وهى قائمة Fileملف القائمة الأولى ملف File -فى المربع الفارغ الذى يظهر لك الان قم بكتابة اسم للقائمة وهو ملف -ظهر لنا الان MenuStrip فرعى منسدل من القائمة ملف سنقوم الان بتحديد البنود التى نريد وضعها من خلال هذة القائمة المنسدلة -كليك يمين بالماوس على القائمة ملف التى قمنا بإنشاءها الان ومن القائمة التى تظهر قم باختيار Edit DropDown Item http://www.qahtaan.com/works/up/get....7iu81200246691 -تظهر لنا الان نافذة جديدة سنقوم الان بإضافة MenuItm جديد عن طريق الضغط على Add ثم بعد ذلك سنقوم بالضغط على Dropper لتظهر قائمة بالمكونات كما هو موضح http://www.qahtaan.com/works/up/get....27vb1200338726 ثم نقوم بإضافة فاصل Separator وذلك عن طريق الضغط على Dropper ثم اختيار Separator ثم Add -نقوم الان بإضافة عدد 3 MenuItm ثم Separator ثم عدد 3 MenuItm ثم Separator ثم MenuItm واحد على الترتيب -لدينا الان عدد 8 عناصر فى القائمة المنسدلة سنقوم الان بتسميتها كالتالى http://www.qahtaan.com/works/up/get....opvw1200338840 -قم بعمل كليك على ToolStripMenuItem تظهر لك خصائصة فى النافذة التى على اليمين -إذهب إلى Text وقم بتغيير الإسم من ToolStripMenuItem1 إلى جديد من ToolStripMenuItem2 إلى فتح من ToolStripMenuItem3 إلى حفظ من ToolStripMenuItem4 إلى حفظ باسم من ToolStripMenuItem5 إلى إعداد الصفحة من ToolStripMenuItem6 إلى معاينة من ToolStripMenuItem7 إلى طباعة من ToolStripMenuItem8 إلى إنهاء يمكننا الان إضافة مزيد من الأشياء مثل وضع أيكونة أو صورة لبعض العناصر -كليك يمين على ملف ثم Edit DropDown Item قم باختيار أحد العناصر وليكن ToolStripMenuItem1 ثم اذهب إلى الخصائص ثم اذهب إلى Image وقم بالضغط على علامة المستعرض ثم Local Resource ثم Import وقم باختيار صورة مناسبة ولتكن بمقاس 16X16 http://www.qahtaan.com/works/up/get....bitw1200338882 الان انتهينا من ملف نعود الان إلى الواجهة الرئيسية ثم نقوم بإنشاء القائمة الثانية القائمة الثانية تحرير Edit -قم بإنشاء قائمة جديدة بالضغط على المربع Type Here الموجود بجانب ملف وقم بتسميتة تحرير http://www.qahtaan.com/works/up/get....lprx1200338963 -نقوم بإدراج عدد 2 ToolStripMenuItem ثم Separator ثم عدد 2 ToolStripMenuItem ثم Separator ثم عدد1 ToolStripMenuItem ثم Separator ثم عدد 3 ToolStripMenuItem ثم Separator ثم واحد ToolStripMenuItem بنفس الطريقة المتبعة فى قائمة ملف ثم نقوم بتسميتها كالتالى -فى نافذة الخصائص إذهب إلى Text وقم بتغيير الإسم من ToolStripMenuItem9 إلى تراجع من ToolStripMenuItem10 إلى إعادة من ToolStripMenuItem11 إلى بحث من ToolStripMenuItem12 إلى بحث واستبدال من ToolStripMenuItem13 إلى تحديد الكل من ToolStripMenuItem14 إلى نسخ من ToolStripMenuItem15 إلى قص من ToolStripMenuItem16 إلى لصق من ToolStripMenuItem17 إلى إدراج صورة القائمة الثالثة الخطوط والألوان -قم بإنشاء قائمة جديدة بالضغط على المربع Type Here الموجود بجانب تحرير وقم بتسميتة الخطوط والألوان نقوم بإدراج عدد 1 ToolStripMenuItem ثم Separator ثم ToolStripMenuItem ثم Separator ثم 4 ToolStripMenuItem ثم Separator ثم ToolStripMenuItem ثم Separator قم بتسميتها على الترتيب التالى (نوع الخط-لون الخط-غامق-مائل-خط سفلى-عادى-لون خلفية الصفحة) القائمة الرابعة تنسيق الفقرة سنقوم بإدراج عدد 2 ToolStripMenuItem ونقوم بتسميتهما( مسافة بادئة –محاذاة) على الترتيب -نقوم بعمل قائمة فرعية على قائمة مسافة بادئة وتحتوى على 5 عناصر (بدون-بمقدار5-بمقدار10-بمقدار15-بمقدار20) على الترتيب ويمكن ذلك مباشرة عن طريق الخصائص ثم الذهاب إلى DropDownItem ثم الضغط على Collection -نقوم بعمل قائمة فرعية على العنصر محاذاة تحتوى على 3 عناصر(محاذاة إلى اليسار-توسيط-محاذاة إلى اليمين) http://www.qahtaan.com/works/up/get....rtux1200339090 القائمة الخامسة تعداد نقطى وتحتوى على عنصرين فقط وهما (إضافة-إزالة) أرصعو هنا يالذيابه و بهذا أنتها درس هذا اليوم و يتبع,,,,,,,,................. تحياتي لصبيان قحطان وين ما كانو |
الساعة الآن 07:01 AM |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. TranZ By
Almuhajir
جميع الحقوق الأدبيه والفكرية محفوظة لشبكة قحطان وعلى من يقتبس من الموقع الأشارة الى المصدر
وجميع المواضيع والمشاركات المطروحه في المجالس لاتمثل على وجه الأساس رأي ووجهة نظر الموقع أو أفراد قبيلة قحطان إنما تمثل وجهة نظر كاتبها .
Copyright ©2003 - 2011, www.qahtaan.com