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

يا شباب ماهو عمل ا لدالة UBound

مغلق
بدأه Ali_otb في 19 مايو 2007 · 6 رد · 1,457 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يا شباب ماهو عمل ا لدالة UBound

وتقبلوا خالص التحية والتقدير ،،،،

#2

UBound تعني الحد الاعلى من المصفوفة

تسخدم لإظهار الحد الاعلى وهي عكس LBound التي تستخدم للحد الادنى للمصفوفة.

على سبيل المثال مصفوفة فيها 10 عناصر لمعرفة الحد الاعلى الذي نستخدم فيه الحلقة Loop سيكون هذا الامر مفيد جداً

حيث انك لن تحتاج لكتابة -1 عندما تستخدم الـ Count أو Length لانها تبدأ من الواحد خلاف المصفوفة التي تبدأ من القيمة صفر.

بمعنى اخر , لجلب أول سطر في المصفوفة سيكون بهذا الشكل UBound(Array,1) not 0

كذلك لها استخدام اخر وهو في المصفوفات المتعددة ذات الصفوف و الاعمدة ,

هذه الوظيفة تعود بقيمة رقمية , إذا كانت المصفوفة لا تحتوى على عناصر ستعود بـ -1

والله أعلم.

في المثال يتضح المقال

#3

أخي الشهاب الحارق

تحية طيبة لك ،،، ماقصرت ،،،

ولكن كنت اقرأ هذا الكود ولم اعرف فائدها هنا ،،،

===========================================================================

Private Sub btnAddCustomer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddCustomer.Click

Dim cCustomer As Customer

cCustomer.Id = UBound(aCustomers)' هنا

cCustomer.FirstName = txtFirstName.Text

cCustomer.LastName = txtLastName.Text

cCustomer.DateOfBirth = CDate(txtDOB.Text)

aCustomers(UBound(aCustomers)) = cCustomer

ReDim Preserve aCustomers(UBound(aCustomers) + 1) ' وهنا

MsgBox("Customer added")

txtFirstName.Text = ""

txtLastName.Text = ""

txtDOB.Text = ""

End Sub

#4

اعمل debug للبرنامج وانظر واستنتج

وسافيدك

ReDim

اعادة حجز لمصفوفة من جديد مع مسح البيانات التي بها

redim Preserve

زيادة الصفوف مع الاحتفاظ بالبيانات

#5
cCustomer.Id = UBound(aCustomers)' هنا

طيب هنا نقول ان رقم الزبون CustomerID سيأخذ أعلى رقم في الجدول لنقول ان هنالك 9 زبائن إذا رقم الزبون التاسع سيكون في

حقل الزبون الجديد . إذا الرقم 9 هو الرقم الاعلى و الذي اخذناه من عن طريق UBound .. طيب.

ReDim Preserve aCustomers(UBound(aCustomers) + 1) ' وهنا

الان كما قال اخونا طارق ان ReDim لإعادة بناء المصفوفة من جديد , ولكي تحتفظ بالبيانات التي فيها نضع الكلمة Preserve

لتمنع فقدان البيانات و نستخدم UBound ليعطينا الرقم 9 تكملة للمثال السابق ثم نزيد عليه رقم واحد ليكون الناتج 10

إذا الرقم 10 هو رقم الزبون الحالي عند عملية الاضافة من خلال هذا الزر.

بالتوفيق إن شاء الله.

في المثال يتضح المقال

#6

هل الكود المكتوب يلزمك؟؟

اذا بيلزمك ابنفهموا واذا ما بيلزمك حاول تنسى

إعمل اللي بدك اياه بغض النظر عن ماهية الكود.. -waf

::::التوقيع::::

موقع ممتاز

وان شاء الله يفيد الجميع

وشكرا

؟؟لماذا لا يصل الايميل المرسل من صفحتي الي الهوتميل؟؟

مستوي الجدية في المواضيع المطروحة

لا اله الا الله محمد رسول الله

#7

اخي العزيز TareqVB

ماقصرت ،،

اخي الكريم الشهاب الحارق ،،،

لا تكفي الكلمات لشكرك ،،، دعواتي لك من كل قلبي بالتوفيق ,,, وشرح اكثر من رائع ،،،

والشكر موصول للجميع ،،،

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…