Fa تقسیم یک پروژه را به چند خروجی مرتبط

paseaziz

New Member
با سلام
آیا می توان یک پروژه مالتی مدیا را در چند خروجی تنظیم کرد و بعد با کدنویسی خروجی ها را به هم مرتبط ساخت؟ یعنی بجای ساختن یک خروجی exe با حجم زیاد،‌ آیا می توان کل پروژه را در چند خروجی distribute کرد.
دلیل پرسیدن این سوالم این است که بدلیل استفاده از تعداد زیاد قطعات ویدئویی و فلش، فایل exe خروجی که از پروژه ام تهیه کردم 300 mb شده است و اجرای آن با تاخیر و کندی انجام می شود. به همین دلیل، دنبال راه حلی هستم که پروژه سبک تر اجرا شود.
اگر ممکن است لطفا مرا راهنمایی کنید.
با تشکر
 

amirrayaneh

Member
با سلام و احترام
خب فایلهای ویدئویی را بجای Embedded کردن کنار پروژتون قرار بدید و آدرس دهی کنید دیگه با این حجم عظیم مواجه نمیشد!
 

paseaziz

New Member
من اینکا رو انجام دادم، حتی از List Box هم استفاده کردم که تو هر صفحه بتونم 9 ویدئو را جای بدم تا مجبور نشم از تعداد زیاد صفحات استفاده کنم. با اینحال بخاطر تعداد خیلی زیاد فایل های ویدئویی بازهم تعداد صفحات زیاد میشه. یعنی توی پروژم حداقل 100 صفحه خواهم داشت که تو هرکدوم 9 ویدئو هست. این ویدئوها حجمشون کمه و درنهایت توی 1 DVD جای میگیره، اما فایل exe ای که بعد از کمپایل کردن پروژه ام تهیه میکنم حجمش زیاده.
سوال من اینه که آیا میشه پروژه را به چند خروجی تقسیم کرد و بعد این خروجی ها را با فرمان ها و کدنویسی مناسب به هم مرتبط ساخت؟ اگه کسی میدونه لطفا کمکم کنه.
با تشکر
 

amirrayaneh

Member
با سلام
خب اگه درست متوجه شده باشم بله امکانش هست
میتوانید از دستور زیر استفاده کنید
PHP:
RunMBD("FolderPath-FileName","Page Label")
 

paseaziz

New Member
[FONT=&quot]با تمام احترامی که برای قوانین سایت قائل هستم، دوست دارم به بهترین نحو از شما تشکر کنم. با کمک کدی که شما لطف کردید، براحتی می توانم به خروجی دیگر پروژه ام مرتبط شوم تاکنون دو فایل خروجی تهیه کرده ام). از این بابت متشکرم[/FONT].
[FONT=&quot]من کد شما را بصورت زیر وارد کردم[/FONT]
:
[FONT=&quot] [/FONT]
[FONT=&quot]("RunMBD[/FONT][FONT=&quot]("<[/FONT][FONT=&quot]SrcDrive[/FONT][FONT=&quot]>\New Folder\stmain1.mbd","Page Label[/FONT][FONT=&quot][/FONT]



[FONT=&quot]و این کد بدرستی با خروجی دوم [/FONT]MMB[FONT=&quot] پروژه من ارتباط برقرار می کند. سوالی که دارم این است که بخش آخر این پیام یعنی [/FONT]page label”[FONT=&quot]" در دفعات بعد باید عوض شود یا همواره ثابت می ماند؟ یعنی لازم نیست برای ارتباط با سایر خروجی ها به [/FONT]page label[FONT=&quot] شماره ای اضافه کنم (مثلا [/FONT]page label 1[FONT=&quot])؟[/FONT]
[FONT=&quot]با تشکر فراوان[/FONT]


[FONT=&quot] [/FONT]
 

amirrayaneh

Member
با سلام و احترام
شما به جای Page Label میتوانید از سه حالت زیر استفاده کنید
1) به جای Label شماره صفحه مورد نظر را قرار دهید = Page 3
2) پرامتر NEW_WINDOW قرار دهید تا در یک صفحه جدید باز شود
3) هر دو را با هم قرار دهید : NEW_WINDOW,Page 3
 

evil_gates

اين نيز بگذرد ...
در تكميل توضيحات جناب amirrayaneh عرض ميكنم پارامتر THIS_WINDOW باعث پروژه جديد شما جايگزين پروژه جاري بشه و پارامتر NEW_WINDOW همونطور كه اشاره شد پروژه جديد در پنجره‌اي جديد اجرا ميشه.

اما يك نكته رو توجه كنيد دوست عزيز كه در صورتي كه متغيري داشته باشيد كه بخوايد تو پروژه جديد هم مقدارش خونده بشه از پارامتر THIS_WINDOW استفاده كنيد.

موفق باشيد
 

paseaziz

New Member
برقرای ارتباط با فایل .exe حاصل از کمپایل شدن MMB

[FONT=&quot]با تشکر فراوان از دو دوست عزیز بخاطر راهنمایی ارزشمندتان:rose:، [/FONT]
[FONT=&quot]دیشب کدی که جناب [/FONT]amirrayaneh[FONT=&quot] لطف کردند را سریع امتحان کردم و جواب گرفتم. اما بخاطر عجله این کد را (همانطور که در پست بالای من میبینید) برای برقراری ارتباط با یک فایل با پسوند [/FONT].mbd[FONT=&quot] اجرا نمودم. این کد براحی با فایل های دارای پسوند [/FONT].mbd[FONT=&quot] که فرمت سورس پروژه های تهیه شده با [/FONT]MMB[FONT=&quot] است بخوبی ارتباط برقرار می کند. وقتی این کد را مطابق دستور زیر برای برقراری ارتباط با فایل [/FONT].exe[FONT=&quot] ای که بعد از کمپایل کردن پروژه تهیه می شود امتحان کردم، سیستم با اشکال مواجه می شود و برنامه نمی تواند با فایل [/FONT].exe[FONT=&quot] حاصله از کمپایل شدن بخش دیگر پروژه ارتباط برقرار کند. یکبار دیگر خاطر نشان می شوم که بدلیل تعداد زیاد صفحات و تعداد زیاد ویدئوها میخواهم درصورت امکان کل پروژه را به چند خروجی تقسیم کنم اما این خروجی ها را بب کدنویسی مناسب بنحوی به هم متصل کنم که انگار یکی هستند. کد را بصورت زیر بکار بردم:[/FONT]
[FONT=&quot]("RunMBD [/FONT][FONT=&quot]("<[/FONT][FONT=&quot]SrcDrive[/FONT][FONT=&quot]>\New Folder\sid.exe","Page [/FONT][FONT=&quot]11[/FONT]
[FONT=&quot]سوالی که برای من پیش آمده این است که آیا مجبور هستم موقع اتمام پروژه بخشی از پروژه را با فایل [/FONT].mbd[FONT=&quot] منتشر کنم؟ یا واقعا راهی وجود دارد که می توان از طریق آن با فایل [/FONT].exe[FONT=&quot] ناشی از کمپایل کردن سایر بخش های پروژه ارتباط برقرار کرد؟ بنظر خودم اشکال منتشر کردن بخش هایی از برنامه با فرمت [/FONT].mmb[FONT=&quot] این است که با این کار سورس برنامه براحتی در [/FONT]DVD[FONT=&quot] رایت شده قابل دستیابی است. درضمن[/FONT][FONT=&quot]، تا آنجاییکه میدانم، اگر بخش هایی از پروژه را با فرمت [/FONT].mbd[FONT=&quot] منتشر کنم، قطعا سیستم فردی که می خواهد از آن استفاده کند باید دارای برنامه [/FONT]MMB[FONT=&quot] نیز باشد. [/FONT]
[FONT=&quot]از پیغام خطایی که موقع بکاربردن کد بالا دریافت کرده ام یک عکس تهیه کرده ام و به این پست ضمیمه کرده ام. سوال من این است که آیا کدی وجود دارد که از طریق آن بتوان بین فایل های [/FONT].exe[FONT=&quot] تهیه شده پس از کمپایل کردن برنامه ارتباط برقرار کرد؟[/FONT]
[FONT=&quot]با احترام و تشکر فراوان[/FONT]
[FONT=&quot][/FONT][FONT=&quot][/FONT][FONT=&quot][/FONT]
 

پیوست ها

  • Untitled.jpg
    Untitled.jpg
    149.4 کیلوبایت · بازدیدها: 12
آخرین ویرایش:

evil_gates

اين نيز بگذرد ...
دوست عزيز
اول اينكه دستور RunMBD فقط براي اجراي فايلهاي با فرمت mbd هست نه exe. البته اين به اين معني نيست كه لازمه حتما رو سيستم كاربر نرم افزار بيلدر نصب باشه تا اين دستور عمل كنه.

كافي هست فقط از يكي از پروژه هاتون خروجي exe بگيريد و بعد با دستور RunMBD پروژه هاي بعدي رو اجرا كنيد.

اگه ميخوايد پروژه هاتون رو جداگانه exe كنيد و بعد اجرا كنيد از دستور Run استفاده كنيد. (البته اين رو توصيه نميكنم)

در مورد امنيت هم بهتره ديگه بحث نكنيم. مباحث قبلي كه راجع به امنيت در mmb هست رو مطالعه كنيد متوجه منظورم خواهيد شد.

موفق باشيد
 

paseaziz

New Member
چرا نباید چند .exe بسازم؟

با تشکر از راهنمایی شما:rose:، با استفاده از دستور Run توانستم بخوبی با خروجی دیگر پروژه ام ارتباط برقرار کنم. اما شما در توصیه تان گفتید که:

"اگه ميخوايد پروژه هاتون رو جداگانه exe كنيد و بعد اجرا كنيد از دستور Run استفاده كنيد. (البته اين رو توصيه نميكنم)"

یعنی از نظر شما نباید پروژه را به چند .exe متفاوت تقسیم کنم و آنها را با کدنویسی به هم وصل کنم. سوالی که دارم این است که دلیل شما چیست؟ آیا به این خاطر می گویید که برقراری ارتباط با صفحات درونی فایل های .exe پروژه ممکن نیست و اینکار رفتن به بخش های مختلف پروژه را دشوار می کند یا دلیل دیگری دارید؟

درمورد امنیت در mmb سعی میکنم مطالب مربوط به این بحث را در سایت جستجو کنم، اگر بعد از مطالعه آنها هنوزم ابهاماتمک برطرف نشد از شما راهنمایی می گیرم.
بابت کمک ها و مشاوره های سودمند شما واقعا ممنون هستم. اگر این سایت نبود نمی دانستم چگونه می توانستم مشکلاتی که در اجرای پروژه پیش می ایند را برطرف کنم.
با احترام
 

evil_gates

اين نيز بگذرد ...
دوست عزيز
خوشحالم مشكلتون حل شد.
اما در مورد سوال شما: من نميگم برنامتون رو به بخشهاي كوچكتر تقسيم نكنيد. اتفاقا تو پروژه هاي بزرگ بهترين راه حل تقسيم كردن پروژه به پروژه‌هاي كوچكتر و استفاده از دستور RunMBD براي برقراري ارتباط با برنامه هست.

وقتي شما فايلي رو exe ميكنيد با اينكه ميتونيد با دستور Run داخل برنامه اون رو اجرا كنيد اما در عين حال يك فايل مستقل داريد كه كاربر ميتونه به طور دستي هم اون رو اجرا كنه. فرض كنيد شما برنامه‌اي داريد كه قصد داريد از صفحه اصلي طبق روال خاصي بخش‌هاي مختلف برنامه نمايش داده بشه. اينكه پروژه تكه تكه بشه و هر كدوم يك فايل exe بشه اولين عيبش اينه كه روال موردنظر شما بهم ميخوره.

دوم اينكه فايلهاي exe حجم بيشتري نسبت به فايل mbd شما دارن كه در مجموع مطلوب نيست.

وقتي پروژه شما باز هست و شما از دستور RunMBD براي فراخواني بخش ديگه‌اي از پروژه استفاده مي‌كنيد تو همون فايل بخش جديد جايگزين ميشه و برنامه مستقل ديگه‌اي اجرا نميشه. اما اگه با دستور Run فايل exe رو اجرا كنيد علاوه بر اينكه فايل قبلي شما باز هست يك فايل exe جديد هم اجرا ميشه

بازم بگم؟ :دي
 

paseaziz

New Member
با سلام
تا اینجا کمک های شما باعث شده که احساس آرامش عمیقی داشته باشم. راهنمایی های شما برای تقسیم پروژه ام به چند خروجی مرتبط باعث شده تا باخیال راحت پروژه را با گرافیک بالا طراحی کنم و اصلا نگران زیاد شدن حجم فایل نهایی حاصل از کمپایل شدن پروژه ام نباشم.
امروز پروژه ام را روی کامپیوتری اجرا کردم که در آن برنامه MMB نصب نبود اما براحتی با کدهای که از قبل استفاده کرده بودم بخش های مختلف آن اجرا شد.
سوالی که امروز برایم مطرح شد این است که چطور می توانم از دستور THIS_WINDOW استفاده کنم؟ من کد را به صورت زیر وارد کردم اما بجای رفتن به صفحه 11 (طبق کدی که دادم) به صفحه اول بخش دیگر پروژه می رود.

("RunMBD ("<SrcDrive>\New Folder\stmain1.mbd","THIS_WINDOW,Page 11


لطفا شیوه صحیح استفاده از فرمان THIS_WINDOW را در کد بالا به من نشان دهید و کد را برایم اصلاح کنید. می خواهم هم از THIS_WINDOW استفاده کنم که از باز شدن پروژه در پنجره دیگر خودداری کنم و هم به صفحه مورد نظرم در خروجی بعد (در اینجا صفحه 11 برود).
با احترام فراوان و آرزوی سلامتی برای تمام کسانی که به دیگران کمک می کنند.
 

evil_gates

اين نيز بگذرد ...
با سلام
تا اینجا کمک های شما باعث شده که احساس آرامش عمیقی داشته باشم. راهنمایی های شما برای تقسیم پروژه ام به چند خروجی مرتبط باعث شده تا باخیال راحت پروژه را با گرافیک بالا طراحی کنم و اصلا نگران زیاد شدن حجم فایل نهایی حاصل از کمپایل شدن پروژه ام نباشم.
امروز پروژه ام را روی کامپیوتری اجرا کردم که در آن برنامه MMB نصب نبود اما براحتی با کدهای که از قبل استفاده کرده بودم بخش های مختلف آن اجرا شد.
سوالی که امروز برایم مطرح شد این است که چطور می توانم از دستور THIS_WINDOW استفاده کنم؟ من کد را به صورت زیر وارد کردم اما بجای رفتن به صفحه 11 (طبق کدی که دادم) به صفحه اول بخش دیگر پروژه می رود.

("RunMBD ("<SrcDrive>\New Folder\stmain1.mbd","THIS_WINDOW,Page 11


لطفا شیوه صحیح استفاده از فرمان THIS_WINDOW را در کد بالا به من نشان دهید و کد را برایم اصلاح کنید. می خواهم هم از THIS_WINDOW استفاده کنم که از باز شدن پروژه در پنجره دیگر خودداری کنم و هم به صفحه مورد نظرم در خروجی بعد (در اینجا صفحه 11 برود).
با احترام فراوان و آرزوی سلامتی برای تمام کسانی که به دیگران کمک می کنند.

دوست عزيز
وقتي از پارامتر THIS_WINDOW استفاده مي‌كنيد پروژه بعدي تو همون پنجره پروژه قبلي و از صفحه اول اجرا ميشه در صورتي كه اگر از نام صفحه استفاده كنيد باز هم پروژه بعدي تو همون پنجره پروژه قبلي اجرا ميشه با اين تفاوت كه به صفحه مورد نظر ميره
بنابراين كد موردنظر شما بايد اينطوري باشه:
کد:
RunMBD("<SrcDir>\myfile.mbd","Page x")

استفاده از دو تا پارامتر THIS_WINDOW و Page lable پشت سرهم معنايي نداره. اما اگه قصد داريد پروژه خودتون رو تو يك پنجره جديد اجرا كنيد در اينصورت ميشه هم پارامتر NEW_WINDOW و هم Page lable رو استفاده كرد تا پروژه شما تو پنجره جديد و از صفحه موردنظر اجرا بشه.
کد:
RunMBD("<SrcDir>\myfile.mbd","NEW_WINDOW,Page x")

موفق باشيد
 

onlymmb

Member
با عرض سلام و خسته نباشید:rose:
اقا واقعا ممنون من هم به همین مشکل دوستم بر خورد کردم اما با دیدن این پست و انجام دستورات شما مشکلم حل.

فقط یک سوال داشتم و اون اینکه که فایل هایی که خروجیشون MBD هست و فردی که روی سیستم مالی مدیا داشته باشه میتونه به اون تکه از پروژه دسترسی داشته باشه و تغییر بده ....
میشه در این باره من رو راهنمایی کنید؟!
 

evil_gates

اين نيز بگذرد ...
با عرض سلام و خسته نباشید:rose:
اقا واقعا ممنون من هم به همین مشکل دوستم بر خورد کردم اما با دیدن این پست و انجام دستورات شما مشکلم حل.

فقط یک سوال داشتم و اون اینکه که فایل هایی که خروجیشون MBD هست و فردی که روی سیستم مالی مدیا داشته باشه میتونه به اون تکه از پروژه دسترسی داشته باشه و تغییر بده ....
میشه در این باره من رو راهنمایی کنید؟!

بله دوست عزيز
اگه كسي رو سيستمش برنامه mmb رو داشته باشه ميتونه فايلهاي mbd شما رو اجرا كنه. براي جلوگيري از دسترسي مستقيم كاربران به اصل فايلها ميتونيد اونا رو از طريق گزينه Compress and Export منوي File ذخيره و براشون پسورد بزاريد يا گزينه Add Source Layer رو بزنيد تا دسترسي كاربران از بين بره.

البته لازم نيست اين نكته رو يادآوري كنم كه امنيت فايلها تو mmb خيلي ضعيفه و دلخوش نباشيد :wink:
 

onlymmb

Member
بله دوست عزيز
اگه كسي رو سيستمش برنامه mmb رو داشته باشه ميتونه فايلهاي mbd شما رو اجرا كنه. براي جلوگيري از دسترسي مستقيم كاربران به اصل فايلها ميتونيد اونا رو از طريق گزينه Compress and Export منوي File ذخيره و براشون پسورد بزاريد يا گزينه Add Source Layer رو بزنيد تا دسترسي كاربران از بين بره.

البته لازم نيست اين نكته رو يادآوري كنم كه امنيت فايلها تو mmb خيلي ضعيفه و دلخوش نباشيد :wink:

ممنون:rose:
خوب نکته اینجاست یک شخص کلی برای این نرم افزار زحمت میکشه و از طرفی مجبور هست که از شیوه ی گفته شده عمل کنه اون وقت باید چیکار کرد......
در واقع باید گفت باداباد:sad:
 

evil_gates

اين نيز بگذرد ...
ممنون:rose:
خوب نکته اینجاست یک شخص کلی برای این نرم افزار زحمت میکشه و از طرفی مجبور هست که از شیوه ی گفته شده عمل کنه اون وقت باید چیکار کرد......
در واقع باید گفت باداباد:sad:

دوست عزيز
عرض كردم كه فايلهاتون رو Export كنيد و گزينه Add Source Layer رو بزنيد يا پسوردي بنويسيد. اين تنها روشي هست كه براي جلوگيري از دسترسي مستقيم به فايلهاي شما وجود داره.

براي امنيت بهتره به مباحث قبلي سري بزنيد تا منظورم رو درك كنيد
 

onlymmb

Member
دوست عزيز
عرض كردم كه فايلهاتون رو export كنيد و گزينه add source layer رو بزنيد يا پسوردي بنويسيد. اين تنها روشي هست كه براي جلوگيري از دسترسي مستقيم به فايلهاي شما وجود داره.

براي امنيت بهتره به مباحث قبلي سري بزنيد تا منظورم رو درك كنيد

شرمنده ها ببخشید شاید کم کاری از من بوده؟!
من مبحثی پیدا نکردم میشه لینکشو برام بذارید...
باز هم میگم شرمنده؟!
 

جدیدترین ارسال ها

بالا