الموضوع: بسم الله نبدأ
عرض مشاركة واحدة
  #17 (permalink)  
قديم 01-21-2008, 06:13 PM
الصورة الرمزية أبو بكر
أبو بكر أبو بكر غير متواجد حالياً
Moderator
 
تاريخ التسجيل: Dec 2004
الدولة: أبوظبي - الإمارات
المشاركات: 621
Thanks: 0
Thanked 2 Times in 2 Posts
أبو بكر is on a distinguished road
افتراضي

<div class='quotetop'>إقتباس(صهيل نجد @ 21-01-2008, 21:05) <{POST_SNAPBACK}></div>
اقتباس:
<div class='quotetop'>إقتباس
اقتباس:
الأولى تقابل الملف في Windows والثانية خاصة بالماكنتوش فقط، وهو ما ميّز نظام الماكنتوش وجعل له السبق في الأنظمة.[/b]
ومع ذلك لا أستطيع تشغيلة على الوندز؟؟؟؟ شرح أكثر أرجوك...
جزاك الله خير وجعله في ميزان حسناتك
تحياااااااااااااااااااااا اااااااااااااتي لكل من سااااااااااااااااااااااهم
في هذا الانجاز الذي أتمنى أن نكون مستفيدين فيه ومنتجين

[/b][/quote]

بالنسبة للملف في الماكنتوش ذكرت أنه يتكون من سلسلتين -مختلفتين ومنفصلتين كليا- من البايتات (البيانات أو المعلومات المحفوظة فيه) وتسمى السلسلتان بالشوكتين، الأولى شوكة البيانات: تقابل الملف بأكمله في الأنظمة الأخرى كنظام Windows أو Unix، والثانية تسمى شوكة الموارد وهي خاصة بنظام الماكنتوش. وفيزيائيا أن نصف الملف في الماكنوش يقابل الملف بأكمله في الأنظمة الأخرى.

وهذه الشوكة لا تراها الأنظمة الأخرى، ولعل هذا ما يسبب حدوث بعض المشاكل عند تشغيل نظام الماكنتوش على حواسب غير ماكنتوشية.
وبما أنك مبرمجة، سأذكر هذا المثال:
تعرفين الإشارات البرمجية Pointers؟ صحيح؟
هذا السطر: void* myData; هو تعريف متغير اسمه myData ونوعه مؤشر إلى شيء ما، طيب هذا السطر: void** myData; هذا مؤشر أخر لكنه درجة ثانية من الإشارة،

طيب انظري إلى تعريف هذا النمط:
typedef signed char Byte;
typedef Byte * Ptr;
typedef Ptr * Handle;
هذه تعاريف الإشارات في نظام الماكنتوش، فالإشارة Ptr هي الإشارة المستخدمة في جميع الأنظمة، أما التعريف الثاني Handle فهي إشارة الإشارة وهي بهذا الشكل خاصة بنظام الماكنتوش، وإذا ما تم تعريفها في نظام Windows على هذا الأساس، فستحدث مشاكل مما يضطر المبرمج إلى إعادة تشغيل الحاسوب، وذلك أن الذاكرة في الماكنتوش يتم حجز بلوكات فيها على نوعين، النوع الأول: البلوكات الغير قابلة لإعادة تمركزها، ولا يتغير مكانها في الذاكرة وهي نفسها التي تكون في الأنظمة Windows و Unix. أما النوع الثاني من البلوكات هي القابلة لإعادة التمركز وتغيير مكانها وعنوانها. وفي نظام Windows أو Unix لا يوجد هذا النوع الثاني.
فالأن الشوكة الأولى شوكة البيانات يتم الإشارة إليها بالنوع الأول Ptr، وتكون البلوك المحجوزة لها ثابتة، بينما شوكة الموارد تكون إشارتها من النوع الثاني Handle ويتغير مكانها وعنوانها دائما والبلوك التي تحجز لها كذلك.
وفي نظام Windows أو Unix لا تتوفر فيها هذه الإشارة بهذا التعريف، أما من ناحية الكلمة، فهي مستخدمة كتعريف عنصر Object، فتجد : HMENU أي أنها عنصر القائمة.

فإذا ما أردت منع مستخدمي Windows من قراءة بعض البيانات انقليها الى الشوكة الثانية فقط.
 ومما كان في غاية الروعة أن Ptr إشارة، لأنها تشير إلى مكان في الذاكرة، وكذلك Handle إشارة لأنها تشير أيضا إلى مكان في الذاكرة (إشارة الإشارة) فنستطيع استخدام كل منهما ليشير إلى الأخر أو إلى أي من الشوكتين، وهذا ما انفرد به نظام الماكنتوش.
__________________
أبو بكر
رد مع اقتباس