عملکرد wait

alighoch

Member
سلامی مجدد
امیدوارم باز اخطار بابت عنوان نگیرم
(بابا من بلد نیستم عنوان انتخاب کنم.همین گیرارو میدن که جلو رشد گرفته میشه.آخه من سعی میکنم هی سوال نکنم اونم بخاطر نوشتن عنوان :green: )

اساتید میخواستم ببینم من چکار میتونم بکنم که پروژه مثل BAT فایل عمل کنه؟ یعنی اینکه مثلا پروژه 3 تا فایل را از سرور دانلود و بریزه تو درایو \:C و بعد فایل 1 را اجرا کنه.خوب تو این حال BAT فایل وقتی فایل 1 تموم شد بعد میره سراغ فرمان بعد و دانلود فایل 2 ،و به همین ترتیب و وقتی فایل 3 دانلودش تموم شد (نه میون کار) اونوقت فایل 1 اجرا میکنه.


جالا تو بیلدر چه فرمانی داریم که تا فرمان قبلی تموم نشده نره سراغ بعدی؟
آیا WAIT کارش اینه؟(من که ندیدم اینطور عمل کنه)

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

evil_gates

اين نيز بگذرد ...
دوست عزيز
منم دقيقا متوجه منظورتون نشدم. شما سه تا فايل مجزا از هم داريد و قصد داريد به ترتيب اونا رو اجرا كنيد؟ يا اينكه منظورتون چيز ديگه اي هست؟

اگه تو خود mmb قصد داريد فرامين يا پروژه اي رو به ترتيب و پشت سرهم اجرا كنيد از دستور ScriptTimer ميتونيد استفاده كنيد و اگه همون گزينه اولي بود كه عرض كردم فكر ميكنم توضيحات جناب ferikoohkan كامل بود.

اگه منظورتون چيزي غير از اين هست لطفا بيشتر توضيح بديد.
 

alighoch

Member
سلام
چرا هیچ کس منظور منو نمیفهمه تو هیچ سوالی جالبه.
ببنید دوستان من میخوام تو یک اسکریپت نوشتم اوال فایل 1 را کپی کن.خط 2 نوشتم فایل 2 را کپی کن.
حالا مشکل اینجاست که میخوام تا فایل 1 بطور کامل کپی نشده نره سراغ فرمان کپی فایل 2
چکار کنم؟


src$='d:\1.dat'
dest$='e:\'
SysCommand("CopyFile","src$,dest$")
src$='d:\2.dat'
dest$='e:\'
SysCommand("CopyFile","src$,dest$")
src$='d:\3.dat'
dest$='e:\'
SysCommand("CopyFile","src$,dest$")
src$='d:\player.exe'
dest$='e:\'
SysCommand("CopyFile","src$,dest$")
Run("d:\player.exe","")​

میخوام فایل 1 که تموم شد بره فایل 2 کپی کنه و وقتی تموم شد بره فایل 3 کپی کنه و بعدش چهارمین فایل و وقتی تموم شد چهارمی را اجرا کنه.راستی نمیخوام تایمری کار کنم میخوام وقتی واقعا تموم شد بگه .مرسیط منتظرم
 
آخرین ویرایش:
سلام فکر کنم این جوری بشه.باید از خود command promt استفاده کنی و فرمان ران به صورت زیر:

Run("<System>\cmd.exe","WAIT,HIDE /c copy file1 file12
Run("<System>\cmd.exe","WAIT,HIDE /c copy file2 file22
Run("<System>\cmd.exe","WAIT,HIDE /c copy file3 file32

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

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
تا جایی که بنده اطلاع دارم روال برنامه ی MMB بدین شکل هست، یعنی وقتی چندتا دستور CopyFile رو پشت سر هم مینویسید، بعد از اجرای هرکدوم میره بعدی رو اجرا میکنه، یعنی تا دستور قبلی کارش تموم نشده نمیره سراغ بعدی، خب البته در برخی موارد متفاوت هست و مثلاً برای پلاگینها باید چک بشه که عملیات انجام شده یا نه و بعد بره سراغ بعدی.
 
تا جایی که بنده اطلاع دارم روال برنامه ی MMB بدین شکل هست، یعنی وقتی چندتا دستور CopyFile رو پشت سر هم مینویسید، بعد از اجرای هرکدوم میره بعدی رو اجرا میکنه، یعنی تا دستور قبلی کارش تموم نشده نمیره سراغ بعدی، خب البته در برخی موارد متفاوت هست و مثلاً برای پلاگینها باید چک بشه که عملیات انجام شده یا نه و بعد بره سراغ بعدی.
کاملا درست است.بنده این رو تست نکرده بودم.تصور کردم جناب alighoch تست کردند.مراحل کپی چند فایل با هم انجام نمیشوند بلکه پشت سر هم و پس از اتمام کپی فرمان بعدی انجام میشوند.
 

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

بالا