ممكن تورنت visual studio 2005
|
ممكن تورنت visual studio 2005
|
مضى أكثر من ثلاثة أيام على سؤاليالسلام عليكم ورحمة الله وبركاته
أولاً اشكر كل من ساهم في هذا الموضوع الرائع حقيقه
لدي سؤالين في لغة الـ C#:
السؤال الأول: (( مهم ))
أرغب بإنشاء جدول للمدخلات، تماماً كالجدول الموجود في برنامج Msoms Renamer من برمجة إسلام، كما في الصورة التاليه:
في الصورة عند الضغط على زر + يمكنك إضافة الملف الذي ترغب بإعادة تسميته إلى الجدول ويمكنك حذف الملف الذي اضفته عن طريق الزر - إن كان الملف مُحدد.
المطلوب: كيف يمكنني إضافة جدول مماثل للجدول الذي في الصورة إلى برنامجي مع وجود خاصية CheckBox بحيث يتسنى للمستخدم أختيار الملفات الموجوده داخل الجدول؟
وأيضاً ما هو الكود البرمجي الذي تم إستخدامه لزري الـ + و الـ - (( مع ملاحظة أن زر الناقص غير مفعل في حالة عدم تحديد أي عنصر في الجدول.
السؤال الثاني: (( غير مهم ))
كيف يمكنني إضافة صورة ترحيبيه في تظهر عند بداية تشغيل الربرنامج تماماً كالصورة الترحيبية الظاهره في برنامج Msoms Renamer:
أتمنى أن تكون أسئلتي واضحه.
استعمل لغة الـ C#
Microsoft Visual Studio 2008
version 9.0.21002.8 RTM
وشكراً
ما كنت لأستعجلكم لولا حاجتي الماسه للأجابه هذه الأيام
|
اخي سؤالك كبير ويتضمن عدة أسئلة في سؤال واحد ويحتاج الكثير من الكود ^^"
كأنك تريد تماما عمل برنامج كامل ^^"
أتمنى تقسيم السؤال، ويحتاج ان تحاول مع نفسك اولا وان وقف معك شيئ اخبرنا به
سأضع لك روؤس اقلام تضيئ لك الطريق والباقي حاول اكتشافه بنفسك:
بالنسبة للجدول فهو 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 الذي لدي فإن
المشكلة ستحل لكني لم أفلح بالوصول إليها.
بالطبع لا ارغب بجواب تفصيلي وإنما رؤوس أقلام أو أرشادات أو حتى مواقع تفيدني بهذا الموضوع
كما أنك لست مضطراً للجواب إن لم تكن متفرغاً فانا أعلم أن الموضوع صعب بعض الشيء (( على الأقل
بالنسبة لي فلم أترك مكاناً لم أبحث فيه عن حل لهذه المشكلة ))
وشكراً على تعاونك أخي وبالتوفيق لك بالدنيا والآخره
|
لا عليك اخي
حاليا نحن في 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
واي استفسار انا حاضر ان شاء الله ^_^
لا عليك أخي، ولم اقصد ان اكون فظا ^^"بالطبع لا ارغب بجواب تفصيلي وإنما رؤوس أقلام أو أرشادات أو حتى مواقع تفيدني بهذا الموضوع
كما أنك لست مضطراً للجواب إن لم تكن متفرغاً فانا أعلم أن الموضوع صعب بعض الشيء (( على الأقل
بالنسبة لي فلم أترك مكاناً لم أبحث فيه عن حل لهذه المشكلة ))
وشكراً على تعاونك أخي وبالتوفيق لك بالدنيا والآخره
عذرا ان أسأتُ ايصال هدفي من ذلك ^^"
وعفوا اخي، شرفت بمرورك، وعد مرة أخرى نحن بانتظارك
|
جميل...لكن ألا توجد قاعدة معينة؟,مثلا: [PHP]search (datagridview1."cool")[/PHP]...
القاعدة يملأها المستخدم عن طريق أزرار في البرنامج أو مباشرة...سؤال فقط هل تعتمد على قاعدة بيانات لملئ DataGridView؟ ام كيف تملأها بالضبط بالبيانات؟
لا بأس...هذا السؤال يحتاج مني أن اعرف ماذا تنوي ملأها بالضبط حتى اعرف كيف اجاوبك عليه مع اني لا اتوقع ان افيدك كثيرا في هذا الأمر
تملأ بـ...الاسم,العمر,سيرة ذاتية قصيرة,هواية...بيانات أشخاص عموما...
أحيانا أفاجأ بغبائي...أشياء بديهية^^...السؤال الثاني: كيف تكتب كودا ينفذ عندما يضغط المستخدم الزر الأيمن أو الأيسر للفأرة؟
ألست تستخدم الـ Event الخاص بـ MouseDown ثم تقوم بالتأكد في الكود ماهو الزر الذي تم الضغط عليه بالضبط هل هو الأيمن أم الأيسر؟
لو كانت هذه هي الطريقة التي تستخدمها فنفس الشيئ بالنسبة للعجلة لكن بدلا من أن تكون قيمة MouseButtons بـ left او right ستختارها بـ Middle
سأجربه...الكود القديم كانت به مشكلة حاولت عكسه ولم أستطع لذلك أرجو أن يقدم لي أحد طريقة لعكس ذلك الكود لأنه يشمل جميع أنواع الترميز بخلاف أكواد أخرى جربتها...السؤال الثالث:
أظن أننا جاوبنا سؤالا شبيها في أول الموضوع مع بعض الإختلافات البسيطة، يبدو أنك لم تذاكر جيدا XD
عموما هناك عدة طرق وهذه أحد الطرق السهلة جدا:
لو كان مربع النص اسمه مثلا TextBox1 والملف النصي اسمه test.txt فيمكنك كتابة الآتي:
كود:TextBox1.Text = IO.File.ReadAllText("test.txt")
سلمت يداك إسلام
|
سلام عليكمـ ..
امم .. أحببتـ أن أعرف إن كانتـ هناكـ معادلات تساعد في التحويل بين
Binary - Decimal - Hex - Octal ..؟؟
وشكراًُ لكم مقدماً ..
بالتوفيقـ ..
جدوو
|
كود آي:
عفوا اخي واعتذر عن التأخر، لكن هذه الأيام مشغول جدا حد الإنقطاع
بالنسبة لسؤالي عن الداتا جريد فيو
هل يمكنك عمل برنامج بسيط جدا، عبارة عن واجهة وفيها داتا جريد فيو تملؤها بنفس الطريقة التي تستخدمها لملئها في برنامجك حتى اسطيع رؤية هذه الطريقة ومحاولة التعديل عليها؟
اعتذر ان كنت سأتعبك بهذا الطلب لكنه ضروري حتى افهم طريقة ملئك له بالضبط
واعتذر عن التأخر في الرد، وأيضا ربما اتأخر قليلا في الرد لكن ان شاء الله تعالى سأتفرغ لبعض الوقت ولو لوقت قليل بعد هذا الأسبوع ان شاء الله تعالى وسأرد ان شاء الله حينها على اسئلتكم في تلك الفترة
-------------------------------------------
جدو الحائر :
للتحويل من 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 ثم العكس لأتأكد انك فهمت
انتظرك
|
امممممم حسنا أخ إسلام...جار العمل على ذلك...
بخصوص التأخر...أعذرك..يكفي توقيعك...يزيد احترامك كل يوم عن سابقه في نظري...
شكرا لك...
|
السلام عليكم
شكراً جزيلاً على فتح هذا الموضوع في الحقيقة سيكون مفيد جداً خاصة لمن لا يجد له معينا في طريقه نحو تعلم البرمجة
لدي سؤال عن لغة البرمجة C++1 وهو: ماهو الاختلاف بين مكتبة iostream ومكتبة window من حيث محتوياتهم من الدوال والأوامر البرمجية الاخرى الكثيرة وماهي نوعية البرامج التي يتم عملها من خلال مكتبة window وشكراً
|
شكراً لكـ إسلامو ..
لي عودة لي غداً إن شاء اللهـ ..
أعتقد أني فهمتـ .. وسأرسل لكـ واجبي المدرسي .. لعلكـ تصححهـ لي هع ^^"
نسيت أن أسأل ماذا عن تحويل ..
64G ؟؟
التعديل الأخير تم بواسطة الحائر ! ; 1-3-2010 الساعة 03:07 PM
|
أهلاً إسلام .. كيفـ حالكـ يا رجلـ ..
امم في البداية هذا حل الواجبـ ..
١٣ في البداية نقوم بتحويلها لبينري ..
كالتالي ..
أقوم بضرب العدد في جهة اليسار بثمانية .. ومن ثم أضيف عليها العدد في الجهة اليمين ..
العدد الذي نريد تحويلهـ لأوكتل هو ١٣
لذا سنضربـ ..
١ * ٨ = ٨
ونضيف ٣ + ٨ = ١١ ..
بمعنى أن الأوكتل للعدد ١٣ هو ١١ ..
وبالنسبة لتحويلها لبينري فعن طريق النظر ..
١ = 0001
٣ = 0011
أما بالنسبة لتحويل الأوكتل لبينري فلم أفهمهـ جيداً .. ^^"
.:!:.
أردت أيضاً أن أسألكـ عن تحويل الأرقام إلى BCD .. كيف أقوم بذلكـ ؟!
شاكراً لكـ ما قدمتهـ لي من مساعدة ..
أستطيع أن أقول أني أفهم الآن 80% منهـ بحمد الله ..
بالتوفيقـ ..
جدوو
|
اي كود، شكرا لك
وصل برنامجك وسأحاول ان ارى ما استطيع فعله في اقرب فرصة
اعذرني، كثرت المشاغل التي تنتظرني بسبب الإنقطاع الطويل ^^"
وعليكم السلام
عفوا أخي،
في الحقيقة لم استعمل مكتبة window قبلا لذا لا اظن اني سأفيدك في هذا الأمر
قد يفيدك الاخ wahdain في هذا الموضوع
لكن عموما استطيع استنتاج ان مكتبة ويندوز تحوي دوال و كلاسات تستخدم لتسهيل التعامل وصنع البرامج التي تبستخدم نوافذ لبنائها وليس البرامج التي تحتاج الى بيئة دوس مثلا لتشغيلها كما يحدث عند عمل برنامج الكونسول (console applications)
اما مكتبة iostream فأحد استخداماتها الأساسية تسهيل أخذ المعطيات من المستخدم واخراج المخرجات على الشاشة السوداء وذلك باستخدام cin و cout على سبيل المثال
والمكتبة مليئة بالدوال وليست مقتصرة على ذلك فقط
يمكنك البحث في ال help الخاص بال c++ عن المزيد ان كنت تتطلع الى أكثر من ذلك
عفوا جدو، وعذرا عن التأخر
المعذرة، لا اعلم ماذا تقصد ب 64G؟!!
^^"
اهلا أهلا ^_^
انا بخير كيف حالك انت؟
همممم، بصراحة يبدو انك لم تقرأ جيدا
الرقم الذي اردت تحويله هو رقم 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 خانات
نقسمه هكذا:
101 001
101 هذه نستطيع ايجاد قيمتها بمجرد النظر وهي تمثل 5 وأيضا 001 تمثل 1
اذن الرقم 13 العشري = 15 في النظام الثماني او ال octal
فقط هذا هو كل شيئ
هل ترى كم هو بسيط
ستحل الواجب كذلك، لا تحاول الهروب
مازال الواجب مطلوب
حول هذا الرقم من ثنائي الى ثماني والعكس حتى اتأكد انك فهمت
الرقم هو:
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
|
لإضافة متغيرات جديدة للنظام لازم يكون التعديل في الريجستري 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
مع الكود الخاص به
هذا هو الكود الموجود بداخل زر تنفيذ
أولاً دالة تجاوز الأخطاء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 لتعتبر متغيرا في النظام
على فكرة هذه الطريقة تتطلب إعادة التشغيل أو تسجيل الخروج لتفعيل القيمة الجديدة في النظام
قد لايعمل كود تعديل الريجستري لديك بسبب إختلاف الإصدارات التي نستعملها لكن تقدر تستفيد من الفكرة بعد فهمها وتبحث عن كود تعديل ريجستري يعمل في إصدار الفيجوال الخاص بك
أعتقد انني قد وفيت بوعدي *_^
إذا لم تفهم احد النقاط السابقة سأشرحها مجددا إن شاء الله ^^"
ملاحظة :- إذا ظهرت لك مسافات في أحد كلمات مفتاح الريجستري في مشاركتي هذه امسحها
التعديل الأخير تم بواسطة WaHdAiN ; 9-4-2010 الساعة 10:27 PM
المفضلات