سلام
miladali جان
. در كل سوالات پست قبلي نشان از اين دارد كه شما خيلي سريع و فقط براي رسيدن به هدف آموزشهاي اين تاپيك را خوانده يا اصلن بدون مطالعه آن مستقيم رفتيد سر برنامه Robotask و سعي ميكنيد با مشاهده و درك آني هر جمله پي به روش كارش ببريد!؟ (به اين روش آخري ما ميگيم "تنگيدن"!
) اگر همه آموزشها را به شكل كامل يا حداقل آموزش 7 و 8 را كه درمورد كليه دستورات Loop and Flows و همچنين به شكل خواص IF/Then ميشود را مطالعه ميكرديد هيچيك از مشكلات زير برايتان پيش نميآمد.
. به هرحال درسته كه ماكرو نويسي خيلي آسانتر از برنامه نويسي همانند بيسيك و C و... است و حتا در اينجا همه دستورات به شكل تصويري و آماده هستند و شما فقط پنجره دستورات را ديده و پارامترهاشو تنظيم ميكنيد ونيازي به نوشتن خود دستور به شكل تاپيپي نيست! ولي باز هم به هر حال هر نوع برنامه نويسيي براي خودش قوائد و قوانيني دارد! حالا هر چقدر هم كه بخواهد آسان باشد!
من الان تو این بخش به مشکل خوردم یعنی هر کاری میکنم با ارور Value [] is not compatible with boolean experssion مواجه میشم. وقتی loop while تعریف میکنم باید تو کادر اول as boolean و در کادر بعدی 100% Downloaded - Opera! رو بنویسم و در نهایت رویFalse تعریف کنم؟؟
و
حالا یه سوال دارم . الان اگر من با کامپیوتر هم همزمان کار کنم اونوقت captionی که خونده میشه همیشه اشتباهه. راهی هست که بشه اینو حل کرد؟؟( به نظر خودم که نمیشه دیگه سوال کردن نداره
)
. جواب سوال دوم: "
بله! ميشود". چون در روش اول كه پيشنهاد من اون دستور
Windows\Check for Windows بوده شما از آن استفاده نكرديد! (شايد به همان دلايلي كه در ابتداي پست عرض نمودم)
. البته! درست است كه من هنوز دستور While Loop را درس ندادهام ولي در آموزش 8 كه مربوط به توضيح كامل + مثالهاي فراوان از IF/Then است عرض نمودهام كه پنجره فرمان اين دو دقيقن مثل هم است. پس اگر به آموزش 8 نگاهي بيندازيد مثل اين است كه حداقل با پارامترها و روش صحيح مقدار دهي آنها در دستور While Loop آشنا شدهايد.
. حالا تنظيمات صحيح و اشتباهات شما در چه بوده؟!:
1) "
...وقتی loop while تعریف میکنم باید تو کادر اول as boolean و..." اين جا را درست تنظيم نموديد.
2) "
...و در کادر بعدی 100% Downloaded - Opera! رو بنویسم و ..." اينجا اشتباه نموديد. در اينجا بايد نام متغييري كه در دستور بعدي يعني
Windows\Check for Windows بر ميگرداند را درون {} اينجا مينوشتيد.
سوال: چطور نام متغييري را در اينجا بنويسيم كه قبل از خود دستور مقدار دهي ميشود؟! چرا بايد نامش را درون {} قرار دهم؟
پاسخ: شما اگر "
آموزش RoboTask ه-06 متغييرها (Variables)ه..." را مطالعه مينموديد بايد متغيري مثلن به نام IS_FINISHED_TITLE_APPEAR در همان ابتداي ماكرو تعريف مينموديد و مقدار آن را false قرار ميداديد. سپس همين متغيير را در دستور While Loop چك و همين متغيير را در دستور Check for Windows براي مقدار برگشتي وارد مينموديد. مثالهاي فراواني از نحوه استفاده از دستور Check for Windows در پستهاي آموزشي موجود است.
3) "
...و در نهایت رویFalse تعریف کنم؟؟" اين را به درستي تنظيم نمودهايد.
. در نهايت پاسخ اون قسمتي كه آيا ميشه كاري نمود كه كارهاي شما مزاحم اون برنامه نشه؟! بله ميشه اگر از دستور
Windows\Check for Windows استفاده نماييد. (فكر اينجاشو همون اول كرده بودم كه به شما پيشنهادش را داده بودم!
) اين دستور دو پارامتر در كادر Check for داره كه پارامتر Windows Exist آن حلال مشكل شماست.
. ولي بهتره وقتي كه دستور
Windows\Check for Windows پنجره 100% را يافت و از حلقه در آمد يك ديالوگ باكس Question با زمان 10 يا 15 ثانيه پيغامي را نمايش دهد كه به شما بگه كه لطفن با سيستم كار نكنيد. بعد از دستور فوق بايد شما به كمك دستور
Windows\Windows Command پنجره دنلود را جلو بياوريد (منظورم Focus است) و ...
و این دستور Check for window ]م باید همین 100% Downloaded - Opera رو بزنم توش و تمام؟؟
. نه! هم به توضيحات بالا و هم به نمونههاي فراوان استفاده از اين دستور در مثالهاي آموزشها دقت نماييد.
وبرایش : من با یه راه دیگه که میاد با یکی از متغیرهای خود روبوتسک caption پنجره اصلی رو میخونه و با همین captin 100% چک میکنه مشکل رو حل کردم.
. آفرين. يكي از محاسن تنگيدن همين يافتن چيزهاييست كه ممكنه جايي در مورد آن توضيحي وجود نداشته باشد يا خيلي كم باشد! ولي!!! بارها عرض نمودم، تنگيدن بدون داشتن اطلاعات پايهاي از آن موضوع، كار باطل و وقت تلف نمودن است! در اينجا 8 تا آموزش است كه با توجه به اطلاعات خوب شما و تسلط شما بر سيستم (بر اساس شواهد و پستهايتان) شايد فقط 4 تا از اون آموزشها براي شما لازم به مطالعه باشد و نگاهي كلي به بخشهاي آموزشهاي ديگه... پس فكر كنم ارزش تلف وقت داره كه اول آنها را نگاهي نماييد سپس شروع به استفاده از برنامه Robotask نماييد!؟
. باز هم اگر مشكل يا سوالي بود بفرماييد در خدمتم.... (ولي پس از مطالعه آموزشها....!)....
موفق باشيد.
خداحافظ
IgImAx
90/06/11