اكثر المحتويات زيارة
الدوال في الاكسل (3,942 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (2,745 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (2,144 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (1,650 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (1,453 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (1,409 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (1,374 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (1,368 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,195 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,179 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,121 مشاهده)
درس تعريب المجلة (1,028 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,013 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (982 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (972 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (933 مشاهده)
التعرف على مكونات الكمبيوتر (922 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (908 مشاهده)
مقدمة عن لغة البيسك (839 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (821 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (806 مشاهده)
الفيجوال بيسك - مقدمة (786 مشاهده)
ما هو المات لاب MATLAB؟ (768 مشاهده)
نبذه عن الفيجوال بيسك (724 مشاهده)
الدرس الرابع: إنشاء دالة خاصة لاستخراج النسبة المئوية وخاصية الترتيب. (705 مشاهده)
الجديد
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (397 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (235 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (254 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (325 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (283 مشاهده)
دمج المراسلات0-- (152 مشاهده)
وضع صورة كخلفية للنص0-- (211 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (172 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (270 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (218 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (520 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (325 مشاهده)
أساسيات في Access0--0 (219 مشاهده)
تصميم تقرير لطباعة البيانات0---- (252 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (236 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (253 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (204 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (173 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (174 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (209 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (177 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (114 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (151 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (172 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (197 مشاهده)
البحث

من هنا وهناك
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
قريبا باذن الله
المصفوفات (الدرس الثاني)



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



 



محتوى الدرس:





  1. كيفية تعريف مصفوفة ذات حجم متغير Dynamic Array.

  2. حفظ محتويات الـDynamic Arrays عند إعادة تعريفيها.

  3. جملة ReDim.




المصفوفات متغيرة الحجم Dynamic Array:



في بعض الأحيان، لا نعرف مسبقاً حجم المصفوفة التي سنستخدمها في البرنامج بالضبط، وقد نريد تغيير حجم المصفوفة أثناء تشغيل البرنامج، هنا سنحتاج إلى المصفوفات ذات الحجم المتغير Dynamic حيث يمكننا تغيير حجمها في أي وقت.
تعتبر المصفوفات متغيرة الحجم أحد مميزات الفيجيوال بيسك، وهي تساعد في تنظيم الذاكرة بكفاءة. فمثلاً، يمكن استخدام مصفوفة كبيرة لوقت قصير ثم إعادة تحجيمها لتحرير مساحة من الذاكرة عندما لا نحتاجها. وهذا من شأنه تسريع المعالجة.



ولصناعة Dynamic Array نتبع التالي:







  1. نعلن عنها بأحد أوامر الإعلان الموضحة في الدرس السابق (Public or Private or Dim or Static) ونجعلها ديناميكية بعدم أي رقم في الأقواس كما يوضح المثال التالي:


    Dim AnyArray( )





  2. نعيد الإعلان عنها مع تحديد عدد العناصر باستخدام جملة ReDim كما في المثال التالي:



ReDim AnyArray( x+1 )



ملاحظات:





  • يمكن لجملة ReDim الظهور فقط في الـProcedure. وبعكس جملتي Dim, & Static فإن جملة ReDim قابلة للتنفيذ Executable.

  • تستخدم جملة ReDim نفس الصيغة Syntax المستخدم مع مصفوفات الحجم الثابت Fixed Array.

  • كل جملة من جمل ReDim يمكنها تغيير عدد العناصر بالإضافة إلى الحد الأعلى والحد الأدنى لكل بعد للمصفوفة، ومع ذلك فإن عدد الأبعاد في المصفوفة لا يمكن تغييره.


مثال:



لصناعة مصفوفة M كمصفوفة متغيرة الحجم، نعلن عنها أولاً في الـModule على النحو التالي:



Dim M( ) As Integer



ثم نعيد الإعلان عنها داخل الـProcedure على النحو التالي:



Sub ANY_NAME()


 
        ReDim M(9, 15)

End Sub





حفظ محتويات المصفوفة متغيرة الحجم عند إعادة تعريفها:



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







































Empty Value في حالة الــــ Variant Array
Zero في حالة الــــ Numeric Array
Zero-Length String في حالة الــــ String Array
Nothing في حالة الــــ Array of objects


وهذا مفيد عندما نريد تجهيز المصفوفة لبيانات جديدة أو عندما نريد اختزال حجم المصفوفة لتأخذ أقل مساحة ممكنة في الذاكرة. ولكن أحياناً نريد تغيير حجم المصفوفة دون فقد بياناتها!
يمكننا فعل ذلك باستخدام جملة
ReDim مع كلمة Preserve وتعني "احفظ".



مثال:



الكود التالي يستخدم جملة ReDim لتخصيص، ثم إعادة تخصيص مساحة تخزينية لمصفوفة متغيرة الحجم، مع افتراض أن الـOption Base يساوي 1:



Dim MyArray ( ) As Integer                   'declare Dynamic Array

     ReDim MyArray(
5 )                        'allocate 5 elements
       For I
= 0 To 5                              'loop 5 times
                MyArray(I)
= I                     'initialize array elements
       Next I

    ReDim MyArray(
10 )                       'allocate 10 elements
       For I
= 0 To 10                            'loop 10 times
                MyArray(I)
= I                    'initialize array elements
       Next I



الجملة التالية تغير حجم المصفوفة ولكنها لا تمحو العناصر الموجودة بها:



 ReDim Preserve MyArray( 10 )



والآن يمكننا كتابة ملخص متكامل لجملة ReDim.





جملة ReDim:



تستخدم في مستوى الـProcedure لإعادة تخصيص allocates مساحة تخزينية storage space لمصفوفة متغيرة الحجم Dynamic array.



صيغتها Syntax:



 ReDim [Preserve] varname(subscripts) [As type] [, varname (subscripts) [As type]]



حيث أن:





































Preserve  اختيارية، وتستخدم لحفظ البيانات الموجودة في المصفوفة عند تغيير حجم آخر بعد فيها.
varname  اسم المتغير (اسم المصفوفة).
subscripts  أبعاد المصفوفة (عددهم على الأكثر 60) وتستخدم الشكل التالي:

 [lower To] upper [, [lower To] upper]



 والقيمة الأدنى تحددها جملة Option Base وإذا لم توجد، يكون الحد الأدنى هو الافتراضي (صفر).

type  اختيارية، وتحدد نوع بيان عناصر المصفوفة. وقد تكون أي من الأنواع التالية:

 Byte, Boolean, Integer, Long, Single, Double, Currency, Decimal, Date, Object, String, Variant, User-defined.

[, varname (subscripts) [As type]]  اختيارية، لإعادة تحجيم مصفوفة أخرى.


ملاحظات هامة:





  • جميع ما ذكر في الصيغة داخل قوسين مربعين [] يعتبر اختياري يمكن الاستغناء عنه حين عدم الحاجة إليه.

  • تستخدم جملة ReDim لتحجيم أو إعادة تحجيم مصفوفة متغيرة الحجم Dynamic Array والتي بالفعل قد أعلن عنها مسبقاً باستخدام أي من الجمل Dim, Private, Public مع أقواس فارغة (أي بدون ذكر الأبعاد).

  • يمكن تكرار استخدام جملة ReDim لتغيير عدد العناصر والأبعاد لمصفوفة، ومع ذلك لا يمكن الإعلان عن مصفوفة بنوع معين من البيانات ثم إعادة تعريفها لاحقاً مع تغيير نوع البيان لنوع آخر إلا إذا كانت المصفوفة محتواه في variant.

  • إذا كانت المصفوفة محتواه في variant فإن نوع بيان العناصر يمكن أن يتغير باستخدام المقطع As Type إلا إذا استخدمنا كلمة Preserve ففي هذه الحالة لا يسمح بتغييرات.

  • إذا استخدمنا كلمة Preserve يمكن فقط تحجيم البعد الأخير للمصفوفة ولا يمكن تغيير عدد الأبعاد على الإطلاق.

  • إذا كان للمصفوفة بعد واحد فيمكن إعادة تحجيم هذا البعد لأنه البعد الأخير والوحيد بالمصفوفة.

  • وإذا كان للمصفوفة بعدين أو أكثر فيمكن فقط تغيير حجم البعد الأخير مع الاحتفاظ بمحتويات المصفوفة.

  • عندما نستخدم Preserve يمكن تغيير حجم المصفوفة بتغيير الحد الأعلى بينما ينتج لدينا خطأ حين تغيير الحد الأدنى.

  • إذا صنعنا مصفوفة أصغر مما كانت فإن بيانات العناصر المخزنة سوف تفقد.

  • إذا مررنا pass مصفوفة إلى Procedure بالـRefrence فإنه لا يمكن تغيير أبعادها من داخل الـProcedure.


تحذير:



جملة ReDim ستعمل وكأنها جملة إعلان إذا كان المتغير (المصفوفة) التي تعلن عنه غير موجود على مستوى الـProcedure أو الـModule. وإذا كان هناك متغير آخر بنفس الاسم قد أنشئ بعد ذلك وحتى لو كان في النطاق ككل Scope؛ فإن ReDim سوف ترجع للمتغير الأخير ولن يتسبب عن ذلك خطأ في الترجمة Compilation error حتى ولو كانت جملة Option Explicit فعّالة. وبذلك لن يدرك المبرمج أنه هناك خطأ بالشيفرة code.
ولتفادي هذا التعارض لا ينبغي استخدام جملة ReDim كجملة إعلان بدلاً من Dim مثلاً، ولكن نستخدمها فقط لإعادة تعريف حجم المصفوفة.





 مثال(1):



يبين المثال التالي كيف يمكن زيادة حجم البعد الأخير للمصفوفة متغيرة الحجم بدون محو البيانات الموجودة فيها:



ReDim X(10,10,10)
ReDim Preserve X(10,10,15)



مثال(2):



لإدخال قائمة من الأعداد غير معلومة العدد مسبقاً (أي وقت كتابة الشيفرة code) ويسأل عن عددها عند تشغيل الـcode:



Dim X() As Integer
N = InputBox("
أدخل عدد العناصر من فضلك")
ReDim X(N)
For I = 1 To N
        X(I) =  InputBox("
أدخل عنصر من القائمة")
Next I



مثال(3):



لإدخال قائمة من الأعداد غير معلومة العدد مسبقاً (أي وقت كتابة الشيفرة code)، ولا يسأل عن عددها عند تشغيل الـcode ولكن يقوم المستخدم بإدخال صفر (أو أي قيمة متقف عليها) عند الانتهاء من ادخال عناصر المصفوفة:



Dim X()
Do
     prompt="
أدخل عنصراً من القائمة وفي النهاية أدخل صفر"
     DummyVariable = InputBox(prompt)
     IF
DummyVariable <> 0 Then
                   UpperLimit = UpperLimit + 1
                   ReDim Preserve X(UpperLimit)
                   X(UpperLimit) =
DummyVariable
     Else
                   Exit Do
     End IF
Loop
 





وإلى هنا نكون قد انتهينا من دروس المصفوفات وجميع ما يتعلق بها في الفيجيوال بيسك، أرجو من الله أخي الكريم أن تفيدك

المصفوفات (الدرس الثاني)

أضف هذه المادة في موقعك:
مواد مشابهة:
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Visual Creations Form Shape Control كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Visual Creations Form Shape Control
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Visual Creations Form Shape ...
(مرات المشاهدة: 152 مرات)
برمجة Dao من خلال فيجوال بيسك (3/4) برمجة Dao من خلال فيجوال بيسك (3/4)
برمجة Dao من خلال فيجوال بيسك (3/4)
(مرات المشاهدة: 204 مرات)
تعلم برمجة Pascal الدرس العاشر - الملفات النصيه تعلم برمجة Pascal الدرس العاشر - الملفات النصيه
تعلم برمجة Pascal الدرس العاشر - الملفات النصيه
(مرات المشاهدة: 93 مرات)
فوائد متنوعة لكافة المبرمجين (3) فوائد متنوعة لكافة المبرمجين (3)

(مرات المشاهدة: 72 مرات)
قواعد البيانات1 قواعد البيانات1
قواعد البيانات1
(مرات المشاهدة: 39 مرات)
مقدمة عن ربط قاعدة البيانات بالكود 2 مقدمة عن ربط قاعدة البيانات بالكود 2
مقدمة عن ربط قاعدة البيانات بالكود 2
(مرات المشاهدة: 92 مرات)
هيكلية قاعدة البيانات1 هيكلية قاعدة البيانات1
هيكلية قاعدة البيانات1
(مرات المشاهدة: 175 مرات)
استعمل ADO وفيجول بيسك 6 للقراءة والكتابة في قاعدة البيانات استعمل ADO وفيجول بيسك 6 للقراءة والكتابة في قاعدة البيانات
استعمل ADO وفيجول بيسك 6 للقراءة والكتابة في قاعدة البيانات
(مرات المشاهدة: 288 مرات)
شكل الفورم وكيفية التعامل معه شكل الفورم وكيفية التعامل معه
شكل الفورم وكيفية التعامل معه
(مرات المشاهدة: 279 مرات)
برمجة Dao من خلال فيجوال بيسك (2/4) برمجة Dao من خلال فيجوال بيسك (2/4)
برمجة Dao من خلال فيجوال بيسك (2/4)
(مرات المشاهدة: 134 مرات)
تعارف اهداءات ترحيب تبريك الحوار العام الفسحة العامة الطلاب و الاختبارات و الاسئله الجريمه حوادث كوارث جرائم معجم لهجات الفاظ مصطلحات عبارات حكم المنتدى الاسلامى تفسير الاحلام dreams صوتيات اسلاميه اناشيد محاضرات خطب وعظ الخينة الرمضانية اللغة الانجليزيه English الطرائف والمرح والفكاهه والتسليه العاب اكس بوكس بلاستيشن XBOX360 & PS3 playstation بلاي استيشن دريم كاست نتندو Anime انمي افلام كرتون السياحة و السفر والرحلات الافلام المنوعه افلام عربيه افلام اجنبيه الصور المضحكه والتعليق مسابقات الغاز حكاوي تطوير المواقع و السكربتات Ajax XML CSS JavaScript PHP Perl CGI seo Search Engine web2 تطوير و صيانة المنتديات vBulletin مشاكل و حلول للمنتديات و المواقع المشكله و الحل و الصيانة الهاكات برودكت بلقن Product - Plugins استايلات قوالب واجهاتstyle - template حراج انترنت مستعمل + جديد اشهار مواقع تبادل اعلانات بيع و شراء منتديات ستلايت فضائيات قنوات ترددات كامات شفرات مفاتيح شيرنج Sharing كروت ساتلايت و الرسيفرات الشعر العام البوح بالخافي فصحى نبطي الخاطرة الأدبية خواطر منوعه قصص روايات الكمبيوتر الحاسب والاجهزة العام البرامج الكاملة وشروحها وتعريب البرامج البرامج العربية والمعربة البرامج المشروحة و شروحات البرامج فوتوشوب photoshop رسم تصميم فلاتر فرش تدرجات خطوط باترن اشكال جوال بلوتوث جميع اجهزة الجوال mobile bluetooth بوكيت بي سي Pocket PC اجهزة كفية بلوتوث bluetooth فلاش سويتش سويش ماكس FLASH _ SWiSH الهكرز و الاختراق حماية فيروسات اختراق كراك hacker crack virus حواء للبنات نسائي للحريم فقط والبنوتات المطبخ للطبخ والاكل وكل امور المطابخ تطوير الذات و البرمجة اللغوية العصبية عيادة طبية للفلوق وغيرها صحه وعلاج health طقها والحقها الرياضي رياضه عربيه منوعه رياضه اجنبيه دوري اسباني وايطالي وغيره قنص صيد رحلات برية بحرية سيارات دراجات نارية تفحيط ترهيم
جميع الحقوق محفوظة مدرسة المشاغبين منتديات مدرسة المشاغبين  Copyright © All rights reserved sitemap