بسم الله الرحمن الرحيم
بارك الله فيك أستاذنا رغيد و جعل الله شرحك هذا في ميزان حسناتك
و نحن في أنتظار السؤال التالي :D
بسم الله الرحمن الرحيم
بارك الله فيك أستاذنا رغيد و جعل الله شرحك هذا في ميزان حسناتك
و نحن في أنتظار السؤال التالي :D
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله وبركاته
بما الاخوة لم يضعوا سؤالاً جديدا حتى الآن ... فيمكنني ان اضع سؤالا سهلا للتسلية الى حين يعود الشباب من اشغالهم ... سؤالي هو :
نعرف جميعاً ان المعامل Mod هو من المعاملات المفيدة جداً من الناحية التطبيقية ... و عمله يتلخص في استخراج الباقي من عملية القسمة الصحيحة فمثلاً :
12 Mod 5 = 2 30 Mod 8 = 6 7 Mod 3 = 1
حيث ان 12 قسمة 5 يؤدي الى ناتج مقداره 2 و الباقي (2).
و كذلك 30 قسمة 8 يؤدي الى ناتج مقداره 3 و الباقي (6).
كما ان 7 قسمة 3 ينتج عنه 2 و الباقي (1).
ومنه تظهر فائدة إستخدام المعامل Mod و في الـ Visual Basic .NET يمكن إيجاده بسهولة بواسطة اما المعامل Mod الاعتيادي و الذي استخدمناه سابقاً او عن طريق الدالة IEEERemainder التابعة لفراغ الاسماء System.Math.
و السؤال المطروح هنا ... هو إن لم يكن لدينا طريقة مباشرة في الفيجوال لإيجاد الباقي فكيف يمكنك ان تزودني بطرق مختلفة ( على الأقل ثلاثة ) لحل هذه المسئلة .. بحيث تحقق الصيغة التالية :
Function myMod( A As Integer, B As Integer ) As Integer ...... End Function
بحيث ان A هو العدد الاول و B هو العدد الثاني المراد القسمه عليه ... بكلام آخر :
myMod( 12, 5 ) ==> 2 myMod( 30, 8 ) ==> 6 myMod( 7, 3 ) ==> 1
لاحظ انني اريد من الشخص الواحد اكثر من حلين لان الامر بسيط بإذن الله .
السلام عليكم و رحمة الله و بركاته
مواضيع برمجية تقنية جديدة
----------------------------------------------------------------------------------------------------------------------------------------------
• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج للبحث في الملفات ومحتواياتها (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
مواضيع برمجية تقنية قديمة
----------------------------------------------------------------------------------------------------------------------------------------------
• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
أنا احب جداً ذوي العلم الواسع و أحب اكثر و اكثر من لا يبخل بعلمه و احب اكثر بكثيييييييييييير هؤلاء الذين يقدمون علمهم باستفاضة و كأنه شغلهم الرسمي..
بارك الله فيك يا أستاذ رغيد و انت فعلاً تستحق الأستاذية
بالنسبة للاكواد الثلاثة فها هي:
Function myMod1(ByVal A As Integer, ByVal B As Integer) As Integer Dim Sum As Integer = 0 Do Until Sum + B > A Sum += B Loop Return A - Sum End Function Function myMod2(ByVal A As Integer, ByVal B As Integer) As Integer Return CInt(A - Math.Floor(A / B) * B) End Function Function myMod3(ByVal A As Integer, ByVal B As Integer) As Integer Do Until A < B A -= B Loop Return A End Function
من ديوان الشاعر السي شاربي "معتز شمس"اقتباسالـ VB هى الأساس ... بتبرمج بيها بالاحساسولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس
راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص
الـ VB هى التراث ... للذكور والايناث :D
الـ VB لغة عريقه ... حتى اسأل Anwarica
وعليكم السلام ورحمة الله وبركاته
الكود الاول :
Function myMod(ByVal A As Integer, ByVal B As Integer) As Integer Return CInt(((A / B) - Fix(A / B)) * B) End Function
الكود الثاني :
Function myMod(ByVal A As Integer, ByVal B As Integer) As Integer Dim K As Integer = -1 For i As Integer = 1 To A Step B K += 1 Next Return CInt(A - (K * B)) End Function
الكود الثالث :
Function myMod(ByVal A As Integer, ByVal B As Integer) As Integer For i As Integer = 1 To Fix(A / B) A = A - B Next Return A End Function
ربما كان هناك أكثثر لكنني لم أفكر أكثر
وطبعاً وضعتها بدون النظر إلى كود الأخ undo الموضوع قبلي
ولي ملحوظة كبيرة
عنوان الموضوع : سؤال الأسبوع الخامس هل أصبح ثابتا أو رمزاً مثل الرايخ الثالث أو الطابور الخامس :rolleyes:
اقتباسعنوان الموضوع : سؤال الأسبوع الخامس هل أصبح ثابتا أو رمزاً مثل الرايخ الثالث أو الطابور الخامس
:D :D
المشكلة اني مش عارف هو السؤال الكام؟؟
من ديوان الشاعر السي شاربي "معتز شمس"اقتباسالـ VB هى الأساس ... بتبرمج بيها بالاحساسولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس
راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص
الـ VB هى التراث ... للذكور والايناث :D
الـ VB لغة عريقه ... حتى اسأل Anwarica
خلاص ممكن نسميه "مين الكسبان" ، "من سيربح" بس مش المليون ، السؤال الدوري ، حكمة الأسبوع ، نص كلمة ...... :D
أي حاجة من دي
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله وبركاته
العزيز Undo يسعد الجميع برؤية ردودك هنا و انا اولهم .... و عن أي استاذ تتكلم أخي في منتدى كل من فيه اساتذة بفضل الله تعالى فانت و المحمدين ( النحاوي و عبد العليم ) و الـ HMS و Crazy و NonTop و مبرمجنا أحمد و أبنة اليمن و الاخ العزيز الذي حرمنا مشاركته معنا seahmad و جميع من حظرنا هنا و من في جوارنا ( الاقسام الاخرى ) فالجميع قد اتاه الله من فضله سبحانه و علمه ما لم يكن يعلم وبقي ان ينفق هذا العلم في مرضاه الله تعالى.
و لعلنا نلحق بربكم إن شاء الله تعالى ... و بالنسبة للاجابات فجميعها رائعة سواءاً منك او من العزيز النحراوي .. و جميع الافكار هنا تنسقم إلى قسمين ... الاول إستخدام الدوران FOR, WHILE او UNTIL و الاخر إستخدام القسمة و محاولة إستخراج الجزء الزائد عن طريق الفرق بين القسمة و الضرب وهي حلول رائعة.
و يمكن طبعاً اشتقاق الكثير على نفس النمط فمثلا :
Return A - Math.Floor(A / B) * B مثل Return A - Int(A / B) * B مثل Return A - Fix(A / B) * B
فجميعها تمثل نفس الفكرة و لا تعتبر حلا إضافياً ..
و للزيادة فيمكن الإستغناء عن دوال القص ( Fix , Int , Floor ) و إستخدام القسمة الصحيحة (بإستخدام المعامل \ و ليس / ) ... بالشكل التالي :
Return A - (A \ B) * B
يسرع ذلك كثيراً خاصة اذا استخدمنا دالتنا في دوران طويل.
و على العموم يمكن ايضاً الاتجاه بالحل بطريق مختلف بشفرة مثل :
Private Function myMod(A As Integer, B As Integer) As Integer If A < B Then Return A Return myMod(A - B, B) End Function
----------------------------------------------------------------
و الآن نتسلى بشيء آخر ... قديماً ناقشنا وبعض الاخوة في منتدى vb4arab و المجلس اليمني al-yemen.org كيفية معرفة ما اذا كان عدد ما فردي ام زوجي ؟ .
فما هي الطرق التي يمكن على الفرد ان يقترحها عليّ .. بغض النظر عن الطرق التي نستخدم فيها احد اوامر الدوران لانها كثيرة بحيث تخضع للصيغة التالية :
Function IsOdd(ByVal N As Integer) As Boolean ...... End Function
بحيث تعيد الدالة القيمة True اذا كان العدد المدخل N فرديا و القيمة False فيما سوى ذلك :
IsOdd(12) ==> False IsOdd(37) ==> True IsOdd(48) ==> False IsOdd(83) ==> True
و اظنني سوف اكرر العادة السيئة ففي المرة الاولى لم نرضى بأقل من ثلاث إجابات و اتحفنا الشباب بحلول اكثر من رائعة ... و لعلنا نزيد الامر صعوبة ( نضاعفه ) فنقول : اننا لن نرضى بأقل من ست إجابات للفرد الواحد ( مع تجنب اي امر من اوامر الدوران ) ...
السلام عليكم و رحمة الله وبركاته
مواضيع برمجية تقنية جديدة
----------------------------------------------------------------------------------------------------------------------------------------------
• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج للبحث في الملفات ومحتواياتها (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
مواضيع برمجية تقنية قديمة
----------------------------------------------------------------------------------------------------------------------------------------------
• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
السلام عليكم
حيا الله الاحبه, اول مره اشوف المخباء دا, يا سبحان الله, هو undo بيستخبا هنا وانا دايخ عليه فى المنتدى كله ؟!؟!؟
على كل حال انا ساحاول حل السؤال الاخير ولكن عليكم ان تعذرونى فانا لا اعرف شى عن هذه اللغه, مجرد محاوله لحل المشكله بطريقه منطقيه.
Function IsOdd(ByVal N As Integer) As Boolean If N mod 2 Then Return True Return False End Function
هناك ايضاً حل افضل من هذا ولكن لا اعرف إذا كان يسمح فى VB.NET
Function IsOdd(ByVal N As Integer) As Boolean Return N AND 1 End Function
والفكره هى بكل بساطه القيام بعمليه and منطقيه معى العدد 1 واذا كان العدد فردى فإن الناتج سيكون 1 وبذالك يعيد العدد 1 والذى يعنى true :
,والسلام عليكم
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
السلام عليكم
صباح الخير جميعاً ، اسف على تأخري في السؤال الاول ، الموضوع كان ميت فجأة طرح سؤال وتم الاجابة نحتاج إلى نداء آلي :)
وهذه حلول التي تحضرني الان :) وارجو المعذرة لعدم استيفاء الشروط ( استاذ رغيد تحتاج إلى خبير في علم الرياضيات لتوصل لستة حلول بدون استخدام تكرار) :) ...
Function IsOdd(ByVal N As Integer) As Boolean
Dim str As String
str = N / 2
If Not str.IndexOf(".") Then Return True
End FunctionFunction IsOdd(ByVal N As Integer) As Boolean Dim s As Double = N / 2 N = N / 2 If N > s Then Return True End Function
Function IsOdd(ByVal N As Integer) As Boolean Dim s As Double = N / 2 N = N / 2 If s - N Then Return True End Function
والسلام عليكم ورحمه الله وبركاته
" اللهم لاسهل إلا ماجعلته سهلاً وأنت تجعل الحزن إذا شئت سهلاً "

-------------------
MSN Messenger : nontop@gmail.com
Happy coding
-------------------
السلام عليكم... يبدو ان الموضوع تحرك بين يوم و ليلة !!! سؤالين و العديد من الاجوبة .. عموماُ سأشارك في السؤال الثاني .. و بما ان الاخوه سبقوني الى وضع العديد من الحلول .. فشأشارك بحل واحد :) :
Function IsOdd(ByVal num As Integer) As Boolean Dim n As Integer = num / 2 If (n.GetType.ToString <> "System.Integer") Then Return False Return True End Function
و السلام ،،
بنت اليمن ،،
تم تعديل هذه المشاركة بواسطة بنت اليمن في 2 مارس 2005 في 21:37
لا اله الا الله .. محمد رسول الله
(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)
يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين
لا اله الا الله
هو اللي يغيب يومين يجي يلاقي كل ده حصل من وراه
سؤالين في يومين ... لا اله الا الله
لكن ما شاء الله الشباب نشيطين (اللهم أدم نشاطنا يا رب)
بارك الله فيك استاذنا رغيد, :D
لكن ان شاء الله المرة الجاية أكون السباق هههههههه
على فكرة أنا وضعت اول الدروس المرئية الخاصة بالفيجوال دوت نت أتمنى أني مكنش الوحيد و يتشجعوا الشباب و يعملو لهم همة كدة و يعملو لنا كم درس على ذوقهم يكون مرجع لينا بدل المراجع الغربية الموضوع هنا
يالله مع السلامة
السلام عليكم
بنت اليمن حل جميل جدا جدا جدا وبداية قوية وبالتوفيق ، انا فكرت بها ولكن لم استطع تطبيقها ما شاء الله تبارك الله
" اللهم لاسهل إلا ماجعلته سهلاً وأنت تجعل الحزن إذا شئت سهلاً "

-------------------
MSN Messenger : nontop@gmail.com
Happy coding
-------------------
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله وبركاته
اولاً اقول ما شاء الله على التجاوب الرائع الذي سرني كثيراً ... اما عزيزي Non-top لا تعتذر انا اصلي يمكن اتحمست قليلا على الرغم من أن الموضوع ليس بالصعوبة التي تتخيلها عزيزي ( هل تصدق اني كنت ناوي اشترط اكثر من عشرين إجابة ! ) ، بعدها شعرت باني تماديت شوي فقلت في نفسي اجعلها 10 فقط ... و اخيراً تذكرت ان الامر لا يجب ان يكون تعقيدا و لكن للتسلية فقط فقلت اكتفي بست إجابات للفرد الواحد ... و لكن اجاباتك كنت مميزة جدا عزيزي و تغنيني عن الست التي كنت اطلبها.
كما اود ان اشكر الرائع احمد غريب على اجاباته السريعة على الرغم من كونه غريباً عن اللغة و لذلك وضع حلولا منطقية و هي بالفعل سليمة و ليس عليها اي غبار و كذلك الاخت بنت اليمن و العزيز crazy.
و على العموم دعوني اضع بعض الحلول التي تخطر لي الآن مع وصف سريع لبعضها .
اذا فكرنا في المسألة من الناحية الرياضية فإن اقرب الطرق التي تمكننا من معرفة ما اذا كان العدد فرديا ام زوجيا هي قابليته للقسمه بدون باقي على الرقم 2 ... وهذا في الفيجوال ( باقي القسمة ) يمكن استخراجه بواسطة الـمعامل Mod و الذي يكافىء المعامل % بالنسبة لشباب السي و الـ #C ... و بالتالي فإن اقرب الحلول هي إستخدام السطر التالي داخل الدالة :
Return ( N Mod 2 )
ايضا من الجميل إستخدام القمسة الصحيحة ( بدون باقي ) لحل المسألة بالشكل التالي :
Return ( n\2 <> n/2 )
ومنها يمكن استنتاج طريق عديدة ... خذ ما يحظرني الآن :
Return (N - 1) \ 2 = N \ 2
و كذلك عكسها سيكون صحيحا بإذن الله :
Return (N + 1) \ 2 = N \ 2
اما اذا كرهنا استخدام هذه القمسة فيمكن محاكاتها عن طريق احدى هذه الطرق الثلاث، الاولى :
Return Math.Floor(N / 2) <> N / 2
و الثانية :
Return Fix(N / 2) <> N / 2
و الثالثة :
Return Int(N / 2) <> N / 2
بالاضافة :
Return CInt(N / 2) <> N / 2
و بالعودة الى الـ Mod و الـ Not يمكن وضع حل كهذا :
Return Not -((N + 1) Mod 2)
ومنه :
Return Not -(Math.Abs(N - 1) Mod 2)
صحيح حقيقة رياضية اخرى يمكن إستغلالها .. وهي ان اي عدد سالب لنقل مثلاً سالب واحد اذا رفعناه الى اس زوجي فإن الناتج هو موجب بينما رفعه الى اس فردي يعود بقيمة سالبة و بالتالي :
Return (-1) ^ N = -1
لا اعلم كم من الطرق ذكرنا الى الان ... وجميعها رياضية ... اما اذا اردنا التفكير بالمنطق الرائع الذي يفكر فيه أحمد الغريب فالكثير من الطرق التي تعتمد على المعاملات المنطقية يمكن استنتاجها لحل المسئلة منها :
Return N And 1
وهذه واحدة اخرى :
Return ((N Xor 0) And 1)
و ايضاً :
Return Math.Abs(Not N) And 1
او يمكن عمل شيء مثل :
Return ((N Xor 1) - N = -1)
و اخيرا فيمكن ايضاً اعتماد النصوص Strings في عملنا مع التركيز على الفاصلة العشرية ... بشكل مشابه للتالي :
Return (N / 2).ToString.EndsWith(".5")و كذلك
Return ((N / 2).ToString.IndexOf(".") > -1)او الـ Split التي يحبها عزيزنا النحراوي و مبرمجنا أحمد :
Return (N / 2).ToString.Split(".").Length = 2-------------------------------------------------------------
لا ادري الان عدد الحلول المطروحة كما اني لا اعرف اذا كانت جميعها ستعمل لديك لان الفيجوال ليس معي الان للاختبار غير ان الفكرة بالتاكيد وصلت بإذن الله و كلمة يجب قولها هو ان الحلول التي وضعتها انت فكرتها اروع بكثير ...
صحيح لفت انتباهي كود الاخ بنت اليمن ... و كأنني لم افهمه تماما ! .. لانه من الوهلة الاولى يمكن ان اظن انه وبما ان المتغير N معرف على كونه من النوع Integer فإن الدالة GetType سيكون ناتجها دائما هو "System.Integer" و يعني هذا ان الشرط لن يتحقق ابدا و بالتالي فان قيمة الدالة ستكون دائما True بغض النظر عن قيمة العدد المدخل اكان فرديا ام زوجيا و الله سبحانه اعلى و اعلم ... طبعا لا اقصد التشكيك ابدا بكود الاخت لانها بالتاكيد ستكون قد جربته كما ان تأييدك اخي العزيز NonTop يؤكد ذلك بإذن الله ... غير ان هذا ما طرأ لي عند النظر الى الاجابة للوهلة الاولى و لعلي اكون على خطأ
------------------------------------------------------------
بعيدا عن اسئلتي التافهة واجاباتي الاكثر تفاهه لا اخفيكم اني ارغب في الاستمتاع بحل بعض الالغاز البرمجية التي يضعها الاخوة ( خاصة الذين لم يطرحوا إلى الان من قبل ) يعني Crazy و Nontop و بنت اليمن و جميع الباقين ... ما رائيك عزيزي النحراوي ان تضع لنا سؤالا يحرمنا النوم لليالي عزيزي
اعتذر عن الاطالة و السلام عليكم و رحمة الله و بركاته
مواضيع برمجية تقنية جديدة
----------------------------------------------------------------------------------------------------------------------------------------------
• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج للبحث في الملفات ومحتواياتها (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
مواضيع برمجية تقنية قديمة
----------------------------------------------------------------------------------------------------------------------------------------------
• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
السلام عليكم
صحيح استاذ رغيد خطاأ الحل ، لم انتبه لتطبيقة ولكن الفكره خطرت ببالي ولم استطع تطبيقها :) ،
من الممكن ان يكون قريب لصحه لو كان
Function IsOdd(ByVal num As Integer) As Boolean Dim n As Object = num / 2 If (n.GetType.ToString = "System.Double") Then Return True End Function
ولكن الاوبجيكت يحول دائماً دابوول ؟
ويوجد حل اخر ولكن يجب الغاء التحويل الذاتي أو ما يسمى التحويل القصري ( على ما اعتقد ) :
Function IsOdd(ByVal N As Integer) As Boolean Try N = N / 2 Catch ex As Exception Return True End Try End Function
والسلام عليكم ورحمه الله وبركاته
" اللهم لاسهل إلا ماجعلته سهلاً وأنت تجعل الحزن إذا شئت سهلاً "

-------------------
MSN Messenger : nontop@gmail.com
Happy coding
-------------------
السلام عليكم ..
فعلأً لقد سبقتني اخي Non-top الى التصحيح .. لقد كنت فعلاً بصدد تحويلها النوع الى Object ها .. اشكرك :) (و لكن ماذا تقصد انها دائماً تعمل معك دبل .. ساراجعها من عندي :) ) ،، و حلول رائعة اخي رغيد ،،
في الحقيقة كنت اريد ان احل ايضاً بأستخدام الدالة IsDigit اذا لم اخطيء في اسم الدالة .. و لكني لم اجد لها مقابل في VB.Net .. فهل لها مقابل ،، ؟
اخي احمد غريب .. اعجبني حلك المنطقي B) ،،
و في انتظار السؤال القادم (فلن ايئس حتى اجد نفسي اقدم الشيء الصحيح تماماً :) )
بنت اليمن ،،،
تم تعديل هذه المشاركة بواسطة بنت اليمن في 3 مارس 2005 في 08:12
لا اله الا الله .. محمد رسول الله
(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)
يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين
السلام عليكم
اختي بنت اليمن التصحيح ليس صحيح وانما قريب لصحه ارجو قرائه التعليق بعد الكود في الاعلى
استاذي رغيد ، تصحيح بسيط ومتواضع مني على دالتين :
Return (N + 1) \ 2 = N \ 2 Return Math.Abs(Not N) And 1 after: Return Not (N + 1) \ 2 = N \ 2 Return Not Math.Abs(Not N) And 1
والف شكر على ما تقدمه من جهود جبارة .
والسلام عليكم ورحمه الله وبركاته
" اللهم لاسهل إلا ماجعلته سهلاً وأنت تجعل الحزن إذا شئت سهلاً "

-------------------
MSN Messenger : nontop@gmail.com
Happy coding
-------------------
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله وبركاته
اشكرك اخي الحبيب NonTop على التصحيح الذي في محله تماماً و الرائع اني في الطريقتين نسيت الـ Not يبدو ان بيني و بينها عداوة لا سمح الله.
بالنسبة للاخت يمكنك إستخدام الدالة IsNumeric اذا احببت او يمكن ايضاً الاعتماد على الدالة IsDigit التابعة للكائن Char بالشكل التالي :
Function IsOdd(ByVal N As Integer) As Boolean For Each C As Char In (N / 2).ToString.ToCharArray If Not Char.IsDigit(C) Then Return True Next End Function
يمكن ايضاً إستغلال حقيقة بسيطة اخرى متعلقة بالنصوص Strings و هي ان اي عدد زوجي مقسوم على اثنين ينتج عنه عدد مكون من ارقام مساوية او اقل من العدد الاصلي بواحد فمثلاً العدد 500 مكون من ثلاثة حروف فاذا قسمناه على 2 ينتج عنه 250 ( ايضا مكون ثلاثة حروف ) بينما العدد 1000 ( مكون من اربعة حروف ) فإذا قسمناه على 2 نتج عنه 500 ( اي اقل من بحرف طوله 3 ) .... اما الاعداد الفرديو فإن الناتج يكون اطول من العدد الاصلي بمقدار حرف او حرفين نتيجة لدخول الـ ( الفاصلة العشرية و الرقم 5 ) .... خذ مثلا العدد 501 ينتج عن قسمته العدد "250.5" و كذلك العدد 1000 ينتج عنه "500.5" و في الحالتين طول الناتج اكبر من طول العدد الاصلي ... ويترجم ذلك الى :
Return (N/2).ToString.Length > N.ToString.Length
اشكر تفاعلكما كثيرا ... و اتمنى من الشباب وضع سؤال آخر .. قريبا بإذن الله
السلام عليكم و رحمة الله و بركاته
مواضيع برمجية تقنية جديدة
----------------------------------------------------------------------------------------------------------------------------------------------
• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج للبحث في الملفات ومحتواياتها (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
مواضيع برمجية تقنية قديمة
----------------------------------------------------------------------------------------------------------------------------------------------
• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
السلام عليكم
اخى رغيد بعض التعليقات
Return ((N Xor 0) And 1)
بالنسبه لهذا الحل فهو صحيح ولكن 0 N xor لا تقوم بعمل شئ على الاطلاق.
اما بالنسبه ل
Return Math.Abs(Not N) And 1
فالداله Math.Abs(Not N) تحول العدد N إلى سالب ثم تعيده إلى موجب مره اخرى, وإذا كان سالب فئنها تجعله موجب و Math.Abs لا تفعل شئ فى هذه الحاله.
واخيراً
Return ((N Xor 1) - N = -1)
فهذه الداله لن تفى بالغرض دعنا نحلل الموضوع:
نفترض ان لدينا العدد 5 وهو عدد مفرد
5 xor 1 = 0 0-5 = -5
والان نفس التحيلي معى العدد 4 وهو عدد زوجى
4 xor 1 = 1 1-4 = -3
إذاً الداله غير صحيحه معى الاعتذار الشديد للاستاذ رغيد وجل من لا يسهو.
والسلام عليكم
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
السلام عليكم ورحمة الله
كيف حال الإخوة الأحبة ؟
أرى ان الموضوع بدأ يجذب كمان مبرمجي الأسيمبلي :lol: ولكن احترسوا أحمد غريب ممكن يقنعكم إنكم تتركوا الدوت نيت وتتجهوا لبرمجة الشاشة السوداء :D أو الألوان لأنه حيصر طبعاً إن الأسيمبلي 32أصبحت مختلفة تماماً عن ال 16
ورغم ذلك فإنني لا أرى أثراً حتى الآن لإخوة السي شارب ، اللهم إلا الحبيب محمد عبد العليم :rolleyes:
طيب ..
طالما أن أخانا الحبيب رغيد طلب مني سؤال هذه "المرة" (طبعاً سؤال الاسبوع أصبح موضة قديمة ، أول إمبارح السؤال اتحط قبل الفجر بشوية واتحل قبل الفجر برضه بشوية أكتر من حل) :)
المهم إلى السؤال وهو بسيط ولكنه يتعلق بالدوت نيت هذه المرة وليس بالمنطق ..
"سؤال الأسبوع الخامس .. عشر"
فلنفرض أنك تقوم بعمل أداة Control وهذه الأداة يجب عليها تنفيذ إجراءات أو دوال معينة موجودة على النموذج (Form)الذي سوف توضع عليه الأداة ، فكيف يتم ذلك في برمجة الأداة نفسها ؟
للتوضيح :
نفترض أن لديك برنامج يحتوي على عدة نماذج وكل فورم منها يحتوي على إجراء أو دالة تتكرر في أغلب هذه النماذج ، وأنت تريد تصميم أداة كنترول فيها إجراءات توفر عليك أكواد كثيرة قد تكتبها لكل فورم ، لذلك أنت تريد استدعاء هذه الإجراءات والدوال الموجودة في الفورم الحاوي لها تبعاً لمتغيرات خاصة أو باراميترات تختلف من مرة لأخرى
مثال :
لديك نموذج يحتوي على هذه الدالة :
Function Sum2Nums(ByVal Num1 As Integer, ByVal Num2 As Integer) As Integer Dim Num3 As Integer = Num1 + Num2 Return Num3 End Function
وأردنا أن نكتب دالة في الأداة الخاصة بنا "الكنترول" بحيث تستدعي هذه الدالة الموجودة في النموذج الحاوي وترجع القيمة العائدة منها لنعرضها في الأداة ، فما هو كود هذه الدالة ؟
أرجو أن أكون استطعت توضيح السؤال
بارك الله فيكم
السلام عليكم .. و تحياتي للجميع
و استميحك عذراً اخي محمد فقط لدي اضافة على السؤال السابق ،، :)
ما زلت مصرة اخي Non-top على شكرك على التصحيح ، حيث اني بدأت الحل بإستخدام متغير من نوع Object و لا ادري بماذا كنت افكر حين جعلته من النوع Integer :wacko: عموماً لقد راجعت الحل و الذي يبدو منطقي ، غير ان التنفيذ موضوع ثاني تماماً , حيث تظهر مشكلة انه يعتبر نواتج القسمة دائماً من النوع Double حتى و ان كانت Integer و لا ادري لماذا :blink: .. قد تكون المشكلة من عندي ..
عموماً لدي حل اخر (اتمنى ان لا يكون قد طرح في خضم هذا العدد من الحلول :) ) و الذي يعتمد على اختبار اول رقم (خانة الآحاد) من الرقم المراد اختباره اذا كان يقبل القسمة على 2 (يعني زوجي) او لا ..
Function IsOdd(ByVal num As Integer) As Boolean Dim n As String = CStr(num) n = n.Substring(n.Length - 1, 1) If (val(n) Mod 2 = 0) Then Return True End If Return False End Function
-------------------------------------------------------------------------------
اخي محمد النحراوي ... لازلت افك شفرة السؤال الذي وضعته (ترى كم عاماَ احتاج ؟؟؟؟؟؟) .. :D
بنت اليمن ،،
تم تعديل هذه المشاركة بواسطة بنت اليمن في 3 مارس 2005 في 19:06
لا اله الا الله .. محمد رسول الله
(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)
يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
اقتباسإذاً الداله غير صحيحه معى الاعتذار الشديد للاستاذ رغيد وجل من لا يسهو.
الأخ الحبيب احمد الغريب اتمنى ابدا ان لا اسمع اعتذارك اخي لاننا نسعد بمناقشتك لاكوادنا ذلك انك عندنا غالي عزيزي كما اني يعلم الله سعدت كثيرا بمشاركتك هنا كما قال عزيزنا النحراوي ...
ويسرني بالفعل ان اوضح امور قد تكون غابت هنا بالنسبة لتعليقاتك الكريمة التي اعتز بها كثيرا ... اولا شيء مهم ينبغي اخذه في الحسبان بانه لا يوجد معامل منطقي لا يقوم بأي عمل سواءً OR, AND, XOR , NOT او سواها ... و اما بالنسبة لمقارنة الـ XOR بالصفر فالعملية تتم بالفعل غير ان الناتج لا يتغير بسبب كوني استغليت مبدأ عمل الـ XOR و الذي يعطي القيمة 1 اذا اختلف الرقمان و القيمة 0 اذا اتفق الرقمان ( وذلك في النظام الثنائي ) إعتمادا على هذا الجدول :
1 XOR 1 = 0 1 XOR 0 = 1 0 XOR 1 = 1 0 XOR 0 = 0
و بمقارنتي مع الـصفر يوجد احتمالين هما ان يكون البت الايمن من الرقم 0 او 1 و في حالة كونه 0 ينتج الرقم 0 لان مقارنة 0 مع 0 باستخدام الـ XOR يعطي 0 و اما في حالة كون البت الايمن من الرقم 1 فان الناتج يعطي 1 نظراً لان المقارنة تكون بالصفر ... و من هنا يظهر ان الرقم لم يتأثر مع كونه في الحقيقة قد تمت عليه عملية الـ XOR كاملة ومن هنا يمكنك القول باني تحايلت فقط في هذه الاجابة و استغليت التأثير المهمل للمعامل في إيجاد حل يغلف استخدام الـ AND مباشرة و بالتالي فان الإجابة :
Return ((N Xor 0) And 1)
سليمة ايضا بإذن الله تعالى ...
اما بالنسبة للملاحظة الثانية عن الـ :
Return Math.Abs(Not N) And 1
و بالتحديد عما يفعله المعامل NOT في الواقع هو لا يعود فقط بالقيمة السالبة بل يقوم بإضافة 1 الى العدد المدخل ( وهذا نتيجة لتمثيل الإشارات السالبة في النظام الثنائي يكون بـ 1 ) ... لتفهم قصدي فإن :
Not 6 = -7 Not 3 = -4 Not 153 = -154
يمكن اختبار ذلك عن طريق مربع حوار :
MsgBox( Not 3 )
والذي سيعطيك القيمة سالب 4 ... و لانك لا تستخدم الفيجوال بيسك قم بتجربة ذلك على الحاسبة العلمية التي تأتي مع الوينذوز.
من هنا يمكن إستنتاج ان الدالة Abs مهمة لأخذ القيمة الموجبة و بما ان القيمة ستكون اكبر من القيمة الاساسية بواحد فانه بالتاكيد سوف تكون معكوسة ( حيث ان اي عدد زوجي مضاف له 1 ينتج عدد فردي و كذلك العكس العدد الفردي زائد واحد يصبح زوجي ) و هنا يجب استخدام الـ NOT لعكس المسالة و لانني كنت اضع الاجابات مباشرة دون اختبار و بحسب الفكرة التي تطرأ على بالي عندها فقد سقط مني سهوا اضافة الـ NOT الى الامر وهو بالضبط ما نبهني اليه الاخ العزيز NonTop في الرد السابق ....
لتبسيط الامر عليك فإن العملية NOT التي بين الاقوس :
Return Not Math.Abs(Not N) And 1
ينتج عنها :
Return Not Math.Abs( -(N+1) ) And 1
ثم تقوم الـ Abs بإستخراج العدد الموجب فتصبح الدالة :
Return Not (N+1) And 1
و بما ان العدد N مضاف اليه واحد فإن قيمته بالتأكيد تكون معكوسة ( ان كان زوجيا اصبح فرديا و العكس بالعكس ) و لتصويب الامر نستخدم الـ Not الثانية لقلب القيمة ... و بالتالي فإن العملية :
Return Not Math.Abs(Not N) And 1
مع التركيز على وجوب اضافة الـ NOT التي ذكرني فيها العزيز NonTop سابقا .. اما الـ Abs فوجودها مهم كما سلف ومنه فان الدالة سليمة ايضا بإذن الله تعالى.
و بالنسبة للتعليق الاخير :
Return ((N Xor 1) - N = -1)
نحلله فنقول ان عملية الـ XOR مع الواحد ينتج عنها قلب البت الاول من الرقم و بالتالي :
بالنظام العشري 5 XOR 1 = 4 بالنظام الثنائي 101 XOR xx1 = 100
لاحظ لان البت الاول من الخمسة هو 1 و المقارنة مع 1 فبالتالي فان البت في الناتج يصبح 0 و الرقم ككل يصبح 4 .. وليس 0 ... و كذلك الحال اذا قارنا الواحد مع الـ 4 فان الناتج هنا هو 5 ... كالتالي :
بالنظام العشري 4 XOR 1 = 5 بالنظام الثنائي 100 XOR xx1 = 101
و بالتالي فإن الدالة سليمة بإذن الله تعالى ... و كنت اتمنى ان يكون الفيجوال بيسك لديك حتى تجرب النتائج بنفسك .. و على العموم يمكنك استخدام الحاسبة المرفقة مع الويندوز للتاكد بإذن الله تعالى ... وهنا بعض الامثلة عن المقارنة بالـ XOR مع الواحد :
78 XOR 1 = 99 45 XOR 1 = 44
ومنها يمكنك إستنتاج عمل الدالة حيث انه وبشكل عام مقارنة العدد الفدري مع الواحد بالـ XOR يعطي عدد اصغر من العدد الاصلي بواحد .. واما اذا كان العدد الاصلي زوجيا فإنه يزيد بواحد ... وهذا بالضبط ما استغليته انا هنا .. فبطرح الناتج من العدد الاصلي يكون الناتج اما سالب واحد او موجب واحد وهنا تكمن فكرة الدالة التي وضعتها.
اخيرا فقد سعدنا كثيرا بماشركتك لنا عزيزي و اتمنى بالفعل ان يستمر هذا دائما.
اجابة موفقة جدا اختي بنت اليمن ...
و بالنسبة لسؤال النحراوي يبدو انه بالفعل بحاجة الى توضيح اكثر ... و إن كان ما استطعت ان اخمنه كمطلب من السؤال هو انني اذا وضعت دالة اسمها مثلا Sum2Nums في الفورم فكيف اصمم اداة Control بداخلها دالة لنقل ان اسمها Caller تقوم بإستدعا الدالة الاصلية Sum2Nums في الفورم الحاضنة للكنترول مع تمرير بارميترات اليها ؟
إن كان ما استنتجته من السؤال صحيحا فيمكن تجربة شيء مثل :
Function Caller(ByVal N1 As Integer, ByVal N2 As Integer) As Integer Dim mainForm As Object = Me.FindForm Return mainForm.Sum2Nums(N1, N2) End Function
او اختصاراً :
Function Caller(ByVal N1 As Integer, ByVal N2 As Integer) As Integer Return CType(Me.FindForm, Object).Sum2Nums(N1, N2) End Function
إن كانت هذه الاجابة موفقة ... فبنعمة من الله و فضل ... و نتمنى سؤالا آخر من اي فرد هنا بإذن الله ... و إن لم يكن فحبذا لو تم التوضيح اكثر لعل الله يمكن احدنا من الإجابة عليه.
السلام عليكم و رحمة الله و بركاته
تم تعديل هذه المشاركة بواسطة رغيد الطيب في 3 مارس 2005 في 22:04
مواضيع برمجية تقنية جديدة
----------------------------------------------------------------------------------------------------------------------------------------------
• إستغلال خدمة الـ RSS في برامجنا ومواقعنا ! (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج للبحث في الملفات ومحتواياتها (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• فئة للتراسل بين برنامجين في جهاز واحد ! (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
مواضيع برمجية تقنية قديمة
----------------------------------------------------------------------------------------------------------------------------------------------
• إستغلال رسائل البالونات Balloons في الوينذوز أكس بي(VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• مقالة : لماذا يجب ان نعتني بشفرات برامجنا !؟- (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• لمطوري البرامج و مواقع الويب - برنامج تركيب ألوان - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج : بسيط للتحكم بالنظام, عن طريق الريجستري - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• برنامج : لتقييد و منع تشغيل البرامج الاخرى - (VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• النوافذ المنبثقة و طريقة لإستغلالها في برامجنا -(VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• تقنية الإستدعاء الذاتي - (VB.NET , VB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• مصفوفات الأدوات Control Arrays افكار وتلميحات ! - (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
• أفكار و تلميحات[ المعنى الحقيقي للـ True و False ] - أمثلة (VB.NETVB6.0)
----------------------------------------------------------------------------------------------------------------------------------------------
• دوال الـ APIs و مايقابلها في الدوت نت ! - (VB.NET)
----------------------------------------------------------------------------------------------------------------------------------------------
وعليكم السلام ورحمة الله وبركاته
ما شاء الله
أنا نفسي لما قرأت السؤال تاني حسيت اني مش فاهم :)
نعم هذا ما أقصده :) ، وآسف على التشفير
ولكن طالما أن النوع Object يحل كثيراً من المشاكل ، وطبعاً نحن هنا لا نريد إلا المشاكل (وإلا فماذا نحل إذا لم تكن هناك مشكلة ;) )
فلنزد من صعوبة السؤال قليلاً ولنقل أن اسم الدالة لا يدخله المبرمج من داخل الكود بل فلنفرض أن اسم الدالة Sum2Nums يتم إدخاله عن طريق صندوق نصي مثلاً موجود على الأداة أو من خلال صندوق حوار أو أي شيء مماثل
نشوف كده
السلام عليكم ورحمة الله تعالى وبركاته
حياك الله اخى رغيد وجميع الاخوه الاكارم, دعنى اوضح اخى رغيد ما قصدت.
اولا بالنسبه للداله الاولى :
Return ((N Xor 0) And 1)
كل ما ذكرته صحيح ولكن قصدى هو ان الهدف من العمليه هو التحقق من البته الاولى و N xor 0 لا تضيف للمعادله شئ جديد.
اما بالنسبه ل not فانا خلطت بين neg و not, فى لغه الاسمبلى neg تقوم بعكس القيمه دون إضافة رقم إليها. و not كما تفضلت وذكرت فهى تضيف واحد للرقم الاصلى.
اما الحل الاخير سليم 100% ولا تعليق سوى جزاك الله الف خير على التوضيح.
اليك حل اخر
Return (N Xor 1) <>1
,وحل اخر
Return (N NAND 1) <> N
وكمان حل
ٌRetun (N NOR 0) = 0
اقتباسأرى ان الموضوع بدأ يجذب كمان مبرمجي الأسيمبلي laugh.gif ولكن احترسوا أحمد غريب ممكن يقنعكم إنكم تتركوا الدوت نيت وتتجهوا لبرمجة الشاشة السوداء teeth_smile.gif أو الألوان لأنه حيصر طبعاً إن الأسيمبلي 32أصبحت مختلفة تماماً عن ال 16
انا فى الحقيقه كنت جاى ادور على اندو بس طالما الموضوع تحول إلى موضع منطق وبرامج اقرب ماتكون للاسمبلى منها للبيسك, فلما لا والاخ رغيد يعلم انه مرحب به فى قسم الاسمبلى متى شاء, يعنى العمليه مسئلة وقت وناخذه من قسم الفشول لقسم الاسمبلى.
وإنتا كمان يا اندو سيبك من الهيصه دى وتعالى للاسمبلى وانا حراعيك ولا يهمك, والاخت بنت اليمن عارفا السكه وجلوسها فى هذا القسم ماهو إلا فتره تمرد على قسم الاسمبلى وحتعدى إن شاء الله.
وبقية الاخوه معزومين على خروف محشى فى قسم الاسمبلى, وانا إن شاء الله إلى حكتب البنرنامج,,, اقصد اطبخ الخروووف.
والسلام عليكم
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
السلام عليكم ...
كبداية اعتقد ان الدوال ستكون معرفة على الـForm الاول على انها من النوع Public Shared .. على سبيل المثال الدالة التالية موجودة في الـ Form1 :
Public Shared Sub sum(ByVal num1 As Integer, ByVal num2 As Integer) MsgBox(num1 + num2) End Sub
و عندما نريد استدعاء الدالة من اي Form اخر في المشروع و ليكن الـ Form2 سوف يكون الاستدعاء كما يلي :
Form1.sum(2, 3)
..
هذا كبداية .. و لا ادري اصلاً ان كان هو المطلوب :rolleyes:
بنت اليمن ،،
لا اله الا الله .. محمد رسول الله
(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)
يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين
اقتباسوإنتا كمان يا اندو سيبك من الهيصه دى وتعالى للاسمبلي
لة فيها خروف محشي يبقى ان شاء الله اكيد هاجي .. :D :D
ما شاء الله الحلول كتيييييييير للسؤال الجديد .. يعني صعب نضيف جديد
من ديوان الشاعر السي شاربي "معتز شمس"اقتباسالـ VB هى الأساس ... بتبرمج بيها بالاحساسولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس
راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص
الـ VB هى التراث ... للذكور والايناث :D
الـ VB لغة عريقه ... حتى اسأل Anwarica
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…