.::Mehran::.
Member
سلام به همه ي دوستان .
در اين تاپيک قصد داريم که بر روي نرم افزاري که خيلي ها رو به خودش جذب کرده بحث کنيم و اون رو کاملا تجذيه و تحليل کنيم .
> اول از همه قوانين اين تاپيک رو خدمت دوستان شرکت کننده در اين بحث بگم که يه وقت مشکلي پيش نياد .
1 : ) اول اينکه قوانين خود سايت مجيد انلاين رو رعايت کنيد .
2 : ) از بحث ما دور نشيد و از زدن پست هاي اظافه که باعث شلوغ شدن اين مبحث ميشه خودداري کنيد .
3 : ) بعضي از دوستان شايد اطلاعات کمتري داشته باشن و اگه کسي حرفي زد اون رو زير سوال نبريد و سعي کنيد علمي جواب بديد .
-----------------------------------
خوب بحث رو شروع ميکنم .
MMB چيست و چرا از ان استفاده ميکنيم ؟
جواب : اين نرم جهت ساخت پرژه هاي چند رسانه اي و Auto Run هاي حرفه اي استفاده ميشود و در نوع خود يک نرم افزار بسيار قدرمند است . البته به علت اساني بيش از حد کار با اين برنامه کاربران ان دست به ساخت نرم افزارهايي نيز با ان ميزنند .
کار با MMB چگونه است ؟
جواب : اين نرم افزار داراي يک رابط گرافيکي است که توسط ان به راحتي ميتوان بر روي پرژه تسلط داشت . در اين نرم افزار ميتوان به راحتي بر روي گرافيک و شکل ظاهري پرژه مانور داد . اين نرم افزار داراي محدوديتهايي نيز ميباشد که به علت پشتيباني از پلاگين ها تا حد چشمگيري اين محدوديتها برطرف شده اند .
پلاگين چيست ؟
جواب : فايلهايي با پسوند dll هستند که توسط زبانهاي برنامه نويسي مانند : VC++ - Delphi - Borland C++ Builder - Dev-Pascal و ... ميتوان انها را ساخت . اين نوع فايلها اغلب داراي حجم کمي هستند و توسط فرمانهاي مربوطه از درون MMB فراخواني ميشوند و عمليات مربوط به ان فرمان را انجام ميدهند . پلاگينها در صورت نياز اطلاعاتي را از کاربر ميگيرند يا به کاربر باز ميگردانند .
در ضمن بايد بگم که پلاگينها رو با VB نميشه ساخت . چون توانايي ساخت dll اي استاندارد رو نداره اين زبان .
چرا کاربران از MMB استفاده ميکنند ؟
جواب : اين نرم افزار داراي قدرتي زياد ( در حد خودش ) و محيطي ساده و داراي کد نويسي ساده و قابل فهم ميباشد به همين دليل يادگيري ان کار مشکلي نيست و کاربران ميتواندد محيط پرژه ي خود را با کمي اشنايي با نرم افزارهاي گرافيکي به همان شکلي که دلشان ميخواهد بيرون اورند . بر اساس اين قابليت ها طي سالها MMB کاربران زيادي را به خود جذب کرده است .
MMB با چه زباني نوشته شده است ؟
جواب : اين نرم افزار توسط زبان برنامه نويسي VC++ نوشته شده است .
اخرين نسخه ي ارائه شده توسط سازندگان اين نرم افزار 4.9.8.13 ميباشد .
اخرين نسخه ي اين نرم افزار را ميتوانيد از امضاي اقا حامد ( Silvercover ) دريافت کنيد .
-----------------------------------
خوب ديگه فکر کنم افراي هم که خيلي کم با اين نرم افزار اشنايي داشتن بيشتر باهاش اشنا شده باشن .
خوب من سعي دارم که توي اين تاپيک MMB رو وارد حاشيه کنم !!!
تا حالا فکر کرده بودين که برنامه اي که شما دارين باهاش کار ميکنين و بعضي ها خيلي بهش عادت کردن چه جوري کار ميکنه و فايلهاي ساخته شده رو چه جوري ميسازه ؟؟ ايا فکر کرده بودين که فايلهاي ساخته شده امن هستن و بر روي تمامي سيستم ها درست کار ميکنن يا نه ؟ ؟
- > بايد بگم که اين نرم افزار در واقع اصلا هيچ فايلي نميسازه . اين نرم افزار از قابليت STUB براي ايجاد پرژه هاي طراحي شده استفاده ميکنه . اين نرم افزار يک فايل پيش فرض داره که توسط VC++ ساخته شده و در واقع مثل يک مترجم عمل ميکنه . يعني کدها و تنظيمات اعمال شده ي شما با قابليت STUB به فايل مذکور اظافه ميشه ( Player.bin > .exe ) و اين فايل اون دستورات و تنظيمات رو به زبان C++ تبديل ميکنه و حاصلش پرژه ي اجرا شده اي هست که شما بعد از کامپايل ميبينيد .
STUB چيست ؟ اين قابليت براي اظافه کردن مقاديري به يک فايل استفاده ميشه . البته فايلي که قراره مقادير بهش اظافه بشه هم بايد قابليت خودن مقادير رو داشته باشه . البته اين مقادير در يک بلوک خاص و با يک رمز گذاري تعريف شده توسط سازنده به فايل اظافه ميشه و دوباره اون مقادير کد شده از فايل با همون تنظيمات کد گذاري از حالت کد شده در مياد و توسط Player مورد استفاده قرار ميگيره .
بايد بگم که فايلهاي ساخته شده توسط MMB چونکه در اصل با VC++ ساخته شده و فقط توسط MMB تثبيت ميشه پس نگراني براي اجراي اون در سيستم هاي مختلف وجود نداره . و داراي استاندارد هست .
البته سرعت اجراي اون فايل به کد نويسي شما و عناصر استفاده شده بستگي داره .
چرا براي MMB يک کامپايلر در نظر گرفته نشده ؟
اول بايد بگم که ساخت يک کامپايلر يا همون مبدل يک زبان به زبان ماشين کار ساده اي نيست . و با شناختي که من از سازنگان اين نرم افزار دارم اونا کمتر روي MMB سرمايه گذاري ميکنن و در ضمن با وجود قابليت STUB ديگه نيازي هم به يک کامپايلر نيست بلکه تنها فرقش که ميشه روي اون تاکيد کرد سرعت بيشتر يک کامپايلر نصبت به STUB هست . راستي بايد بگم که در اولين مرحله ي ساخت اين نرم افزار هدف ساخت يک نرم افزار ايجاد Auto run و ساخت پرژه هاي چند رسانه اي بوده و دليلي وجو نداره که به خاطر يه همچين چيزي يک کامپايلر طراحي بشه يعني در واقع يکم خنده دار هست . گره اي که با دست باز ميشه رو که با دندون باز نميکنن ميکنن ؟
ارتقاء نسخه هاي بيلدر :
سازندگان اين نرم افزار هر چند وقت يک بار اون رو به روز ميکنن . البته اظافه کردن قابليتهاي جديد به اين نرم افزار کار سختي براي سازندگانش نيست و بدون شک اين گفته ي خودم رو تآکيد ميکنم . دليل اينکه سازندگانش کمکم قابليت ها رو بهش اظافه ميکنن فکر ميکنم اين باشه که نميخوان اين نرم افزار به يک نسخه محدود بشه و بتونن بر اساس نياز کاربرانش اون رو ارتقاء بدن .
---------------
خوب حالا چرا من به MMB گفتم يک مترجم زبان و اصلا ترجم چيه ؟
جواب : فرمانهايي که توسط MMB نوشته ميشه به زبان C++ ترجمه ميشه و بعد به Player اضافه ميشه . يعني فرامين MMB مستقيما به Player اضافه نميشه بلکه اول اون فرامين به زبان C++ ترجمه ميشه و بعد به Player اظافه ميشه که اين فايل فرامین STUB شده رو اجرا ميکنه . کار ترجمه خط به خط انجام ميشه. مثلا فرمان زير رو در MMB در نظر بگيريد .
اين فرمان در MMB يک نوشته رو به درون شيء EditBox ميريزه .
> حالا اين فرمان به صورت زير ترجمه ميشه .
فرماني که ميبينيد ترجمه شده ي فرماني هست که توي بيلدر نوشتيم ( اين فرمان به زبان C++ ترجمه شده ).
فکر کنم ديگه منظورم رو از ترجمه ي زبان توسط MMB فهميده باشين .
-------------------------------
دوستان ميتونند بحث رو ادامه بدن و سوالاتشون رو بگن يا چيزايي بگن که بقيه هم ياد بگيرن و اگه منم بلد نبودم ياد بگيرم
منتظر ادامه بحث هستم .
با تشکر .
در اين تاپيک قصد داريم که بر روي نرم افزاري که خيلي ها رو به خودش جذب کرده بحث کنيم و اون رو کاملا تجذيه و تحليل کنيم .
> اول از همه قوانين اين تاپيک رو خدمت دوستان شرکت کننده در اين بحث بگم که يه وقت مشکلي پيش نياد .
1 : ) اول اينکه قوانين خود سايت مجيد انلاين رو رعايت کنيد .
2 : ) از بحث ما دور نشيد و از زدن پست هاي اظافه که باعث شلوغ شدن اين مبحث ميشه خودداري کنيد .
3 : ) بعضي از دوستان شايد اطلاعات کمتري داشته باشن و اگه کسي حرفي زد اون رو زير سوال نبريد و سعي کنيد علمي جواب بديد .
-----------------------------------
خوب بحث رو شروع ميکنم .
MMB چيست و چرا از ان استفاده ميکنيم ؟
جواب : اين نرم جهت ساخت پرژه هاي چند رسانه اي و Auto Run هاي حرفه اي استفاده ميشود و در نوع خود يک نرم افزار بسيار قدرمند است . البته به علت اساني بيش از حد کار با اين برنامه کاربران ان دست به ساخت نرم افزارهايي نيز با ان ميزنند .
کار با MMB چگونه است ؟
جواب : اين نرم افزار داراي يک رابط گرافيکي است که توسط ان به راحتي ميتوان بر روي پرژه تسلط داشت . در اين نرم افزار ميتوان به راحتي بر روي گرافيک و شکل ظاهري پرژه مانور داد . اين نرم افزار داراي محدوديتهايي نيز ميباشد که به علت پشتيباني از پلاگين ها تا حد چشمگيري اين محدوديتها برطرف شده اند .
پلاگين چيست ؟
جواب : فايلهايي با پسوند dll هستند که توسط زبانهاي برنامه نويسي مانند : VC++ - Delphi - Borland C++ Builder - Dev-Pascal و ... ميتوان انها را ساخت . اين نوع فايلها اغلب داراي حجم کمي هستند و توسط فرمانهاي مربوطه از درون MMB فراخواني ميشوند و عمليات مربوط به ان فرمان را انجام ميدهند . پلاگينها در صورت نياز اطلاعاتي را از کاربر ميگيرند يا به کاربر باز ميگردانند .
در ضمن بايد بگم که پلاگينها رو با VB نميشه ساخت . چون توانايي ساخت dll اي استاندارد رو نداره اين زبان .
چرا کاربران از MMB استفاده ميکنند ؟
جواب : اين نرم افزار داراي قدرتي زياد ( در حد خودش ) و محيطي ساده و داراي کد نويسي ساده و قابل فهم ميباشد به همين دليل يادگيري ان کار مشکلي نيست و کاربران ميتواندد محيط پرژه ي خود را با کمي اشنايي با نرم افزارهاي گرافيکي به همان شکلي که دلشان ميخواهد بيرون اورند . بر اساس اين قابليت ها طي سالها MMB کاربران زيادي را به خود جذب کرده است .
MMB با چه زباني نوشته شده است ؟
جواب : اين نرم افزار توسط زبان برنامه نويسي VC++ نوشته شده است .
اخرين نسخه ي ارائه شده توسط سازندگان اين نرم افزار 4.9.8.13 ميباشد .
اخرين نسخه ي اين نرم افزار را ميتوانيد از امضاي اقا حامد ( Silvercover ) دريافت کنيد .
-----------------------------------
خوب ديگه فکر کنم افراي هم که خيلي کم با اين نرم افزار اشنايي داشتن بيشتر باهاش اشنا شده باشن .
خوب من سعي دارم که توي اين تاپيک MMB رو وارد حاشيه کنم !!!
تا حالا فکر کرده بودين که برنامه اي که شما دارين باهاش کار ميکنين و بعضي ها خيلي بهش عادت کردن چه جوري کار ميکنه و فايلهاي ساخته شده رو چه جوري ميسازه ؟؟ ايا فکر کرده بودين که فايلهاي ساخته شده امن هستن و بر روي تمامي سيستم ها درست کار ميکنن يا نه ؟ ؟
- > بايد بگم که اين نرم افزار در واقع اصلا هيچ فايلي نميسازه . اين نرم افزار از قابليت STUB براي ايجاد پرژه هاي طراحي شده استفاده ميکنه . اين نرم افزار يک فايل پيش فرض داره که توسط VC++ ساخته شده و در واقع مثل يک مترجم عمل ميکنه . يعني کدها و تنظيمات اعمال شده ي شما با قابليت STUB به فايل مذکور اظافه ميشه ( Player.bin > .exe ) و اين فايل اون دستورات و تنظيمات رو به زبان C++ تبديل ميکنه و حاصلش پرژه ي اجرا شده اي هست که شما بعد از کامپايل ميبينيد .
STUB چيست ؟ اين قابليت براي اظافه کردن مقاديري به يک فايل استفاده ميشه . البته فايلي که قراره مقادير بهش اظافه بشه هم بايد قابليت خودن مقادير رو داشته باشه . البته اين مقادير در يک بلوک خاص و با يک رمز گذاري تعريف شده توسط سازنده به فايل اظافه ميشه و دوباره اون مقادير کد شده از فايل با همون تنظيمات کد گذاري از حالت کد شده در مياد و توسط Player مورد استفاده قرار ميگيره .
بايد بگم که فايلهاي ساخته شده توسط MMB چونکه در اصل با VC++ ساخته شده و فقط توسط MMB تثبيت ميشه پس نگراني براي اجراي اون در سيستم هاي مختلف وجود نداره . و داراي استاندارد هست .
البته سرعت اجراي اون فايل به کد نويسي شما و عناصر استفاده شده بستگي داره .
چرا براي MMB يک کامپايلر در نظر گرفته نشده ؟
اول بايد بگم که ساخت يک کامپايلر يا همون مبدل يک زبان به زبان ماشين کار ساده اي نيست . و با شناختي که من از سازنگان اين نرم افزار دارم اونا کمتر روي MMB سرمايه گذاري ميکنن و در ضمن با وجود قابليت STUB ديگه نيازي هم به يک کامپايلر نيست بلکه تنها فرقش که ميشه روي اون تاکيد کرد سرعت بيشتر يک کامپايلر نصبت به STUB هست . راستي بايد بگم که در اولين مرحله ي ساخت اين نرم افزار هدف ساخت يک نرم افزار ايجاد Auto run و ساخت پرژه هاي چند رسانه اي بوده و دليلي وجو نداره که به خاطر يه همچين چيزي يک کامپايلر طراحي بشه يعني در واقع يکم خنده دار هست . گره اي که با دست باز ميشه رو که با دندون باز نميکنن ميکنن ؟
ارتقاء نسخه هاي بيلدر :
سازندگان اين نرم افزار هر چند وقت يک بار اون رو به روز ميکنن . البته اظافه کردن قابليتهاي جديد به اين نرم افزار کار سختي براي سازندگانش نيست و بدون شک اين گفته ي خودم رو تآکيد ميکنم . دليل اينکه سازندگانش کمکم قابليت ها رو بهش اظافه ميکنن فکر ميکنم اين باشه که نميخوان اين نرم افزار به يک نسخه محدود بشه و بتونن بر اساس نياز کاربرانش اون رو ارتقاء بدن .
---------------
خوب حالا چرا من به MMB گفتم يک مترجم زبان و اصلا ترجم چيه ؟
جواب : فرمانهايي که توسط MMB نوشته ميشه به زبان C++ ترجمه ميشه و بعد به Player اضافه ميشه . يعني فرامين MMB مستقيما به Player اضافه نميشه بلکه اول اون فرامين به زبان C++ ترجمه ميشه و بعد به Player اظافه ميشه که اين فايل فرامین STUB شده رو اجرا ميکنه . کار ترجمه خط به خط انجام ميشه. مثلا فرمان زير رو در MMB در نظر بگيريد .
کد:
A$='MMB Code'
LoadText("EditBox","A$")
اين فرمان در MMB يک نوشته رو به درون شيء EditBox ميريزه .
> حالا اين فرمان به صورت زير ترجمه ميشه .
کد:
CString A="VC++ Code";
GetDlgItem (EditBox) -> SetWindowText(A);
فرماني که ميبينيد ترجمه شده ي فرماني هست که توي بيلدر نوشتيم ( اين فرمان به زبان C++ ترجمه شده ).
فکر کنم ديگه منظورم رو از ترجمه ي زبان توسط MMB فهميده باشين .
-------------------------------
دوستان ميتونند بحث رو ادامه بدن و سوالاتشون رو بگن يا چيزايي بگن که بقيه هم ياد بگيرن و اگه منم بلد نبودم ياد بگيرم

منتظر ادامه بحث هستم .
با تشکر .
آخرین ویرایش:









