KHMB قام بنشر سبتمبر 11, 2015 قام بنشر سبتمبر 11, 2015 السلام عليكم ورحمة الله اخي الفاضل جعفر اصدار الاكسل 2013 الويندوز Windows 8.1 نظام تشغيل 64 bit سيتم مراجعة ماتم طرحة من قبلكم بارك الله فيك السلام عليكم ورحمة الله اخي الفاضل جعفر حملت الملف فلم يعمل معي
KHMB قام بنشر سبتمبر 11, 2015 قام بنشر سبتمبر 11, 2015 (معدل) السلام عليكم ورحمة الله اخي الفاضل جعفر حملت المثال المرفق من الرابط يظهر الفورم واليبلات وزر المر دون أي تأثيرات وعند اخروج من الفورم تأتيني هذه الرسلة في الرفق ادناه تم تعديل سبتمبر 11, 2015 بواسطه KHMB
جعفر الطريبق قام بنشر سبتمبر 11, 2015 قام بنشر سبتمبر 11, 2015 ليس لدي الويندوز 8 لأجرب ... على أي جرب هدا التعديل في الملف : https://app.box.com/s/4r8gxnvov5vmqsd2hu029u25b97ero46
عبد العزيز البسكري قام بنشر سبتمبر 11, 2015 قام بنشر سبتمبر 11, 2015 السلام عليكم و رحمة الله و بركاته أساتذتي الأعزّاء .. أنا أعمل على ويندوز 8 و أوفيس 2010 .. 32 بايت و الملف يشتغل تمام التمام .. فقط للمعلومة خالص احتراماتي
محمد حسن المحمد قام بنشر سبتمبر 13, 2015 قام بنشر سبتمبر 13, 2015 السلام عليكم درس غاية في الروعة جزاكم الله خيراً تقبل تحياتي 2
عبد العزيز البسكري قام بنشر سبتمبر 13, 2015 قام بنشر سبتمبر 13, 2015 السلام عليكم و رحمة الله و بركاته بارك الله فيك أستاذنا الفاضل " حسام عيسى " على الدروس المميّزة حقًّا .. لم أكتب هنا لأني أردت كما أشار أستاذنا الغالي أسامة البراوي أترك المجال لدروسك فقط .. و مشاركتي هذه كانت على مضض فقط لإضافة ملف الألوان وجدته بمكتبتي الخاصة ربما يستفيد منها بعضنا .. و آسف على الازعاج خالص تحياتي الألوان.rar 3
ياسر خليل أبو البراء قام بنشر سبتمبر 14, 2015 قام بنشر سبتمبر 14, 2015 بسم الله ما شاء الله متميز كعادتك أيها الصقر (اللي مش جارح طبعاً) بارك الله فيك وجزاك الله كل خير عايز أعرف ايه الفرق اللي بين الخاصية Enabled والخاصية Locked ؟؟؟ 2
الصـقر قام بنشر سبتمبر 14, 2015 الكاتب قام بنشر سبتمبر 14, 2015 شرفنى مرورك يا كبير وفيك بارك وحمدالله على السلامه اعتقد انه لا يوجد فرق بين الخاصيتين فكلاهما يمنع المستخدم من الادخال او التعديل فقط ننتظر رأى الخبراء ربما يكون لهما رأى اخر لى طلبين من فضلك 1-ياريت تحاول تدمج المواضيع كلها بموضوع واحد والردود فى الاخر ( بحيث يكون كل شروحات الفورم ورا بعض ومتاليه 2-ياريت تترك لى خاصيه التعديل لان بعد ما بخلص براجع الشرح ممكن اكون عايز اضيف شئ جديد او بلاقى فى بعض الاحيان أخطاء وعايز اعدلها وبيكون خاصيه التعديل مش موجوده ( رجاء من فضلك ) تقبل تحياتى 1
ياسر خليل أبو البراء قام بنشر سبتمبر 14, 2015 قام بنشر سبتمبر 14, 2015 ضع الروابط كلها في د واحد وإن شاء الله في أقرب وقت أحاول ألبي طلبك .. سأقوم بنسخ الشروحات كلها في أول رد لك في أي موضوع .. بصراحة محربتش أعمل دمج للموضوعات بس ممكن تكون دي فكرة (ولكن هيكون فيه مشكلة الردود المتداخلة !!) الموضوع صعب لأني مجربتوش بس هحاول إن شاء الله 1
إبراهيم ابوليله قام بنشر سبتمبر 14, 2015 قام بنشر سبتمبر 14, 2015 اخى الصقر مجهود كبير ومعلومات دسمه بارك الله فيك 1
الصـقر قام بنشر سبتمبر 14, 2015 الكاتب قام بنشر سبتمبر 14, 2015 (معدل) اخى واستاذى الحبيب الرابط التالى فيه شروحات عن الفورم بشكل عام - المشاركة رقم 1 http://www.officena.net/ib/topic/63549-سلسله-علمنى-كيف-اصطاد-الفورم-forms/ *************** ثم الرابط التالى شروحات Label المشاركة رقم 1 و رقم 14 http://www.officena.net/ib/topic/63565-سلسلة-علمنى-كيف-اصطاد-شروحات-label/ ******************** ثم الرابط الحالى بتاع TextBox ********************* وشاكر افضالك ولو الموضوع مظبطش معاك فى عملية الدمج للشروحات اولا ثم الردود بعد ارجوا التعاون من الاخ حماده عمر او الاخ ضاحى الغريب وذالك حتى يكون مرجع لك من يريد المعرفه ومنعا للتشتت وسهوله متابعه الدروس ورا بعض ونقطة اخيره ومهمه من فضلك عايز فتح خاصيه التعديل لو حبيت اضيف جزئيه نسيتها او انى اظبط التنسيقات او تعديل خطأ ما تقبل تحياتى تم تعديل سبتمبر 14, 2015 بواسطه الصـقـر
محمد حسن المحمد قام بنشر سبتمبر 14, 2015 قام بنشر سبتمبر 14, 2015 السلام عليكم ورحمة الله وبركاته جزاكم الله خيراً على الجهود التي تبذلونها والتي ستكون مثمرة بعون الله تعالى بمتابعة المبتدئين أمثالي ..حيث من واجبنا دراسة معمقة ومتأنية لاستيعاب دقائقها وتفاصيلها راجياً لكم دوام التقدم والعطاء. أما عن نفسي بسبب قدم المعالج وصغر حجم الهارد فالتنزيل يتم ببطء سأدرسها بتمهل وتمعن لأنها وسيلتي لدخول عالم الـ VBA إن أعانني الله وقدّر لي البقاء. والسلام عليكم. 1
الصـقر قام بنشر سبتمبر 15, 2015 الكاتب قام بنشر سبتمبر 15, 2015 (معدل) ثالثاُ:- وقت تنفيذ الكود الخاص بالـ TextBox قبل أن نتحدث عن وقت تنفيذ الكود لازم نعرف أولا أزاى بيكون كتابة ألاعلان عن الكود للـ TextBox Private Sub TextBox1_Change() هنا يتم كتابة الكود المراد تنفيذه End Sub السطر الاول هو بداية الاعلان عن الكود فنقوم بكتابة Private Sub ستجد لونها بالكود أزرق ( وهو بداية لاى كود خاص لأى عنصر تحكم داخل الفورم ) ثم نقوم بكتابة اسم العنصر المراد عمل الكود له وهو بمثالنا TextBox1 ثم نقوم بكتابة _ ( تكتب من خلال الضغط على Shift+زر الطرح الموجود بالاعلى بجوار زر + ) ثم نقوم بكتابة وقت تنفيذ الكود (اللى هو موضوعنا اليوم) ثم كتابة () قوسين بهذا الشكل وبمجرد الضغط انتر ستجد الكود عمل سطر تانى فيه End sub يوجد طريقه اخرى وهى اتبع الصوره التالية توضح لك قم بالضغط على اى مكان فاضى بالفورم وادخل لمحرر الاكواد الخاص بالفورم دلوقتى هنتكلم عن أهم طرق وقت تنفيذ الكود واكثرها شيوعا فى الاستخدام 1- Afterupdate :- هنا يتم تنفيذ الكود بمجرد الانتهاء من الادخال فى TextBox1 والانتقال الى اى عنصر اخر ( وهو يشبه كثير طريقة Exit) 2-EXit :- هنا يتم تنفيذ الكود بمجرد الخروج من TextBox1 والانتقال الى اى عنصر اخر ( يشبه كثير طريقه Afterupdate ) 3-Change :- هنا يتم تنفيذ الكود عند حدوث اى تغيير فى TextBox1 4-DblClick :- هنا يتم تنفيذ الكود عند الضغط دبل كليك بالماوس داخل TextBox1 5-Enter :- هنا يتم تنفيذ الكود بمجرد وضع مؤشر الماوس داخل صندوق TextBox1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- كدا الحمد لله انتهينا من المحور الثالث وقت تنفيذ الكود الخاص بالـ TextBox ان شاء الله المره القادمه نتكلم عن المحور الرابع وهو التعامل مع TextBox فى لغة البرمجه ارجوا من الله ان اكون وفقت بالشرح واى استفسار انا تحت امر الجميع تقبلوا تحياتى تم تعديل سبتمبر 15, 2015 بواسطه الصـقـر 3
محمد حسن المحمد قام بنشر سبتمبر 15, 2015 قام بنشر سبتمبر 15, 2015 السلام عليكم و رحمة الله و بركاته الحمد لله رب العالمين ...اللهم لا حسد بل غبطة أصبح - ولله الفضل والمنة - المنتدى كخلية نحل دؤوبة تعمل ليل نهار...نعلي بها مرتبة العلم فيعلي الله بها مراتب من سلك طريقاً يلتمس به علماً سهّل الله له به طريقاً إلى الجنة.. اللهم اجعلنا ممن سخر علمه لخدمة البشر ولا تجعلنا ممن يكتم علمه فيصاب بالخذلان...آمين. تقبلوا تحياتي العطرة وكما قال الأستاذ الحبيب ياسر متابعينكم يا أخي الصقر. والسلام عليكم. 2
الصـقر قام بنشر سبتمبر 16, 2015 الكاتب قام بنشر سبتمبر 16, 2015 (معدل) رابعاً:- التعامل مع خصائص الـ TextBox فى لغة البرمجه فى الدرس قبل السابق عرفنا ازاى نتحكم فى خصائص الفورم من شاشة الخصائص اثناء عملية التصميم فماذا لو حبينا نتحكم فى خصائص الفورم ولكن من خلال الاكواد وليس من شاشة الخصائص فى مرحله التصميم هنبدأ على طول بمثال عملى ونشرح عليه اضغط دبل كليك على اى مكان فاضى فى الفورم وهندخل محرر اكواد الفورم ونعمل كود فى حدث فتح الفورم اتبع الصوره فى المكان المظلل باللون الاحمر هنا موضوع كتابه الاكواد 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 ارجوا من الله ان اكون وفقت بالشرح واى استفسار انا تحت امر الجميع تقبلوا تحياتى تم تعديل سبتمبر 16, 2015 بواسطه الصـقـر 4
محمد حسن المحمد قام بنشر سبتمبر 16, 2015 قام بنشر سبتمبر 16, 2015 السلام عليكم ورحمة الله وبركاته: جزاكم الله خيراً أخي الصقر....شرح ممتع وسهل هل تعني خاصيه Text Align المحاذاة بمعنى (محاذاة النص لليسار ... للوسط ....لليمين) أم تغيير اتجاه الكتابة بين العربية وغيرها. وفقكم الله لما يحب ويرضى والسلام عليكم أخي الحبيب الصقر.. 1
صلاح الدين المصلح قام بنشر سبتمبر 17, 2015 قام بنشر سبتمبر 17, 2015 السلام عليكم ورحمة الله وبركاته وبعد: الشكر الجزيل لأخينا الصقر على الطرح المميز وأسأل الله العظيم التوفيق ومواصلة الصيد فالبحر زخم والحيتان لذيذة . عندي ملاحظة بسيطة بخصوص خاصتي lock و enabled فمع تشابهمها في منع المستخدم من الادخال إلا أنهما تختلفان في التنسيق ، حيث يظهر المؤشر في textbox ذو الخاصية llocked=true على العكس لا يظهر في textbox ذو الخاصية enabled=false هذا من جهة ومن جهة أخرى فإن خاصية enabled=false تجعل الخلفية backcolor باهتة وغير ظاهرة على حقيقتها وتجعل النص المفترض من المبرمج text باهتا أيضا (عند تنفيذ الكود طبعا) بينما تظهر بشكل واضح لدى textbox بخاصية locked=true كما يتضح النص المبرمج فيه جيدا. والخلاصة أن خاصية lock تشعر المستخدم أن بإمكانه الوصول إلى التحرير لو استوفى مجموعة من الشروط التي حددها المبرمج (حساب يسمح وآخر لا يسمح مثلا)، بينما خاصية enable=false تجعل عنصر التحكم للقراءة فقط ومصدر لمعلومات أساسية أو مكملة لا يكون المستخدم عموما في حاجة إلى تغييره مع إمكانية فسح المجال للتحرير من طرف المبرمج. هذا والله أعلى وأعلم . في المرفق مثال على ذلك. enableAndLockProperties.rar 1
الصـقر قام بنشر سبتمبر 17, 2015 الكاتب قام بنشر سبتمبر 17, 2015 (معدل) الاستاذ الفاضل صلاح جزاكم الله خيرا على مرورك الكريم وشكرا على ما قدمتموه من اضافه وارجو الا تحرمنا من اى تعليق او نقد او اضافه ولكن دعنى أقول لحضرتك رغم كل ما قيل الا انه لا يوجد فرق جوهرى الفرق الوحيد فى التنسيق والشكل وكلاهما يمنعان المستخدم من الادخال او التعديل الا حسب الشروط التى حددها المستخدم كما تفضلت والخلاصة أن خاصية 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 ستجد ان كلا التكست بوكس يمكن الادخال او التعديل عليهم على الرغم من ان الخصائص لهما مغلقين والسبب طبعا هو الكود فى حدث تهئيه الفورم والخلاصه يمكن فتح او غلق التكست من خلال الاكود حسب شروط يضعها المستخدم او بدون شروط تقبل تحياتى ومره اخرى كل الشكر لحضرتك على مرورك العطر enableAndLockProperties.zip تم تعديل سبتمبر 17, 2015 بواسطه الصـقـر 1
عبد العزيز البسكري قام بنشر سبتمبر 17, 2015 قام بنشر سبتمبر 17, 2015 السلام عليكم و رحمة الله و بركاته بارك الله فيك أستاذنا الفاصل " حسام عيسى " على المعلومات القيّمة .. والله تعلّمنا منك الكثير جزاك الله خيرا و زادك من علمه و فضله
صلاح الدين المصلح قام بنشر سبتمبر 17, 2015 قام بنشر سبتمبر 17, 2015 أخي الصقر المعذرة لأن ظروف العمل تحتم على أن لا أعرج كثيرا على المنتدى الذي أصبح جامعة لنا بفضل أفكاركم النيرة أسأل الله العلي العظيم أن لا يحرمنا منكم ومن دروسكم القيمة. أما بخصوص ملاحظاتك فأنا أتقق معك إلى حد بعيد فالمسألة فيها من المرونة ما يجعل الجوانب الجمالية في البرنامج هي التي تجعل المبرمج يختار ويميز بين الخاصيتين إن على مستوى الخصائص أو على مستوى الكود البرمجي وهذا أعتبره من إيجابيات الVBA . وشكرا على توجيهاتكم القيمة وإلى الأمام فرحلة الصيد مستمرة إن شاء الله. 1
الصـقر قام بنشر سبتمبر 20, 2015 الكاتب قام بنشر سبتمبر 20, 2015 (معدل) بسم الله الرحمن الرحيم الاخوه الكرام اليوم بمشيئة الله سنتكلم عن المحور الخامس والاخير كيفية عمل تنسيقات للقيم المدخله فى TextBox عرفنا قبل كدا فى الشروحات السابقه ما هى اوقات تنفيذ الكود هنعمل مراجعه بسيطه لربط شرح اليوم بالشروحات السابقه قبل أن نتحدث عن وقت تنفيذ الكود لازم نعرف أولا أزاى بيكون كتابة ألاعلان عن الكود للـ TextBox Private Sub TextBox1_AfterUpdate() هنا يتم كتابة الكود المراد تنفيذه End Sub السطر الاول هو بداية الاعلان عن الكود فنقوم بكتابة Private Sub ستجد لونها بالكود أزرق ( وهو بداية لاى كود خاص لأى عنصر تحكم داخل الفورم ) ثم نقوم بكتابة اسم العنصر المراد عمل الكود له وهو بمثالنا TextBox1 ثم نقوم بكتابة _ ( تكتب من خلال الضغط على Shift+زر الطرح الموجود بالاعلى بجوار زر + ) ثم نقوم بكتابة وقت تنفيذ الكود (هو هنا على سبيل المثال AfterUpdate ) ثم كتابة () قوسين بهذا الشكل وبمجرد الضغط انتر ستجد الكود عمل سطر تانى فيه End sub يوجد طريقه اخرى وهى اتبع الصوره التالية توضح لك قم بالضغط على اى مكان فاضى بالفورم وادخل لمحرر الاكواد الخاص بالفورم هنبدأ بالامثله العمليه لان بالمثال يتضح لنا المقال وانا راجل عملى مش بحب النظرى 1-التحكم فى تنسيق القيم المدخله فى التكست بوكس بعدد صحيح شاهد الكود Private Sub TextBox1_AfterUpdate() TextBox1.Text = Format(TextBox1.Text, "0") End Sub السطر الاول عرفنا انه الاعلان عن الكود وسوف يتم تنفيذه فى وقت تحديث التكست بوكس أى بعد الانتهاء من الادخال والانتقال او الخروج من التكست الى اى عنصر اخر على الفورم والسطر التانى هو الكود اللى هيتم تنفيذه شرح الكود ( السطر التانى ) شاهد الصوره هنا نوع التنسيق "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 واحد هيقولى هو مش ممكن يكون العلامه يسار الرقم وليس يمين الرقم هقوله ممكن وليه لا هنعكس الموضوع بدل "$"&"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 ****************************************** **************************************************************************** ******************************************************** ************************************** الى هنا بحمد الله انتهيت من شرح الخمس محاور المتعلقه بالتكست بوكس والى لقاء اخر من حلقات علمنى كيف اصطاد وسيكون بأذن الله الكمبوبوكس تم تعديل سبتمبر 20, 2015 بواسطه الصـقـر 2
محمد حسن المحمد قام بنشر سبتمبر 20, 2015 قام بنشر سبتمبر 20, 2015 السلام عليكم أخي الصقر...جزاكم الله خيرا..شرح مبسط ورائع ومتكامل للتكست بوكس ...أرجو أن يكون مفيدا للكثيرين أمثالنا....تقبل تحياتي العطرة. 1
صلاح الدين المصلح قام بنشر سبتمبر 20, 2015 قام بنشر سبتمبر 20, 2015 بارك الله فيك أخانا وأستاذنا الصقر على المعلومات المفيدة والرائعة ، واصل رحلة تعليم الصيد المباركة جزاك الله خيرا. 1
الردود الموصى بها