![]() | ![]() | ![]() |
![]() |
| |||||||
![]() |
| | LinkBack | خيارات الموضوع | طريقة العرض |
|
#31
| |||
| | |||
| صباح الخير [LINE]hr[/LINE] اليوم جبت لكم برنامج قائمت المسنجر مع شرحه خلونا بصلب الموضوع واترككم مع الشرح [LINE]hr[/LINE] واجهت البرنامج [LINE]hr[/LINE] ![]() [LINE]hr[/LINE] وهاذه صورت الرموز والشعارات: [LINE]hr[/LINE] ![]() [LINE]hr[/LINE] والأن مع الشرح نبدء بسمه تعالى [LINE]hr[/LINE] ![]() [LINE]hr[/LINE] ![]() [LINE]hr[/LINE] ![]() وهلم جره لكل واحده الأن اذا ارت ان تضيف الشكل الى المسنجر اذهب للمسنجر والصقه لتحميل البرنامج من المرفقات |
|
#32
| ||||
| | ||||
| رد: مسابقة الشهر (هناك جوائز) :d اخوي ليس هكذا انت صمم برنامج مو تجيب برنامج |
|
#33
| |||
| | |||
| رد: مسابقة الشهر (هناك جوائز) :d السلام عليكم أعتذر على تأخري في إكمال الشرح وأعتذر لأني سأتأخر أكثر في ذلك كوني منشغل بعض الشيء مع موقعي. وقد ارتأيت أن أنبه لذلك حتى لا تحسبونني فررت :d تحياتي |
|
#34
| ||||
| | ||||
| رد: مسابقة الشهر (هناك جوائز) :d اوكي اخي الله يوفقك اخي المسابقة قربت تخلص وانا تقديرا لك على جهودك سوف اتكفل بعمل منتدى لك ومكتبة دروس ايضا ونسخة المنتدى التي سوف اركبها لك 3.5.4 تحتوي على 4 ستايلات ملاحظة : ليس شرطا ان يكون على مساحة مجانيه اذا كان لك مساحة غير مجانيه اركبها لك وهاااي الخدمة فقط للمركز الاول |
|
#35
| ||||
| | ||||
| رد: مسابقة الشهر (هناك جوائز) :d اسف اخواني لك حدث لي طرء مفاجئ لذلك سوف انهي اليوم المسابقة وللاسف ما حد شارك غير اخي The MP ارجوا ارسال لي اسم الموقع والبيانات التي يريدها لكي ارفع له كل شئ وارجوا منه اكمال الشرح عند الانتهاء الرجاء لا احد يرد غير اخي The MP اي رد اخر سوف يتم حذفه |
|
#36
| |||
| | |||
| رد: مسابقة الشهر (هناك جوائز) :d السلام عليكم أعتذر جدا لتأخري ولكن زوار موقعي يُطالبون بمقالات علمية كثيرة وإنا بالكاد أجد الوقت لأكتب تلك المقالات، لذا أرجوا أن تعذروني. نُكمل على بركة الله الشرح، كنت قد توقفت عند القسم الثالث من أوامر البرنامج وهو الخاص بالتعامل مع "مسجل النظام" "Registry System". تنبيه: كل شرحي سيكون على أساس تعاملي مع نظام "XP" وبالتالي لست مسؤولا عن أي أخطاء أو ما شابه قد تواجه البعض ممن يستعملون أنظمة تشغيل غير ال "XP". لنبدأ: سأفترض في قراء هذا الشرح معرفتهم بمسجل النظام والغاية منه ولم قد نحتاجه في ال"VB"، لكن رغم ذلك سأقوم بكتابة شرح بسيط لمسجل النظام وبعض فوائده البسيطة حتى يكون الدرس أكثر شمولية. مسجل النظام "Registry System" هو نظام لتسجيل العمليات التي يقوم بها المستخدمون على حاسوب معين، ابتدءاً من أأبسط الأمور كالاحتفاظ بنوع الخط الذي تكتب به في برنامج المفكرة أو الرسام إلى أمور معقدة تتعلق بنظام التشغيل نفسه، مثل امتدادات الملفات "*.*" وفي أي برنامج تعمل ومع أي برنامج تُعدّل وهكذا... وكمثال فإن صورة من نوع "JPG" تُفتح تلقائيا مع متصفح الصور ولكن إذا قمت بالضغط على أيقونة الصورة بالزر الأيمن للفأرة ثم قمت باختيار "Edit" فإن الصورة ستفتح مع برنامج "MSPaint". كون الحسوب يعرف ذلك يعود إلى أن هناك قيما معينة مُخزنة في مسجل النظام. كما يستخدمه المبرمجون للاحتفاظ بخصائص معينة ما يُحددها مستخدم البرنامج حتى إذا عاد إلى العمل على البرنامج يجد تلك الخصائص موجودة، وكذلك لعمل تأمين لبرامجهم عبر الكثير التقنيات... وحتى لا أسيل لعاب ضعاف النفوس أضيف: وما خفي كان أعظم. هناك خطأ شائع وهو الخلط بين "مسجل النظام" و"محرر سجل النظام" ومحرر سجل النظام هو ذلك البرنامج الصغير الذي يظهر لنا عندما نضغط على "Start" ثم "Run" ثم نكتب الكلمة "regedit"، أما "مسجل النظام" فهو في النظام نفسه وعن نفسي لا أعرف أين يُوجد بالضبط. وبالتالي فإن "محرر مسجل النظام" هو مجرد وسيلة للتعامل مع "مسجل النظام" وهذا يعني أن يُمكننا التعامل برمجيا مع مسجل النظام وليس فقط يدويا عبر المحرر الخاص به. السؤال هو كيف نقوم بذلك بواسطة ال "VB"؟ الجواب كما هو متوقع عبر ال"API". في البرمجة دائما يبحث المبرمج عن طرق أسرع لتنفيذ ما يرغب به ويبحث أيضا على تفادي تكرار كتابة ذات الأوامر البرمجية في كل مرة يحتاج فيها إلى التعامل مع شيء ما. لهذا يتجه البعض إلى حفظ الأوامر في ملفات نصية ثم يقومون بنسخها ولصقها متى ما دعت الضرورة لذلك. لكن رغم ذلك يبقى أحيانا استعمال تلك الأوامر بالطريقة التقليدية متعبا، لهذا يتم إنشاء ما يُعرف بال"Class Module" لا أعرف ماذا تعني بالعربية (أعني معناها الحقيقي وليس ترجمة كل كلمة على حدى). وال"C.M" إذا كانت أوامرها مكتوبة بشكل جيد ودقيق فإنها تكون أشبه بأداة برمجية، أي تكون مثلها مثل "TextBox" أو "Label"... مع فرق أنها لا تكون ظاهرة للعيان، وبمعنى آخر هي تُسبه الأداة في طريقة استخدامها في كتابة الأوامر. فمثلا لكتابة أمر معين نكتب مثلا: Text1.text = Value وكذلك الأمر بالنسبة ل"C.M" نكتب اسم ال "C.M" ثم الخاصية التي تم إنشاؤها مسبقا ثم القيمة التي نريد. قد يطول شرح هذا كثيرا ليكون واضحا بشكل تام لذا سأختصر الأمر في التالي: ال "Class Module" = اختصار الوقت والتنظيم إلى أبعد حد. كيف نتعامل مع مسجل النظام بواسطة ال"VB" عن طريق ال"Class Module"؟ أولا: حمل هذه ال"Class Module" والتي توجد بها معظم ال"API" التي تُستخدم للتعامل مع مسجل النظام، (توجد بها الأوامر التي أستخدمها أنا بكثرة فقط، وهي في الغالب الأوامر التي ستحتاجون لها). ثانيا: افتحوا مشروعا جديدا في ال"VB" ثم من قائمة "Project" اختاروا "Add Class Module" ثم من صندوق الحوار الذي سيظهر لكم اختاروا من أعلاه على اليسار "Existing" وبعدها إذهبوا إلى المجلد الذي قمتم بحفظ ال"C.M" به ومن ثم اختاروها واضغطوا "Open". ثالثا: سأشرح طريقة كتابة نوعين فقط من القيم وهما النوعين الأكثر شيوعا، أما باقي الأنواع فهي خمسة: أربعة تُستعمل نادرا وإثنتان منهما لا أعرف كيف تُستخدم وهناك النوع الخامس وهو القيمة الرقمية وهي تُستخدم بشكل كثير لكن مع الآسف لا أجيد طريقة كتابتها. النوعين اللذان سأشرح كيف يُكتبان هما: 1 - قيمة نصية 2 - قيمة من نوع "DWORD" الطريقة العامة لكتابة قيمة أياً كانت هي كالآتي: b.ClassKey = القسم الذي تريد أن تكتب به القيمة b.SectionKey = "المسار الذي تريد أن تكتب به القيمة" b.ValueKey = "مفتاح القيمة (اسمها)" b.ValueType = نوع القيمة b.Value = "القيمة التي تريد وضعها" b.CreateKey الشرح: (قد يبدو مستعصيا عليك فهم الشرح الآن لكن سيتضح بشكل أفضل مع الأمثلة التي سأرفقها في أسفل الموضوع) - السطر الأول نحدد فيه القسم الرئيسي الذي نريد أن نكتب القيمة فيه، وأقسام مسجل النظام هي في الأساس أربعة وهي: HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS ولو قمت بالذهاب إلى "Start" ثم "Run" ثم كتبت "Regedit" فسيظهر لك محرر مسجل النظام وستظهر لك هذه الأقسام الأربعة وربما يظهر لك قسم خامس. القسم الأول خاص بالنظام نفسه، يُنصح أن لا تكتب أي قيم هنا ما لم تكن تعرف ما تفعله. القسم الثاني خاص بكل مستخدم على حدى افعل ما يحلوا لك لكن بحذر. القسم الثالث خاص بكل المستخدمين "All Users" احذر جيدا. القسم الرابع هو الافتراضي. بصراحة لم أعمل معه من قبل إنه الذي لا فائدة منه، أنصح بعدم الاقتراب منه. السطر الثاني: تكتب المسار الذي تريد أن تكتب به القيمة ويكون كيفما تشاء وإذا لم يكن موجود فسيتم إنشاؤه. السطر الثالث: اسم القيمة واستعمل بها أي شيء تريد وانتبه إلى أن مسجل النظام حساس لحالة الأحرف "كبيرة - صغيرة" السطر الرابع: نوع القيمة: لكتابة قيمة نصية نكتب: REG_SZ لكتابة قيمة عددية من نوع "DWord" نكتب: REG_DWORD السطر الخامس: القيم نفسها السطر الأخير: أمر بالإنشاء ليتم كتابة القيمة في مسجل النظام ملحوظة مهمة: لسبب لا أدريه بالنسبة للقيم من نوع "DWord" يجب اسنادها إلى متغير من نوع Long قبل أن يتم إنشاؤها، وذلك يكون بالشكل التالي: dim MyValue as long ثم: MyValue= القيمة العددية التي ترغب في وضعها (غالبا ما تكون 0 أو1 وفي حالات قليلة قد تكون أكثر) ثم: b.Value = MyValue لحذف القيمة نحتفظ بالأسطر الثلاثة الأولى فقط: b.ClassKey = القسم الذي تريد أن تكتب به القيمة b.SectionKey = "المسار الذي تريد أن تكتب به القيمة" b.ValueKey = "مفتاح القيمة (اسمها)" b.DeleteValue ثم نغير السطر الأخير إلى : "b.DeleteValue" كما هو ملاحظ. كما هو ملاحظ لا يتغير إلا السطر الأخير من "CreateValue" إلى "DeleteValue". ملحوظة: لحذف مفتاح بأكمله نستخدم "DeleteKey" بدل "DeleteValue". أخيرا استخراج قيمة من مسجل النظام: استخراج قيمة سبق لنا تسجيلها أو قيم موجودة في الأساس يكون كالآتي: b.ClassKey = القسم الذي تريد أن تكتب به القيمة b.SectionKey = "المسار الذي تريد أن تكتب به القيمة" b.ValueKey = "مفتاح القيم (اسمها)" b.ValueType = نوع القيمة text1.text = b.value كما تلاحظون نفس الأسلوب مع حذف السطر الأخير لأننا لا نريد أن نكتب ولا أن نحذف ثم عكس السطر الخاص بالقيمة: ففي البداية كنا نكتب "b.value" ثم نحدد القيمة وهذه المرة وضعنا الأداة التي ستحمل القيمة ثم وضعنا "b.value" أمامها لكي تُوضع لنا القيمة في أداة "TextBox". الأمثلة: (تجدونها في المرفقات) المثال الأول الذي باسم (MPEx1) - مثال يُوضح طريقة العمل الفعلية، وتجدون فيه الآتي: أربعة أزرار: واحد لكتابة قيمة نصية، وثاني لكتابة قيمة من نوع "DWord"، وثالث لحذف قيمة ورابع لحذف مفتاح بأكمله. - عند الضغط على زر "كتابة قيمة من نوعString": اذهب إلى "Start + Run" ثم اكتب "regedit" ثم اذهب إلى القسم "HKEY_CURRENT_USER" ثم اختر منه "Software" ثم ستجد مفتاحا باسم "aaaaaa" وعند الضغط عليه ستجد قيمة باسم "Test" قد كتبت ونوعها "Reg_SZ" والقيمة التي تحملها هي "تجربة ناجحة". - عند الضغط على زر "كتابة قيمة من نوع DWord": قم بنفس الخطوات (اذهب إلى start...) أو إذا كان "محرر مسجل النظام" مازال مفتوح اضغط على "F5" وبعدها ستلاحظ أن قيمة أخرى قد أصبحت تحت القيمة "Test" وهي القيمة "Test2" وستلاحظ أنها باللون الأزرق ونوعها هو "Reg_DWord" وتحمل القيمة التالية: "0x00000001(1)" - عند الضغط على زر "حذف قيمة": اذهب إلى "محرر مسجل النظام" أو اضغط "F5" وستلاحظ أن القيمة التي باسم "Test2" لم تعد موجودة "حُذفت"، وإذا أردت حذف القيمة "Test" ما عليك سوى العودة إلى المشروع والضغط على زر "حذف قيمة" مرتين ليظهر لك محرر الأوامر وهناك غير اسم القيمة "b.ValueKey" من "Test2" إلى "Test". - عند الضغط على زر "حذف مفتاح": ستلاحظ في "محرر سجل النظام" أن المفتاح "aaaaaa" قد زال بالكامل. وبقليل من التجارب ستفهمون أكثر وأكثر... المثال الثاني الذي باسم (MPEx2) - مثال يُوضح كيف نستخرج القيمة وفي نفس الوقت يُعطي بعض الأفكار التي يُمكن أن يستغل فيها مسجل النظام. في هذا المثال التوضيحي ستجدون صندوق نص وزر واحد. اكتبوا شيئا ما في صندوق النص، ستلاحظون أن الخط صغير ولون الخط أسود الآن اضغطوا على زر "خيارات إضافية" ستظهر لكم نافذة صغيرة اختارو لونا "أحمر مثلا" ثم اختاروا حجما للخط "16 مثلا" ثم اضغطوا حفظ، ستلاحظون أن النافذة اختفت، اخرجوا من البرنامج ثم شغلوه من جديد، اكتبوا هذه المرة في صندوق النص ستلاحظون أن لون الكتابة أصبح "أحمر" أو أي لون اخترتموه في البداية وستلاحظون أن حجم الكتابة أصبح أكبر بالقدر الذي اخترتموه. وهذا أبسط أنواع الاستخدامات التي يمكن أن يستغل فيها مسجل النظام. وكمثال: عندما تستخدم محرر النصوص "Word" فإنك تلاحظ أنه يُظهر لك أسماء آخر الملفات التي كنت تعمل عليها (ذلك يتم بنفس الطريقة) آخر الكلمات التي بحثت عنها في حاسوبك يتم الاحتفاظ بها بنفس هذه الطريقة. حتى كتابتك ل"Regedit" في "Start + Run" يتم الاحتفاظ بها بنفس الطريقة. صدقني عندما تجيدون التعامل مع مسجل النظام فإنكم تخطون خطوة لا تُصدق في عالم البرمجة وستكتشفون ذلك بأنفسكم مع الوقت. أرجوا أن تستفيدوا من هذا الشرح تحياتي صلاح الدين بن شبيبة |
|
#37
| |||||||||||||||||||||||
| | |||||||||||||||||||||||
أخي الكريم شكرا لك ولكني لست بحاجة لمنتدى ولا لمساحة هذا زيادة على أني لو كنت محتاجا لذلك لما انتظرت الفوز به في مسابقة، فالحمد لله أنا أجيد تصميم المواقع من تثبيت الخادم إلى تصميم أشكال المنتديات (Styles)، ولن يضرني شيء أن أتعب من أجل نفسي قليلا ;) شكرا لك مجددا وباقي الشرح سأكمله إن شاء الله في أقرب وقت وهنيئا لي بالفوز:d :d تحياتي لك |
|
#38
| ||||
| | ||||
| رد: مسابقة الشهر (هناك جوائز) :d العفو اخوي وانا ايضا سأفي بوعدي وسوف اقوم بشرح طريقة عمل منتدى وشرح مفصلا ولن أنسى أي خطوة اليوم في الليل ان شاءالله |
![]() |
| مواقع النشر (المفضلة) |
| يتصفح الموضوع حالياً : 1 (0 عضو و 1 ضيف) | |
| خيارات الموضوع | |
| طريقة العرض | |
|
|
مواضيع مشابهة للموضوع: مسابقة الشهر (هناك جوائز) :d | ||||
| الموضوع | الكاتب | القسم | الردود | آخر مشاركة |
| اصنع شاشه التوقف الخاصه بك بهذا البرنامج Aone | الهاشمي | قسم البرامج | 18 | 2005-12-11 11:44 AM |
| إعلان ادوبي لشرائها شبكة مايكروميديا | IsmSal | قسم الكمبيوتر العام | 1 | 2005-08-31 07:03 PM |
| ثغره مهمة جدا أرجوا الإنتباه | maks | تطوير المواقع والمنتديات | 1 | 2005-06-28 01:44 PM |