اذهب الي المحتوي
أوفيسنا

تعريف متغيرات عند مناداة الدالة ، واخرى داخل الدالة


إذهب إلى أفضل إجابة Solved by jjafferr,

الردود الموصى بها

عندي سؤال و برجاء الرد 

لية عند عمل دالة يتم تعريف متغيرات لها في السطر 

و يتم ايضا تعريف متغيرات اخري دالخل الدالة 

علي سبيل المثال في الصورة 

 

معلش انا لسة بتعلم من حضراتكم 

Untitled.png

رابط هذا التعليق
شارك

  • أفضل إجابة

وعليكم السلام 🙂

 

1. اذا تم مناداة الدالة (من الاستعلام مثلا) ، فعادة يتم ارسال قيم اليها ، حتى تقوم الدالة بحساب المطلوب ،

وعليه ، الاكسس لا يسمح لك بإرسال بيانات من نوع مختلف ،

2. ولكن الدالة تحتاج الى متغيرات اخرى لتقوم بعملها ، لذا نعرّف هذه المتغيرات داخل الدالة 🙂

كما انك تستطيع ان لا تُعرّف المتغيرات كما في رقم #1 ، بل تقوم بتعريفها داخل الدالة ، ولكن حينها تقع عليك مسؤولية التأكد من ان نوع البيانات صحيحة 🙂

 

فدع الاكسس يقوم بعمله ، وهي الطريقة الصحيحة 🙂

 

جعفر

  • Like 2
رابط هذا التعليق
شارك

4 دقائق مضت, jjafferr said:

وعليكم السلام 🙂

 

1. اذا تم مناداة الدالة (من الاستعلام مثلا) ، فعادة يتم ارسال قيم اليها ، حتى تقوم الدالة بحساب المطلوب ،

وعليه ، الاكسس لا يسمح لك بإرسال بيانات من نوع مختلف ،

2. ولكن الدالة تحتاج الى متغيرات اخرى لتقوم بعملها ، لذا نعرّف هذه المتغيرات داخل الدالة 🙂

كما انك تستطيع ان لا تُعرّف المتغيرات كما في رقم #1 ، بل تقوم بتعريفها داخل الدالة ، ولكن حينها تقع عليك مسؤولية التأكد من ان نوع البيانات صحيحة 🙂

 

فدع الاكسس يقوم بعمله ، وهي الطريقة الصحيحة 🙂

 

جعفر

اشكرك استاذي الغالي 

 

رابط هذا التعليق
شارك

منذ ساعه, ABOLO2 said:

لية عند عمل دالة يتم تعريف متغيرات لها في السطر

باختصار شديد اخي العزيز ...

في بعض الاحيان نحتاج الى عمليات حسابية معينة لايستطيع الاكسس القيام بها لوحده (او قل حسبما متوفر عنده )

لهذا نلجأ الى عمل دوال وظيفتها القيام بتلك المهمة ..وهذه الدالة يقوم بتنفيذها معالج الحاسوب وليس الاكسس..ولكي يقوم المعالج بهذا الدور يجب تعريف المتغيرات التي نحتاجها حسب نوع البيانات ليتم حجز مكان لها في الذاكرة

اما السطر الاول فاسم الدالة نقوم باستدعائه من اي مكان في البرنامج... وكاننا نقول لها(الدالة) خذي ايتها الدالة تلك التواريخ ومرريها داخل الباراميتر (التي بين القوسين) حتى يتم معالجتها داخل اكواد الدالة

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

والله اعلم

تم تعديل بواسطه Eng.Qassim
  • Thanks 1
رابط هذا التعليق
شارك

19 دقائق مضت, Eng.Qassim said:

باختصار شديد اخي العزيز ...

في بعض الاحيان نحتاج الى عمليات حسابية معينة لايستطيع الاكسس القيام بها لوحده (او قل حسبما متوفر عنده )

لهذا نلجأ الى عمل دوال وظيفتها القيام بتلك المهمة ..وهذه الدالة يقوم بتنفيذها معالج الحاسوب وليس الاكسس..ولكي يقوم المعالج بهذا الدور يجب تعريف المتغيرات التي نحتاجها حسب نوع البيانات ليتم حجز مكان لها في الذاكرة

اما السطر الاول فاسم الدالة نقوم باستدعائه من اي مكان في البرنامج... وكاننا نقول لها(الدالة) خذي ايتها الدالة تلك التواريخ ومرريها داخل الباراميتر (التي بين القوسين) حتى يتم معالجتها داخل اكواد الدالة

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

والله اعلم

اشكرك جزيل الشكر استاذي العزيز 

وضحت الفكرة 

رابط هذا التعليق
شارك

السلام عليكم 🙂

 

الدوال نوعين :

اولا: نوع نحن نعمله ، وهناك نوعين منهم:

  1. كل كود "حدث" في الاكسس ، هو دالة ، وهذه الدوال لها متغيرات ثابته ، لا يمكنك تغييرها ،
  2. دوال نحن نعملها ، سواء في وحدة نمطية مستقلة ، او في كود النموذج او التقرير ، وهذه يمكن ان يكون بها متغيرات ،

 

ثانيا: دوال تنادي مكتبات الوندوز/نظام تشغيل الكمبيوتر:

الاكسس او اي برنامج آخر ، يقع تحت مظلة نظام تشغيل الكمبيوتر ، ومقدرة/عمل هذه الدوال تبدأ من بداية تشغيل الكمبيوتر الى إغلاقه (فكر بها كأنها "حدث" في نموذجك) ، وبعض هذه الدوال عندها مقدرة تفوق/خارج مقدرة الاكسس (مثل التخاطب والتحكم بالاجهزة المرتبطة بالكمبيوتر) ، وهذا كان قصد @Eng.Qassim في شرحه في مشاركة 🙂

 

جعفر

  • Like 3
  • Thanks 2
رابط هذا التعليق
شارك

13 ساعات مضت, jjafferr said:

السلام عليكم 🙂

 

الدوال نوعين :

اولا: نوع نحن نعمله ، وهناك نوعين منهم:

  1. كل كود "حدث" في الاكسس ، هو دالة ، وهذه الدوال لها متغيرات ثابته ، لا يمكنك تغييرها ،
  2. دوال نحن نعملها ، سواء في وحدة نمطية مستقلة ، او في كود النموذج او التقرير ، وهذه يمكن ان يكون بها متغيرات ،

 

ثانيا: دوال تنادي مكتبات الوندوز/نظام تشغيل الكمبيوتر:

الاكسس او اي برنامج آخر ، يقع تحت مظلة نظام تشغيل الكمبيوتر ، ومقدرة/عمل هذه الدوال تبدأ من بداية تشغيل الكمبيوتر الى إغلاقه (فكر بها كأنها "حدث" في نموذجك) ، وبعض هذه الدوال عندها مقدرة تفوق/خارج مقدرة الاكسس (مثل التخاطب والتحكم بالاجهزة المرتبطة بالكمبيوتر) ، وهذا كان قصد @Eng.Qassim في شرحه في مشاركة 🙂

 

جعفر

افادكم الله و جعلكم الله عونا لطالبي العلم 

اشكرك استاذي الغالي 

jjafferr

  •  
  • Like 1
رابط هذا التعليق
شارك

15 ساعات مضت, jjafferr said:

ثانيا: دوال تنادي مكتبات الوندوز/نظام تشغيل الكمبيوتر:

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

وجزاكم الله خيرا

  • Like 1
رابط هذا التعليق
شارك

25 دقائق مضت, أبو عبدالله الحلوانى said:

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

هو بينقط علينا شوية شوية 😄

  • Haha 2
رابط هذا التعليق
شارك

9 ساعات مضت, أبو عبدالله الحلوانى said:

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

همم ، نعم ردّي كان بالفعل بالقطارة ، وبطريقة موجزة 🤣

واليك الرد بطريقة تختلف قليلا:

1. جميع الدوال التي تنادي مكتبات الوندوز (32بت و 64بت) موجودة في الملف Win32API_PtrSafe.zip والموجود في موضوع: اجعل برنامجك يعمل على النواتين 32بت و 64بت ،

فمثلا الدالة Sleep هي جزء من المكتبة kernel32 :

Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal lngMilliSeconds As Long)

2. مثل ما قلت في مشاركتي السابقة: ومقدرة/عمل هذه الدوال تبدأ من بداية تشغيل الكمبيوتر الى إغلاقه ، لذلك ، فلا حاجة لنا بالتعرف على معظم هذه الدوال وطريقة عملها ، لأنها تعمل بطريقة تلقائية،

3. فكر بكل دالة من هذه الدوال ، كأنها "حدث" في نموذجك/الوحدة النمطية ، انت تنادي الحدث وقت الحاجة ، ولكل نوع من الدوال متغيرات معينه تخصه 🙂

 

وبعد قراءتي لما كتبته مرة اخرى ، تذكرت المثل الذي يقول: فسر الماءَ بعد الجهد بالماءِ 😂

 

جعفر

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

14 ساعات مضت, jjafferr said:

فسر الماءَ بعد الجهد بالماءِ

هذا الماء - عقبال الغموس (بلغة اهل البندر الطعام يعني) :biggrin:

وجزاكم الله خيرا

  • Like 1
  • Haha 2
رابط هذا التعليق
شارك

ما هو المتغير؟

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

 

أمثلة على المتغيرات

مثال غير حقيقي (1)

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

مثال حقيقي لاستخدام المتغير (2)

لنفرض أنك اﻵن مبرمجاً لشركة ما، وتصنع نموذج لعرض ملفات فيديو، ولكل فيديو عنواناً...
إذا أردت أن تكتب أمر ليجلب عنوان الفيديو ويضعه تحت الفيديو، لكن المشكلة أن لكل فيديو عنوان مختلف
فلا يوجد شيء ثابت تقول له ضعه هنا، فكيف سيتم ؟
سيتم عن طريق المتغير، سيكون هناك متغيراً أعطيناه اسم  strTitle مثلاً، ويمكننا كتابة اﻷمر البرمجي
فيما يعني "اجلب قيمة (ما بداخل) المتغير strTitle ثم ضعها هنا تحت الفيديو"...
وبهذا نكون قد نفذنا ما نريد، فأيا كان ما بداخل المتغير strTitle وأيا كان عنوان الفيديو
أنا قلت له ضع ما بداخل strTitle هنا تحت الفيديو... بالتالي
إن كان عنوان الفيديو "تعلم المتغيرات بسهولة"
أو كان اسم الفيديو "تعلم البرمجة اﻵن" سيتم تنفيذ اﻷمر البرمجي ويوضع اسم الفيديو تحت الفيديو!

مم يتكون المتغير؟

تتكون المتغيرات من:

  • اسم (name): اسم المتغير الذي يمكننا أن نستدعيه به
  • قيمة (value): وهي القيمة الموجودة داخل المتغير، ما يحمله المتغير
  • نوع (type): وهو نوع المتغير

اسم المتغير (name)

لكل متغير اسم، وهذا الاسم مهم ﻷبعد درجة ﻷن بدونه لن نستطيع الوصول للمتغير! فاسم المتغير يُعرّفه، فنستخدم اسم المتغير عندما نستدعي المتغير أو نغير قيمته (ما بداخله). وﻹسم المتغير قواعد، وكل لغة لها اسلوب في كتابة المتغيرات، أما القواعد اﻷساسية فهي :

  • لا يمكن أن يبدأ اسم المتغير برقم أو علامة ( رمز ) مثل  _  أو * أو -
  • اسم المتغير يكون فقط باللغة اﻹنجليزية
  • لا يمكن أن يبدأ اسم المتغير إلا بالحروف اﻹنجليزية

الكلمات المحجوزة (reserved words): هي كلمات لا يمكنك استخدامها كاسم لمتغير لأنها محجوزة للغة، إن استخدمتها كاسم للمتغير سيظهر لك خطأ، وهذه اللغات تختلف من لغة ﻷخرى، ومن الكلمات المحجوزة في الاكسس (var, function, if, int, true, false)

يمكنك البحث عن الكلمات المحجوزة (reserved words) في أي لغة باستخدام جوجل عن طريق كتابة الكلمات المحجوزة ثم اسم اللغة، مثال: reserved words in Access ولمعرفة كل الكلمات المحجوزة في الاكسس اضغط هنا

قيمة المتغير (value)

قيمة المتغير هي ما يحويه المتغير من بيانات، ففي المثال (2) المتغير اسمه strTitle وقيمته هي عنوان الفيديو!
وبالتالي إذا تغير عنوان الفيديو ﻷي سبب، ﻷن المستخدم مثلاً ضغط على فيديو آخر، يظل المتغير اسمه strTitle فإن أردت معرفة ما عنوان الفيديو الحالي، أو أردت إظهاره تحت الفيديو، أقوم فقط باستدعاء المتغير strTitle 

نوع المتغير (type)

ولقيمة المتغير أنواع، يتفق معظمها في كل اللغات ويختلف بعضها من لغة للأخرى، وهناك لغات برمجة تجبرك على كتابة نوع المتغير الذي تريد إنشاؤه أثناء إنشاؤه، وهناك لغات أخرى لا تجبرك على كتابة نوع المتغير فهي تحدد النوع تلقائياً

أنواع البيانات (Datatypes)

ما هي البيانات؟

البيانات هي أي قيمة يتعامل معها النظام، أو يحفظها، أو يُدخلها المستخدم... فمثلاً اﻷعداد هي بيانات، والنصوص هي بيانات.. وفي البرمجة هناك أنواع نعرفها كاﻷرقام والنصوص، وهناك أنواع برمجية إضافية أهميتها الهيكلة الجيدة للبيانات مما يمكنك من إجراء العمليات عليها بسهولة وسرعة؛ أكمل القراءة لتفهم ما نقصده...

ما هي أنواع البيانات؟

لغات البرمجة تستطيع التعامل مع أنواع معينة من البيانات، يتفق معظمها بين كل اللغات ويختلف بعضها من لغة لأخرى... وأنواع البيانات هي الشكل الذي تُحفظ به البيانات وتنتقل بين أجزاء الكود وأجزاء النظام المختلفة
وهذا الشكل يؤثر بشكل بالغ في التعامل مع البيانات لاحقاً, فمثلاً اﻷرقام هي نوع من أنواع البيانات، يمكنك إجراء عمليات حسابية عليها (جمع - طرح ...) وهكذا...

أنواع البيانات اﻷساسية

Integer اﻷعداد الصحيحة:

العدد الصحيح، أي عدد غير عشري مثل: (1, 2, 3, 4,...) يمكن أن يكون العدد موجباً، ويمكن أن يكون سالباً!

String النصّ:

النصّ: وذلك يعني أن أي كتابة سواء كانت كلمة أو جملة تكون نوعها String، ويجب أن يوضع النصّ بين علامتيّ تنصيص "" ولذلك اي كتابة أو أرقام أو أي رموز أو أي شيء بين علامتي التنصيص يعتبره مفسر اللغة نصّاً String..

لا تعرف كيف تكتب علامة التنصيص المنفردة؟ ستجدها في نفس مفتاح علامة التنصيص المزدوجة واﻹختلاف أنك تكتبها بدون أن تضغط على Shift كما تفعل مع علامة التنصيص المزدوجة، لكن تأكد من أن اللغة التي تكتب بها هي اﻹنجليزية ﻷن لو كانت العربية سيكتب حرف ط

اﻷرقام إذا وضعتها داخل علامات التنصيص سيعتبرها المفسّر نصّاً ولن تستطيع إجراء عمليات حسابية عليها أو التعامل معها كأعداد! فيجب كتابة الرقم بدون علامات تنصيص كالرقم التالي: 5

 

Boolean - القيمة المنطقية:

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

  • true
  • false

وهذه القيم مهمة ﻷبعد درجة، فعندمايحولك تطبيق على صفحة الدخول إن لم تكن قد دخلت... فهو يعتمد هنا على true و false كنوع بيانات، فمثلا إن كنت سجلت دخول تكن القيمة true وإن لم تكن فالقيمة تُصبح false
ستلاحظ عند كتابة true أو false يظهر لونهم مختلف عن باقي الكتابة عند استخدامك أي محرر نصوص

انتبه: يجب أن تُكتب القيمة المنطقية بدون علامات تنصيص، ﻷن كما ذكرنا لو كتبتها داخل علامات تنصيص "" سيعتبرها المفسر نصّاً String لذلك انتبه جداً... فالقيمة false ﻻ تساوي القيمة "false" أبداً
هذا على سبيل المثال  وليس الحصر ولكى لا اطيل 
راجع الموضوع : كبسولة الأساسيات : الثوابت والمتغيرات واسلوب تناولها والتعامل معها

والغموس عندى :yes::wink2:

 

 

  • Thanks 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information