-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
شكرا جميعا للرد...
سأجرب كل ذلك لاحقا...
الآن زحمة اختبارات
شكرا إسلام للثقة
العفو أم برق...واجبي
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة WaHdAiN
وعليكم السلام ورحمة الله وبركاته
لم أفهم هذه النقطة جيدا , كيف تريدي ان يخرج الناتج إذا؟ ^^"
على كل هذا هو كود العملية التي طلبتيها وإن شاء الله يكون واضح
كود:
Dim inside, outside ' تعريف متغيرات البرنامج
For outside = 1 To user_entry
For inside = 1 To outside
Print outside; ' الكتابة على نفس الخط
Next inside
Print 'خط جديد
Next outside
غيري user_entry إلى متغير إدخال المستخدم
أي نقطة ليست واضحة في الكود سأقوم بشرحها بإذن الله
وعليكم السلآم ورحمة الله وبركاته..
جــزاك الله كل خير، الناتج ظهر أخيراً معي..
أقصد بـ "برينت" ألا أضع الناتج الذي أريده بين علامتي تنصيص ليخرج الناتج بدون إدخال الرقم من قبل المستخدم..
لكن لم أفهم تمـاماً لم أدرجنا الأمر بهذه الصورة، هل لي بتوضيح بسيط عن مهمة كل أمر بالبرنامج السابق.
و.. لو أُثقل عليك هل هنـاك برنامج آخر لإخراج المُخرج السابق " بلغة الـqbasicبالطبع" لكن بصيغة مختلفة؟
فرج الله عليكم كما فرجتم علينـا.
وجزاك بخير ما تتمنى.
اقتباس:
المشاركة الأصلية كتبت بواسطة shekoforever
على ما أعتقد فى QBasic يمكت تعديل بسيط على الكود ليصبح هكذا:
كود:
Input "Enter a number: ",N
For outside = 1 To N
For inside = 1 To outside
Print outside;
Next inside
Print
Next outside
يمكن عمل تلك الحركة فى روبى بنفس فكرة التكرار و لكن أيضاً يمكن ذلك بسطرين (يعتبروا سطرا واحد)!
كود:
print "Enter a number: "
(1..gets.to_i).map{|i| puts "#{i} "*i}
هكذا هى اللغات الحديثة :D
جزاك الله كل خير أخي الكريم..
لكن حقيقة واجهتني مشكلة لدى تطبيق كود السطر ونصف.. أولاً لم أجد هذا الرمز |، وطبعاً لا يقبل برنامجي أمر اللصق والنسخ.. وثانياً يظهر البرنامج لدى الضغط على Run>>start الخطأ التالي:
"Expected : Statment"..
هل من حل ؟
وعفواً بقدر الإزع ـاج.\
كلآود
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
هذا الرمز (|) موجود بالضغط على Shift+\...تكون أحيانا فوق Enter وأحيانا تحتها حسب لوحة المفاتيح...
للنسخ طرق كثيرة:Edit>>Copy واللصق: Edit>>Cut...ربما تكون في برنامجك...
أيضا عبر:Ctrl+C للنسخ...و: Ctrl+X للقص...و: Ctrl+V للصق...
المعذرة هذا فقط ما أعرف...ليس لي علم بالبرنامج...
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
أهلا محمد ..
هل تتحداني أن أستخدم ال DO WHILE في هذه الحالة ؟ icon04
برأيي .. يمكن استخدامها في هذه الحالة .. thumbsup-Icon
بالتوفيق ..
أهلا أخي عبد الله ومبارك لك الإسم الجديد ^_^
هههه لا أتحداك ولا شيئ، استطيع استخدام أيهما أردت في الحالتين اللتين ذكرتهما أيضا P:
وبالتوفيق لك ^_^
اقتباس:
المشاركة الأصلية كتبت بواسطة ~ MissCloud ~
وعليكم السلآم ورحمة الله وبركاته..
جــزاك الله كل خير، الناتج ظهر أخيراً معي..
أقصد بـ "برينت" ألا أضع الناتج الذي أريده بين علامتي تنصيص ليخرج الناتج بدون إدخال الرقم من قبل المستخدم..
لكن لم أفهم تمـاماً لم أدرجنا الأمر بهذه الصورة، هل لي بتوضيح بسيط عن مهمة كل أمر بالبرنامج السابق.
و.. لو أُثقل عليك هل هنـاك برنامج آخر لإخراج المُخرج السابق " بلغة الـqbasicبالطبع" لكن بصيغة مختلفة؟
فرج الله عليكم كما فرجتم علينـا.
وجزاك بخير ما تتمنى.
جزاك الله كل خير أخي الكريم..
لكن حقيقة واجهتني مشكلة لدى تطبيق كود السطر ونصف.. أولاً لم أجد هذا الرمز |، وطبعاً لا يقبل برنامجي أمر اللصق والنسخ.. وثانياً يظهر البرنامج لدى الضغط على Run>>start الخطأ التالي:
"Expected : Statment"..
هل من حل ؟
وعفواً بقدر الإزع ـاج.\
كلآود
اوه جميل جدا أن ارى أحدا يستخدم الكيو بيسك، فقد كان اول برنامج أستخدمه للبرمجة وتعلمت أساسيات البرمجة عليه ^_^
بالمناسبة: الكيو هي الحرف الاول من كلمة quick فالبرنامج اصلا اسمه quick basic لكنه كان أيام الدوس والدوس في ذاك الوقت لم يكن يقبل أكثر من 8 أحرف لأسماء الملفات والمجلدات لذا تم تسميته بذاك الإسم << معلومات للإستزادة فقط :)
اعذرني على التطفل أخي مازن وكذلك أختي كلاود لكن أود ان ارى هل مازلت أذكره جيدا ام لا :)
بالنسبة لهذا الإقتباس:
اقتباس:
أقصد بـ "برينت" ألا أضع الناتج الذي أريده بين علامتي تنصيص ليخرج الناتج بدون إدخال الرقم من قبل المستخدم..
لم أفهم المقصد منه صراحة ^^"
لذا سأشرح فقط الكود المكتوب من قبل مازن :)
السطر الأول يقوم بتعريف بعض المتغيرات التي نستطيع من خلالها تخزين قيمة معينة في هذا المتغير (رقم مثلا او حرف او كلمة أو ما شابه)
كلمة Dim تعني عرِّف والمتغيرين هما من تعريف المبرمج نفسه ويمكنك تسميتهما بأي إسم :)
بالنسبة لما نريد عمله فهو:
نريد كتابة قيم معينة عدد من المرات في كل سطر
اذن هذا الأمر سيكون مكررا
لذا نحتاج الى for لعدم كتابة الكود بعدد مرات التكرار
لكن لدينا هنا نوعين من التكرار
التكرار الأول هو تكرار العدد الواحد في السطر الواحد
فعندنا مثلا في السطر الأول تم تكرار العدد 1 مرة واحدة فقط
اما العدد 2 في السطر الثاني فتم تكراره مرتين وهكذا حتى العدد 5 تم تكراره خمس مرات (هذا بافتراض اننا قمنا بكتابة 5 بدلا من user_entry)
اما النوع الاخر من التكرار فهو عملية التكرار السابقة ذاتها سيتم تكريرها 5 مرات (أي سيكون لدينا 5 اسطر، كل سطر فيه رقم مكرر عدد من المرات)
لذا نحتاج هنا لأمر for مرتين
بالنسبة لل for الأولى فهي التي ستكون مسؤولة عن تكرار الأسطر خمس مرات
أما ال for الثانية فهي المسؤولة عن تكرار العدد الواحد في السطر الواحد عدة مرات
حسنا لنشرح ال for الأولى، لدينا:
for outside = 1 to 5
ثم بعد ذلك اسطر من الكود ثم:
Next outside
هنا نقوم بإعطاء المتغير الذي عرفناه سابقا بإسم outside قيمة من 1 الى 5
بحيث ان المتغير outside سيأخذ قيمة 1 في أول مرة يتم تنفيذ الكود فيها وستظل قيمته بواحد حتى يصل الكود لتنفيذ السطر:
Next outside
بمجرد أن يصل تنفيذ الكود الى هذا السطر سيقوم بعدها البرنامج بزيادة قيمة المتغير outside بواحد على قيمته السابقة لتصبح 2 (الزيادة هنا تكون بواحد كوضع افتراضي طالما اننا لم نكتب في الكود مقدار الزيادة ، ولو أردنا ان تكون الزيادة ب2 مثلا بحيث يأخذ المتغير outside القيم التالية مثلا: 1 ثم 3 ثم 5 نقوم بكتابة كلمة step 2 بعد رقم 5 الموجود في أمر for لتصبح هكذا: for outside = 1 to 5 step 2
وهكذا الى أن يأخذ المتغير outside القيم من 1 الى 5، ما يعني ان أمر for هذا سيتكرر 5 مرات وبالتالي سينفذ الكود الموجود بينه وبين next outside خمس مرات
اذن عند تنفيذ أمر for لأول مرة وبعد أن يأخذ المتغير outside القيمة 1، ينتقل البرنامج لتنفيذ السطر الثاني وهو:
for inside = 1 to outside
هنا نقوم بجعل المتغير inside يأخذ القيم من 1 الى قيمة outside الحالية
وحيث أن outside هنا حاليا =1 اذن كأننا نقول for inside = 1 to 1
أي أن امر for هذا لن يقوم بتنفيذ الكود الموجود بينه وبين next inside إلا مرة واحدة فقط
نأتي للسطر التالي فنجد الكود التالي:
Print outside;
المتغير outside حاليا يساوي واحد كما سبق وذكرنا ذلك لذا سيتم طباعة رقم 1 على الشاشة، أما عن الفاصلة المنقوطة فتعني أن أي امر print سيأتي بعد ذلك سيقوم بكتابة الناتج المطبوع على نفس السطر بجانب الواحد الذي كتب سابقا يفصل بينهما مسافة صغيرة (يمكن ترك مسافة كبير باستبدال الفاصلة المنقوطة بفاصلة عادية)
كما قلنا سابقا، أمر for الثاني سينفذ مرة واحدة فقط بسبب أن outside قيمتها بواحد فقط لذا سينتقل الكود الى السطر التالي لأمر next inside (هذا الكلام أذكره لتسهيل الشرح فقط وإلا فهناك خطوة التأكد من قيمة inside الحالية قبل الخروج من أمر for لم أذكرها)
السطر التالي وهو سطر print وفقط
سيقوم البرنامج بطباعة لا شيئ عند هذه الخطوة :d
هدفها فقط التغلب على الفاصلة المنقوطة الموضوعة سابقا، فكأننا قمنا بطباعة شيئ ما وهذا الشي سيكتب بجانب الواحد الذي طبع سابقا على الشاشة
طالما اننا لم نضع اي فواصل في امر print الجديد هذا فمعنى ذلك أن اي أمر print سيتم تنفيذه بعد ذلك سيطبع ماهو مكتوب أمامه في سطر جديد مستقل عن السطر المكتوب فيه الرقم واحد الذي تم طباعته سابقا
بعد ذلك يأتي أمر next outside فيعود الكود الى أمر for الأول ويزيد من قيمة outside بواحد لتصبح 2
ينتقل بعدها البرنامج للسطر الذي يلي سطر for الأولى فيجد for الثانية
يقوم بتنفيذها على المتغير inside فيأخذ المتغير قيما تبدأ من 1 وتنتهي بقيمة outside الحالية والتي هي ب 2
اذن يقوم البرنامج في هذه الحالة بتنفيذ أمر for الثاني وما يليه من أسطر تسبق سطر next inside مرتين
اذن طباعة رقم outside والذي هو بـ 2 سيتم طباعته مرتين في نفس السطر بسبب وجود الفاصلة المنقوطة أمام أمر print
وهكذا حتى يتم تنفيذ كامل الكود فيظهر بهذا الشكل الهرمي :)
ان لم يتضح شيئ أخبريني وسأعيد شرحه :)
اما بالنسبة لما ذكره الأخ shekoforever فهو يتكلم عن لغة أخرى تسمى ruby وليس لغة البيسك
والرمز المذكور يمكنك ايجاده كما شرح الأخ آي كود :)
اقتباس:
المشاركة الأصلية كتبت بواسطة Eye Code
هذا الرمز (|) موجود بالضغط على Shift+\...تكون أحيانا فوق Enter وأحيانا تحتها حسب لوحة المفاتيح...
للنسخ طرق كثيرة:Edit>>Copy واللصق: Edit>>Cut...ربما تكون في برنامجك...
أيضا عبر:Ctrl+C للنسخ...و: Ctrl+X للقص...و: Ctrl+V للصق...
المعذرة هذا فقط ما أعرف...ليس لي علم بالبرنامج...
بالنسبة لما قصدته الأخت كلاود فهذا لأن برنامج qbasic يستخدم الدوس (الشاشة السوداء التي تظهر عند كتابة امر cmd في امر run الموجود في قائمة start)
لذا لا يمكنها النسخ من الويندوز واللصق في هذه الشاشة :)
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
xD
بارك الله فيك
ربما لو شرحته انا لن اشرحه بهذه الإستفاضه ^^"
>>>>> الله يعينك على الحذف الدوري لمشاركاتك علشان تقدر ترد على أحد XD
اقتباس:
بالنسبة لما قصدته الأخت كلاود فهذا لن برنامج qbasic يستخدم الدوس (الشاشة السوداء التي تظهر عند كتابة امر cmd في امر run الموجود في قائمة start)
لذا لا يمكنها النسخ من الويندوز واللصق في هذه الشاشة :)
بالنسبة للدوز يمكن النسخ منه بتظليل النص ثم الضغط على زر إنتر
أما اللصق فلا يكون إلا بالضغط بالزر اليمين على النافذة وإختيار "لصق" "Past"
هذه طرق النسخ واللصق من وإلى الدوز فقط ^_^
اقتباس:
و.. لو أُثقل عليك هل هنـاك برنامج آخر لإخراج المُخرج السابق " بلغة الـqbasicبالطبع" لكن بصيغة مختلفة؟
قصدك أمر آخر؟
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة WaHdAiN
xD
بارك الله فيك
ربما لو شرحته انا لن اشرحه بهذه الإستفاضه ^^"
>>>>> الله يعينك على الحذف الدوري لمشاركاتك علشان تقدر ترد على أحد XD
بالنسبة للدوز يمكن النسخ منه بتظليل النص ثم الضغط على زر إنتر
أما اللصق فلا يكون إلا بالضغط بالزر اليمين على النافذة وإختيار "لصق" "Past"
هذه طرق النسخ واللصق من وإلى الدوز فقط ^_^
أهلا مازن :d
2010 هه؟ icon111 << يواكب التطور XD
وفيك بارك الله وجزاك خيرا على المساعدة في الموضوع حقا، أشكرك من كل قلبي على ما بذلته من جهد في الموضوع ^_^
الله يتوب علينا قريب من الحذف، تقريبا خلصت الموضوع بانتظار فواصله فقط لأنظمه وأنزله في المنتدى إن شاء الله
أخيرا إن شاء الله سيرى النور وسأصدعكم مرة أخرى بالكلام والمشاركات XDDDDD
بالنسبة للنسخ واللصق فهذا يتم في الدوس أي نعم لكن لا يمكنك عمل ذلك أثناء تشغيل الكيو بيسك وذلك لأن أوامر الماوس مفعلة في البرنامج فعليا ويمكن استخدام الماوس في البرنامج ^^"
بالمناسبة وللمعلومية لا يمكن تسمية متغيرات في برنامج الكيو بيسك تحتوي على هذه العلامة _
<< البرنامج كان وقتها لا يزال متخلفا ولم يتطور بعد :d
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
السلام عليكم ورحمة الله وبركاته
حاليا اقوم بتعلم الجافا
ولكن واجهتني مشكلة او يمكن مو مشكلة مصيبة <<< الله يستر
مر علي شي اسمه ENUM التعداد ولكن ام افهم المغزى منه !!
قرأت الشرح مرات كثيرة ولكن مافهمت ><"
اللغة المستخدمة : Java SE
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة ~ MissCloud ~
و.. لو أُثقل عليك هل هنـاك برنامج آخر لإخراج المُخرج السابق " بلغة الـqbasicبالطبع" لكن بصيغة مختلفة؟
يمكن كتابة الأمر السابق بصيغ مختلفة لكن لن تخرج عن الفكرة الرئيسية للكود السابق ^^"
وهذا كود آخر لتنفيد نفس العملية لكن بنفس الفكرة فقط غيرت واحدة دوال الـ For الموجودة بـ Do , Loop حتى تتجنبي الخربطة في فهم الكود بحيث يكون هناك Do واحدة و For واحدة
كود:
Dim x, i: Do Until x = UE: x = x + 1: For i = 1 To x: Print x;: Next i: Print: Loop
طبعا يمكن إختصار الكود ليصبح في سطر واحد << علشان أخونا shekoforever بيحب إختصار الأومر في سطر واحد XD
بالنسبة UE عليك بتغييره لمتغير إدخال المستخدم والذي كتبته لك من قبل User_Entry وما حطيت فيه علامة _ علشان مايزعل عمنا إسلام XD
ولكن عند فك الكود السابق لأصله يكون هكذا:
اقتباس:
Dim x, i
Do Until x = UE
x = x + 1
For i = 1 To x
Print x;
Next i
Print
Loop
نأتي لشرح الكود:
في السطر الأول قمنا بتعريف المتغيرات التي سنستخدمها
وهي بأي إسم يحدده المستخدم ^_^
وهنا قد سميت المتغيرات ب i و x وقد سميتها قبلا بـ outside و inside
يعني سميها براحتك ^^"
ثم إستخدمنا دالة التكرار Do , Loop للتكرار الأوامر التي بينهما بعدد محدد من المرات
وفائدته معرفة العدد الذي ادخله المستخدم والذي سوف يكون عدد الأرقام التي ستكرر
فمثلا لو أدخلنا الرقم 10 سيتم تكرار الأوامر التي بين Do , Loop بمقدار 10 مرات حيث اشترطنا على البرنامج ان يكرر الأوامر إلى أن تصبح قيمة x = 10 وهي القيمة التي أدخلها المستخدم
والآن نأتي لأول أمر داخل حدث التكرار والذي سيتم تكراره 10 مرات (بفرض ان المستخدم ادخل الرقم 10)
هنا نقول للبرنامج ان يزيد قيمة X الحالية بمقدار واحد وحيث اننا لم نحدد قيمة حالية للرقم X فإن قيمته 0 وعند زيادة 1 يصبح قيمته 1
وهكذا سيستمر تكرار الكود وزيادة 1 على قيمة X في كل مرة , وفائدة هذا الكود ان نصل بقيمة X إلى الرقم الذي ادخله المستخدم حتى يتوقف التكرار عندما يصل اليه
ثم كود تكرار من نوع آخر وهو For
اقتباس:
For i = 1 To x
Print x;
Next i
وهنا نقول للبرنامج ان يكرر الأمر الذي بين For و Next بمقدار العدد X الحالي وسيبدأ بالرقم 1 وحتى يصل لقيمة X الحالية التي ستكون مع اول دورة تكرار Do بمقدار 1 ثم ستزداد لتصبح 2 ثم 3 ثم 4 .. إلى أن تصبح 10
بإختصار في كل مرة يزداد قيمة الرقم X بواسطة دالة التكرار Do سيتم تنفيد مابين For و Next بنفس مقدار X
والأمر الموجود مابين For و Next هو:
يعني سيكتب قيمة الرقم X ووجود الرمز ; يعني انه مازال سيكتب التالي على نفس السطر مع مسافة بسيطة وحيث ان دالة For كتبناها بحيث تكرر الأوامر التي بداخلها بمقدار الرقم X إذن:
يتم تكرار الرقم X بمقدار X من المرات
وهذا هو أهم نقطة بالكود والمطلوب منه
ثم اخيرا بعد ان ينتهي من تكرار X بمقدار X من المرات على نفس السطر بواسطة دالة التكرار For
نجد أمر أخير بعده وهو
وفائدته انه سيعمل سطر جديد حتى يمكن كتابة الرقم X التالي عليه بمقدار X من المرات
إن شاء الله الشرح واضح رغم اني حاسس اني عقدتها زائد عن اللزوم xD
أي نقطة ليست واضحة سأشرحها مرة أخرى بإذن الله
اقتباس:
أخيرا إن شاء الله سيرى النور وسأصدعكم مرة أخرى بالكلام والمشاركات XDDDDD
نتمنى ذلك XD
اقتباس:
بالنسبة للنسخ واللصق فهذا يتم في الدوس أي نعم لكن لا يمكنك عمل ذلك أثناء تشغيل الكيو بيسك وذلك لأن أوامر الماوس مفعلة في البرنامج فعليا ويمكن استخدام الماوس في البرنامج ^^"
ايه صحيح بس أنا كنت بتكلم عن الدوس فقط لإني قلت يمكن البعض يفهم من كلامك انه لايمكن النسخ واللصق من وإلى الدوس ^^"
اقتباس:
لأن برنامج qbasic يستخدم الدوس لذا لا يمكنها النسخ من الويندوز واللصق في هذه الشاشة :)
اقتباس:
بالمناسبة وللمعلومية لا يمكن تسمية متغيرات في برنامج الكيو بيسك تحتوي على هذه العلامة _
<< البرنامج كان وقتها لا يزال متخلفا ولم يتطور بعد :d
ومنكم نستفيد ^_^
:d
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
>>>>> الله يعينك على الحذف الدوري لمشاركاتك علشان تقدر ترد على أحد XD
أرجو أن لا يكون منها أحد ردودك في هذا الموضوع أخ إسلام...فلم أزرل لم أطبق بعضها بعد...بانتظار نهاية الاختبارات
بانتظار الموضوع...والصداع^^
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
Eye Code
الرمز موجود لدي بالفعل، لكن الفكرة أن لدى كتابة الرمز يظهر خطأ بالعبـارة " error : statment" هكذا..
لا بالعكس، فعلتم ما بوسعكم سيدي.
شكراً جزيلاً.
إسـلآم
والله لا أدر ما أقول..
الشرح أكثر من وافي، يمكنني القول أني -الحمد لله- فهمت تمـاماً..
دعني أوضح أكثر بخصوص الأمر برينت.. المفترض - حسب علمي- أن وضع أي كلام بين علامتي تنصيص مسبوقة بأمر برينت يظهر ما بين الأقواس بدون تغيير..
مثال البرنامج التالي
cls
x=12
print x
end
هو 12
أمـا هكذا :
cls
"print "x=12
end
هو x=12
وكان غرضي ألَّا ألجأ لطريقة وضع الأرقـام كلها بين علامتي تنصيص بحيث تظهر كنص مطبوع.. وقد كان.
فعلاً ولأن الكيوبيزك كان برنامج محدود لا أدري مطور عن برنامج سبقه كان ال basic حسبما أذكر.. كان الكل قبل قرابة عشرين سنة فقط لا هم لهم إلا تعلمه.. " أصبحت محاضرة برمجة "..
اقتباس:
لكن أود ان ارى هل مازلت أذكره جيدا ام لا :)
وهل نجد إلا الإيجاب سبيلاً ؟.. بارك الله حفظك وزادك علماً على علم.
WaHdAiN
أهلاً مجدداً سيدي..
نعم كان قصدي أمر أخر لكن يخرج نفس الناتج..
وكذلك لا أدري كيف أشكرك..
الشرح وافي وقد طبقت الأمر كذلك..
لا أبداً..
. . . . . . . .
Eye code || إسلآم || WaHdAiN..
كان الغرض من السؤال درجة bounce تضـاف للمـادة.. وقد نلتها بفضل من الله ثم بكم..
لاشكر يوفي مساعدتكم غير أن يشكر الله لكم.
اللهم آمين.
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة ~ MissCloud ~
إسـلآم
والله لا أدر ما أقول..
الشرح أكثر من وافي، يمكنني القول أني -الحمد لله- فهمت تمـاماً..
دعني أوضح أكثر بخصوص الأمر برينت.. المفترض - حسب علمي- أن وضع أي كلام بين علامتي تنصيص مسبوقة بأمر برينت يظهر ما بين الأقواس بدون تغيير..
مثال البرنامج التالي
cls
x=12
print x
end
هو 12
أمـا هكذا :
cls
"print "x=12
end
هو x=12
وكان غرضي ألَّا ألجأ لطريقة وضع الأرقـام كلها بين علامتي تنصيص بحيث تظهر كنص مطبوع.. وقد كان.
فعلاً ولأن الكيوبيزك كان برنامج محدود لا أدري مطور عن برنامج سبقه كان ال basic حسبما أذكر.. كان الكل قبل قرابة عشرين سنة فقط لا هم لهم إلا تعلمه.. " أصبحت محاضرة برمجة "..
وهل نجد إلا الإيجاب سبيلاً ؟.. بارك الله حفظك وزادك علماً على علم.
لا عليك أبدا أختي فلم نفعل إلا الواجب :)
الحمد لله أن الشرح كان مفهوما
فهمت قصدك أختي
ويمكنك أيضا ان أردت استخدام هذا الأمر:
"print "x=12
لكن دون كتابة 12 بين علامتي تنصيص بحيث يقوم البرنامج نفسه بكتابة قيمة x بنفسه (تفيد في حالة كانت قيمة اكس متغيرة أو لا تعلمينها تحديدا) فأننا نكتبها هكذا
PRINT "x ="; x
وفيكِ بارك الله تعالى وجزاك بمثل ما دعوتِ لي به وأفضل منه
اقتباس:
Eye code || إسلآم || WaHdAiN..
كان الغرض من السؤال درجة bounce تضـاف للمـادة.. وقد نلتها بفضل من الله ثم بكم..
لاشكر يوفي مساعدتكم غير أن يشكر الله لكم.
اللهم آمين.
الحمد لله تعالى أن جعلنا سببا في ذلك :)
لم نفعل إلا الواجب فقط
جوزيت خيرا على دعواتك
في امان الله تعالى
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
سؤال جديد:كيف قمت بعمل تدرج لشفافية ذاك في بداية برنامج MSOMS Converter2...
حاولت استخدام خاصية Opacity مع التايمر وما استطعت....كيف إذا؟
اقتباس:
المشاركة الأصلية كتبت بواسطة إسلام2006
بالنسبة للتدرج في الشفافية فقد قمت بعمله بالفعل باستخدام تايمر وبخاصية opacity
ولا أظن انك أخطأت في كتابة الكود لكن هناك مالا تعلمه ربما عن خاصية opacity فعند استخدامها في الكود تأخذ قيما عشرية بين صفر وواحد وليس بين صفر و مئة ^_^
أي اجعلها مثلا تبدأ بقيمة صفر
ثم مع كل تكة للتايمر زد القيمة بنسبة 0.01 مثلا أو بنسبة 0.05 او بنسبة 0.1 او بأي نسبة أخرى تريدها :) حتى تصل الى واحد صحيح :)
سأشرح لك تقريبيا بدون تفاصيل الكود
- اسحب تايمر وضعه على الفورم
- في properties الفورم ضع opacity = 0
- في properties التايمر الذي وضعته سابقا ضع Interval = 100 (يمكنك تغييرها ان أردت، الأمر يرجع لك)
هذه الخاصية تفعل التايمر حسب الوقت الذي وضعته فيها بالملي ثانية
مثلا لو وضعتها بـ 1000 فمعناه ان الكود الذي ستكتبه داخل التايمر سينفذ مرة كل ثانية
ثم ضع enabled = true
- اذهب الى الكود وعرف متغيرا رئيسيا مشتركا يمكن استخدامه في جميع ال functions الموجودة داخل الفورم وليكن اسمه x وضع قيمته = 0
- الان اختار ال events الخاصة بالتايمر (يتم ذلك عن طريق أن تقوم بالضغط على التايمر ضغطة واحدة فقط حتى يتم التأشير عليه ثم اذهب الى نافذة properties الخاصة بالتايمر، ستجد في أعلاها زرا على شكل شرارة كهربائية لونها أصفر، اضغط عليها سيقوم بفتح نافذة ال events الخاصة بالتايمر
- ستجد event وحيد للتايمر اسمه tick اضغط عليه ضغطتين سريعتين لذهاب الى نافذة الكود الخاصة بهذا الـ event
- داخل هذا الكود ضع opacity = x ثم في سطر جديد زد قيمة x بـ 0.01 أي (x = x + 0.01)
هذا كل شيئ، طبعا لا تنسى اضافة شرط مثلا مثل: ان وصلت قيمة x الى 1 يتم وضع enabled الخاصة بالتايمر ب false
هذا بالنسبة لجعل الفورم تكون مخفية ثم تظهر تدريجيا حتى تتضح تماما
اما بالنسبة لجزء أن يظل الفورم ظاهرا فترة بعدها ثم بعد ذلك يبدأ بالإختفاء تدريجيا فعندما تصل opacity الى صفر فإن الفورم ستختفي بالفعل :)P:
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
Eye Code شكرا لك لمشاركة الإجابة ^_^
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
العفو أخي...
بانتظار إجاباتك...
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
مجموعة الأسئلة الأخيرة...
اقتباس:
س/كيف أعطي أمر للبرنامج بأن يبحث داخل قاعدة بيانات في البرنامج (أداة DataGridView) عن نص معين ويأتيني باسم الخلية الخاوية لذلك النص؟
*لدينا أمر للنقر بالزر الأيمن وآخر للأيسر ولكن ما الأمر للنقر بعجلة الفأرة؟
كيف يمكن استيراد ملف نص إلى مربع نص في البرنامج؟
لم تتم الإجابة عليها حتى الآن
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة Eye Code
مجموعة الأسئلة الأخيرة...
لم تتم الإجابة عليها حتى الآن
بالنسبة لي ما أستخدم قاعدة بيانات مايكروسوفت لأنها الاسوأ على الاطلاق ^_^
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
س/كيف أعطي أمر للبرنامج بأن يبحث داخل قاعدة بيانات في البرنامج (أداة DataGridView) عن نص معين ويأتيني باسم الخلية الخاوية لذلك النص؟
*لدينا أمر للنقر بالزر الأيمن وآخر للأيسر ولكن ما الأمر للنقر بعجلة الفأرة؟
كيف يمكن استيراد ملف نص إلى مربع نص في البرنامج؟
أهلاً بك أخي ..
الأمر يحتاج لشرح مطول جدًا ..
أولاً .. تحتاج الداتا بيس المخزنة أصلاً ..
اعلم أنها يمكن أن تكون access file
وإن كُنت تستخدم Visual Studio فبإمكانك إن تُنشىء قاعدة البيانات الخاصة بك بداخل البرنامج نفسه .. وتكون مع ذات البروجمت الذي تعمل عليه ..
فإن كانت لديك الداتا بيس وتعرف مكانها ..
اذهب إلى واجهة البرنامج .. واختر أداة sql data source << هذا حين يكون website وليس project ..
أما للبروجكت نسيت الأمر ^^""
المهم الأمر ببساطة .. أن لديك الآن داتا بيس مخزنة، ولنقل على هيأة ملف اكسل ..
ستحتاج في برنامجك إلى حاوي يحوي هذه البيانات .. وفيه تقوم بـ data retrieval from the data set .. <<اعذرني فأنا فاشلة في ترجمتها الحرفية للعربية ..
عملية احضار البيانات تتم عن طريق query ..
تستدعي فيها أمر جلب البيانات من قاعدة البيانات .. يمكنك بنائها بالتدريج أو كتابة الأمر عن طريق sql query مباشرة ..
وبعد أن أصبحت لديك الملفات المُستعادة .. بإمكانك ربطها ال data grid view ..
أعتقد أنه يوجد خاصية data bound
حتى تختار الحاوي الذي وضعت فيها المعلومات .. وتقوم بعرضها .. وسوف تظهر حين تكون هناك بيانات في الجداول ..
يعني الموضوع ليس ربط ال data grid view بقاعدة البيانات مباشرة .. إنما هناك وسيط بينهما، وكود تكتبه للحصول على البيانات التي تحتاجها ^^
الموضوع طوييييل جدًا ..
فلو حددت بالضبط المشكلة لديك وبإذن الله سأًجاوب ..
دمتم على خير
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
السلام عليكم ورحمة الله وبركاته
أولاً اشكر كل من ساهم في هذا الموضوع الرائع حقيقه
لدي سؤالين في لغة الـ C#:
السؤال الأول: (( مهم ))
أرغب بإنشاء جدول للمدخلات، تماماً كالجدول الموجود في برنامج Msoms Renamer من برمجة إسلام، كما في الصورة التاليه:
http://images.msoms-anime.net/images...3073684843.png
في الصورة عند الضغط على زر + يمكنك إضافة الملف الذي ترغب بإعادة تسميته إلى الجدول ويمكنك حذف الملف الذي اضفته عن طريق الزر - إن كان الملف مُحدد.
المطلوب: كيف يمكنني إضافة جدول مماثل للجدول الذي في الصورة إلى برنامجي مع وجود خاصية CheckBox بحيث يتسنى للمستخدم أختيار الملفات الموجوده داخل الجدول؟
وأيضاً ما هو الكود البرمجي الذي تم إستخدامه لزري الـ + و الـ - (( مع ملاحظة أن زر الناقص غير مفعل في حالة عدم تحديد أي عنصر في الجدول.
السؤال الثاني: (( غير مهم ))
كيف يمكنني إضافة صورة ترحيبيه في تظهر عند بداية تشغيل الربرنامج تماماً كالصورة الترحيبية الظاهره في برنامج Msoms Renamer:
http://images.msoms-anime.net/images...4115544706.png
أتمنى أن تكون أسئلتي واضحه.
استعمل لغة الـ C#
Microsoft Visual Studio 2008
version 9.0.21002.8 RTM
وشكراً
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة hossams
بالنسبة لي ما أستخدم قاعدة بيانات مايكروسوفت لأنها الاسوأ على الاطلاق ^_^
أهلا أخي...
لا مشكلة المهم الآن كيف أستخدم الأداة وليس البرنامج؟
اقتباس:
المشاركة الأصلية كتبت بواسطة Sos_chan
[/RIGHT]
أهلاً بك أخي ..
الأمر يحتاج لشرح مطول جدًا ..
أولاً .. تحتاج الداتا بيس المخزنة أصلاً ..
اعلم أنها يمكن أن تكون access file
وإن كُنت تستخدم Visual Studio فبإمكانك إن تُنشىء قاعدة البيانات الخاصة بك بداخل البرنامج نفسه .. وتكون مع ذات البروجمت الذي تعمل عليه ..
فإن كانت لديك الداتا بيس وتعرف مكانها ..
اذهب إلى واجهة البرنامج .. واختر أداة sql data source << هذا حين يكون website وليس project ..
أما للبروجكت نسيت الأمر ^^""
المهم الأمر ببساطة .. أن لديك الآن داتا بيس مخزنة، ولنقل على هيأة ملف اكسل ..
ستحتاج في برنامجك إلى حاوي يحوي هذه البيانات .. وفيه تقوم بـ data retrieval from the data set .. <<اعذرني فأنا فاشلة في ترجمتها الحرفية للعربية ..
عملية احضار البيانات تتم عن طريق query ..
تستدعي فيها أمر جلب البيانات من قاعدة البيانات .. يمكنك بنائها بالتدريج أو كتابة الأمر عن طريق sql query مباشرة ..
وبعد أن أصبحت لديك الملفات المُستعادة .. بإمكانك ربطها ال data grid view ..
أعتقد أنه يوجد خاصية data bound
حتى تختار الحاوي الذي وضعت فيها المعلومات .. وتقوم بعرضها .. وسوف تظهر حين تكون هناك بيانات في الجداول ..
يعني الموضوع ليس ربط ال data grid view بقاعدة البيانات مباشرة .. إنما هناك وسيط بينهما، وكود تكتبه للحصول على البيانات التي تحتاجها ^^
الموضوع طوييييل جدًا ..
فلو حددت بالضبط المشكلة لديك وبإذن الله سأًجاوب ..
دمتم على خير
لا...
الأداة أريدها في البروجكت...وضحت اسمها أعلاه...
أشكرك للمساهمة وآسف للتأخر...
اللغة VB9
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
س/كيف أعطي أمر للبرنامج بأن يبحث داخل قاعدة بيانات في البرنامج (أداة DataGridView) عن نص معين ويأتيني باسم الخلية الخاوية لذلك النص؟
*لدينا أمر للنقر بالزر الأيمن وآخر للأيسر ولكن ما الأمر للنقر بعجلة الفأرة؟
كيف يمكن استيراد ملف نص إلى مربع نص في البرنامج؟
السؤال الاول كما قالت لك الاخت سوس، يحتاج الى عملية طويلة ولا أذكرها الان
سؤال فقط هل تعتمد على قاعدة بيانات لملئ DataGridView؟ ام كيف تملأها بالضبط بالبيانات؟
هذا السؤال يحتاج مني أن اعرف ماذا تنوي ملأها بالضبط حتى اعرف كيف اجاوبك عليه مع اني لا اتوقع ان افيدك كثيرا في هذا الأمر :d
السؤال الثاني: كيف تكتب كودا ينفذ عندما يضغط المستخدم الزر الأيمن أو الأيسر للفأرة؟
ألست تستخدم الـ Event الخاص بـ MouseDown ثم تقوم بالتأكد في الكود ماهو الزر الذي تم الضغط عليه بالضبط هل هو الأيمن أم الأيسر؟
لو كانت هذه هي الطريقة التي تستخدمها فنفس الشيئ بالنسبة للعجلة لكن بدلا من أن تكون قيمة MouseButtons بـ left او right ستختارها بـ Middle
السؤال الثالث:
أظن أننا جاوبنا سؤالا شبيها في أول الموضوع مع بعض الإختلافات البسيطة، يبدو أنك لم تذاكر جيدا XD
عموما هناك عدة طرق وهذه أحد الطرق السهلة جدا:
لو كان مربع النص اسمه مثلا TextBox1 والملف النصي اسمه test.txt فيمكنك كتابة الآتي:
كود:
TextBox1.Text = IO.File.ReadAllText("test.txt")
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
ممكن تورنت visual studio 2005
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
السلام عليكم ورحمة الله وبركاته
أولاً اشكر كل من ساهم في هذا الموضوع الرائع حقيقه
لدي سؤالين في لغة الـ C#:
السؤال الأول: (( مهم ))
أرغب بإنشاء جدول للمدخلات، تماماً كالجدول الموجود في برنامج Msoms Renamer من برمجة إسلام، كما في الصورة التاليه:
http://images.msoms-anime.net/images...3073684843.png
في الصورة عند الضغط على زر + يمكنك إضافة الملف الذي ترغب بإعادة تسميته إلى الجدول ويمكنك حذف الملف الذي اضفته عن طريق الزر - إن كان الملف مُحدد.
المطلوب: كيف يمكنني إضافة جدول مماثل للجدول الذي في الصورة إلى برنامجي مع وجود خاصية CheckBox بحيث يتسنى للمستخدم أختيار الملفات الموجوده داخل الجدول؟
وأيضاً ما هو الكود البرمجي الذي تم إستخدامه لزري الـ + و الـ - (( مع ملاحظة أن زر الناقص غير مفعل في حالة عدم تحديد أي عنصر في الجدول.
السؤال الثاني: (( غير مهم ))
كيف يمكنني إضافة صورة ترحيبيه في تظهر عند بداية تشغيل الربرنامج تماماً كالصورة الترحيبية الظاهره في برنامج Msoms Renamer:
http://images.msoms-anime.net/images...4115544706.png
أتمنى أن تكون أسئلتي واضحه.
استعمل لغة الـ C#
Microsoft Visual Studio 2008
version 9.0.21002.8 RTM
وشكراً
مضى أكثر من ثلاثة أيام على سؤالي
ما كنت لأستعجلكم لولا حاجتي الماسه للأجابه هذه الأيام
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة Arsene Lupin
مضى أكثر من ثلاثة أيام على سؤالي
ما كنت لأستعجلكم لولا حاجتي الماسه للأجابه هذه الأيام
اخي سؤالك كبير ويتضمن عدة أسئلة في سؤال واحد ويحتاج الكثير من الكود ^^"
كأنك تريد تماما عمل برنامج كامل ^^"
أتمنى تقسيم السؤال، ويحتاج ان تحاول مع نفسك اولا وان وقف معك شيئ اخبرنا به :)
سأضع لك روؤس اقلام تضيئ لك الطريق والباقي حاول اكتشافه بنفسك:
بالنسبة للجدول فهو ListView تم تغيير ال properties التالية فيها الى الاتي:
view -> details
columns: قم بإضافة ما تريده من الاعمدة فيها
بما انك تريد وضع CheckBoxes ضع خاصية CheckBoxes بــ true
بالنسبة لزر + ما الذي تريد اضافته به بالضبط؟
هل هي ملفات ايضا ام كلمات ام ماذا بالضبط؟
انتظرك :)
بالنسبة للواجهة الترحيبية في البرنامج اجبت على هذا السؤال قبلا للأخ كود آي في هذا الموضوع وقام بوضعه في اقتباس، يرجى مراجعته على هذا الرابط:
هنا
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
إسلام 2009
معذره أخي فلم أوضح مقصدي في سؤالي السابق
ما أردته هو أن ترشدني إلى الطريق فقط... يبدوا أني لم اوضح ذلك جيداً بسؤالي -_-
المهم ما كنت أريده هو المسمى فقط للكنترول الخاص بالجداول والذي اتضح أنه listview
والباقي سأبحث عنه بنفسي فالمواقع الأجنبيه غنية بالشروحات
بالنسبة للزر + أريد أن أضيف ملفات ممكن تكون نص أو صورة أو فيديو (اي ملف بأي صيغه )
لكن لا تهتم لهذا الأمر فقد عثرتً على الأجابه عليه، أولاً أحدد الملف الذي أرغب بإضافته إلى الجدول
وأخزن مساره في متغير من نوع string وأضيف المسار إلى listbox (( حتى الأن لم أستعمل الجدول ))
مشكلتي هي أني أرغب بتشفير (encrypt ) الملفات التي اضفتها إلى الجدول... كما تعلم كل الملفات
يعود أصلها إلى 0 و 1 (binary ) يمكنني تحويل النص إلى binary عن طريق method قمت بكتابته... لكن إن
أردت أن أحول الصوره إلى binary أو فيديو أو أي ملف آخر... هنا تكمن المشكله
كيف يمكنني تحويل هذه الملفات إلى binary حتى أستطيع تشفيرها عن طريق خوارزميه DES التي قمت
بكتابتها والتي لا تتعامل إلى مع الـ binary؟
هناك طريقة فكرتُ بها وهي عندما أفتح صوره في برنامج المفكرة مثلاً notepad فإنه يعطيني مجموعه من
الرموز... لو تمكنت من الوصول إلى هذه الرموز وتحويلها إلى binary عن طريق الـmethod الذي لدي فإن
المشكلة ستحل لكني لم أفلح بالوصول إليها.
بالطبع لا ارغب بجواب تفصيلي وإنما رؤوس أقلام أو أرشادات أو حتى مواقع تفيدني بهذا الموضوع
كما أنك لست مضطراً للجواب إن لم تكن متفرغاً فانا أعلم أن الموضوع صعب بعض الشيء (( على الأقل
بالنسبة لي فلم أترك مكاناً لم أبحث فيه عن حل لهذه المشكلة ))
وشكراً على تعاونك أخي وبالتوفيق لك بالدنيا والآخره
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة Arsene Lupin
إسلام 2009
معذره أخي فلم أوضح مقصدي في سؤالي السابق
لا عليك اخي :)
حاليا نحن في 2010 لذا فالأفضل مناداتي اسلام 2010 بدلا من 2009 XD
اقتباس:
ما أردته هو أن ترشدني إلى الطريق فقط... يبدوا أني لم اوضح ذلك جيداً بسؤالي -_-
لا عليك أبدا اخي فما اردته هو مصلحتك فقط *وأيضا حتى أستطيع التفصيل دون تشتت =)
اقتباس:
المهم ما كنت أريده هو المسمى فقط للكنترول الخاص بالجداول والذي اتضح أنه listview
والباقي سأبحث عنه بنفسي فالمواقع الأجنبيه غنية بالشروحات
ممتاز جدا هذا هو ما اطلبه من الجميع هنا ^.^
اقتباس:
بالنسبة للزر + أريد أن أضيف ملفات ممكن تكون نص أو صورة أو فيديو (اي ملف بأي صيغه )
لكن لا تهتم لهذا الأمر فقد عثرتً على الأجابه عليه، أولاً أحدد الملف الذي أرغب بإضافته إلى الجدول
وأخزن مساره في متغير من نوع string وأضيف المسار إلى listbox (( حتى الأن لم أستعمل الجدول ))
مشكلتي هي أني أرغب بتشفير (encrypt ) الملفات التي اضفتها إلى الجدول... كما تعلم كل الملفات
يعود أصلها إلى 0 و 1 (binary ) يمكنني تحويل النص إلى binary عن طريق method قمت بكتابته... لكن إن
أردت أن أحول الصوره إلى binary أو فيديو أو أي ملف آخر... هنا تكمن المشكله
كيف يمكنني تحويل هذه الملفات إلى binary حتى أستطيع تشفيرها عن طريق خوارزميه DES التي قمت
بكتابتها والتي لا تتعامل إلى مع الـ binary؟
هناك طريقة فكرتُ بها وهي عندما أفتح صوره في برنامج المفكرة مثلاً notepad فإنه يعطيني مجموعه من
الرموز... لو تمكنت من الوصول إلى هذه الرموز وتحويلها إلى binary عن طريق الـmethod الذي لدي فإن
المشكلة ستحل لكني لم أفلح بالوصول إليها.
اها، ما شاء الله هل هو مشورع ام ماذا؟ =)
من الجميل ان ارى احدا يستخدم الجوريثم des في التشفير =)
بالنسبة لقراءة اي ملف يمكنك بالفعل كما قلت فتحه بالنوت باد ووقتها ستجد كل ملف مكون من مجموهة من الرموز، وكما تعلم فكل رمز من رموز الأسكي يمثل في بايت والبايت مكون من 8 بت
اذن اقرأ اي ملف في array من البايتات ووقتها تستطيع التعامل معه كـ binary ^.^
يمكنك الإستعانة بهذه الصفحة وستشرح لك كيفية القراءة كـ binary مع امثلة:
http://www.yoda.arachsys.com/csharp/readbinary.html
واي استفسار انا حاضر ان شاء الله ^_^
اقتباس:
بالطبع لا ارغب بجواب تفصيلي وإنما رؤوس أقلام أو أرشادات أو حتى مواقع تفيدني بهذا الموضوع
كما أنك لست مضطراً للجواب إن لم تكن متفرغاً فانا أعلم أن الموضوع صعب بعض الشيء (( على الأقل
بالنسبة لي فلم أترك مكاناً لم أبحث فيه عن حل لهذه المشكلة ))
وشكراً على تعاونك أخي وبالتوفيق لك بالدنيا والآخره
لا عليك أخي، ولم اقصد ان اكون فظا ^^"
عذرا ان أسأتُ ايصال هدفي من ذلك ^^"
وعفوا اخي، شرفت بمرورك، وعد مرة أخرى نحن بانتظارك :d
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة إسلام 2006
السؤال الاول كما قالت لك الاخت سوس، يحتاج الى عملية طويلة ولا أذكرها الان
جميل...لكن ألا توجد قاعدة معينة؟,مثلا: [PHP]search (datagridview1."cool")[/PHP]...
اقتباس:
سؤال فقط هل تعتمد على قاعدة بيانات لملئ DataGridView؟ ام كيف تملأها بالضبط بالبيانات؟
القاعدة يملأها المستخدم عن طريق أزرار في البرنامج أو مباشرة...
اقتباس:
هذا السؤال يحتاج مني أن اعرف ماذا تنوي ملأها بالضبط حتى اعرف كيف اجاوبك عليه مع اني لا اتوقع ان افيدك كثيرا في هذا الأمر :d
لا بأس...
تملأ بـ...الاسم,العمر,سيرة ذاتية قصيرة,هواية...بيانات أشخاص عموما...
اقتباس:
السؤال الثاني: كيف تكتب كودا ينفذ عندما يضغط المستخدم الزر الأيمن أو الأيسر للفأرة؟
ألست تستخدم الـ Event الخاص بـ MouseDown ثم تقوم بالتأكد في الكود ماهو الزر الذي تم الضغط عليه بالضبط هل هو الأيمن أم الأيسر؟
لو كانت هذه هي الطريقة التي تستخدمها فنفس الشيئ بالنسبة للعجلة لكن بدلا من أن تكون قيمة MouseButtons بـ left او right ستختارها بـ Middle
أحيانا أفاجأ بغبائي...أشياء بديهية^^...
اقتباس:
السؤال الثالث:
أظن أننا جاوبنا سؤالا شبيها في أول الموضوع مع بعض الإختلافات البسيطة، يبدو أنك لم تذاكر جيدا XD
عموما هناك عدة طرق وهذه أحد الطرق السهلة جدا:
لو كان مربع النص اسمه مثلا TextBox1 والملف النصي اسمه test.txt فيمكنك كتابة الآتي:
كود:
TextBox1.Text = IO.File.ReadAllText("test.txt")
سأجربه...الكود القديم كانت به مشكلة حاولت عكسه ولم أستطع لذلك أرجو أن يقدم لي أحد طريقة لعكس ذلك الكود لأنه يشمل جميع أنواع الترميز بخلاف أكواد أخرى جربتها...
سلمت يداك إسلام
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
سلام عليكمـ ..
امم .. أحببتـ أن أعرف إن كانتـ هناكـ معادلات تساعد في التحويل بين
Binary - Decimal - Hex - Octal ..؟؟
وشكراًُ لكم مقدماً ..
بالتوفيقـ ..
جدوو
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
كود آي:
عفوا اخي واعتذر عن التأخر، لكن هذه الأيام مشغول جدا حد الإنقطاع
بالنسبة لسؤالي عن الداتا جريد فيو
هل يمكنك عمل برنامج بسيط جدا، عبارة عن واجهة وفيها داتا جريد فيو تملؤها بنفس الطريقة التي تستخدمها لملئها في برنامجك حتى اسطيع رؤية هذه الطريقة ومحاولة التعديل عليها؟
اعتذر ان كنت سأتعبك بهذا الطلب لكنه ضروري حتى افهم طريقة ملئك له بالضبط :)
واعتذر عن التأخر في الرد، وأيضا ربما اتأخر قليلا في الرد لكن ان شاء الله تعالى سأتفرغ لبعض الوقت ولو لوقت قليل بعد هذا الأسبوع ان شاء الله تعالى وسأرد ان شاء الله حينها على اسئلتكم في تلك الفترة :)
-------------------------------------------
جدو الحائر :d:
للتحويل من binary الى decimal والعكس يتم عمل الاتي:
لو كان لديك رقم بينري هكذا مثلا:
1011010110
كيف يتم تحويله؟
ابدأ من يمينه
خذ الرقم الاول وهو الصفر واضربه في 2 أس صفر
ثم خذ الرقم الذي بعده وهو اواحد وضربه في 2 أس 1
ثم الذي بعده واضربه في 2 اس 2
وهكذا حتى ينتهي الرقم كله ثم اجمع مجموع النواتج التي ظهرت لك
اذن ناتج هذا الرقم يصبح:
0 * 2 ^ 0 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 1 * 2 ^ 4 + 0 * 2 ^ 5 + 1 * 2 ^ 6 + 1 * 2 ^ 7 + 0 * 2 ^ 8 + 1 * 2 ^ 9
= 726
طيب نريد التأكد الان من ان هذا التحويل صحيح وذلك بالتحويل من decimal الى binary ماذا نفعل؟
نقسم الرقم الـ decimal على 2 ثم نكتب الناتج وباقي القسمة، ثم نأخذ الناتج هذا ونقسمه على 2 ونكتب الناتج وباقي القسمة وهكذا بهذه الطريقة (بالمناسبة ان كان ناتج القسمة فيه كسر فمعنى ذلك ان الباقي = 1 دون أن تتعب نفسك في حساب الباقي ^^، اكتب فقط الرقم بدون الكسر واكتب ان الباقي يساوي واحد):
726 / 2 = 363 والباقي 0
363 / 2 = 181 والباقي 1
181 / 2 = 90 والباقي 1
90 / 2 = 45 والباقي 0
45 / 2 = 22 والباقي 1
22 / 2 = 11 والباقي 0
11 / 2 = 5 والباقي 1
5 / 2 = 2 والباقي 1
2 / 2 = 1 والباقي 0 -> لا تتوقف عند هذا الحد، يجب ان تقسم الواحد الأخير المتبقي على 2 هو الاخر
1 / 2 = 0 والباقي 1
الان خذ البواقي كلها من أعلى الى اسفلها ورصها من اليمين الى اليسار تصبح:
1011010110
وهو نفس الرقم الذي حسبنا قيمته قبلا :)
للتحويل من binary الى hex
لدينا الرقم السابق:
1011010110
خذ كل اربع ارقام من جهة اليمين الى اليسار أيضا مع بعضهم واحسبهم مع بعضهم بنفس طريقة التحويل من binary الى decimal
اذن سيتم التقسيم هكذا:
0110
1101
سيتبقى لدينا رقمان في النهاية، نضع يسارهم صفرين (صفر على جهة اليسار لا يؤثر في قيمة العدد كما نعرف ^_^)
0010
الان احسب القيمة للأربع أرقام الاولى:
0 * 2 ^ 0 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 = 6
نحسب القيمة للأربع ارقام الثانية:
1 * 2 ^ 0 + 0 * 2 ^ 1 + 1 * 2 ^ 2 + 1 * 2 ^ 3 = 13
طيب 13 كم تكتب في نظام ال hex ؟
في نظام الhex نكتب الأرقام كما هي من 0 الى 9 ثم ان كان الناتج ب 10 نكتبه A ثم 11 نكتبه B وهكذا حتى نكتب 15 بـ F
الان لدينا ناتج = 13 اي ما يكافئ D بنظام الHex
اذن: ناتج الأربع أرقام الثانية = D
نحسب قيمة الأربع أرقام الثالثة:
0 * 2 ^ 0 + 1 * 2 ^ 1 + 0 * 2 ^ 2 + 0 * 2 ^ 3 = 2
الان حسبنا جميع النواتج، نقوم بأخذ كل النواتج من الاعلى للأسفل ونرصها بجانب بعضها من اليمين الى اليسار ليصبح الناتج:
2D6
للتحويل من hex الى binary نأخذ كل رقم في ال Hex ونحوله الى مقابله في الBinary فقط بنفس طريقة القسمة السابقة التي شرحتها مع التحويل من decimal الى binary او بمجرد النظر
طبعا بمجرد النظر أسهل بكثير وستختصر الوقت لو اعتدت عليها، اما ان خفت أن تخطئ فحولها بالكتابة بنفس الطريقة
يجب ان تعرف ان أي رقم في Hex يمثل بأربع ارقام في الbinary، فإذا قمت بقسمته ولم يكمل هذه الأربعة أرقام فزد عدد من الأصفار على يسار الرقم حتى يصبح الرقم 4 ارقام بالbinary
مثلا نحسب ال6
6 / 2 = 3 والباقي 0
3 / 2 = 1 والباقي 1
1 / 2 = 0 والباقي 1
خذ الرقم من أعلى الى اسفل ورصه من اليمين لليسار يصبح:
110
الناتج 3 ارقام فقط، وقلنا يجب ان يمثل الرقم بأربع ارقام
اذن نضع صفرا على يسار الرقم ليصبح: 0110
الان نحسب ال D ولكي نحسبها نحولها الى أصلها اولا، قلنا أن ال D تعني 13
اذن نقسم ال 13
13 / 2 = 6 والباقي 1
6 / 2 = 3 والباقي 0
3 / 2 = 1 والباقي 1
1 / 2 = 0 والباقي 1
خذ الرقم من أعلى الى اسفل ورصه من اليمين لليسار يصبح:
1101
نكرر نفس الخطوات السابقة مع ال 2 فتصبح 0010
نضع النواتج مرصوصة بجانب بعضها بنفس ترتيبها في الرقم الhex فتصبح 001011010110
طبعا يوجد صفرين على اليسار فلا يوجد منهما فائدة، نقوم بحذفهما فيصبح الناتج 1011010110 والذي هو نفسه الرقم الأصلي
اما للتحويل من binary الى oct والعكس فبنفس طريقة التحويل من binary الى hex والعكس تماما لكن بدل من أن تأخذ كل اربعة ارقام binary وتحولهم الى الرقم المكافئ لهم في ال hex، تقوم بأخذ كل 3 أرقام فقط من الرقم الbinary وتحولهم الى المكافئ لهم في ال oct بنفس الطريقة تماما وبنفس المعادلة
وعند القسمة تأخذ كذلك كل رقم من الرقم ال oct ككل وتقوم بقسمته على 2 وتكمله بالأصفار من جهة اليسار حتى يتم تمثيله بثلاثة ارقام بدلا من 4 كما كنا نفعل تماما في ال hex
اما للتحويل من أي نظام من هذه الانظمة الى الاخر فأفضل ما تفعله هو التحويل الى النظام ال binary اولا ثم التحويل الى النظام الاخر
فمثلا لو اردت التحويل من oct الى hex قم بتحويل الرقم من oct الى binary ثم من binary الى hex
بالمناسبة اريد أن أتأكد من استيعابك للدرس لذا عليك ان تقوم بتحويل الرقم الذي عملت عليه في المثال من binary الى oct ثم العكس لأتأكد انك فهمت :d
انتظرك :)
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
امممممم حسنا أخ إسلام...جار العمل على ذلك...
بخصوص التأخر...أعذرك..يكفي توقيعك...يزيد احترامك كل يوم عن سابقه في نظري...
شكرا لك...
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
السلام عليكم
شكراً جزيلاً على فتح هذا الموضوع في الحقيقة سيكون مفيد جداً خاصة لمن لا يجد له معينا في طريقه نحو تعلم البرمجة
لدي سؤال عن لغة البرمجة C++1 وهو: ماهو الاختلاف بين مكتبة iostream ومكتبة window من حيث محتوياتهم من الدوال والأوامر البرمجية الاخرى الكثيرة وماهي نوعية البرامج التي يتم عملها من خلال مكتبة window وشكراً
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
شكراً لكـ إسلامو ..
لي عودة لي غداً إن شاء اللهـ ..
أعتقد أني فهمتـ .. وسأرسل لكـ واجبي المدرسي .. لعلكـ تصححهـ لي هع ^^"
نسيت أن أسأل ماذا عن تحويل ..
64G ؟؟
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
أهلاً إسلام .. كيفـ حالكـ يا رجلـ ..
امم في البداية هذا حل الواجبـ ..
١٣ في البداية نقوم بتحويلها لبينري ..
كالتالي ..
أقوم بضرب العدد في جهة اليسار بثمانية .. ومن ثم أضيف عليها العدد في الجهة اليمين ..
العدد الذي نريد تحويلهـ لأوكتل هو ١٣
لذا سنضربـ ..
١ * ٨ = ٨
ونضيف ٣ + ٨ = ١١ ..
بمعنى أن الأوكتل للعدد ١٣ هو ١١ ..
وبالنسبة لتحويلها لبينري فعن طريق النظر ..
١ = 0001
٣ = 0011
أما بالنسبة لتحويل الأوكتل لبينري فلم أفهمهـ جيداً .. ^^"
.:!:.
أردت أيضاً أن أسألكـ عن تحويل الأرقام إلى BCD .. كيف أقوم بذلكـ ؟!
شاكراً لكـ ما قدمتهـ لي من مساعدة ..
أستطيع أن أقول أني أفهم الآن 80% منهـ بحمد الله ..
بالتوفيقـ ..
جدوو
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة Eye Code
امممممم حسنا أخ إسلام...جار العمل على ذلك...
بخصوص التأخر...أعذرك..يكفي توقيعك...يزيد احترامك كل يوم عن سابقه في نظري...
شكرا لك...
اي كود، شكرا لك
وصل برنامجك وسأحاول ان ارى ما استطيع فعله في اقرب فرصة
اعذرني، كثرت المشاغل التي تنتظرني بسبب الإنقطاع الطويل ^^"
اقتباس:
المشاركة الأصلية كتبت بواسطة Saber
السلام عليكم
شكراً جزيلاً على فتح هذا الموضوع في الحقيقة سيكون مفيد جداً خاصة لمن لا يجد له معينا في طريقه نحو تعلم البرمجة
لدي سؤال عن لغة البرمجة C++1 وهو: ماهو الاختلاف بين مكتبة iostream ومكتبة window من حيث محتوياتهم من الدوال والأوامر البرمجية الاخرى الكثيرة وماهي نوعية البرامج التي يتم عملها من خلال مكتبة window وشكراً
وعليكم السلام
عفوا أخي،
في الحقيقة لم استعمل مكتبة window قبلا لذا لا اظن اني سأفيدك في هذا الأمر
قد يفيدك الاخ wahdain في هذا الموضوع
لكن عموما استطيع استنتاج ان مكتبة ويندوز تحوي دوال و كلاسات تستخدم لتسهيل التعامل وصنع البرامج التي تبستخدم نوافذ لبنائها وليس البرامج التي تحتاج الى بيئة دوس مثلا لتشغيلها كما يحدث عند عمل برنامج الكونسول (console applications)
اما مكتبة iostream فأحد استخداماتها الأساسية تسهيل أخذ المعطيات من المستخدم واخراج المخرجات على الشاشة السوداء وذلك باستخدام cin و cout على سبيل المثال
والمكتبة مليئة بالدوال وليست مقتصرة على ذلك فقط
يمكنك البحث في ال help الخاص بال c++ عن المزيد ان كنت تتطلع الى أكثر من ذلك :)
اقتباس:
المشاركة الأصلية كتبت بواسطة الحائر !
شكراً لكـ إسلامو ..
لي عودة لي غداً إن شاء اللهـ ..
أعتقد أني فهمتـ .. وسأرسل لكـ واجبي المدرسي .. لعلكـ تصححهـ لي هع ^^"
نسيت أن أسأل ماذا عن تحويل ..
64G ؟؟
عفوا جدو، وعذرا عن التأخر
المعذرة، لا اعلم ماذا تقصد ب 64G؟!!
^^"
اقتباس:
المشاركة الأصلية كتبت بواسطة الحائر !
أهلاً إسلام .. كيفـ حالكـ يا رجلـ ..
امم في البداية هذا حل الواجبـ ..
١٣ في البداية نقوم بتحويلها لبينري ..
كالتالي ..
أقوم بضرب العدد في جهة اليسار بثمانية .. ومن ثم أضيف عليها العدد في الجهة اليمين ..
العدد الذي نريد تحويلهـ لأوكتل هو ١٣
لذا سنضربـ ..
١ * ٨ = ٨
ونضيف ٣ + ٨ = ١١ ..
بمعنى أن الأوكتل للعدد ١٣ هو ١١ ..
وبالنسبة لتحويلها لبينري فعن طريق النظر ..
١ = 0001
٣ = 0011
أما بالنسبة لتحويل الأوكتل لبينري فلم أفهمهـ جيداً .. ^^"
.:!:.
أردت أيضاً أن أسألكـ عن تحويل الأرقام إلى BCD .. كيف أقوم بذلكـ ؟!
شاكراً لكـ ما قدمتهـ لي من مساعدة ..
أستطيع أن أقول أني أفهم الآن 80% منهـ بحمد الله ..
بالتوفيقـ ..
جدوو
اهلا أهلا ^_^
انا بخير كيف حالك انت؟
همممم، بصراحة يبدو انك لم تقرأ جيدا :d
الرقم الذي اردت تحويله هو رقم binary
وهذا هو:
1011010110
اريدك ان تحوله الى octal
حسنا اريدك ان تضع في اعتبارك نقطتين:
1 - ان اردت التحويل من اي نظام الى اي نظام حول اولا الى النظام ال binary ثم من ال binary حول الى النظام الاخر
بمعنى مثلا
انت الان اردت ان تحول 13 من نظام عشري (decimal) الى ثماني (octal)
قم اولا بتحويلها الى نظام ثنائي (binary) ثم بعد ذلك حولها الى الثماني
2 - لا تقم بالحفظ، الأمر اسهل مما تتخيل، سأشرح لك نقطة ضعها في اعتبارك جيدا وستفهم كيف تتم هذه المسائل
كيف تعد الأرقام العادية؟ (بالمناسبة الأرقام العادية هي الأرقام العشرية (decimal))
سأخبرك: الأرقام العادية (العشرية) سميت بهذا الإسم لأن أي رقم فيها يتكون من عناصر عددهم 10
هذه العناصر هي: 0 و 1 و 2 و 3 و 4 ....... الى 9
فمثلا عندما نعد حتى نصل الى 9 ثم نزيد واحد سيصبح العدد لدينا يساوي 10
كيف نمثل العشرة اذن؟
عندما كنا نعد من 0 الى 9 كنا نمثل الرقم لدينا بخانة واحدة فقط من الأرقام
لكن بما ان الرقم لدينا زاد عن 9 فوجب ان نمثله بخانتين
خانة الآحاد صارت بصفر ثم استحدثنا خانة جديدة اسمها العشرات وضعنا فيها 1 لتمثيل قيمة العشرة
اذن عندما نكتب 11 مثلا، هذا يعني ان خانة الأحاد نقوم بعدها كما هي دون تغير، لكن خانة العشرات نقوم بضرب الرقم الموجود تحتها في 10 ليعطينا قيمته الحقيقية اليس كذلك؟
كأنما نقول بأن 11 = 1 + 10
نظام الترقيم كله بهذه الطريقة
نعد في خانة الأحاد حتى نكتب اكبر قيمة ممكنة يمكن ان نصل اليها ثم بعد ذلك نزيد خانة جديدة بقيمة الرقم الأول من نظام العد
الجملة بالأحمر مهمة جدا اقرأها مرارا حتى تفهمها تماما
فمثلا في النظام العشري لدينا 10 ارقام يمثلون العدد وهم من 0 الى 9
اما في النظام الثنائي فلدينا رقمين فقط (كل نظام لديه عدد من الأرقام مشتق من اسمه) وهما الصفر والواحد
فلو استخدمنا الصفر لتمثيل الصفر ثم بعد ذلك استخدمنا الواحد لتمثيل الواحد فلن نجد ما يمثل رقم 2
اذن نستحدث خانة جديدة لتمثيل رقم 2 نضع فيها 1 وعن يمينه صفر كما فعلنا تمام عند تمثيل العشرة
وهكذا
كذلك النظام الست عشري (hexa) الخانة الواحدة فيه مكونة من 16 رقما مختلفا، من 0 الى 9 ثم بعد ذلك 10 يمثلها a و11 يمثلها b وهكذا حتى 15 يمثلها f
بعد ذلك لن نجد ما يمثل 16، اذن لنستحدث خانة اخرى بجانبها ونكتب فيها 1 ونصفر الخانة السابقة لتصبح قيمة 16 في الhexa تساوي 10
اذن سأكتب لك القيم من 1 الى 20 على سبيل المثال بكل النظم المتاحلة لتفهم الأمر أكثر
سيكون التمثيل هكذا:
الرقم العادي -- الرقم بالbinary -- الرقم بالoctal -- الرقم بالhexa
0 -- 0 -- 0 -- 0
1 -- 1 -- 1 -- 1
2 -- 10 -- 2 -- 2
3 -- 11 -- 3 -- 3
4 -- 100 -- 4 -- 4
5 -- 101 -- 5 -- 5
6 -- 110 -- 6 -- 6
7 -- 111 -- 7 -- 7
8 -- 1000 -- 10 -- 8
9 -- 1001 -- 11 -- 9
10 -- 1010 -- 12 -- A
11 -- 1011 -- 13 -- B
12 -- 1100 -- 14 -- C
13 -- 1101 -- 15 -- D
14 -- 1110 -- 16 -- E
15 -- 1111 -- 17 -- F
16 -- 10000 -- 20 -- 10
17 -- 10001 -- 21 -- 11
18 -- 10010 -- 22 -- 12
19 -- 10011 -- 23 -- 13
20 -- 10100 -- 24 -- 14
كما لاحظت من الأرقام السابقة، نحن نكتب في خانة الأحاد كل الأرقام الممكنة في نظام معين، بعد ان نفرغ من جميع الأرقام الممكنة في هذا النظام نقوم باستحداث خانة جديدة قيمتها = 1 ثم نبدأ العد مرة أخرى في الأحاد من اول صفر وحتى اخر رقم متاح في النظام، بعد ان نصل مرة اخرى في خانة الأحاد الى اقصى رقم متاح في نظام العد، نقوم بزيادة الخانة الجدية التي كانت بواحد مرة اخرى
طيب اذا وصلت تلك الخانة المستحدثة الى اقصى عدد متاح في انظام هي الأخرى؟
نقوم عندها باستحداث خانة جديدة ثالثة قيمتها بواحد كذلك ثم نصفر الخانتين الأولتين ونبدأ العد فيهما من جديد
هل فهمت هذه النقطة؟
مهم جدا ان تكون فهمتها لأنك لو مثلت اي رقم بشكل خاطئ ستشعر بذلك وحدك مع الوقت ^_^
لن لم تكن قد فهمتها اخبرني وسأعيد شرحها لك بطريقة اخرى
الان لتحويل رقم 13 من عشري الى ثنائي ثم بعد ذلك الى ثماني نقوم بالآتي:
نقسم ال 13 على 2 كما اتفقنا سابقا
13/2 = 6.5
هذا هو الناتج الحقيقي، ستة ونصف
لكننا لن نقسم بهذه الطريقة فنحن لا نحتاج الكسور لذا سنقول ان الناتج يساوي 6 فقط ويبقى 1 (كما تعرف 6 ضرب 2 = 12 + الواحد المتبقي فيكون الناتج 13)
اذن سنكتب القسمة هكذا:
13/2 = 6 والباقي 1
الان نأخذ ناتج القسمة وهو ال6 ونقسمها هي الاخرى على 2 هكذا
6/2 = 3 والباقي = 0
3/2 = 1 والباقي = 1 -> (اقسم 3 على 2 سينتج 1.5 لكن كما قلت لك لا نعترف هنا بالكسر و لذا سنقول ان ناتج القسمة يساوي 1 والباقي 1)
الان نأخذ ناتج القسمة والذي هو 1 ونقسمه هو الاخر على 2
1/2 = 0 والباقي 1 -> (اقسم 1 على 2 سينتج 0.5 لكن كما قلت لك لا نعترف هنا بالكسر و لذا سنقول ان ناتج القسمة يساوي 0 والباقي 1)
الان هل ترى الأرقام المكتوبة باللون البرتقالي؟
خذها من اعلى الى أسفل ورصها من اليمين الى اليسار (بحيث يكون الرقم في السطر العلوي هو الذي على اليمين والرقم الذي في السطر السفلي هو الذي على اليسار) هكذا 1101
هذا هو تمثيل 13 بالbinary
الان نريد تحويل هذا ال binary الى octal
الأمر سهل
نرص الرقم الbinary هكذا:
1101
بعدها نأخذ كل 3 ارقام مع بعضهم ونمثلهم في هيئة رقم واحد
لكن الرقم الbinary السابق مكون من 4 خانات ولا يمكن تقسيم هذه الأربعة على 3 !!!!
لا مشكلة كما قلنا سابقة، نزيد اصفار من اليسار ليصبح الارقم السابق هكذا:
001101
الان اصبح مكون من 6 خانات نستطيع تقسيمهم الى عددين كل عدد منهم مكون من 3 خانات :d
نقسمه هكذا:
101 001
101 هذه نستطيع ايجاد قيمتها بمجرد النظر وهي تمثل 5 وأيضا 001 تمثل 1
اذن الرقم 13 العشري = 15 في النظام الثماني او ال octal
فقط هذا هو كل شيئ
هل ترى كم هو بسيط :d
ستحل الواجب كذلك، لا تحاول الهروب
مازال الواجب مطلوب
حول هذا الرقم من ثنائي الى ثماني والعكس حتى اتأكد انك فهمت
الرقم هو:
1011010110 <- رقم ثنائي (binary)
لا تنسى، للتحويل من اي نظام الى اي نظام نحول اولا الى ثنائي ثم الى النظام المطلوب
ايضا للتحويل من النظام الثماني او السادس عشري الى النظام الثنائي، مثل كل خانة بما يقابلها في الbinary بحيث يكون عدد الخانات في النظام الثماني 3 والسادس عشري 4
ثم رصهم بجانب بعضهم تحصل على الرقم الثنائي
اما نظام الBCD فهو سهل وسأشرحه لك بعد التأكد من انك فهمت هذا النظام :)
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
هل يتلف الملفات الذي ادمجها ب flv joiner
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
حسنا إسلاموه خذ راحتك في الرد...
لكن يعني لا تأخذ راحتك بالمرة^^...
______
أخ daneee,,,
أرجو التفصيل أكثر...أي نوع من الملفات وكيف تدمجها؟
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
آي كود
تفضل:
http://www.mediafire.com/?0dmzmylgtmg
اتعبني جدا البحث في كيفية عمل هذا الشيئ والسبب هو اختلاف اللغة التي استخدمها عنك، فأنا استخدم سي شارب وليس فيجوال بيسك ولذا كان البحث مضاعفا لأتمكن من كتابة ما اريد عمله بكود فيجوال بيسك بدلا من سي شارب
اتمنى أن يقوم من عنده خبرة بفيجوال بسيك دوت نت بالمساعدة هنا معنا في الموضوع، فما كنت اخشى حدوثه قد حدث بالفعل ولا يوجد من يتعاون معنا هنا غيرك وغير مازن
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
جزاك الله كل خير أخ إسلام على هذا العمل الجبار...
أتعبت من بعدك^^...
بالنسبة للمشاركة فأنا تحت أمر من يريد السؤال...بشرط أن يسأل فيما أعرف^^...
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
السلام عليكم..
أنا ما وجدت سؤال عن الأكشن سكريبت.. لكني أستخدم برنامج الفلاش فسؤالي في هذي اللغة ..
السؤال:
أولا كيف ممكن التوضيح للبرنامج إن الـ Dinamic Text عبارة عن Number ؟؟
ثانيا ما الكود المتعلق بزيادة أو إنقاص الرقم في ذلك الديناميك تكست ؟؟
ENEMY
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
ها قد عدنا من جديد...
س سؤال...^^
كيف يمكنني إضافة متغير للنظام باستخدام الأوامر البرمجية؟
يمكن إضافتها يدويا عبر:
My Computer(Right Click)>>Properties>>Environment Variables>>System Variables
لكن كمبرمج أريد إضافة متغير في كل جهاز ينزل عليه برنامجي...فكيف يمكن ذلك؟
مع العلم أن الطريقة المذكورة هي لـWin XP ولها طريقة أخرى في كل من Vista و 7
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة Eye Code
ها قد عدنا من جديد...
س سؤال...^^
كيف يمكنني إضافة متغير للنظام باستخدام الأوامر البرمجية؟
يمكن إضافتها يدويا عبر:
My Computer(Right Click)>>Properties>>Environment Variables>>System Variables
لكن كمبرمج أريد إضافة متغير في كل جهاز ينزل عليه برنامجي...فكيف يمكن ذلك؟
مع العلم أن الطريقة المذكورة هي لـWin XP ولها طريقة أخرى في كل من Vista و 7
لإضافة متغيرات جديدة للنظام لازم يكون التعديل في الريجستري Registry Editor
والمفتاح الخاص به في محرر التسجيل موجود على هذا المسار
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Se ssion Manager\Environment
بعد فتح المفتاح السابق انشئ قيمة جديدة من نوع REG_EXPAND_SZ واعطها الإسم الذي تريد للمتغير الذي ستكتبه في RUN من دون كتابة % في الريجستري ولكنك ستكتبه في Run إذا اردت فتحه
يعني تكتب اسم القيمة في الريجستري wahdain وإذا اردت فتح المتغير من Run أكتب %wahdain%
ثم تدخل البيانات للقيمة السابقة في الريجستري والتي ستكون قيمة المتغير wahdain في النظام
قد يكون الشرح السابق مبعثراً وغير مفهوم بحكم عدم خبرتك في التعامل مع الريجستري لكنك ستفهم من الكود البرمجي الذي سأضعه إن شاء الله
أولا هذا هو البرنامج الذي تريد عمله
http://www.mediafire.com/?tmmt1jtzmnx
مع الكود الخاص به
http://www.m5zn.com/uploads/2010/4/9...fjgakdn71l.jpg
هذا هو الكود الموجود بداخل زر تنفيذ
اقتباس:
On Error Resume Next
Dim Reg As Object
Set Reg = CreateObject("Wscript.Shell")
Reg.regwrite "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\S ession Manager\Environment\" & Text1.Text, Text2.Text, "REG_EXPAND_SZ"
MsgBox "تم التنفيذ بنجاح , الرجاء إعادة تشغيل الكمبيوتر حتى تصبح الإعدادات الجديدة نافذة المفعول", vbInformation
أولاً دالة تجاوز الأخطاء
السطرين التاليين لتعريف أوامر التحكم بالريجستري
ثم استخدمنا الأمر Reg.regwrite بعد تعريفه حتى يمكننا من تعديل أو إنشاء قيمة في الريجستري
وفي نفس السطر قمنا بتحديد المفتاح المسؤول عن إضافة متغيرات النظام وهو
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Se ssion Manager\Environment
أما Text1.Text فهو المسؤول عن وضع إسم للقيمة كمثال wahdain
و Text2.Text هو عبارة عن بيانات القيمة wahdain وهي البرنامج الذي سيشغله متغير النظام wahdain
واخيرا على نفس السطر حددنا نوع قيمة الريجستري والتي يجب ان تكون REG_EXPAND_SZ لتعتبر متغيرا في النظام
على فكرة هذه الطريقة تتطلب إعادة التشغيل أو تسجيل الخروج لتفعيل القيمة الجديدة في النظام
قد لايعمل كود تعديل الريجستري لديك بسبب إختلاف الإصدارات التي نستعملها لكن تقدر تستفيد من الفكرة بعد فهمها وتبحث عن كود تعديل ريجستري يعمل في إصدار الفيجوال الخاص بك
أعتقد انني قد وفيت بوعدي *_^
إذا لم تفهم احد النقاط السابقة سأشرحها مجددا إن شاء الله ^^"
ملاحظة :- إذا ظهرت لك مسافات في أحد كلمات مفتاح الريجستري في مشاركتي هذه امسحها
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
ملاحظة :- إذا ظهرت لك مسافات في أحد كلمات مفتاح الريجستري في مشاركتي هذه امسحها
هههههه...هذي عجلة ولا أمان للمنتدى؟ ^^"
جزاك الله خير وحدين عدد كل سطر كتبته وأكثر....لا عدمنا وجودك...وصلت الفكرة والفائدة...
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
مرحبًا،
كيف يمكن معرفة ما إذا كان المستخدم قد أدخل رقمًا أو نصًا في لغة الـ ++C. فإذا ما وضعت المتغير على أنه رقم صحيح، فكيف يمكن أن أتلافى حدوث الأخطاء في حال ما إذا أدخل المستخدم نصًا؟ أذكر أنه في الفيجوال بيسك توجد دالة باسم IS_NUMBER، للتأكد من ذلك، هل يوجد ما يناظرها في الـ ++C؟
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة Gh.S
مرحبًا،
كيف يمكن معرفة ما إذا كان المستخدم قد أدخل رقمًا أو نصًا في لغة الـ ++C. فإذا ما وضعت المتغير على أنه رقم صحيح، فكيف يمكن أن أتلافى حدوث الأخطاء في حال ما إذا أدخل المستخدم نصًا؟ أذكر أنه في الفيجوال بيسك توجد دالة باسم IS_NUMBER، للتأكد من ذلك، هل يوجد ما يناظرها في الـ ++C؟
أهلا Gh.S
مثل هذه الـfunction متواجدة بكثرة في لغات السكربت(java script, phyton, PHP...) لكن الحال ليس كذلك مع C و ++C
لكن تستطيع أن تقوم بمقارنة للحجم(لست متأكدا من دقة هذه الكلمة بالعربية، أقصد size ) باستعمال
() sizeof
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
عفوا غسون لم أنتبه جيدا لحكاية ++C لأنني من جماعة C فقط
في حالة ++C فإن الأمر يسير
خذ هذا المثال البسيط xDD الذي من ممكن أن يساعدك:
كود:
#include <iostream>
#include <limits>
using namespace std;
int number;
cout<<"Please enter an integer number "<<endl;
while(!( cin >> number )) // while this is NaN
{
cout << "That was not an integer...\n Enter an integer this time or you will be punshed throw the screen xD: ";
cin.clear(); // to clean the error flag
cin.ignore( numeric_limits<streamsize>::max(), '\n' ); // to clear the newline character in the stream
}
كيف وجدت الأمر؟ http://ups.imagup.com/09/1271250915.gif
الكود ناقص أشياء بسيطة عليك إضافتها + القليل من البحث ستفهمه بسهولة
دمت بخير
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
أشكرك جدًا يعقوب. على الرغم من أنني كنت قد استعملت المتغير string وstringstream للتحقق، إلا أن هذه الطريقة أسهل وأكثر فاعلية.
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
السلام عليكم ورحمة الله وبركاتهIcon0e0
اريد مساعدة في الجافا علي homeworke واحتاج الى مساعدة في شرح كيفية التعامل مع محتويات ال file (من الstring )
سواء كيفية الاضافة او الحذف من ال file وسواء كانت محتويات ال file موجودة مسبقا او نحن نكتبها في البرنامج(اثناء البرمجة)
ارجو المساعدة في اسرع وقت وانا ممتنة لكل من يقدم المساعدةIcon33
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
همم .. و أخيراً حصلت المكان المناسب للسؤال D:
السلام عليكم اولاً
منذ فترة طويلة قررت تعلم لغة ++C و بدأت بتعلمها عن طريق الـ Manual الرسمي من موقع اللغة نفسه .. و لكن واجهتني صعوبات بحيث ان الشرح مختصر كتير كتير و صعب ينفهم
حاولت البحص عن دروس اخرى و حصلت بعضهم لكن ولا واحد كان ينفهم منه شي :S
لذلك اذا ممكن بغيت من اي احد متعلم هذي اللغة انه يدلني على دروس سهلة و واضحة و كذلك اذا فيها تمارين لكل درس يكون افضل ( نفس دروس lynda)
و مشكورين مقدماً
و السموحة
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة マジド
همم .. و أخيراً حصلت المكان المناسب للسؤال D:
السلام عليكم اولاً
منذ فترة طويلة قررت تعلم لغة ++C و بدأت بتعلمها عن طريق الـ Manual الرسمي من موقع اللغة نفسه .. و لكن واجهتني صعوبات بحيث ان الشرح مختصر كتير كتير و صعب ينفهم
حاولت البحص عن دروس اخرى و حصلت بعضهم لكن ولا واحد كان ينفهم منه شي :S
لذلك اذا ممكن بغيت من اي احد متعلم هذي اللغة انه يدلني على دروس سهلة و واضحة و كذلك اذا فيها تمارين لكل درس يكون افضل ( نفس دروس lynda)
و مشكورين مقدماً
و السموحة
وعليكم السلام ورحمة الله
بداية من المنصوح تعلم لغة الC قبل الدخول في ++C لكن هذا غير ضروري icon159 إذ بتعلم المرء للسي ++ فقد تعلم السي (+-)
كله بالعنجليزي:
هذا درس أعتقد أنه جيد لكنه لا يحتوي على تمارين، أمثلة فقط
هذه صفحة مفيدة جدا لغير المبرمجين تشرح الأساسيات بالتفصيل الممل : HTML ، PDF
هذا cookbook (كتاب لتعلم تقنيات البرمجة بالـسي ++) أراه شخصيا ممتازا جدا لكنه ينفع فقط من كانت له دراية بالبرمجة و لغة ++C
و أخيرا مجموعة من الدروس على شكل فيديو
+ في البداية، مجرد إعادة الأمثلة بنجاح يُعد إنجازاً.
والآن لدي مشكلة:
كود:
arch/arm/mach-s3c2440/built-in.o:(.init.data+0x7a4): undefined reference to `s3c_device_usb'
make: *** [.tmp_vmlinux1] Erreur 1
هذا ما يظهر لي عندما أقوم بكومبايل لنواة لينوكس. يعني مباشرة قبل بناء نسخة النواة (ZImage) يظهر لي هذا.
Any good ideas
في الواقع جربت في الكثير من الفورومات لكن لم أجد إجابة
وليس كما لا يقولون: يوجد في البحر ما لا يوجد في النهر
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة マジド
همم .. و أخيراً حصلت المكان المناسب للسؤال D:
السلام عليكم اولاً
منذ فترة طويلة قررت تعلم لغة ++C و بدأت بتعلمها عن طريق الـ Manual الرسمي من موقع اللغة نفسه .. و لكن واجهتني صعوبات بحيث ان الشرح مختصر كتير كتير و صعب ينفهم
حاولت البحص عن دروس اخرى و حصلت بعضهم لكن ولا واحد كان ينفهم منه شي :S
لذلك اذا ممكن بغيت من اي احد متعلم هذي اللغة انه يدلني على دروس سهلة و واضحة و كذلك اذا فيها تمارين لكل درس يكون افضل ( نفس دروس lynda)
و مشكورين مقدماً
و السموحة
مرحبًا بالأخ العزيز ماجد،
هذا الموقع مفيد جداً، حتى أنني تعلمت منه قبل أن ألتحق بالكلية. من هنا.
في أمان الله.
-
رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]
اقتباس:
المشاركة الأصلية كتبت بواسطة Akkipuden
وعليكم السلام ورحمة الله
بداية من المنصوح تعلم لغة الC قبل الدخول في ++C لكن هذا غير ضروري icon159 إذ بتعلم المرء للسي ++ فقد تعلم السي (+-)
كله بالعنجليزي:
هذا درس أعتقد أنه جيد لكنه لا يحتوي على تمارين، أمثلة فقط
هذه صفحة مفيدة جدا لغير المبرمجين تشرح الأساسيات بالتفصيل الممل : HTML ، PDF
هذا cookbook (كتاب لتعلم تقنيات البرمجة بالـسي ++) أراه شخصيا ممتازا جدا لكنه ينفع فقط من كانت له دراية بالبرمجة و لغة ++C
و أخيرا مجموعة من الدروس على شكل فيديو
+ في البداية، مجرد إعادة الأمثلة بنجاح يُعد إنجازاً.
والآن لدي مشكلة:
كود:
arch/arm/mach-s3c2440/built-in.o:(.init.data+0x7a4): undefined reference to `s3c_device_usb'
make: *** [.tmp_vmlinux1] Erreur 1
هذا ما يظهر لي عندما أقوم بكومبايل لنواة لينوكس. يعني مباشرة قبل بناء نسخة النواة (ZImage) يظهر لي هذا.
Any good ideas
في الواقع جربت في الكثير من الفورومات لكن لم أجد إجابة
وليس كما لا يقولون: يوجد في البحر ما لا يوجد في النهر
كتاب McGraw Hill يبدو قيمًا، فلطالما حاولت البحث عن كتب كهذه، حتى أن حجم الملف حوالي 4 ميغا + ~500 صفحة، وهذا مذهل. شكرًا لك.