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

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

قام بنشر

السلام عليكم ورحمة الله

اخي الفاضل جعفر

اصدار الاكسل 2013

الويندوز Windows 8.1  نظام تشغيل  64  bit

سيتم مراجعة ماتم طرحة من قبلكم بارك الله فيك

السلام عليكم ورحمة الله

اخي الفاضل جعفر

حملت الملف فلم يعمل معي

  • الردود 61
  • Created
  • اخر رد

Top Posters In This Topic

قام بنشر (معدل)

السلام عليكم ورحمة الله

اخي الفاضل جعفر

حملت المثال المرفق من الرابط  

يظهر الفورم واليبلات وزر المر دون أي تأثيرات وعند اخروج من الفورم تأتيني هذه الرسلة في الرفق ادناه

 

خطأ وميض اكثر من كائن.png

تم تعديل بواسطه KHMB
قام بنشر

السلام عليكم و رحمة الله و بركاته

أساتذتي الأعزّاء .. أنا أعمل على ويندوز 8 و أوفيس 2010 .. 32 بايت و الملف يشتغل تمام التمام .. فقط للمعلومة

                                                 خالص احتراماتي

قام بنشر

السلام عليكم و رحمة الله و بركاته

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

                                                   خالص تحياتي

 

الألوان.rar

  • Like 3
قام بنشر

بسم الله ما شاء الله

متميز كعادتك أيها الصقر (اللي مش جارح طبعاً)

بارك الله فيك وجزاك الله كل خير

عايز أعرف ايه الفرق اللي بين الخاصية Enabled  والخاصية Locked ؟؟؟

  • Like 2
قام بنشر

شرفنى مرورك يا كبير وفيك بارك وحمدالله على السلامه

اعتقد انه لا يوجد فرق بين الخاصيتين فكلاهما يمنع المستخدم من الادخال او التعديل فقط

ننتظر رأى الخبراء ربما يكون لهما رأى اخر

لى طلبين من فضلك

1-ياريت تحاول تدمج المواضيع كلها بموضوع واحد والردود فى الاخر ( بحيث يكون كل شروحات الفورم ورا بعض ومتاليه 

2-ياريت تترك لى خاصيه التعديل لان بعد ما بخلص براجع الشرح ممكن اكون عايز اضيف شئ جديد او بلاقى فى بعض الاحيان أخطاء وعايز اعدلها وبيكون خاصيه التعديل مش موجوده ( رجاء من فضلك )

تقبل تحياتى

  • Like 1
قام بنشر

ضع الروابط كلها في د واحد وإن شاء الله في أقرب وقت أحاول ألبي طلبك

..

سأقوم بنسخ الشروحات كلها في أول رد لك في أي موضوع .. بصراحة محربتش أعمل دمج للموضوعات بس ممكن تكون دي فكرة (ولكن هيكون فيه مشكلة الردود المتداخلة !!)

الموضوع صعب لأني مجربتوش بس هحاول إن شاء الله

  • Like 1
قام بنشر (معدل)

اخى واستاذى الحبيب

الرابط التالى فيه شروحات عن الفورم بشكل عام - المشاركة رقم 1

http://www.officena.net/ib/topic/63549-سلسله-علمنى-كيف-اصطاد-الفورم-forms/

***************

ثم الرابط التالى شروحات Label المشاركة رقم 1 و رقم 14

http://www.officena.net/ib/topic/63565-سلسلة-علمنى-كيف-اصطاد-شروحات-label/

********************

ثم الرابط الحالى بتاع TextBox 

*********************

وشاكر افضالك

ولو الموضوع مظبطش معاك فى عملية الدمج للشروحات اولا ثم الردود بعد  ارجوا التعاون من الاخ حماده عمر او الاخ ضاحى الغريب

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

 

ونقطة اخيره ومهمه من فضلك عايز فتح خاصيه التعديل لو حبيت اضيف جزئيه نسيتها او انى اظبط التنسيقات او تعديل خطأ ما

تقبل تحياتى

تم تعديل بواسطه الصـقـر
قام بنشر

السلام عليكم ورحمة الله وبركاته

جزاكم الله خيراً على الجهود التي تبذلونها والتي ستكون مثمرة بعون الله تعالى

بمتابعة المبتدئين أمثالي ..حيث من واجبنا دراسة معمقة ومتأنية لاستيعاب دقائقها وتفاصيلها

راجياً لكم دوام التقدم والعطاء.

أما عن نفسي بسبب قدم المعالج وصغر حجم الهارد فالتنزيل يتم ببطء 

سأدرسها بتمهل وتمعن لأنها وسيلتي لدخول عالم الـ VBA إن أعانني الله وقدّر لي البقاء.

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

  • Like 1
قام بنشر (معدل)

ثالثاُ:- وقت تنفيذ الكود الخاص بالـ TextBox

قبل أن نتحدث عن وقت تنفيذ الكود 

لازم نعرف أولا أزاى بيكون كتابة ألاعلان عن الكود للـ  TextBox

Private Sub TextBox1_Change()


هنا يتم كتابة الكود المراد تنفيذه

End Sub

السطر الاول هو بداية الاعلان عن الكود 

فنقوم بكتابة Private Sub ستجد لونها بالكود أزرق ( وهو بداية لاى كود خاص لأى عنصر تحكم داخل الفورم )

ثم نقوم بكتابة اسم العنصر المراد عمل الكود له وهو بمثالنا TextBox1

ثم نقوم بكتابة _  ( تكتب من خلال الضغط على Shift+زر الطرح الموجود بالاعلى بجوار زر + )

ثم نقوم بكتابة وقت تنفيذ الكود (اللى هو موضوعنا اليوم) 

ثم كتابة () قوسين بهذا الشكل

وبمجرد الضغط انتر ستجد الكود عمل سطر تانى فيه End sub

يوجد طريقه اخرى وهى اتبع الصوره التالية توضح لك 

قم بالضغط على اى مكان فاضى بالفورم وادخل لمحرر الاكواد الخاص بالفورم

large.44.png.3a6b0afc9bc28812830eea53330

دلوقتى هنتكلم عن أهم طرق وقت تنفيذ الكود واكثرها شيوعا فى الاستخدام 

1- Afterupdate :- هنا يتم تنفيذ الكود بمجرد الانتهاء من الادخال فى TextBox1 والانتقال الى اى عنصر اخر ( وهو يشبه كثير طريقة Exit)

2-EXit :- هنا يتم تنفيذ الكود بمجرد الخروج من TextBox1 والانتقال الى اى عنصر اخر ( يشبه كثير طريقه  Afterupdate )

3-Change :- هنا يتم تنفيذ الكود عند حدوث اى تغيير فى TextBox1  

4-DblClick :-  هنا يتم تنفيذ الكود عند الضغط دبل كليك بالماوس داخل TextBox1 

5-Enter :- هنا يتم تنفيذ الكود بمجرد وضع مؤشر الماوس داخل صندوق TextBox1  

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

كدا الحمد لله انتهينا من المحور الثالث وقت تنفيذ الكود الخاص بالـ TextBox
 
ان شاء الله المره القادمه نتكلم عن المحور الرابع وهو التعامل مع TextBox فى لغة البرمجه
 
ارجوا من الله ان اكون وفقت بالشرح واى استفسار انا تحت امر الجميع
 
تقبلوا تحياتى
تم تعديل بواسطه الصـقـر
  • Like 3
قام بنشر

السلام عليكم و رحمة الله و بركاته

الحمد لله رب العالمين ...اللهم لا حسد بل غبطة

أصبح - ولله الفضل والمنة - المنتدى كخلية نحل 

دؤوبة تعمل ليل نهار...نعلي بها مرتبة العلم فيعلي الله بها مراتب

من سلك طريقاً يلتمس به علماً سهّل الله له به طريقاً إلى الجنة..

اللهم اجعلنا ممن سخر علمه لخدمة البشر ولا تجعلنا ممن يكتم علمه فيصاب بالخذلان...آمين.

تقبلوا تحياتي العطرة وكما قال الأستاذ الحبيب ياسر متابعينكم يا أخي الصقر.

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

  • Like 2
قام بنشر (معدل)

رابعاً:- التعامل مع خصائص الـ TextBox فى لغة البرمجه 

فى الدرس قبل السابق عرفنا ازاى نتحكم فى خصائص الفورم من شاشة الخصائص اثناء عملية التصميم

فماذا لو حبينا نتحكم فى خصائص الفورم ولكن من خلال الاكواد وليس من شاشة الخصائص فى مرحله التصميم

هنبدأ على طول بمثال عملى ونشرح عليه

اضغط دبل كليك على اى مكان فاضى فى الفورم وهندخل محرر اكواد الفورم ونعمل كود فى حدث فتح الفورم اتبع الصوره

 

large.46.png.84320c014c96587ad97881b821alarge.47.png.9c05defa8d78b5edb737f7c74fc

فى المكان المظلل باللون الاحمر هنا موضوع كتابه الاكواد

1-خاصيه BackColor :-

الرقم 15849925 لجعل خلفية التكست بوكس لونها سماوى فاتح ( راجع ارقام الالوان فى الدروس الخاصه بالـ Label )

TextBox1.BackColor = 15849925

****************************************************************************************************************************************

2-خاصيه Enabled :-

TextBox1.Enabled = True

أو 

TextBox1.Enabled = False

هذه الخاصيه تحمل خيارين true و False 

عند اختيار False  سوف يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1     

وعند اختيار True  لا يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1     يعنى هيكون فى حمايه على  TextBox1

***************************************************************************************************************************

3-خاصيه Height :-

للتحكم بارتفاع التكست بوكس وليكن جعل الارتفاع 35

TextBox1.Height = 35

************************************************************************************************************************************

4-خاصيه Left :-

للتحكم فى بعد التكست بوكس عن الضلع الايسر للفورم وليكن جعل البعد 80

TextBox1.Left = 80

*********************************************************************************************************************************************

5-خاصيه Locked :-

هذه الخاصيه تحمل خيارين true و False 

TextBox1.Locked = False

أو

TextBox1.Locked = True

عند اختيار False  سوف يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1     

وعند اختيار True  لا يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1     يعنى هيكون فى حمايه على  TextBox1

***********************************************************************************************************************

6-خاصيه MaXLength :-

 

هذه الخاصيه يمكن من خلالها التحكم فى عدد الاحرف او الارقام المدخله بالـ TextBox1 

لو حضرتك عايز تجبر المستخدم على ادخال وليكن عدد 8 أحرف فقط 

اكتب فى خاصيه Maxlenght  رقم 8 فلو حب المستخدم يكتب ( محمد خالد ) فأنه لا يستطيع الا كتابة (محمد خال) لماذا لانه تم تحديد عدد الادخال 8 فقط

واحد هيقولى محمد خالد عددها 8 حروف هقوله ان الفيجول هيقوم بعد الفاصله اللى بين محمد وبين خالد وبالتالى (محمد 4 حروف + 1 فاصله + خال 3 حروف كدا =8)

TextBox1.MaxLength = 8

****************************************************************************************************************************

7-خاصيه Multline :-

هذه الخاصيه تحمل خيارين true و False 

عند اختيار False  سوف يكون عرض المحتوى اللى بيتم ادخاله او تعديل فى محتوى TextBox1     على سطر واحد فقط 

وعند اختيار True  سوف يكون عرض المحتوى اللى بيتم ادخاله او تعديل فى محتوى TextBox1     على عدة اسطر ويجب مراعاة تعديل

ارتفاع TextBox1 ليظهر اكثر من سطر

TextBox1.MultiLine = False

أو

TextBox1.MultiLine = True

********************************************************************************************************

8-خاصيه Passwordchar :-

هذه الخاصيه يمكن من خلالها التحكم فى طريقة أظهار القيم  المدخله بالـ TextBox1 

لو حضرتك عايز تجعل القيم المدخله فى  TextBox1  على شكل (  * )  مثلا شاهد الصوره التالية

نلاحظ بالكود تم كتابة العلامه * بين اقواس تنصيص " * "  ( وهى تكتب من خلال shift+حرف ط )

TextBox1.PasswordChar = "*"

****************************************************************************************************************************

9-خاصيه ScorollBars :-

هذه الخاصيه تحمل اربع خيارات ويبدأ العدد من 0 الى 3

0- FMScrollBarsNone  ( هذا يعنى الغاء خاصيه ScrollBars ) شاهد الكود التالى -- بمجرد كتابة = ستجد قائمة تظهر لك بالاربع خيارات

TextBox1.ScrollBars = fmScrollBarsNone

1-FMScrollBarsHorizontal ( هذا يعنى عمل ScrollBars للـ TextBox1   بشكل أوفقى )

TextBox1.ScrollBars = fmScrollBarsHorizontal

2-FMScrollBarsVertical      ( هذا يعنى عمل ScrollBars للـ TextBox1   بشكل رأسى )

TextBox1.ScrollBars = fmScrollBarsVertical

3-FMScrollBarsBoth          ( هذا يعنى عمل ScrollBars للـ TextBox1   بشكل أفقى و رأسى مع بعض )

TextBox1.ScrollBars = fmScrollBarsBoth

***********************************************************************************************************************

10-خاصيه Visible :-

وهذه الخاصيه تتيح للمستخدم التحكم فى ظهور او عدم ظهور TextBox1   عند عرض الفورم 

عندد اختيار True سوف يظهر الـ TextBox1   على الفورم عند فتحه ( وهذا هو الخيار الافتراضى من الفيجوال بيسك )

TextBox1.Visible = True

وعند اختيار False ٍسوف يختفى الـ TextBox1   على الفورم عند فتحه يعنى هيكون غير ظاهر ومخفى لا يراه المستخدم

TextBox1.Visible = False

***********************************************************************************************************************

11-خاصيه Top :-

وهذه الخاصيه تتيح للمستخدم التحكم فى بعد الـ  TextBox1     عن الضلع الاعلى للفورم

TextBox1.Top = 90

************************************************************************************************************************************

12-خاصيه Width :-

هذه الخاصيه تتيح للمستخدم التحكم فى عرض الـ TextBox1    لو فرضنا نريد جعل العرض 100

TextBox1.Width = 100

********************************************************************************************************************************

13-خاصيه Text Align :-

وهذه الخاصيه تتيح للمستخدم التحكم فى اتجاه بداية النص داخل الـ  TextBox1   

هل يكون يميناً أو يساراً أو وسط TextBox1   
 
بمجرد كتابة = ستجد الفيجوال بيسك يعرض لك قائمة بها 3 خيارات 
 
 
 fm Text Align Left  -1      عند الاختيار ستجد ان اتجاه النص داخل TextBox1     يبداء من اليسار
TextBox1.TextAlign = fmTextAlignLeft
 fm Text Align Center  -2    عند الاختيار ستجد ان اتجاه النص داخل TextBox1     فى المنتصف
TextBox1.TextAlign = fmTextAlignCenter
 fm Text Align Right  -3        عند الاختيار ستجد ان اتجاه النص داخل TextBox1     يبداء من اليمين
TextBox1.TextAlign = fmTextAlignRight

****************************************************************************************************************************

14-خاصيه Special Effect :-

هذه الخاصيه من الخصائص الهامه للـ TextBox1  وهى تعطى اشكال مبهره ومميزه للـ TextBox1  ولها خمس اشكال

بمجرد كتابة = ستجد الفيجوال بيسك يعرض لك قائمه بها 5 خيارات

على سبيل المثال منها

TextBox1.SpecialEffect = fmSpecialEffectBump

جرب كل الخيارات واختار منها ما يناسب زوقك

**************************************************************************************************************************************

الكود بشكله النهائى هيكون كدا

Private Sub UserForm_Initialize()
TextBox1.BackColor = 15849925
TextBox1.Enabled = True
TextBox1.Height = 35
TextBox1.Left = 80
TextBox1.Locked = False
TextBox1.MaxLength = 8
TextBox1.MultiLine = True
TextBox1.PasswordChar = "*"
TextBox1.ScrollBars = fmScrollBarsBoth
TextBox1.Visible = True
TextBox1.Top = 90
TextBox1.Width = 100
TextBox1.TextAlign = fmTextAlignRight
TextBox1.SpecialEffect = fmSpecialEffectBump
End Sub
***************************************************************************************************************
كدا الحمد لله انتهينا من المحور الرابع وهو التعامل مه خصائص ال TextBox فى لغة البرمجه 
 
ان شاء الله المره القادمه نتكلم عن المحور الخامس والاخير وهو كيفية عمل تنسيقات للقيم المدخله بـ TextBox
 
ارجوا من الله ان اكون وفقت بالشرح واى استفسار انا تحت امر الجميع
 
تقبلوا تحياتى
تم تعديل بواسطه الصـقـر
  • Like 4
قام بنشر

السلام عليكم ورحمة الله وبركاته:

جزاكم الله خيراً أخي الصقر....شرح ممتع وسهل 

هل تعني خاصيه Text Align   المحاذاة بمعنى (محاذاة النص لليسار ... للوسط ....لليمين) أم تغيير اتجاه الكتابة بين العربية وغيرها.

وفقكم الله لما يحب ويرضى والسلام عليكم أخي الحبيب الصقر..

  • Like 1
قام بنشر

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

عندي ملاحظة بسيطة بخصوص خاصتي lock  و enabled   فمع تشابهمها في منع المستخدم من الادخال إلا أنهما تختلفان في التنسيق ،

حيث يظهر  المؤشر في textbox  ذو الخاصية llocked=true  على العكس لا يظهر في textbox  ذو الخاصية enabled=false  هذا من جهة ومن جهة أخرى فإن خاصية enabled=false تجعل الخلفية backcolor باهتة وغير ظاهرة على حقيقتها وتجعل النص المفترض من المبرمج text باهتا أيضا (عند تنفيذ الكود طبعا) بينما تظهر بشكل واضح لدى textbox بخاصية locked=true كما يتضح النص المبرمج فيه جيدا.

والخلاصة أن خاصية lock تشعر المستخدم أن بإمكانه الوصول إلى التحرير لو استوفى مجموعة  من الشروط التي حددها المبرمج (حساب يسمح وآخر لا يسمح مثلا)،

بينما خاصية enable=false تجعل عنصر التحكم  للقراءة فقط ومصدر لمعلومات أساسية أو مكملة لا يكون المستخدم عموما في حاجة إلى تغييره مع إمكانية فسح المجال للتحرير من طرف المبرمج.

هذا والله أعلى وأعلم . في المرفق مثال على ذلك.

enableAndLockProperties.rar

  • Like 1
قام بنشر (معدل)

الاستاذ الفاضل صلاح

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

وشكرا على ما قدمتموه من اضافه وارجو الا تحرمنا من اى تعليق او نقد او اضافه 

ولكن دعنى أقول لحضرتك رغم كل ما قيل الا انه لا يوجد فرق جوهرى الفرق الوحيد فى التنسيق والشكل وكلاهما يمنعان المستخدم من الادخال او التعديل الا حسب الشروط التى حددها المستخدم كما تفضلت 

 

والخلاصة أن خاصية lock تشعر المستخدم أن بإمكانه الوصول إلى التحرير لو استوفى مجموعة  من الشروط التي حددها المبرمج (حساب يسمح وآخر لا يسمح مثلا)،

 

وايضا يمكن للخاصيه Enabled انه بالامكان الوصول الى التكست وتحريره لو استوفى مجموعه شروط حددها المبرمج  فيمكن وضع 

TextBox1.Enabled = True   كما هو حسب الملف المرفق من حضرتك 

وايضا التكست بوكس 2 نفك الحمايه عنه من خلال    TextBox1.Locked = False

مثال صغير

حضرتك عامل فى خصائص التكست بوكس 1 فى شاشه الخصائص  Enabled = False و ايضا Locked = False

وكذالك عامل خصائص التكسست بوكس 2 فى شاشة الخصائص   Enabled = True و ايضا Locked = True

فى الملف المرفق بتاع حضرتك لو وضعت الكود التالى فى حدث تهيئه الفورم Initialize 

Private Sub UserForm_Initialize()
TextBox1.Enabled = True
TextBox2.Locked = False
End Sub

 

ستجد ان كلا التكست بوكس يمكن الادخال او التعديل عليهم على الرغم من ان الخصائص لهما مغلقين والسبب طبعا هو الكود فى حدث تهئيه الفورم 

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

تقبل تحياتى ومره اخرى كل الشكر لحضرتك على مرورك العطر :fff:

 

enableAndLockProperties.zip

تم تعديل بواسطه الصـقـر
  • Like 1
قام بنشر

السلام عليكم و رحمة الله و بركاته

بارك الله فيك أستاذنا الفاصل " حسام عيسى "  على المعلومات القيّمة .. والله تعلّمنا منك الكثير

جزاك الله خيرا  و زادك من علمه و فضله

55faf2e79a051__.thumb.jpg.83f217da045636

 

قام بنشر

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

أما بخصوص ملاحظاتك فأنا أتقق معك إلى حد بعيد فالمسألة فيها من المرونة ما يجعل الجوانب الجمالية في البرنامج هي التي تجعل المبرمج يختار ويميز بين الخاصيتين  إن على مستوى الخصائص أو على مستوى الكود البرمجي وهذا أعتبره من إيجابيات الVBA . وشكرا على توجيهاتكم القيمة وإلى الأمام فرحلة الصيد مستمرة إن شاء الله.

  • Like 1
قام بنشر (معدل)

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

الاخوه الكرام

اليوم بمشيئة الله سنتكلم عن المحور الخامس والاخير

كيفية عمل تنسيقات للقيم المدخله فى TextBox

 

عرفنا قبل كدا فى الشروحات السابقه ما هى اوقات تنفيذ الكود هنعمل مراجعه بسيطه  لربط شرح اليوم بالشروحات السابقه

قبل أن نتحدث عن وقت تنفيذ الكود 

لازم نعرف أولا أزاى بيكون كتابة ألاعلان عن الكود للـ  TextBox

Private Sub TextBox1_AfterUpdate()

هنا يتم كتابة الكود المراد تنفيذه

End Sub

السطر الاول هو بداية الاعلان عن الكود 

فنقوم بكتابة Private Sub ستجد لونها بالكود أزرق ( وهو بداية لاى كود خاص لأى عنصر تحكم داخل الفورم )

ثم نقوم بكتابة اسم العنصر المراد عمل الكود له وهو بمثالنا TextBox1

ثم نقوم بكتابة _  ( تكتب من خلال الضغط على Shift+زر الطرح الموجود بالاعلى بجوار زر + )

ثم نقوم بكتابة وقت تنفيذ الكود (هو هنا على سبيل المثال AfterUpdate

ثم كتابة () قوسين بهذا الشكل

وبمجرد الضغط انتر ستجد الكود عمل سطر تانى فيه End sub

يوجد طريقه اخرى وهى اتبع الصوره التالية توضح لك 

قم بالضغط على اى مكان فاضى بالفورم وادخل لمحرر الاكواد الخاص بالفورم

 

large.44.png.3a6b0afc9bc28812830eea53330

هنبدأ بالامثله العمليه لان بالمثال يتضح لنا المقال

وانا راجل عملى مش بحب النظرى

1-التحكم فى تنسيق القيم المدخله فى التكست بوكس بعدد صحيح

شاهد الكود

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "0")
End Sub

السطر الاول عرفنا انه الاعلان عن الكود وسوف يتم تنفيذه فى وقت تحديث التكست بوكس أى بعد الانتهاء من الادخال والانتقال او الخروج من التكست الى اى عنصر اخر على الفورم

والسطر التانى هو الكود اللى هيتم تنفيذه 

شرح الكود ( السطر التانى ) شاهد الصوره

medium.50.png.a4e24d51aa978d03b7e4269bf6

هنا نوع التنسيق "0" تم وضعه بين علامتين تنصيص وبداخله 0 يعنى تنسيق التكست بوكس بعد الادخال يكون رقم صحيح 

فلو فرضنا حضرتك كتبت 20.60 وخرجت من التكست بوكس ستجد القيمة اصبحت 20 فقط ولا يوجد علامه عشريه

--------------------------------------------------------------------------------------------------------------------------------------------------------

2-التحكم فى تنسيق القيم المدخله فى التكست بوكس بوضع علامه عشريه

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "0.0")
End Sub

هنا نوع التنسيق "0.0" يكون رقم واحد بعد العلامه العشريه 

مثال لو حضرتك ادخلت 20 فقط ستجد التكست بوكس اصبح 20.0

ولو حضرتك دخلت 20.2 ستجد التكست بوكس اصبح 20.2 

ولو حضرتك دخلت 20.50 ستجد التكست بوكس اصبح 20.5 فقط 

يعنى سوا دخلت رقم عشري واحد او ادخلت رقمين  عشريين  او لم تدخل ارقام عشريه  ستجد النتيجة بعد رقم عشرى واحد

طيب لو احنا عايزين رقمين بعد العلامه العشريه الموضوع بسيط جدا هنخلى التنسيق كالتالى "0.00"

شاهد الكود

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "0.00")
End Sub

لاحظتم الفرق

طيب لو 3 أرقام عشريه 

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "0.000")
End Sub

------------------------------------------------------------------------------------------------------------------------------------

3-التحكم فى تنسيق القيم المدخله بوضع علامه العمله $

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "0" & "$")
End Sub

هنا تم "0" ( وهو تنسيق رقم صحيح) ثم علامه &  ( تكتب من خلال الضغط على Shift+رقم 7 فوق الحروف  )  ثم  ثم وضع علامه العمله "$" بين اقواس تنصيص

فلو حضرتك كتبت 20 ستجد $20

واحد هيقولى هو مش ممكن يكون العلامه يسار الرقم وليس يمين الرقم :rol: هقوله ممكن وليه لا هنعكس الموضوع بدل "$"&"0" هنخليها "0"&"$"

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "$" & "0")
End Sub

فلو حضرتك كتبت 20 ستجد النتيجة 20$

طيب ممكن نخلى علامه العمله وكمان وجود ارقام عشريه طبعا ممكن 

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "$" & "0.00")
End Sub

فلو حضرتك كتبت 20.1 ستجد النتيجة 20.10$

----------------------------------------------------------------------------------------------------------

4-التحكم فى تنسيق القيم المدخله بوضع نص بجوار الرقم

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "0" & "ريال")
End Sub

هنا تم كتابه النص بين علامتى تنصيص " ريال" 

فلو حضرتك كتبت 20 ستجد النتجية 20 ريال

--------------------------------------------------------------------------------------------------------------------

5-التحكم فى تنسيق القيم المدخله بوضع علامه %

 

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "%0")
End Sub

فلو حضرتك كتبت 20 ستجد النتيجة %20  ( اذا كانت لغة الكتابه بالكيبورد عربى )

أما اذا كانت لغة الكتابة انجليزى وكتبت رقم 20 ستجد النتيجة 20% 

فمن خلال لغة الكتابه بالكيبورد تقدر تتحكم فى مكان العلامه % هل تكون قبل الرقم أم بعده

واحد هيقولى هو ممكن نجعل الرقم بعلامات عشريه مع وجود علامه % هقوله ليه بس الاحراج يا عبدالتواب

شوف يا سيدى الكود التالى

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "%0.00")
End Sub

فلو حضرتك كتب 20.1 ستجد النتيجة 20.10%

----------------------------------------------------------------------------------------------------------------------------------------

6-التحكم فى القيم المدخله اذا كانت سالبه توضع بين اقواس

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "0;(0)")
End Sub

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

طيب لو كان الرقم السالب فيه علامات عشريه

شاهد الكود ولاحظ الفرق البسيط

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "0;(0.00)")
End Sub

مثال لو حضرتك كتبت-20.1 ستجد النتيجة (20.10)

--------------------------------------------------------------------------------------------------------------------

7-التحكم فى القيم المدخله اذا كانت تاريخ

لو حضرتك عايز تكتب تاريخ وليكن 2015/8/6 وعايز بعد الادخال يظهر فقط اليوم 

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "dd")
End Sub

ستجد ان النتيجه 6

dd  تشير الى Day  يعنى اليوم

****************************************************************************

 لو انا عايز النتيجة 6 اللى هى اليوم تظهر فى التكست بوكس 2  ( TextBox2) 

Private Sub TextBox1_AfterUpdate()
TextBox2.Text = Format(TextBox1.Text, "dd")
End Sub

فلو حضرتك كتبت التاريخ 2015/8/6 فى التكست بوكس 1 ستجد التكست بوكس 2 مكتوب فيه 6

************************************************************************************************

 لو عايزين نظهر الشهر فقط

هنستبدل dd  بـ  mm وهى اختصار لكلمة (Month)

Private Sub TextBox1_AfterUpdate()
TextBox2.Text = Format(TextBox1.Text, "mm")
End Sub

ستجد النتجية ظاهره فى التكست بوكس 2 وهى 8

**************************************************************************************

 لو عايزين نظهر السنه. هنستبدل mm بـ yyyy  وهى اختصار Year

Private Sub TextBox1_AfterUpdate()
TextBox2.Text = Format(TextBox1.Text, "yyyy")
End Sub

ستجد النتيجة فى التكست بوكس 2 هى 2015

*****************************************************************************************

 لو عايزين نظهر اليوم كتابه 06-08-2015 يطلع فقط الخميس

Private Sub TextBox1_AfterUpdate()
TextBox2.Text = Format(TextBox1.Text, "dddd")
End Sub

ستجد النتيجة فى التكست بوكس 2 هى الخميس 

**********************************************************************************

 لو عايزين نظهر الشهر 06-08-2015 يظهر فقط اغسطس

Private Sub TextBox1_AfterUpdate()
TextBox2.Text = Format(TextBox1.Text, "mmmm")
End Sub

ستجد النتيجة هى اغسطس

**********************************************************************

 لو عايزين ننسق التاريخ المدخل يكون كالتالى 06/08/2015

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "dd/mm/yyyy")
End Sub

******************************************

 لو عايزين ننسق التاريخ المدخل يكون كالتالى2015/08/06

شوف الكود

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "yyyy/mm/dd")
End Sub

******************************************

 لو عايزين ننسق التاريخ المدخل يكون كالتالى06-08-2015

يعنى يكون العلامه بدل من / تكون -

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "yyyy-mm-dd")
End Sub

******************************************

 لو عايزين نجعل التاريخ كالتالى 06-08-15 ( يعنى أظهار السنه رقمين فقط

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "yy-mm-dd")
End Sub

هنا خلينا السنه بدل من yyyy  الى yy فقط

******************************************

 لو عايزين ننسق التاريخ  كدا    06 أغسطس2015

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "dd mmmm yyyy")
End Sub

******************************************

لو عايزين نخلى التاريخ يظهر كالتالى الخميس أغسطس 2015

 

Private Sub TextBox1_AfterUpdate()
TextBox1.Text = Format(TextBox1.Text, "dddd mmmm yyyy")
End Sub

******************************************

لوعايزين نظهر تاريخ اليوم بمجرد وضع مؤشر الماوس فى التكست بوكس

Private Sub TextBox1_Enter()
TextBox1.Text = Format(Now, "yyyy/mm/dd")
End Sub

هنا استخدمنا وقت التنفيذ الحدث  Enter 

******************************************

8-التحكم فى أجبار المستخدم على ادخال ارقام فقط فى التكست بوكس

Private Sub TextBox1_Change()
If Not IsNumeric(Me.TextBox1.Value) Then: MsgBox " الرجاء ادخال أرقام فقط ", vbCritical, "خطأ": Me.TextBox1.Value = "": Exit Sub
End Sub

هنا عملنا كود فى حدث التغيير للتكست بوكس بمجرد كتابة اى حرف وليس رقم ستجد التكست بوكس يرفض الادخال ويقوم بمسح المحتوى اللى تم ادخاله وكمان يظهر رساله 

استخدمنا فى الكود  IF Not IsNumeric  ثم التكست المراد ادخال ارقام فقط ووضعه بين قوسين ثم اقفال IF بـ then

******************************************

9-التحكم فى أجبار المستخدم على ادخال حروف فقط فى التكست بوكس

نفس الكود السابق ولكن بدون Not

Private Sub TextBox1_Change()
If IsNumeric(Me.TextBox1.Value) Then: MsgBox " الرجاء ادخال حروف فقط ", vbCritical, "خطأ": Me.TextBox1.Value = "": Exit Sub
End Sub

******************************************

                                       ****************************************************************************

********************************************************

**************************************

الى هنا بحمد الله انتهيت من شرح الخمس محاور المتعلقه بالتكست بوكس

والى لقاء اخر من حلقات علمنى كيف اصطاد وسيكون بأذن الله الكمبوبوكس

 

 

 

تم تعديل بواسطه الصـقـر
  • Like 2
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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



×
×
  • اضف...

Important Information