Fa مشکل در ساخت اتوران خاص

wolf21

Member
سلام من می خواستم مثل این اتوران هایی که وقتی بازی نصب میشه بعد install تبدیل به play میشه چکار باید بکنم تا اینطوری بشه لطفا کمک کنید در هر سایتی پست دادم کسی جواب نمیده:cry::sad::rose:
 

evil_gates

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

دوست عزیز

اول ورودتون رو به این انجمن خوش آمد میگم.

دوم برای ساخت چنین اتورانی باید در زمانی که برنامه شما اجرا میشه. با یک شرط وجود برنامه یا بازی مورد نظر رو بررسی کنید. در صورتی که شرط شما صحیح باشه یعنی بازی قبلا رو سیستم نصب بوده و نیازی نیست دوباره نصب بشه. پس میتونید دکمه Play رو فعال و نمایش بدید.

در صورتی که شرط شما صحیح نباشه یعنی بازی شما نصب نیست بنابراین دکمه Play شما هم قاعدتا غیر فعال خواهد بود.

اما اینکه چطوری وجود فایل رو چک کنید.روشهای مختلفی وجود داره.

مثلا میتونید با FileExist وجود فایل رو در مسیری که تعیین کردید بررسی کنید. به شرطی که بدونید کاربر بازی خودش رو کجا نصب کرده.

یا اینکه میتونید در زمان نصب یک متغیر رو در یک جای خاص مثلا رجیستری ذخیره کنید. و هربار که برنامه بالا میاد اول اون متغیر رو چک کنید. که اگه برابر یک بود یعنی بازی شما نصبه و قابل اجرا و اگه متغیر وجود نداشت یا صفر بود یعنی بازی شما نصب نیست.
 
آخرین ویرایش:

wolf21

Member
متشکرم که جوابم را دادید ولی من نمی دونم جچجوری کار کنم می تونید از ابتدا بهم بگید.ممنون میشم اگر بگید
 

wolf21

Member
سلام من با نرم افزار installsheld کار می کنم و می توانم یک متغیر را بگذارم ولی نمدانم چگونه در Multimedia Builder بدم که اجرا بشه.لطفا راهنمایی کنید
 

evil_gates

اين نيز بگذرد ...
اگه متغیرتون رو در زمان نصب در رجیستری و در مسیر HKEY_CURRENT_USER\Software\Mediachance\Multimedia Player\Myapp ذخیره کنید میتونید برای فراخوانی متغیر از دستور LoadVariable متغیر رو فراخوانی کنید.
اگه تو مسیر دیگه ای ذخیره میکنید با SmallPlugin یا پلاگین های دیگه ای که مقادیر داخل رجیستری رو میخونن مقدار متغیر رو برگردونید

تو برنامه اتورانتون تو Page Start این کد رو قرار بدید

کد:
LoadVariable("mygamevar","x")
If (x=1) Then
   Show("myplaykey")
   Hide("installkey")
Else
   Hide("myplaykey")
   Show("installkey")
End
تو کد بالا فرض بر این بوده که شما یک کلید به نام mygamevar با مقدار 1 رو در زمان نصب در رجیستری و در مسیری که بالاتر گفتم ایجاد کردید.

برنامه در زمان شروع ابتدا مقدار این کلید رو تو یک متغیر به نام x بر میگردونه بعد با یک شرط چک میکنه که آیا شرط صحیح هست یا نه؟

در صورتی که شرط صحیح باشه یعنی x=1 باشه پس دکمه play اتورانتون رو نمایش میده

در صورتی شرط صحیح نباشه. یعنی این متغیر وجود نداشته باشه. این یعنی برنامه شما هنوز به درستی نصب نشده. پس دکمه play مخفی و دکمه install نمایش داده میشه.

شما میتونید هر دستور دیگه ای هم که مد نظرتون بود رو با همین شرط اجرا کنید.
 

wolf21

Member
سلام از کمکاتون خیلی ممنون عیدتون را هم پیشاپیش مبارک می گم
ولی من با نرم افزار installsheld فایل را در اینجا می گذارمHKEY_LOCAL_MACHINE|SOFTWARE\ من با برنامه نویسی Multimedia Builder 4.9.8 اشنا نیستم میشه از ابتدا بگین ممنون میشم
 

wolf21

Member
واضح تر میگم
من با نرم افزار installsheld ستاب میسازم و فایل متغیر را هم ذخیره می کنم وهر بار که نصب میکنم اون همون جایی میره که گفتم ولی نمیدانم در برنامه اتوران چه بدم اگر میشه لطف کنید بهم توضیح بدبد.ممنون
 

evil_gates

اين نيز بگذرد ...
دوست عزیز
برای خوندن مقدار کلیدی که با نرم افزار ستاپ سازتون تو رجیستری ایجاد کردید باید از پلاگین ها کمک بگیرید.

مثلا پلاگین SmallPlugin به شما کمک میکنه تا بتونید از رجیستری یک مقدار رو بخونید و تو یک متغیر برگردونید.

برای راهنمایی بیشتر برای آشنایی با پلاگین ها و روش کار اونا توصیه میکنم کتاب آموزشی جناب silvercover رو مطالعه بفرمایید.

برای راهنمای دستورات این پلاگین هم به فایل index که در مسیر نصب برنامه mmb شما پوشه Plugin \ pluginindex هست مراجعه کنید.

شما خود این پلاگین رو هم میتونید در مسیر نصب برنامه پوشه plugins پیدا کنید. یا از همین سایت و در بخش پلاگین ها دانلودش کنید.

حالا برای استفاده اول این پلاگین رو با شی Plugin داخل mmb وارد کنید.

بعد تو page start از این کد استفاده کنید
کد:
regpath$='HKEY_LOCAL_MACHINE\Software\mypath\mykey'
PluginSet("PlugIn","regpath$")
PluginRun("PlugIn","RegistryRead")
PluginGet("PlugIn","get$")
x=val(get$)
If (x=1) Then
   run my commands
Else
   run other commands
End

برای دستورات داخل شرط بالاتر توضیح دادم چی استفاده کنید.

موفق باشید
 

wolf21

Member
سلام
من این نوشته ها را در برنامه بدم
وجای مای پد و مای کی چی باید بدم لطفا واضحتر توضیح بدبد ممنون میشه یکی از اتوراناتون را همین طوری بسازید بزارید من از روی اون بفهمم چگونه درست کردید
regpath$='HKEY_LOCAL_MACHINE\Software\mypath\mykey'
PluginSet("PlugIn","regpath$")
PluginRun("PlugIn","RegistryRead")
PluginGet("PlugIn","get$")
x=val(get$)
If (x=1) Then
run my commands
Else
run other commands
End
 

evil_gates

اين نيز بگذرد ...
سلام
من این نوشته ها را در برنامه بدم
وجای مای پد و مای کی چی باید بدم لطفا واضحتر توضیح بدبد ممنون میشه یکی از اتوراناتون را همین طوری بسازید بزارید من از روی اون بفهمم چگونه درست کردید
regpath$='HKEY_LOCAL_MACHINE\Software\mypath\mykey'
PluginSet("PlugIn","regpath$")
PluginRun("PlugIn","RegistryRead")
PluginGet("PlugIn","get$")
x=val(get$)
If (x=1) Then
run my commands
Else
run other commands
End

دوست عزیز
mypath و mykey همون نام و مسیر کلیدی هست که شما در زمان ساخت ستاپ توسط installshield یا هر نرم افزار دیگه ای استفاده میکنید.

به هر حال شما یک کلید حاوی یک مقدار در مسیری از رجیستری ذخیره کردید.

با این پلاگین میتونید اون متغیر رو فراخوانی و مقدارش رو برگردونید.

حالا با شرط اون مقدار رو چک میکنید.

اگه متغیری وجود داشته باشه حاوی این مقدار در رجیستری که خب شرط شما صحیحه و برنامه دکمه play شما رو نمایش میده.

اگه هم متغیری وجود نداشته باشه یا مقدارش صحیح نباشه این یعنی که کاربر برنامه شما رو به درستی نصب نکرده پس یعنی نقض شرط.

در مورد نمونه هم متاسفانه فعلا دسترسی ندارم. (مسافرتم) در یک فرصت مناسب براتون نمونه میزارم.

موفق باشید
 

wolf21

Member
run my commands
Else
run other commands این دو تا چی هستند و جایشان چی باید بزارم و دکمه نمی خواد که با هاش بازی را نصب و باز کرد.
 

wolf21

Member
run my commands
Else
run other commands اینها چه هستند و باید چه چیز بنویسم
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
دوست عزیز، نکته ی اول اینکه لطف کنید از ایجاد پست های تکراری خودداری کنید، با همون یک پست هم میتونید مسیر پاسخ به سوالتون رو طی کنید.

ایشون در واقع از یک عبارت شرطی استفاده کردند، که اگر فلان مقدار در رجیستری ثبت شده بود یک دستور رو اجرا کن، مثلاً دکمه ی Play رو نمایش بده و در غیر اینصورت یک کار دیگه انجام بده ( مثلاً دکمه ی Play رو مخفی کن)

ساختار عبارات شرطی بدین شکل هست:
کد:
[FONT=Courier New][SIZE=2][COLOR=Blue]If[/COLOR] (Condition) [COLOR=Blue]Then[/COLOR]
[COLOR=Green]** Run some command[/COLOR]
[COLOR=Blue]Else[/COLOR]
[COLOR=Green]** Do something else[/COLOR]
[/SIZE][/FONT][COLOR=Blue]End[/COLOR]
که معنی خط به خطش این میشه:

اگر (یک شرط خاص برقرار شد) سپس
دستوراتی را اجرا کن
در غیر اینصورت
دستورات دیگری را اجرا کن
پایان
 

wolf21

Member
سلام میشه بگین هر کدام را کجا بنویسم و برای دکمه چه بنویسم.کدهاش را
 

Silver PC

Well-Known Member
خب معلومه دیگه :

تو اسکرپت صفحه !

شما باید با استفاده از راهنمایی های دوستان کدهایی رو که بهت دادن رو تغییر بدی
موفق باشی
 

evil_gates

اين نيز بگذرد ...
دوست عزيز
ظاهرا با عجله از كنار راهنمايي هايي كه ميشه رد ميشيد. من تو پستهاي قبلي توضيح دادم كه داخل شرط چه اتفاقي ميفته.

شما بايد دكمه play رو مخفي و دكمه install رو نمايش بديد يا بلعكس.

براي اينكه بتونيد به درستي تصميم بگيريد كه كي دكمه ها مخفي بشن يا نمايش داده بشن احتياج به شرط داريد.

براي اينكه شرط شما به درستي عمل كنه بايد مقداري رو كه تو رجيستري ذخيره كرديد بخونيد.

پيشنهاد ميكنم يكبار ديگه پستهاي راهنما رو با دقت بيشتر مطالعه كنيد.
 

wolf21

Member
سلام
منظور من را متوجه نشدید شما میگید همه این کد را در page start وارد نمایم.وقتی من برنامه را اجرا میکنم صفحه سفید است چیزی نیست که من ان را با ان اجرا کنم.
 

evil_gates

اين نيز بگذرد ...
سلام
منظور من را متوجه نشدید شما میگید همه این کد را در page start وارد نمایم.وقتی من برنامه را اجرا میکنم صفحه سفید است چیزی نیست که من ان را با ان اجرا کنم.

دوست عزيز
شما بايد يك پروژه جديد ايجاد كنيد.

بر اساس طرحتون دكمه و ساير عناصر رو در صفحه بسازيد.

مثلا شما يك دكمه براي play و يك دكمه براي install بايد بسازيد.

بعد از اتمام طراحي شروع كنيد به كدنويسي

كدي كه تو پستهاي قبلي عرض كردم بايد تو page start قرار بگيره (روي آيكن صفحه Page 1 كه در نوار صفحات پايين مشاهده ميكنيد دابل كليك كنيد و به قسمت Script بريد و كد رو اونجا درج كنيد)

پيشنهاد ميكنم كتاب آموزشي جناب silvercover رو با دقت و كامل مطالعه كنيد تا بهتر بتونيد منظور دوستان رو درك كنيد.

موفق باشيد
 

wolf21

Member
من توانستم این کار را انجام بدم و درست وقتی بازی هنوز نصب نبود دکمه install show بود و هر چی کلید را همون جایی که ریختم دادم دکمه play نیمد.ببینید درست دادم.ونمی دانم این ها را باید چی بدم لطفا بگین چی بدم.Plugin
کد:
regpath$='HKEY_LOCAL_MACHINE\Software\My Company Name\My Project Name-1\1.00.0000\game'
PluginSet("PlugIn","regpath$")
PluginRun("PlugIn","RegistryRead")
PluginGet("PlugIn","get$")
x=VAL(get$)
If (x=1) Then
  Show("Play")
  Hide("Install")
Else
  Hide("Play")
  Show("Install")
End
game
همون کلید هست.لطفا راهنمایی کنید.
برای دکمه install این کد را دادم. <SrcDir>\setup.exe
وبرای play هیچی ننوشتم ونمیخواد هیچی بنویسم.
 
آخرین ویرایش:

evil_gates

اين نيز بگذرد ...
دوست عزيز
لطفا تصويري از رجيستري و مسيري كه اين كليد رو ساختيد اينجا بزاريد تا بهتر بشه مشكلتون رو بررسي كرد.
 

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

بالا