برگزیده های پرشین تولز

آموزش،معرفي برنامه‌هاي ماكرو - اتوماسيون كارهاي كامپيوتري روزانه‌تان

شما معمولن از كدام برنامه‌هاي زير بيشتر استفاده مي‌كنيد؟

  • AutoHotkey

    Votes: 0 0.0%
  • برنامه شماره 7ي كه در آينده در پست اول معرفي خواهد شد

    Votes: 0 0.0%
  • برنامه شماره 8ي كه در آينده در پست اول معرفي خواهد شد

    Votes: 0 0.0%

  • Total voters
    17

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
به نام خدا

همه چيز را همگان دانند و همگان هنوز از مادر زاده نشده است!


سلام
1.gif



(توجه: ليست كامل و به روزشده راهنماهاي نوشته شده توسط IgImAx در اين آدرس قرار دارد)

همواره پست‌هاي اول تاپيك‌هاي من را كامل مطالعه نماييد. چون همواره آنها را به روز مي‌كنم.

106.gif
ممكنه براي مشاهده تصاوير موجود در پست‌هاي من نياز به اجراي يك هيتلر شكن داشته باشيد!!!
45.gif




**********************
اطلاعت پايه‌اي در مورد برنامه‌هاي Macro:

* برنامه‌هاي ماكرو اساسن چه نوع برنامه‌هايي هستند؟
. برنامه‌هاي ماكرو (Application Macros) برنامه‌هاي بسيار ساده و كوچكي هستند كه كاربران(Users) مي‌توانند به دلخواه خود يكسري از حركات Mouse pointer (نشانه گر موش) و فشار كليدهاي Mouse و Keyboard را توسط اين برنامه‌ها به شكل فرمان‌هاي پشت سرهم درون فايلي ضبط نمايند و سپس با اجراي مجدد آن فايل، خود اين برنامه‌ها همان حركات نشانه گر موش و فشار كليد‌هاي كيبورد را عينن تكرار نمايند! مانند اين كه كاربري دارد Mouse را تكان مي‌دهد يا در مكانهايي اطلاعاتي را توسط Keyboard تايپ مي‌نمايد!

. برنامه‌هاي ماكرو، تمامي حركات Mouse و كليد‌هاي فشرده شده در Keyboard را به شكل فراميني پشت سر هم ذخيره مي‌نمايند. سپس كاربران مي‌توانند به دلخواه يا بر اساس نياز خود بعضي از اين فرامين را تغيير يا حذف كنند.

* Script نويسي در برنامه‌هاي ماكرو؟
. بعضي از برنامه‌هاي ماكرو امكان اضافه نمودن فرامين و دستوراتي در لابلاي فرامين ذخيره شده از ورودي موش و كيبورد را به ما ارائه مي‌دهند. اين عمل باعث افزايش كارايي و هوشمندي فرامين ساده ذخيره شده از وسايل ورودي، مي‌شود.

. نام و روش كار دستورات و فرامين در برنامه‌هاي ماكروه خيلي شبيه دستورات موجود در زبان‌هاي برنامه نويسي و به خصوص زبان بيسيك هست، ولي با دو تفاوت بسيار بزرگ:

1) كاربران به هيچ وجه نياز به داشتن اطلاعات اوليه‌اي از زبانهاي برنامه نويسي ندارند!

2) تقريبن در اكثر برنامه‌هاي ماكرو، نياز نداريد كه حرف به حرف يا كلمه به كلمه دستورات را تايپ كنيد! بلكه دستورات به شكل آماده و گرافيكي درون يك Dialog Box(پنجره‌اي با اندازه ثابت) به شما نمايش داده مي‌شود و سپس شما فقط پارامترهاي مورد نياز آن دستور و مورد نظر خود را وارد مي‌نماييد و برروي دكمه OK كليك مي‌نماييد و دستور جديد در بين ديگر دستورات و فرامين قرار مي‌گيرد.

. به همين سادگي و به همين خوشمزگي!! اينقدر ساده كه حتا شمايي كه تا به امروز چيزي از برنامه نويسي هم نمي‌دانستيد مي‌توانيد از اين نوع برنامه‌ها استفاده نماييد.

* و اما! سوال مهم و اصلي: فايده و كاربرد برنامه‌هاي ماكرو در چيست؟
. اساسن ماكروها براي يك هدف به وجود آمده‌اند! و آن هم خودكارسازي(=اتوماسون=Automation) كارهاي ساده ولي روتين و هرروزه‌اي كه كاربران بايد براي انجام كارهاي خود زماني را در پشت كامپيوتر به سر ببرند! وقتي چنين كارهاي روتين و ساده‌اي را بتوان به ماكروها سپرد، كاربران مي‌توانند با خيال راحت سيستم خود را ترك نموده و به كارهاي ديگري رسيدگي نمايند و در نهايت از نتيجه كارهاي ماكروها استفاده ببرند. براي نمونه مي‌توان مثال‌هاي زيادي آورد:

* برقراري خود كار با اينترنت و اجراي يكسري برنامه پس از ارتباط با اينترنت و اتمام ارتباط بر اساس وقوع شروطي خاص
* باز نمودن برنامه‌هايي خاص در سر ساعاتي خاص و انجام تغييراتي در آنها و ذخيره آنها
* كنترل يك فولدر براي زماني كه يك سري فايل خاص در آن كپي شود وسپس بر اساس محتوياتشون آنها را در فولدر‌هاي ديگه‌اي منتقل نمايد و كارهايي روي آنها انجام دهد.
* جمع آوري اطلاعاي و FTP كردن آنها به سايتي هرروز و در ساعاتي خاص
* در صورت تغيير در فايل Excel داده هاي آن را بر اساس برنامه داده شده پردازش نمايد
* كنترل حافظه سيستم و به مجرد اجراي يك برنامه يكسري دستورات انجام شود
* كنترل Inbox ايميل و در صورت رسيدن ايميلي خاص كه از قبل تعريف شده ارسال جوابي به آن يا هر كار ديگري
* ....

. شايد براي انجام بعضي از اين اعمال نياز به نوشتن يك برنامه بسيار طولاني و پيچيده در زبان‌هاي بيسيك يا C باشد ولي شايد باور نكنيد فقط با حداكثر 10 خط مي‌توان بعضي از كارهاي فوق را در بعضي از برنامه‌هاي ماكرو انجام داد!!!



**********************
هدف تاپيك و نحوه مشاركت در آن:
. در اين تاپيك همه دوستاني كه با برنامه‌هاي Macro و Script نويسيشان آشنا هستند مي‌توانند برنامه مورد علاقه خود را معرفي يا آموزش يا نمونه‌اي از برنامه‌هاي خود را براي استفاده يا تمرين ديگران در اينجا قرار دهند. حتا اگر مايليد، مي‌توانيد Scriptهايي كه با ماكرو‌هاي مورد علاقه خود نوشته‌ايد را براي استفاده ديگران در اينجا قرار دهيد.

. فهرست(شماره پست) پست‌هاي آموزشي يا معرفي برنامه‌ها در پست دوم قرار مي‌گيرد و فهرست نمونه برنامه‌هاي Script كاربران يا برنامه‌هاي درخواستي حل شده كاربران در پست سوم ليست خواهد شد. پس هيچ پست آموزشي يا Scriptي لابلاي پست‌هاي اين تاپيك گم نخواهد شد.

. كاربران مي‌توانند سوالات خود را در مورد اينكه چگونه فلان كار را با فلان برنامه انجام دهند در اينجا مطرح نمايند و دوستاني كه با آن برنامه آشنا و واردند به ايشان راهنمايي نمايند! ولي خواهشن سعي نكنيد آماده خوري يا تنبلي كنيد!!! يعني سعي كنيد چنين برنامه‌هايي كه بسيار بسيار ساده هستند را خودتان هم ياد بگيريد و براي خودتان ماكرو بنويسيد و فقط در جاهايي كه خيلي كارتان گير مي‌كند سوال بفرماييد! سعي من و دوستان در اين هست كه به شما آموزش دهيم و نه اينكه تكاليف يا كارهاي شما را ما برايتان انجام دهيم!



**********************
آشنايي با چند برنامه Macro:
. در زير نمونه‌هايي از برنامه‌هايي كه مي‌شناسم را براي آشنايي شما و باز بودن دست شما براي انتخاب از بين آنها به شكل خيلي خلاصه مي‌نويسم (دوستان اگر برنامه‌اي را مي‌شناسند كه در ليست زير نيست لطفن به من اطلاع دهند، ممنونم
53.gif
):

Extra Features
Editor
Scripts
Mouse/Keyboard
Capture
Application Name(X Y/Z)
X: License Free/Trial
Y:Total Command
Z:Total Command Groups

#
Basic Script Support
Yes​
Yes​
Yes​
RoboTask(T 120/20)i1
Yes​
Yes​
Yes​
Macro Express(T 200+/22)i2
Debugger * Image Recognition * Compile to Exe
Yes​
Yes​
Yes​
Winautomation(T 130/22)i3
at 3 version and too many features * Server/Desktop!
Yes​
Yes​
Yes​
Automation Anywhere(T 480/?)i4
very professional scripting!! Build GUI! & Exe! & DLL! & use API!! ... i
Yes​
Yes​
???
Autoit(F ??/??)i5
joystick! * Expand abbreviations * Remap keys * Compile to Exe * Respond to Remote Control! i
No
Yes​
No
AutoHotkey(F ??/??)i6
image recognition * Automator for Windows
Yes​
Yes​
Yes​
Macro Recorder (F ??/??)i7
Only Mouse and Keyboard capture * Free and Very Small size
No
No
Yes​
Ghost Mouse (F 0/0)i8
SNMP * Cryptography * Server/Desktop
Yes​
Yes​
Yes​
AutoMate (T 460/28)i9
10


*** Copyright ***
در صورت استفاده نمودن اين پست‌ يا پست‌هاي ديگر اين تاپيك در سايت يا ...، لطفن:
1) حتمن به نويسنده اطلاع داده شود.
ايميل
2) متن بدون دستكاري شده مقاله را استفاده نماييد. (مگر با اطلاع و تاييد نويسنده)
3) در انتهاي مقاله: نام نويسنده(IgImAx)
و لينكي به اين تاپيك و آدرس ساير مقالات نويسنده
http://igimax.googlepages.com ذكر شود.
>>> با تشكر از همكاري شما <<<



موفق باشيد.
67.gif


خداحافظ
IgImAx
89/07/27
26.gif
103.gif
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
فهرست مقالات آموزشي برنامه‌هاي ماكرو
نوشته شده توسط كاربران

***************************
نام و لينك پست آموزش‌ها
نويسنده
لينك
آموزش RoboTask‎‏ - 01 ديد كلي بر برنامه​
IgImAxلينك
آموزش RoboTask‏ - 02 آشنايي با محيط برنامهIgImAxلينك
آموزش RoboTask ‏- 03 آشنايي با پنجره ADD/Edit Task.IgImAxلينك
آموزش RoboTask ‏- 04 مراحل ايجاد اولين Task...IgImAxلينك
آموزش RoboTask ‏- 05 راهاي مختلف اجراي TaskهاIgImAxلينك
آموزش RoboTask ‏- 06 متغييرها (Variables)‏IgImAxلينك
آموزش RoboTask ‏- 07 دستورات كنترلي (Loops and Flows)IgImAxلينك
آموزش RoboTask ‏- 08 دستورات كنترلي 2 - دستورات FlowهاIgImAx
لينك
آموزش RoboTask ‏- 09 دستورات كنترلي 3 - دستورات Loopها (پايان)
IgImAx
لينك
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
فهرست نمونه ماكرو‌ها
*****************‎​
نام ماكرو و لينك پستنام كاربرْلينك
تمامي كدهاي درون پست‌هاي "آموزش‌هاي Robotask" در اين آدرس قرار دارند
IgImAxلينك
O
O​
O​
O​
O​
O​
O​
O​






فهرست مطالب مهم/نكات و معرفي برنامه‌هاي جانبي
**************************************‎​
موضوعنام كاربرْلينك
مقايسه تصويري و خلاصه برنامه‌هاي مختلف ماكرو
IgImAxلينك
برنامه‌اي براي ايمني بيشتر Windows Auto Logon And Lock
IgImAxلينك
روش Unlock Workstation نمودن ويندوز پس از Lock كردنش
miladaliلينك
معرفي برنامه AutoMate - فوق العاده گران!! ولي با امكانات بسيار زيادIgImAxلينك
معرفي برنامه Ghost Mouse - مجاني، بسيار كوچك و فقط براي ضبط حركت موش و كليد‌هاي فشرده شده صفحه كليدIgImAxلينك
نتيجه اولين تست برنامه Automate و مقايسه آن با برنامه‌هاي Robotask و WinAutomationIgImAxلينك
O​
O​
O





فهرست سوالات و پاسخ‌ها
**********************‎​
خلاصه سوال‌ها.لينك سوال و پاسخ‌
چطور در برنامه RoboTask پس از باز نمودن IE، يك سايت را در آن باز نمايم؟
Q..ه...A
چطور گزينه‌هاي درون پنجره يك برنامه را به كمك RoboTask انتخاب يا كنترل كنم؟
Q..ه...A
آيا مي‌شه Taskهاي نوشته شده در RoboTask را به EXE تبديل كرد؟
Q..ه...A
آيا RoboTask داراي دستوري براي پشتيباني از DTMF دارد؟
Q..ه...A
آيا RoboTask داراي دستوري براي روشن شدن پس از حالت Standby هست؟ اگه نه چيكار كنم؟
Q..ه...A
چرا در زمان Save تصوير Screen Capture توسط برنامه IrfanView در ريشه درايو C پيام خطا مي‌دهد؟O
Q..ه...A
من يك DialogBox را باز نموده‌ام (مثلن اين Regional and Language Setting) حالا چطوري گزينه‌هايش را تغيير دهم؟Q..ه...A
توضيح كلي براي تغيير اكنت PPPoE در مودم‌هاي ADSLهQ..ه...A
آيا مي‌شه Taskهاي نوشته شده در RoboTask را به EXE تبديل كرد؟خير (تا اين نسخه نه!)
چطور ميشه پس از Lock كردن ويندوز آن را به كمك برنامه‌هاي Automation دوباره Unlock نمود؟پاسخ
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام دوستان عزيز
1.gif




106.gif
ممكنه براي مشاهده تصاوير موجود در پست‌هاي من نياز به اجراي يك هيتلر شكن داشته باشيد!!!
45.gif


فهرست كامل مقالات آموزشي ماكرو‌ها در پست دوم موجود است


آموزش RoboTaskه-01 ديد كلي بر نحوه استفاده از برنامه
***********************
مقدمه: چرا RoboTask؟
. خوب قبل از شروع! يك سوال!: چرا RoboTask؟ روزي كه من از بين برنامه‌هاي نامبرده در پست يك (6-تاي اولي!) شروع به تست و آشنايي با محيط و توانايي‌هايشان نمودم، برنامه Robo task تنها برنامه‌اي بود كه در بعضي از دستوراتش امكان Customize بيشتر داشت. همچنين در Editor اين برنامه، فرمان‌ها خواناتر نوشته مي‌شدند و استفاده از آن خوش دست‌تر وبسيار راحتتر بود. (در نسخه‌هاي جديدتر اكثرشون توانايي‌هاي زيادي اضافه شده است كه قبلن نداشتند)

. خوشبختانه تقريبن روش استفاده از تمامي برنامه‌هاي ماكرو كه فرامينشون را به شكل تصويري (Visual در يك Dialog box) به نمايش در مي‌آورند بسيار ساده و همانند هم هستند. يعني وقتي شما اصول اوليه كار كردن با يكي از برنامه‌هاي RoboTask يا Macro Express يا WinAutomation يا Automation Anywhere را ياد بگيريد، به راحتي مي‌توانيد با سه تاي ديگه هم كار كنيد. فوقش تفاوت در تعداد بيشتر يا كمتر دستورات و تفاوت ورود پارامترها در Dialog Boxهاي فرامين هست.

. پس با RoboTask شروع مي‌كنيم كه براي مبتدي‌ها برنامه بسيار خوش دست تر و در عين حال از جهاتي بسيار كامل هست!



********************************
آدرس دنلود كد ماكروهاي مثال‌هاي زير و آپلودي دوستان:
. شما مي‌توانيد نمونه كد مثال‌هاي زير يا دوستان را از آدرس زير دنلود نماييد:


. براي اضافه نمودن كدهاي دنلودي مي‌توانيد: از پنجره اصلي Robotask به منويTask\Import...o رفته و آدرس فايل Taskي كه قبلن Export\Download نموديد و برروي هاردديسك شما هست را داده و آن را وارد ليست Taskهاي درون پنل Tasks Panel نماييد. (Tasks Panel در پست 6 تصوير يك توضيح داده‌ام. همانجا كه با شماره يك در آن تصوير مشخص شده است)



********************************
نمونه فرمان‌هاي ماكرو براي حل بعضي از مسايل كاربران؟
. خوب از مثال‌هاي ساده شروع مي‌كنيم تا كم كم به نمونه‌هاي پيچيده برسيم. توجه داشته باشيد كه در اين قسمت از آموزش، فقط هدف ما آشنايي شما با سادگي كار با چنين برنامه‌هايي هست و همچنين مشاهده اين كه مي‌توان با حداقل استفاده از دستورات ماكرو كار‌هاي ساده تا پيچيده روزانه را به شكل اتوماتيك با اين نوع از برنامه‌ها انجام دهيم. پس فعلن با خود دستورات و روش استفاده‌شون و معني و ... آنها كاري نداريم!

. بر اساس نوع كاري كه مي‌خواهيم انجامش را به برنامه‌هاي ماكرو بسپاريم، گاهي براي حل آن مسائل مي‌توان فقط حركت نشانگر موش و ورودي كيبورد را ذخيره نمود و گاهي ميتوان فقط از دستورات ماكرو استفاده نمود و گاهي هم تركيب ايندو لازم مي‌شود. تمامي اين موارد به نوع كار شما بستگي داره و اينكه شما كدام راه را بهتر، مطمئنتر و سريعتر بدانيد!

exclamationmark02.gif
نكته : در نمونه برنامه‌هاي ماكرو زير، دستوراتي كه با دو كاراكتر // شروع شده‌اند(از سمت چپ)، به آنها Comment(= توضيحات) مي‌گويند. خطوط Comment فقط براي واضحتر شدن و درك بهتر برنامه در جلو يا زير فرامين براي آگاهي كاربر نوشته مي‌شوند و هيچگونه خاصيت اجرايي يا تاثيري در اصل برنامه ندارند!


* مسئله 01: باز نمودن يك صفحه وب و عكس گرفتن از آن:
. فرض كنيد شما هر روز و در ساعاتي مشخص بايد تغييرات يك سايت را نگاه نماييد و فردا گزارشي در مورد آن به مديران خود ارائه نماييد! با كمك ماكرو ديگر نيازي نيست كه در اون ساعات خاص پشت سيستم خود بنشينيد! يا اگر هم هستيد يادتان باشد!! چون ماكرو اينكار را براي شما انجام مي‌دهد!


. همانطور كه در شكل كاملن مشخص هست، فقط در 4 خط فرمان اعمال فوق انجام شده است! (خطوط 2 و 4 و 6 و 8 خطوط Comment يا همان توضيحات هستند كه براي بهتر متوجه شدن شما پس از هر فرمان توضيحاتي در مورد فرمان قبلي قرار داده‌ام تا بهتر متوجه شويد) فقط براي Capture Screen و ذخيره آن، از برنامه كوچك و بسيار عالي IrfanView استفاده نمودم كه فرامين Command Line (خطوط فرمان) خاص خودش را هم دارد و كار را خيلي ساده مي‌كند. حالا جزئيات مهم نيست مثل اينكه چگونه سر ساعاتي خاص ماكرو فوق اجرا شود يا ...


* مسئله 02: اجراي يكسري برنامه‌ها بر اساس كاربري كه هم اكنون لاگين نموده:
. شما ويندوزي با دو (يا بيشتر) حساب كاربري به نام‌هاي ali و omid داريد. حالا مي‌خواهيد براي هر كاربر در زمان لاگينش يكسري فايل‌هاي يا كارهاي خاص همان كاربر انجام شود. با برنامه Robotask خيلي راحت مي‌شود اين كار را نمود.


. درون شكل توضيحات كاملن مشخص است! در خط يك نام كاربر فعلي از ويندوز گرفته مي‌شود و بر اساس اينكه نام كاربري كنوني، ali يا omid هست فقط Actionهاي درون يكي از قسمت‌هاي كه با شماره 2 مشخص شده‌است، اجرا مي‌شود.


* مسئله 03: برقراري ارتباط با اينترنت و سپس اجراي يك سري برنامه:
. خوب مسئله فوق نياز اكثر كاربران هست. حالا فرض كنيم كه ما معمولن ابتدا سعي مي‌كنيم به اينترنت دسترسي يابيم! ممكنه چندين بار نياز باشه كه Dial كنيم. پس از مدتي كه عمل ديال انجام شد ممكنه ارتباط برقرار شود يا نه!؟ اگر برقرار شد آنوقت برنامه Firewall را براي ايمني و برنامه Office Outlook را براي دريافت ايميل‌ها اجرا خواهيم نمود. اما در صورتي كه ارتباط برقرار نشود هيچيك ازبرنامه‌هاي فوق را اجرا نخواهيم نمود!


. براي انجام كار فوق فقط 6 خط فرمان نياز هست! دوباره براي درك بهتر، در لابلاي فرامين چندين خط Comment قرار داده‌ام.


* مسئله 04: افزايش توانايي مسئله قبل براي Reconnect كردن:
. خوب ممكنه كه وسط ارتباط اينترنتي شما ناگهان ارتباط قطع شود!!؟؟
102.gif
(كه متاسفانه اين مورد در ايران زياد رخ مي‌دهد!
45.gif
) جالبه كه براي حل اين مسئله مي‌توان از همان ماكرو قبلي استفاد نمود. كافي هست كه يك Monitoring (= مراقب يا ديده باني دائم) براي كنترل قطع شدن كانكشنمان در Tab (تب/[زائده برچسب پوشه]) Triggering Events([فعال‌كننده بر اساس رويداد]) بايد يك فرمان كنترل كننده براي كانكشن موردنظر قرار دهيم:


شكل چهارم
تصوير مثال چهارم

. همانطور كه در خود شكل توضيح داده‌ام، در هر 5 ثانيه وظعيت كانكشني به نام Sabanet چك مي‌شود. اگر ارتباط قطع شده باشد، ماكرويي كه در قسمت 3 نوشتيم اجرا مي‌وشد. (دقت كنيد كه اين Trigger event در پنجره همان ماكرو 3 نوشته شده به همين دليل هم فرامين موجود در تب Action همين پنجره كه در واقع همان ماكرو شماره 3 هست اجرا خواهد شد) حالا ديگه در اين دو مثال ما حالات خواص را در نظر نگرفتيم. همانند اينكه در صورت قطع كانكشن و شماره گيري مجدد، اگر اون دو برنامه قبلن اجرا شده‌اند، دوباره اجرا نشوند يا ....(مثال هست ديگه! سخت نگيريد!!)


* مسئله 05: مجزا نمودن فاكتور فروش:
. (ممكنه در ابتدا از صورت مسئله وحشت كنيد!! ولي بعدن كه حل مسئله را با ماكرو ديديد، از سادگي و كمي فرامين خنده‌تان مي‌گيره!!) شما حسابدار يك فروشگاه كامپيوتري هستيد! (مباركه!) در انتهاي هرروز ليست كليه فروش قطعات كامپيوتر در درون يك فايل Text(فايل متني ساده) به شما داده مي‌شود. شما بايد فاكتور قطعات مختلف را از مدل‌هاي ديگه جدا و در فايلي به نام همان قطعه قرار دهيد.(فاكتور موس‌هاي فروخته شده در فايلي به نام mouse.txt و كيبورد‌ها در فايلي به نام keyboard.txt ...). ممكنه در ليست فاكتور امروز 5 تا موس و 20 كيبورد و 8 عدد موس پد فروخته شده باشد و همه اين قطعات در يك زمان و پشت سر هم كه فروخته نشده!؟ پس قطعات هم نوع در ليست فاكتور و پشت سر هم قرار نداردن!
17.gif
ولي خوب! فرمت كلي فاكتور‌هاي تمامي قطعات به يك شكل است. توجه نماييد:

Device_Name
Date: Today_Date
Model: Model_Number
Price: Selling_Price
Seller: Seller_Name
o
. پس ممكنه فاكتور فروش يك روز چيزي شبيه به اين باشد:


mouse
Date: 89/07/29
Model: A4Tech-32
Price: 12,000/-
Seller: Omid Mohammadi

mouse
Date: 89/07/29
Model: Dell-DL89
Price: 18,000/-
Seller: Omid Mohammadi

keyboard
Date: 89/07/29
Model: Farasoo-5200
Price: 11,500/-
Seller: Ali Rezai

mouse
Date: 89/07/29
Model: A4Tech-Pro Office
Price: 28,000/-
Seller: Maryam Mohammadi

. (براي سادگي فقط موس و كيبورد را در نظر گرفتم) خوب فكر مي‌كنيد همچين مسئله‌اي به چه تعداد خط فرمان نياز دارد؟! اصلن امكان حل همچين مسئله‌اي با ماكروها هست؟!؟!؟!
4.gif
بـعـلـــه! هست! مثل هلو!:


. خنده‌داره نه!؟ فقط 9 خط نياز هست!!! البته من فقط دو قطعه را در برنامه گنجانده‌ام، اما اگر نياز به ذكر قطعات بيشتري باشد، به راحتي ميظتوان ماكرو فوق را گسترش داد. براي اضافه نمودن قطعات جديد، بايد براي هر قطعه 3 خط ديگر به فرامين فوق اضافه نمود. براي اينكار كافيست كه از خطوط 9 و 11 و 13 فرامين فوق Copy گرفته و سپس آنها را در زير خط 13 به بعد Paste نماييم. البته بعد از Paste نمودن، بايد در درون اون فرامين تغييراتي دهيم تا نام قطعات جديد را نيز تشخيص دهد. (زياد به اين جزئيات كاري نداشته باشيد و فعلن مهم نيست! هدفمان چيز ديگه‌ بود! نه؟!)


* مسئله 06: مسئله 01 را به روش ديگر و با حركت موس حل نماييم :
. براي نمونه بد نيست كه يك ماكرو هم بر اساس حركت موش طراحي نماييم!! تصوير زير ا ببينيد:


. در تصوير دوباره خطوط Comment زيادي براي فهم بهتر قرار داده‌ام، ولي خيلي خلاصه! اول شروع به Record Macro براي ضبط حركت نشانگر موش نمودك كه پس از شروع ضبط ابتدا IE را از منوي Quick Lunch اجرا كرده و بعد از باز شدنش و در قسمت آدرس بارش آدرس سايت را نوشتم و صبر كردم تا سايت كامل Load(= بارگذاري) شود، سپس IE را بستم و ضبط حركات موش را متوقف نمودم. سپس دستور اجراي برنامه IrfanView را براي عكس گرفتن از صفحه(خط 21) و دستور وارد نمودن عبارت www.google.com را براي باز نمودن صفحه سايت مورد نظرم (خط 18) را به شكل مجزا و دستي لابلاي دستورات وارد نمودم.

exclamationmark02.gif
نكته : دو ضعف RoboTask را در همين ابتداي كار ذكر كنم! يك) Record Macro در آن فقط شامل ضبط حركات موس مي‌شود و هيچيك از كليد‌هاي فشرده شده كيبورد را كپچر نمي‌كند!! در اين زمينه برنامه Macro Express از همه بهتر است. دوم) در فرمان Send Key آن نمي‌تواند "فشار كليد ويندوز" را شبيه سازي نمايد! هر دوي اين موارد براي شروع كار و اساسن يادگيري كار با چنين برنامه‌هاي اصلن مهم نيست! ولي گفتم كه گفته باشم!!



********************************
اتمام آموزش 01 و خلاصه:
. خوب براي نمونه و آشنايي كلي با آنچه كه قرار است انجام دهيم همين تعداد مثال كافي است!(نه!؟
5.gif
)

* براي انجام كاهاي روزانه مي‌توان با چند خط فرمان ساده، كلي در وقت خود صرفه جويي نماييم!
* عبارات و كلمات فرامين به سادگي گوياي عملي كه انجام مي‌دهند، مي‌باشند. (مثل اينكه با پشت سر هم قرار دادن كلماتشان به همان ترتيبي كه در ماكروها آمده‌اند، تا حدودي مي‌توان جملاتي را درست نمود كه دقيقن همانند نوشتن راه حل مسئله به گويش خودمان هست!)
* براي حل يك مسئله ممكنه چندين راه وجود داشته باشد. راه كوتاه يا راه دراز! راه ساده يا راه پيچيده! دليلي ندارد كه راه‌هاي كوتاه همواره ساده‌ترين راه‌ها باشند يا برعكس! آنچه كه مهم هست اين است كه اول راه ما جواب حل مشكل را بدهد دوم تا جايي كه ممكن هست از سريعترين راه و مطمئنترين راه مسئله را حل نماييم.


موفق باشيد.
67.gif


خداحافظ
IgImAx
89/07/28
26.gif
103.gif
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
106.gif
ممكنه براي مشاهده تصاوير موجود در پست‌هاي من نياز به اجراي يك هيتلر شكن داشته باشيد!!!
45.gif


فهرست كامل مقالات آموزشي ماكرو‌ها در پست دوم موجود است

در اين پست شما مي‌توانيد مقايسه تصويري بين
ليست تمامي دستورات هر برنامه ماكرو
و محيط Editor شان
و نقاط قوت و ضعف شان
را از ديد كاربران مشاهده نماييد.
(مواردي كه از ديد كاربران هست، با ذكر نامشان خواهد بود و از دد خودم بدون نام خودم!)
اين پست به مرور به روز مي‌شود


مقايسه تصويري نوع و تعداد دستورات(Action و ...) هر برنامه ماكرو
*****************************************


شكل اول
تصاوير تمامي دستورات RoboTask v4.1




شكل دوم
تصاوير تمامي دستورات Macro Express Pro v4.1.7.1




شكل سوم
تصاوير تمامي دستورات WinAutomation v3.0.3.410



...ه...
my.php
Function Lists Image...ه... ...ه... COM Extensions Image...ه...

....ه...Keywords.......ه.............................................Data Types......................................ه........Macro
شكل چهارم
ليست كوچكي! از دستورات و توابع برنامه AutoIt v3.3.6.1
(نكته جالب اين كه در DataType اين برنامه متغيير‌هاي Pointer كه همانند زبانC\C++i موجوده!)




لينك شكل پنجم
تصوير گروه‌ها و دستورات كامل برنامه Automate 8.0.1.0






ذكر نقاط قوت و ضعف برنامه‌هاي ماكرو(از ديد كاربران)
*********************************
robotaskicon.gif
ه RoboTask :
goodsigntumbup.gif
نقاط قوت (Pros):
ه1) GUI ساده و قابل استفاده براي مبتديان
ه2) نسبت به رقيبان خود برنامه كم حجم و سبكتري هست.
ه3) Editor دستوراتش ساده و با نگارشي زيبا و با رعايت فاصله در دستورات شرطي يا كنترلي
ه4) تقريبن تمامي دستوراتي كه يك كاربر براي انجام كار‌هاي ساده تا كمي پيشرفته روزانه خود نياز داد، را دارا مي‌باشد.
ه5) داراي يك Plug-ins به نام Basic Plugin هست كه امكان اضافه نمودن كد‌هاي VBS را به Task-ها فراهم مي‌كند. متغيير‌هاي درون VBS از Taskها (و برعكس) قابل دسترسي هستند.
ه6) Help ساده‌اي داره كه با فشار كليد F1 در ديالوگ باكس دستورات يا رويداد‌ها، راهنماي بسيار خلاصه و به زبان ساده‌اي را نمايش مي‌دهد.

badsigntumbdown.gif
نقات ضعف (Cons):
ه1) توانايي Compile to EXE يا تبديل Taskها به Exe را ندارد!
ه2) در Task‌هايي كه داراي چندين Events در تب Trigger Events هستند، امكان تشخيص اينكه كدام Event اكنون باعث اجراي Task ما شده وجود ندارد! (نمونه مثال در آموزش 5)
ه3) Record Macro آن نمي‌تواند Keystrokes(فشار كليدهاي صفحه كليد) را كپچر كند!!! و فقط حركت Mouse Pointer و كليدهاي آن را كپچر مي‌كند!!!!!
ه4) در Help بعضي از دستورات، توضيح بعضي از پارامتر‌ها داده نشده!؟ كه در بعضي از جاها ممكنه مشكل ساز بشه! (و براي من در يكجا شده!)
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام دوستان عزيز
1.gif




106.gif
ممكنه براي مشاهده تصاوير موجود در پست‌هاي من نياز به اجراي يك هيتلر شكن داشته باشيد!!!
45.gif


فهرست كامل مقالات آموزشي ماكرو‌ها در پست دوم موجود است


آموزش RoboTaskه-02 آشنايي با محيط برنامه
***********************
پنجره اصلي RoboTask
. اين برنامه فقط داراي يك پنجره اصلي (Main Window) بوده كه بسيار GUI ساده (رابط گرافيكي كاربر - Graphical User Interface) و راحتي براي دسترسي/نوشتن/تغيير ماكروها در اختيار كاربران قرار مي‌دهد. در اين برنامه به ماكرو‌هاي ايجاد شده توسط كاربر Task گفته مي‌شود.(چه Script و چه ذخيره شده حركت نشانگر موش باشد) به هر حال هر كمپاني ممكنه در برنامه ماكرو خود نامي براي فايل‌هاي فرامين نوشته شده كاربران انتخاب نمايند! و اين كمپاني نام Task را انتخاب نموده است.

exclamationmark02.gif
نكته : به فايل‌هاي حاوي فراميني و Scriptهاي نوشته شده در برنامه RoboTask،هTask گفته مي‌شود. Task به معني تكليف، وظيفه، كار و ... مي‌باشد

. اما نگاهي به پنجره اين برنامه بيندازيم:


. به طور كلي پنجره اصلي اين برنامه به 4 قسمت تقسيم شده:
1) Menu(منوي) برنامه: همانند File و Tree و... و Helpه
2) Toolbar(جعبه ابزار): كه در زير منوي برنامه قرار گرفته و بعضي از آيكن‌هاي درون تولبار را با شماره‌هاي 4 تا 8 در تصوير مشخصند.
3) Work Area(محل كار!): دو پنل(Panel) كنار هم كه با شماره‌هاي 1 و 2 در تصوير مشخص شده‌اند.
4) پنل Log كه با شماره 3 در تصوير مشخص شده‌ است.

. ما بيشتر با همان دو پنل 2 و 3 و همان آيكن‌هايي كه در تولبار شماره گذاري نموده‌ام كار خواهيم داشت.



********************************
معرفي قسمت‌هاي مختلف پنجره اصلي
. در تصوير 1 قسمت‌هايي از پنجره اصلي را كه بيشتر با آنها سر و كار خواهيم داشت را شكاره گذاري نموده‌ام. به مرور و در آموزش‌هاي بعدي بقيه قسمت‌ها را در جاي خودش و به وقتش! توضيح خواهم داد! (الكي همين اول كار شلوغش نكنيم!!)

*سه پنل پنجره اصلي:
شماره 1) در اين پنل، Task هاي نوشته شده شما قرار مي‌گيرد. از اين به بعد به اين قسمت Tasks Panel مي‌گوييم. با دوبار كليك برروي هر Task يا انتخاب آن و سپس كليك برروي آيكن شماره 5 از تولبار، پنجره آن Task باز شده و فرامين درون آن را مشاهده خواهيد نمود.

شماره 2) در اين پنل، Tree (درخت) از Folderها(پوشه‌ها) قرار دارد. از اين به بعد به اين قسمت Tree Panel مي‌گوييم.ما مي‌توانيم براي منظم كردن Taskهاي مختلفي كه مي‌نويسيم، پوشه‌هايي را ايجاد نماييم و Task خود را در آن ايجاد يا به آن منتقل نماييم. فايده‌ اين پوشه‌ها فقط و فقط منظم‌تر بودن Taskها هست و هيچ فايده ديگري ندارد! براي نمونه اگر به تصوير 1 قسمت 2 نگاه نماييد، من Taskهايي را كه براي اين سري از آموزش‌هاي فروم مي‌نويسم را درون پوشه‌اي با نام PT Samples قرار داده‌م.
exclamationmark02.gif
نكته : در اولين نصب برنامه چند پوشه به شكل پيش فرض (Default) در اين قسمت ايجاد مي‌شود. شما مي‌توانيد نمونه‌ مثال‌هايي از Taskهاي ساده(Simple) و پيچيده(Complex) اين برنامه را در زير فولدر Root\New Examples مشاهده نماييد. اين نمونه مثال‌ها مي‌توانند راهنماي خوبي براي يادگيري سريعتر فرامين اين برنامه باشند.
exclamationmark02.gif
نكته : به راحتي مي‌توانيد به روش Drag&Drop،هTaskها را در بين پوشه‌ها جابجا نماييد.

شماره 3) در اين پنل نتيجه اجراي تك تك فرامين و تاريخ و ساعت اجراي هر فرمان از يك Task نمايش داده مي‌شود. در علوم كامپيوتر به گذارش عمليات و نتيجه كار يك برنامه LOG مي‌گويند. از اينجا مي‌توانيم بفهميم كدام دستور در زمان اجرا اشكالي برايش پيش آمده يا اينكه برنامه به چه صورتي اجرا شده است و ...


*Iconهاي پر كاربرد Toolbar اصلي:
شماره 4) با كليك برروي اين آيكن، يك پنجره جديد Task باز مي‌شود. مي‌توانيم Task جديد خود را به اين شكل ايجاد نماييم.

شماره 5) با كليك برروي اين آيكن، پنجره فرامين Task انتخاب شده از Tasks Panel براي ويرايش باز مي‌شود. اين آيكن در صورتي كه Taskي از Tasks Panel انتخاب شده باشد فعال مي‌شود.

شماره 6) با كليك برروي اين آيكن، Task انتخاب شده از Tasks Panel حذف خواهد شد. اين آيكن در صورتي كه Taskي از Tasks Panel انتخاب شده باشد فعال مي‌شود.

شماره 7) با كليك برروي اين آيكن، Task انتخاب شده از Tasks Panel اجرا(Run) خواهد شد. اين آيكن در صورتي كه Taskي از Tasks Panel انتخاب شده باشد فعال مي‌شود.

قسمت 8) با كليك برروي اين آيكن، Task در حال اجرا و انتخاب شده از Tasks Panel متوقف(Stop) خواهد شد. اين آيكن در صورتي كه Taskي از Tasks Panel انتخاب شده باشد فعال مي‌شود.


*Iconهاي كوچك موجود در زير Tree Panel:
شماره‌هاي 9 تا 11) به دليل اهميت كم اين آيكون‌ها فقط خلاصه عرض كنم كه: شماره9 براي ايجاد فولدر و شماره 10 براي حذفش و شماره 11 براي تغيير نامش هست.
exclamationmark02.gif
نكته : در صورت حذف يك پوشه، Taskها و پوشه‌هاي درون آن حذف نخواهد شد مگر اينكه تيك گزينه حذفشون را در پنجره حذف روشن نماييد!


********************************
اتمام آموزش 02 و خلاصه:
* Task نامي است كه در اين برنامه به هر فايل حاوي فرامين Macro گفته مي‌شود.
* Taskها در پنل Tasks Panel قرار مي‌گيرند.
* براي مرتب و منظم نمودن Taskهايي كه براي انجام يك كار خاص نوشته شده را مي‌توان در Tree Panel در زير Folderهايي(پوشه‌هايي) قرار داد.


موفق باشيد.
67.gif


خداحافظ
IgImAx
89/08/08
26.gif
103.gif
 
Last edited:

dany_3p4u

Registered User
تاریخ عضویت
9 آپریل 2009
نوشته‌ها
112
لایک‌ها
7
سلام
بعنوان اولین سوال در اولین آموزش!
http://img215.imageshack.us/img215/9...sksample01.gif
من تونستم آی ای را باز کنم، اما نمی دونم چطور گوگل را براش تعریف کنم ؟
(مثلا پیش فرض هیچ صفحه ای باز نمی شه، یعنی صفحه خالی هوم پیج من هست، اما مثلا می خوام مثل شما گوگل تو اون لحظه باز شه)

سوال دوم هم من می خوام از برنامه SnippingTool.exe برای عکس برداری از کل صفحه استفاده کنم،
برنامه ران می شه
اما نمی دونم چطور به این RoboTask بگم که مثلا روی چند تا گزینه کلیک کنه تا از کل صفحه عکس گرفته شه
(این مشکل در اجرای برنامه هایی مثل جی تاک یا یاهو مسنجر هم وجود داره، یعنی فقط می تونم برنامه را اجرا کنم، اما نمی دونم چطور بهش بگم برنامه را لاگین کنه)

شرمنده سوالات ابتدایی هست + نمی دونم شما در آینده این ها را قراره آموزش بدین یا نه؟ یعنی نپرسم تا آموزش بدین یا بپرسم؟
ممنون

. هميچ سوالي ابتدايي نيست و اتقاقن سوال خيلي خوبي هست. البته كه من در آينده اگر مشكلي پيش نياد قصد دارم تمامي دستورات را حتا اگر شده به شكل خلاصه درس بدهم ولي اين دليل نميشه كه شما مورچه وار با آموزش من جلو بياييد. شما مطالعات خودتان را اگر مشتاق يادگيريش شديد بيشتر و جلوتر از آموزشاي من انجام دهيد ولي اول Help برنامه و Help خود دستورات را هم ببينيد. يا PDF راهنماي اون برنامه را از سايتش هم بگيريد. به هرحال Script نويسي با تنگيدن ياد گرفته نمي‌شود!! تنها جايي كه تنگيدن قبل از خواندن پايه‌اي فايده ندارد برنامه نويسي هست! البته اين Script ها خيلي خيلي ابتدايي تر از برنامه نويسي به معني پيشرفته آنها هستند ولي باز هم دانستن Syntax هر دستور (=شكل كلي يا فرمت كلي يك دستور شامل دانستن معني و موارد استفاده پارامترهاي هر دستور) الزاميست!
 

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام dany_3p4u عزیز
1.gif


exclamationmark02.gif
سخني با تمامي دوستان: همانطور كه خدمت دوستمون عرض كردم، هر كجا كه سوالي داشتيد با توجه به شرايطي كه قبل از سوال پرسيدن در پست قبلي عرض كردم و دوستمون آن را "نقله قول" نمودند، بپرسيد. هيچ سوالي ابتدايي يا ... نيست. "سوال" هر چي باشه خوبه ولي قبلش مطالعه و زحمت خودتان را فرا موش نكيد. ممنونم....

من تونستم آی ای را باز کنم، اما نمی دونم چطور گوگل را براش تعریف کنم ؟
(مثلا پیش فرض هیچ صفحه ای باز نمی شه، یعنی صفحه خالی هوم پیج من هست، اما مثلا می خوام مثل شما گوگل تو اون لحظه باز شه)
. اين به اين دليل هست كه از دستور RUN به شكل كامل استفاده نكرديد. اين دستور داراي چندين پارامتر هست كه اوليش دقيقن به همين نام هست يعني Parameters كه در آن مي‌توانيد فرامين يا سويچ‌هايي را قرار دهيد. اين كه آيا ميشه چه چيزي در اينجا قرار داد كاملن بستگي به اون برنامه‌اي كه قرار Run-اش كنيد داره! يعني حتمن بايد اون برنامه داراي توانايي پذيرش فرمان از Command Line(خط فرمان) داشته باشد. مثلن برنامه IE (همون Internet Explorer) يكي از توانايي‌هايش پذيرش آدرس يك سايت از خط فرمان هست. پس ميشه آدرس يك سايت را در قسمت Parameters از دستور RUN قرار داد تا با باز شدن IE، آن آدرس هم به شكل اتوماتيك باز شود.

. مي‌بينيد! برنامه‌هاي ماكرو فقط كار را براي ما خيلي خيلي راحتتر مي‌كنند، اين ديگه ما هستيم كه بايد از توانايي‌هاي برنامه‌هاي ديگه آشنا باشيم تا تركيب اين دو نتيجه كاري در حد عالي شود!


exclamationmark02.gif
نكته : درون هر دستور RoboTask با فشار كليد F1 راهنماي كامل همان دستور ظاهر مي‌شود. مثلن همين پنجره دستور RUN را اگر باز نماييد و روي F1 كليك كنيد، معني و كاربرد تمامي پارامتر‌هاي آن دستور را توضيح مي‌دهد.

exclamationmark02.gif
نكته : من فراموش كرده‌بودم كه نمونه Sample مثال‌هاي پست 4 را در همان پست براي دنلود قرار دهم. البته شايد هم منتظر بودم كه روش Import را توضيح دهم بعدن اضافه كنم! اگر چه Import كردن خيلي راحت هست! از پنجره اصلي Robotask به منويTask\Import...o رفته و آدرس فايل Taskي كه قبلن Export\Download نموديد را بدهيد تا وارد ليست Taskih در پنل Tasks Panel شود. (الان آروم آروم!! مثال‌هاي پست 4 را Upload مي‌كنم)

سوال دوم هم من می خوام از برنامه SnippingTool.exe برای عکس برداری از کل صفحه استفاده کنم،
. در چنين حالاتي بهتره كه از برنامه‌هايي استفاده نماييد كه داراي امكان پذيرش دستورات از Command Line (خط فرمان) داشته باشند. مثل IrfanView كه در مثال خودم ذكر نمودهظام. اما برنامه‌هاي خيلي كوچك ديگه‌اي با خطوط فرمان بسيار ساده‌تري هم هستند. كمي Google گردي كنيد!
(این مشکل در اجرای برنامه هایی مثل جی تاک یا یاهو مسنجر هم وجود داره، یعنی فقط می تونم برنامه را اجرا کنم، اما نمی دونم چطور بهش بگم برنامه را لاگین کنه)
. اين جزو دروس خواهد بود، اما خلاصش اين هست. هر نوع برنامه‌اي كه شما اجرا مي‌كنيد مطمئنن با فشار يكسري كليد و بدون نياز به استفاده از موس ميشه يكسري كار روش كرد و بين گزينه‌هاش جابجا شد. مثلن با استفاده از كليد‌هاي Tab و كرسرها و Space و Enter و .... يا حتا كليد‌هاي تركيبي CTRL +??? يا .... همه اين كليد‌ها را مي‌توان به كمك دستور Send Key از زير قسمت General از فرامين به پنجره هر برنامه‌اي ارسال نمود.

موفق باشيد.
67.gif


خداحافظ
IgImAx
89/08/10
26.gif
103.gif
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام دوستان عزیز
1.gif



********************************
آدرس دنلود كد ماكروهاي مثال‌هاي اين تاپيك و آپلودي دوستان:
. شما مي‌توانيد نمونه كد مثال‌هاي زير يا دوستان را از آدرس زير دنلود نماييد:


. براي اضافه نمودن كدهاي دنلودي مي‌توانيد: از پنجره اصلي Robotask به منويTask\Import...o رفته و آدرس فايل Taskي كه قبلن Export\Download نموديد و برروي هاردديسك شما هست را داده و آن را وارد ليست Taskهاي درون پنل Tasks Panel نماييد. (Tasks Panel در پست 6 تصوير يك توضيح داده‌ام. همانجا كه با شماره يك در آن تصوير مشخص شده است)

موفق باشيد.
67.gif


خداحافظ
IgImAx
89/08/10
26.gif
103.gif
 

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام دوستان عزيز
1.gif




106.gif
ممكنه براي مشاهده تصاوير موجود در پست‌هاي من نياز به اجراي يك هيتلر شكن داشته باشيد!!!
45.gif


فهرست كامل مقالات آموزشي ماكرو‌ها در پست دوم موجود است


آموزش RoboTask ه-03 آشنايي با پنجره ADD/Edit Task
*************************
پنجره ADD/Edit Task
. در برنامه RoboTask بيشترين استفاده يا بهتر بگم پنجره‌اي كه خيلي باهاش كار داريد همين پنجره Add/Edit Task هست. خوشبختانه علت ديگه سادگي RoboTask هم همين هست كه كليه كارهاي مربوط به يه ماكرو در همين پنجره انجام مي‌شود. پنجره‌ ADD/Edit دوتا پنجره مجزا براي Add كردن يا Edit كردن نيست! بلكه هر دوي آنها در يك پنجره و به يك شكل هستند و محتواي آنها دقيقن يكي هست! فقط ممكنه بر اساس اينكه داريد يك Task جديد ايجاد مي‌كنيد عبارت ADD Task را در تيتر (Title) پنجره مشاهده نماييد يا اگر داريد Task-ي را كه قبلن ايجاد يا Import(وارد) نموديد را ويرايش(Edit) مي‌كنيد، عبارت Edit Task را در تيتر پنجره ببينيد.

. اين پنجره داراي 4 تب(Tab) مي‌باشد. با انتخاب هر تب ممكنه كزينه‌هايي يا كليد‌هاي مختلفي به نمايش در بيايد. اما در اين پنجره دو قسمت يكي در بالا و يكي در انتها وجود دارند كه با تغيير تب‌ها آنها تغيير نمي‌كنند. در زير توضيح مختصري در مورد هر تب داده شده است و در ادامه هر بخش را جداگانه تشريح نموده‌ام :

1) قسمت‌هاي ثابت اين پنجره: در بالاي پنجره و درست در زير Title bar ( ميله تيتر ) يك مستطيل متني (Text box) قرار گرفته كه در آن مي‌توانيد نام دلخواه خود براي Task را مشخص نماييد. در قسمت انتهايي پنجره دو كليد OK براي تاييد تغييرات اعمال شده و Cancel براي لغو تغييرات داده شده وجود دارد. گزينه‌اي هم با نام Enable در آنجا قرار دارد كه در تب Triggering Events توضيحش خواهد آمد.

2) Actions: در اين تب ما دستورات خود را اضافه يا تغيير مي‌دهيم. در صورت اجراي(Play) اين Task توسط دكمه Play از تولبار برنامه يا به روش‌هاي ديگه، دستوراتي كه فقط در اين تب قرار دادند به ترتيب از بالا به پايين اجرا خواهند شد.

3) Triggering Events: در اين تب مي‌توان شرايطي را مشخص نمود تا در صورت بروز آن شرايط، همين Task و دستورات درون تب Action اجرا شود. براي مثال مي‌توان در اين قسمت تعريف نمود كه اگر ساعت سيستم ساعت 3AM شد، اين Task اجرا شود. مثال ديگر: اگر Account(حساب) اينترنتي ما با نام MY ISP قطع شد(Disconnected) بنابراين Task ما را اجرا نمايد و ...

4) Advanced: در اينجا يكسري گزينه براي تعريف نحوه فعاليت Task براي زماني كه خطايي در دستورات رخ مي‌دهد يا ...، وجود دارد.

5) Local Variables: در اينجا مي‌توانيد يكسري متغيير‌هاي محلي(محلي = محدود به زمان اجراي Task) را معرفي نماييد.

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



********************************
تب Action:
. ما در همين تب دستورات خود را اضافه(Add) يا ويرايش(Edit) مي‌كنيم و در زماني كه يك Task را اجرا(Play) مي‌كنيم در حقيقت همين دستوران هستند كه از بالا به پايين يكي يكي اجرا مي‌شوند. لطفن به شكل زير توجه نماييد:

. شما در آموزش‌هاي قبلي تصاويري از همين تب در حالي كه حاوي دستوراتي بود را ديده‌ بوديد. تمامي قسمت‌ها در تصوير كاملن توضيح داده شده است. فقط توجه داشته باشيد كه در برنامه RobotTsk به هر خط فرمان به جاي "دستور" "Step"(=قدم) مي‌شود. اگر نشانگر موش را روي دكمه‌هاي Add يا Edit يا Remove براي لحظه‌اي ثابت نگاه داريد، در Tool Tip-ي (=كادر زرد رنگي با متني در آن در مورد Objectي كه رويش قرار گرفتيد توضيح مختصري يا نام كامل آن را نمايش مي‌دهد) كه ظاهر مي‌شود عبارت Add Step يا ... نمايش داده مي‌شود. ولي ما براي سادگي و مفهوم بيشتر به هر "خط Step" يك "خط دستور" مي‌گوييم! باشه!؟
3.gif


exclamationmark02.gif
نكته : در برنامه RoboTask به هر "خط دستور" يك "Step" گفته مي‌شود ولي من براي راحتي و درك بيشتر شما همان "خط دستور" را به كار مي‌برم.

. اگر برروي دكمه ADD كليك كنيد در پنجره جديدي ليست دستورات كه در گروه‌هايي طبقه بندي شده‌اند را مشاهده خواهيد نمود. با باز نمودن هر گروه (با Double Click برروي نام گروه يا Click برروي مثلث كنار نام آن) مي‌توانيد دستوران زير هر گروه را مشاهده نماييد:


. سپس براي انتخاب هر دستور كافيست برروي نام آن Double Click كرده يا روي نامش Click كرده (به اين عمل در ويندوز مي‌گويند Select كردن يك شيي) و سپس برروي دكمه Select كليك نماييد.


********************************
تب Trigger Events:
. مفهوم Trigger Events = اجرا شدن در صورت رخ دادن رويداد يا رويداد‌هايي مي‌باشد. اين تب خيلي شبيه تب Action هست با دو تفاوت:

1) دستورات موجود درون دكمه ADD كمتر و متفاوت هستند.

2) دو گزينه در زير كادر دستورات قرار دارد.

. لطفن به شكل توجه نماييد:


. دو گزينه انتهايي در واقع يك نوع دستور از نوع Triggering Events-ها هستند ولي چون خيلي مهم و پر كاربردتر بودند جداگانه در زير پنجره دستورات قرار گرفته‌اند. سه كليد Add/Edit/Remove دقيقن همانند تب قبلي عمل مي‌نمايند. دستورات موجود در كليد Add بسيار كمتر و متفاوت بوده و در حقيقت هر كدام از دستورات يك نوع Monitoring (رصد كننده) براي تغييراتي بر اساس نوع آن دستور مي‌باشند:


. در تصوير گزينه Schedule از گروه General انتخاب شده است. براي مثال اين دستور هماني هست كه مي‌توانيم به كمك آن زمان شروع به كار يك Task را مشخص نماييم. يا مثلن گزينه Connection Monitor از گروه Dial-UP هماني هست كه Disconnect شدن از حساب اينترنتي كه قبلن در ويندوز ساخته‌ايم را چك مي‌كند و ...
. در انتهاي پنجره Add/Edit Task گزينه‌اي به نام Enable موجود هست كه قبلن به آن اشاره نمودم. اگر اين گزينه فعال باشد، تمامي دستورات Monitoring-ي كه در اين تب تعريف شده باشند فعال خواهند بود و رويداد‌ها را رصد خواهند نمود. ولي اگر گزينه Enable از انتخاب خارج شود تمامي دستورات موجود در اين تب غير فعال خواهند شد. اگر گزينه Enable خاموش باشد، همچنان مي‌توان Task را به شكل دستي يا به روش‌هاي ديگه‌اي كه بعدن ذكر خواهد شد اجرا نمود ولي ديگه اون تاسك هيچ رويدادي را رصد نخواهد نمود.

مهم: با انتخاب يا از انتخاب خارج نمودن گزينه Enable در انتهاي پنجره Add/Edit Task دستورات موجود در تب Triggering Events هم Monitoring-شان (رصد نمودن رويدادهايشان) فعال يا غير فعال خواهند شد.



********************************
تب Advanced:
. درون اين تب يكسري گزينه‌هاي براي مديريت نحوه اجرا شدن Task و فرامين نوشته شده در قسمت Action وجود دارد. فعلن و براي شروع الكي! با تشريح تمامي اين پارامتر‌ها ذهنتان را مغشوش نمي‌كنم! لطفن به توصير زير نگاهي بيندازيد:


. ما در اين تب از همين ابتدا و در اكثر اوقات با دو تا گزينه از فريم "If Error Occurred" كار داريم، كه در شكل با فلش مشخص شده‌اند. در اين فريم ما سه گزينه داريم كه اگر در زمان اجراي دستورات موجود در تب Action خطايي رخ داد، ادامه كار بايد به چه صورت باشد؟! دو گزينه پر كاربرد ما Stop Task(متوقف نمودن اجراي دستورات) و Continue Execution(ادامه اجراي دستورات) خواهند بود. همواره به شكل Default(پيش فرض) گزينه Stop Task انتخاب شده است كه ما اكثرن در همين ابتدا آن را روي Continue قرار مي‌دهيم تا بعدن و در وقتش! در موردشان بيشتر توضيح دهيم.

exclamationmark02.gif
نكته : يك نكته براي مبتديان عزيز، همانطور كه در شكل توضيح داده‌ام به هر كادري كه شكل آن همانند آنچه در تصوير مشخص شده است، باشد به آن Frame(قاب، چهارچوب) مي‌گويند. هر فريم يك نام دارد كه همواره در بالا و سمت چپ آن نوشته مي‌شود. پس در شكل فوق 3 فريم ديده مي‌شود.



********************************
تب Local Variables:
. در اين تب مي‌توان متغيير‌هاي محلي (Local Variables) را معرفي نمود. شايد يكي از مهمترين چيز‌ها! در برنامه نويسي و تمامي زبان‌هاي برنامه نويسي، متغيير‌هاي(Variables) آن زبان و انواع مقاديري(Data Types) كه اون متغيير‌ها مي‌توانند درون خود ذخيره نمايند، باشد. شايد براي توضيح اينكه دقيقن متغيير چيست و انواع آن در برنامه RoboTask چيست يك يا 2 پست آموزشي نياز باشد! اما نگران نباشيد! من در آينده همه را يكجا آموزش نخواهم داد و آرام آرام و به وقتش يكي يكي آنها را آموزش خواهم داد.

. محيط اين قسمت بسيار ساده هست، شما در كادر متني(text box) موجود در اين تب مي‌توانيد نام تك تك متغيير‌هاي خود را در خطوط متفاوت تايپ نماييد. بعد‌ها كاربرد اين قسمت و اين نوع متغيير‌ها را خواهيم آموختندي!



********************************
اتمام آموزش 03 و اكنون خلاصه اخبار!:
* بيشترين محيط مورد استفاده ما در برنامه RoboTask مربوط به پنجره Add/Edit Task مي‌شود. در همين پنجره هست كه دستورات و شرايط اجرا شدنشان و مديريت هر Task كه نوشته مي‌شود، انجام مي‌شود.
* پنجره Add/Edit Task داراي چهار تب هست و دو قسمت ثابت در بالا و پايين خود.
* در تب Action مي‌توانيم دستورات خود را وارد نماييم.
* در تب Trigger Events مي‌توانيم زمان و شرايط اجرا شدن دستورات موجود در تب Action را بر اساس يكسري رويداد‌هاي خارجي تعريف نماييم.
* در تب Advanced مي‌توانيم نحوه اجرا شدن Task را مديريت نماييم.
* در تب Local Variables مي‌توانيم متغيير‌هاي محلي يا محدود به همين Task را معرفي نماييم.
* اگر گزينه Enable در پايين پنجره Add/Edit Task انتخاب يا غير انتخاب باشد، رويداد‌هاي تعريف شده در تب Trigger Events هم فعال يا غير فعال خواهند شد.


موفق باشيد.
67.gif


خداحافظ
IgImAx
89/08/15
26.gif
103.gif
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام دوستان عزيز
1.gif




106.gif
ممكنه براي مشاهده تصاوير موجود در پست‌هاي من نياز به اجراي يك هيتلر شكن داشته باشيد!!!
45.gif


فهرست كامل مقالات آموزشي ماكرو‌ها در پست دوم موجود است


آموزش RoboTask ه-04 مراحل ايجاد اولين Task
*************************
مقدمه:
. در دروس قبلي قسمت‌هاي مختلف پنجره اصلي Robotask و پنجره Task Add/Edit را توضيح دادم. در اين آموزش قدم به قدم، با هم يك Task ساده را ايجاد و اجرا خواهيم نمود و در ادامه با ويرايش Task اوليه، مواردي را به آن اضافه خواهيم نمود. در اين آموزش از Action (دستورات موجود در كليد ADD از تصوير 1 موجود در آموزش 3) زير استفاده خواهيم نمود:

1) Dialogs\Show Message/Play Soundه

---------------------------------------------
exclaminationmark.png
قرارداد: از اين به بعد، گاهي به جاي "Task" خواهيم گفت "برنامه"! مثلن به جاي اينكه بگوييم: "Task جديد خواهيم نوشت" مي‌گوييم: "برنامه جديدي خواهيم نوشت".

exclaminationmark.png
قرارداد: از اين به بعد، به جاي كلمه "Action" از كلمه "دستور" استفاده خواهيم نمود. پس بعد از اين، به جاي اينكه بگوييم: "از Actionي به نام Create Variable استفاده كنيد" خواهيم گفت: "از دستوري به نام Create Variable استفاده كنيد".

exclaminationmark.png
قرارداد: با توجه به اينكه دستورات در دكمه Add گروه بندي شده‌اند(شكل 2 از آموزش 3)، زماني كه نام يك دستور را ذكر مي‌كنم، براي اينكه به راحتي آن را بيابيد، نام گروه آن را نيز قبل از نام دستور با علامت "\" (Back Slash) ذكر خواهم كرد. براي نمونه اين عبارت "Dialogs\Show Message/Play Sound" يعني دستور "Show Message/Play Sound" از گروه "Dialogs".ه
---------------------------------------------




********************************
مسئله 7:
. در اين مثال، ابتدا Taskي خواهيم نوشت كه در صورت اجراي آن يك Dialog Box با آيكن Information ظاهر و عبارت Hello World!iدر آن به نمايش دربيايد. شبيه اين:



---------------------------------------------

exclaminationmark.png
اطلاعات: Dialog Box يك نوع Window خاص هست! اين نوع پنجره‌ها يك سري نشانه‌ها و محدوديت‌ها دارند: Sizable نيستند(توانايي تغيير اندازه ندارند)/دكمه Maximize ندارند/حداقل يك دكمه يا بيشتر در پايين پنجره آنها قرار دارد. معمولن از Dialog Boxها براي اطلاع رساني به كاربران يا نمايش تنظيمات يك برنامه يا اجراي سريع يكسري دستورات استفاده مي‌شود. نمونه‌هايي از Dialog Boxهاي كه شايد روزانه از آنها استفاده مي‌كنيد: پنجره Run از دكمه Start ويندوز يا System Properties از Control Panel ويندوز XP يا Display Properties از ويندوز XP و ... پس اگر به Dialog Box، "پنجره" گفته شد، زياد تعجب نكنيد چون به هرحال نوعي پنجره هست.
---------------------------------------------


. در ادامه برنامه فوق را طوري تغيير مي‌دهيم كه با اجرا شدنش نام كاربري شما را از ويندوز گرفته و در جلوي عبارت Hello نام كاربري ويندوز شما را بنويسد. مثلن اگر نام كاربري ويندوز شما Ali هست بنويسد Hello Ali. (نام كاربري شما هماني هست كه در بالاي دكمه Start نوشته شده است-نام كاربري، توسط شخصي كه ويندوز را براي شما نصب نموده است تعيين شده است)




********************************
اولين قدم براي حل قسمت اول از مسئله 7:
. خوب ابتدا Task-ي را خواهيم نوشت كه عبارتHello World!i را به ما نمايش دهد. چون بار اول هست كه در اين سري از آموزش‌ها قصد نوشتن يك برنامه قدم به قدم را داريم، پس خيلي ابتدايي و قدم به قدم در اينجا توضيح خواهم داد تا كاربران مبتدي با تمامي مراحل آشنا شوند. ولي پس از اين ديگه از اين خبرا نيست!!
33.gif
پس سعي كنيد همينجا تمامي مراحل را ياد بگيريد! اما مراحل ايجاد Task جديد و نوشتن كد:

1) ابتدا پنجره اصلي Robotask را باز مي‌كنيم.
2) براي باز نمودن يك پنجره Add Task جديد در آن دو راه داريد: الف. برروي آيكن"
1123201071503pm.png
" Create a new Task كليك كنيد. (شماره 4 از تصوير 1 در آموزش 2) ب. فشار كليد Insert از روي Keyboard(صفحه كليد).

3) پنجره Add Task باز مي‌شود. بهتر است در قسمت Task Name نامي را براي Taskي كه ايجاد نموده‌ايم انتخاب كرده و تايپ نماييد. (ايجاد نام دلبخواهي هست)

4) از زير پنجره Add Task، برروي دكمه Add كليك كنيد تا پنجره Select Actions باز شود.

5) از درون پنجره فوق و در بين نام گرو‌هاي موجود در بالاي ليست، نام گروه Dialogs را يافته و با "دوبار كليك كردن برروي نام آن" يا "يكبار كليك برروي مثلث كوچك در سمت راست نامش" دستورات (Actionهاي) موجود در زير آن گروه را مشاهده نماييد:


6) اكنون دوبار برروي دستور Show Message/Play Sound كليك كنيد. ( يا يكبار برروي آن كليك كنيد و از زير همين پنجره روي دكمه Select كليك نماييد) پنجره مربوط به اين دستور باز مي‌شود:


exclamationmark02.gif
نكته : همانطور كه در تصوير مشاهده مي‌كنيد، راحتي و سادگي در استفاده و نوشتن دستورات در برنامه‌هاي ماكرو را مي‌توانيد مشاهده كنيد! اصلن نيازي نيست كه خود دستور را تايپ نماييم و تمامي پارامتر‌ها و ... آن را حفظ باشيم و براي استفاده از آنها، آنها را نيز در جلوي نام دستور تايپ كنيم!! بلكه تمامي دستورات و تمامي پارامتر‌هاي آنها به شكل تصويري و در يك GUI ساده به شما نمايش داده مي‌شود(GUI=Graphic User Interface رابط گرافيكي كاربر) و فقط كافيست كه پارامتر دلخواه خود را انتخاب يا در جاهاي مشخص شده مقادير خود را تايپ كنيد.

exclamationmark02.gif
نكته : اسامي قسمت‌هاي مختلف در Dialog Box فوق با خطوط قرمز و فلش مشخص شده‌اند. در هر پنجره‌ ديگري كه قسمت‌هاي مشابه موارد فوق ديديد، نامشان و كاربردشان همانند هميني! هست كه در اينجا ذكر شده! در تصوير فوق، 2 عدد Check Box داريم، كاربرد اين‌ها در انتخاب يا از انتخاب خارج نمودن يكسري پارامتر‌ها هست. در تصوير يكي از آنها انتخاب شده(با تيك يا Check Markي كه در مربع خورده است انتخاب بودنش مشخص مي‌شود) و ديگري انتخاب نشده است. همچنين 2 عدد Text Box داريم، درون اينها مي‌توان عباراتي را از صفحه كليد تايپ نمود. يكي از آنها فعال هست (يعني ميشه توش چيزي نوشت) و از نوع Multi lineها هم هست(يعني ميشه در آن در چندين خط عباراتي را وارد نمود) و دومين Text Box غير فعال بوده و به شكل Single Line هم هست. هم چنين يك ليست Drop-Down هم در اين پنجره موجود هست. معمولن اين نوع ليست‌ها با كليك بررويشان، ليستي را به شما نمايش مي‌دهند و شما مي‌توانيد از بين گزينه‌هاي آماده در آنها يك گزينه را انتخاب نماييد. شما نمي‌توانيد مقادير Drop-down List ها را تغيير دهيد ولي مي‌توانيد از بين گزينه‌هاي آنها يكي را انتخاب نماييد.

7) اكنون در Text Box\Message Text:i، خطوط موجود را انتخاب و پاك كنيد و عبارت Hello World را تايپ نماييد.

8) بقيه تنظيمات اين Dialog Box به همين شكلي كه هستند مناسبند، پس برروي دكمه OK كليك كنيد.
exclamationmark02.gif
نكته : مي‌توانيد قبل از OK نمودن، برروي دكمه Test كليك كنيد تا نمونه پيامي را كه در اثر تغييرات جديدتان در اين پنجره اعمال نموديد را مشاهده نماييد.

9) پس از OK نمودن پنجره فوق، به پنجره Add Task باز خواهيد گشت. در اين پنجره، خط فرمان جديدي اضافه شده است:


. همانطور كه در تصوير مشاهده مي‌كنيد، خود برنامه Robotask به شكل اتوماتيك شماره خطي را به اولين دستور نوشته شده نسبت داده است. اگر شما دستور ديگري را به برنامه خود اضافه نماييد Robotask باز به شكل اتوماتيك عدد 2 را به آن نسبت خواهد داد و همينطور الي .... اين شماره خطوط كار خطايابي يا توضيح هر دستور بر اساس شماره خطش را براي ما آسان مي‌نمايد.

10) كار نوشتن دستورات به اتمام رسيد برروي دكمه OK از پنجره Add Task كليك كنيد تا دستور شما در Task جديدي كه ايجاد نموده‌ بوديد، ثبت شود.


. همانطور كه در ابتداي همين قسمت اشاره نمودم، در تمرينات و آموزش‌هاي بعدي ديگه با اين تفصيل توضيح نخواهم داد! پس تمامي مراحل را ياد بگيريد و فراموش نكنيد كه انتخاب و نحوه استفاده از هر دستور ديگري هم تقريبن همانند همين مثال فوق مي‌باشد.

. پس در آينده اگر بخواهم تمامي عمليات اين 10 مرحله فوق را به شكل خلاصه و حرفه‌اي‌تري توضيح دهم به اين شكل خواهم گفت:
"يك Task جديد ايجاد نماييد و دستور Dialogs\Show Message/Play Sound را با تنظيم پارامتر Message Text:i-اش به Hello World در آن ايجاد نماييد. (همين!)"




********************************
اجراي Task نوشته شده:
. اكنون كافيست كه از پنجره اصلي Robotask، و از قسمت Tasks Panel، برروي نام Task-ي كه هم‌ اكنون ايجاد نموده‌ايد، كليك كرده تا انتخاب شود. حالا برروي آيكن"
runy.png
" Run Task كليك كنيد. بايد يك Dialog Box با عبارت Hello World در وسط آن باز شود. (چيزي شبيه تصوير 1) اگر چنين اتفاقي افتاد، شما اولين برنامه خود را با موفقيت نوشته‌ايد.
113.gif





********************************
دومين قدم - تغيير در Task نوشته شده:
. اكنون زمان آن رسيده كه تغييري در برنامه نوشته شده دهيم تا سلام كردنش كمي هوشمندتر شود!!
3.gif
شايد فكر كنيد كه خوب اين كه كاري نداره كه!! كافيه به جاي عبارت World نام خودمان يا نام كاربري خودمان را تايپ مي‌كنيم!؟
39.gif
خوب! اين فكر و روش شما درسته!! ولي خوب!! من هميشه سعي نموده‌ام برنامه‌اي كه مي‌نويسم با حداقل تغييرات قابل استفاده براي ديگران هم باشد! يعني اگر فردا اين برنامه را به دوستم دادم و نام كاربري سيستم او با من متفاوت بود (كه 100% همينطور هم هست!) برنامه من به شكل هوشمندتري نام كاربري او را از روي ويندوز او بردارد و نه به شكل ثابت تايپ شده باشد! در ضمن در اين مثال قصد دارم كه آموزش "متغيير‌هاي سيستمي Robotask" را هم به شما بدهم!

. شايد فكر كنيد كه انجام كار فوق خيلي سخت است!! اما با استفاده از System Variablesهاي خود برنامه Robotask تغيير برنامه فوق خيلي راحت هست. لطفن به ترتيب زير عمل نماييد(باز هم به شكل قدم به قدم براي مبتديان عرض مي‌كنم!):

1) براي ويرايش Task-ي كه اكنون نوشتيم، از پنجره اصلي Robotask، و از قسمت Tasks Panel، برروي نامش يا "دوبار كليك كنيد" ياامش را انتخاب و برروي آيكن "
editd.png
"Edit Task كليك كنيد
" تا پنجره Edit Task باز شود.

2) در پنجره Edit Task براي باز نمودن يك دستور(Action) براي ويرايش كافيست يا "دوبار برروي آن كليك كنيد" يا "روي خط آن دستور يك كليك كنيد(انتخابش نماييد) و سپس برروي دكمه Edit كليك كنيد". يكي از روش‌هاي فوق را انجام دهيد!

3) اكنون پنجره مربوط به دستور در جلوي پنجره Edit Taskباز شده است:


4) حالا ابتدا عبارت World را از قسمتMessage Text:i پاك كرده و بگذاريد كرسر(Cursor) همانجا در جلوي عبارت Hello چشمك بزند.

5) اكنون برروي دكمه "{v}" كه نامش Insert Variable هست و در پايين پنجره هست (در تصوير فوق با شماره 4 مشخص شده است) كليك كنيد تا پنجره Robotask Variables باز شود:


. در اين پنجره دو تب وجود دارد يكي به نام System Variables هست كه در آن متغيير‌هاي (Variables) از پيش تعريف شده خود Robotask نوشته شده‌اند و ديگري به نام User Variables هست كه در آن متغيير هاي Global(عمومي) ساخته شده توسط شما قرار مي‌گيرد. اين دو تب به ما اين امكان را مي‌دهند كه بدون نوشتن يا حتا حفظ نمودن نام متغيير مورد نيازمان، آنها را از بين ليست‌هاي فوق انتخاب نماييم. (باز هم نشانه‌اي از سادگي استفاده از چنين برنامه‌هايي را در اينجا مي‌توانيد مشاهده ‌نماييد)

. در تب System Variables متغيير‌هاي از پيش تعريف شده توسط برنامه Robotask در گروه‌هايي در قسمت Categories قرار گرفته‌اند، كه با كليك برروي نام هر گروه نام و توضيح و مثالي از متعيير‌ انتخاب شده در آن گروه در پنل سمت راست با نام Variables نمايش داده مي‌شود.

6) اكنون ما نيازمند متغييري هستيم كه بتواند نام كاربري ويندوز را به ما برگرداند. اين متغيير در گروه System Info و به نام {UserName} هست. پس همانند تصوير 6 ابتدا برروي نام گروه System Info كليك كنيد و سپس يك كليك برروي نام متغيير {UserName} نماييد. در زير پنجره، نمونه‌اي از مقداري(Value) كه اين متغيير در حال حاضر در خود ذخيره دارد را خواهيد ديد. (براي مثال فرض شده نام كاربري ويندوز من Ali هست، پس RoboTask به شكل اتوماتيك اين نام را از ويندوز گرفته و درون اين متغيير ذخيره مي‌كند.)

7) اكنون برروي دكمه Select كليك كنيد. پنجره Robotask Variables بسته مي‌شود و نام متغير فوق در جلوي كلمه Hello نوشته مي‌شود. چيزي شبيه اين:


. شايد برايتان سوالي پيش بياد كه چرا به جاي نام متغيير {UserName} عبارت Ali كه نام كاربري ويندوز من هست، نوشته نشده ‌است!؟ خوب! معني و مفهوم و دليل وجودي متغيير‌ها هم همين هست! شما در اينجا نام متغيير را مي‌بينيد ولي در زمان اجراي دستور، برنامه RoboTask مقدار (Value) ذخيره شده در متغيير را به جاي نام متغيير جايگزين و نمايش مي‌دهد. يعني در زمان اجراي برنامه، شما عبارتي همچون Hello Ali را خواهيد ديد! اگر كمي برايتان دركش سخت هست
18.gif
زياد نگران نباشيد، چون در آموزش‌هاي بعدي در مورد متغيير‌ها توضيح خواهم داد.

8) اكنون از پنجره Show Message/Play Sound برروي دكمه OK كليك كنيد.

9) از پنجره Task Edit برروي OK كليك كنيد تا تغييرات ذخيره شود و پنجره آن بسته شود.

. تا اينجا تغييرات به خوبي اعمال شده و اكنون برنامه را دوباره اجرا نماييد. بايد عبارت Hello و در جلوي آن نام كاربري ويندوز خود را مشاهده نماييد. باز هم عرض كنم كه در آينده به جاي اين همه توضيحات به شكل خلاصه توضيح خواهم داد. پس اين 9 مرحله توضيحات! به شكل خلاصه چيزي شبيه زير خواهند شد:
" Task قبلي خود را براي ويرايش باز نماييد و دستور خط 1 را باز نماييد و عبارت World را پاك كرده و جاي آن متغيير {UserName} را از قسمت Robotask Variables\System Variables\System Info قرار دهيد و تغييرات را ذخيره نماييد و برنامه را دوباره اجرا كنيد."

. مي‌بينيد چقدر اينطوري خلاصه‌تر و ساده‌تر هست!
29.gif





********************************
اجراي برنامه نوشته شده در شروع به كار ويندوز:
. شما به روش‌هاي مختلفي مي‌توانيد برنامه‌هاي نوشته شده خود را در RoboTask اجرا نماييد. اين روش‌ها را در پستي مجزا توضيح خواهم داد. ولي اكنون با رفتن به منوي Options\Settings موجود در پنجره اصلي RoboTask برنامه مطمئن شويد كه دو گزينه Minimize on Run و Run on Windows Startup انتخاب شده باشند.

. (از اينجا به بعد ديگه به شكل خلاصه-حرفه‌اي عملياتي را كه بايد انجام دهيد را عرض خواهم نمود و نه ديگه به شكل قدم به قدم براي مبتديان! چون تا الان ديگه بايد اين كار‌ها را با توجه به توضيحاتي كه داده‌ام را ياد گرفته باشيد!) اكنون برنامه‌اي كه نوشتيد را براي ويرايش باز نماييد و از تب Triggering Events گزينه Run when RoboTask starts را انتخاب نماييد.

. اكنون با هر بار روشن نمودن سيستم شما پيام سلامي به نام كاربري خود خواهيد ديد! به همين سادگي و به همين خوشمزگي!!




********************************
سخني با همراهان:
. تا اينجا شما نه تنها با پنجره‌هاي مهم اين برنامه آشنا شده‌ايد، But Also!! هم اكنون روش نوشتن يك برنامه و استفاده از يك دستور در آن و ويرايش آن و اجرا نمودن آن را نيز ياد گرفتيد. تمامي اين‌ عمليات، تمامي آنچيز‌هايي هستند كه يك كاربر نياز دارد تا بتواند با چنين برنامه‌هايي كار كند!! البته يكسري نكات ريز و عمومي ديگه همانند روش‌هاي اجراي يك Task يا روش استفاده متغيير‌ها و انواع آنها و توضيح عمومي و خلاصه بعضي از دستورات و ذكر مثال‌هايي براي درك بهتر وسريعتر يادگيري شما، باقي مانده است ولي در كل شايد حداكثر 3 تا 5 پست ديگه براي آموزش اين برنامه باقي مانده باشد. بقيه پست‌ها فقط ذكر مثال‌هايي از روش كاربرد بعضي از دستورات اين برنامه يا ديگر برنامه‌هاي ماكروه هست.




********************************
اتمام آموزش 04 و اكنون خلاصه آنچه گذشت!:
* روش استفاده از تمامي دستورات همانند آنچزي هست كه در اينجا آموزش داده شد. حالا ممكنه محتويات Dialog Box هر دستور با هم فرق كند ولي روش استفاده يكيست!
* در اين آموزش دو بار مراحلي براي نوشتن يا ويرايش برنامه ذكر شد كه مجموعن 19 مرحله توضيح قدم به قدم داشت. اگر قدم‌هاي فوق را ياد بگيريد از اين پس ديگه نيازي به اين همه تشريح نيست وبه راحتي و فقط در 2 خط مي‌توان تمامي كار‌هاي فوق را شرح داد. همانند نمونه خطوطي كه در انتهاي هر قسمت در آموزش فوق نوشته‌ام.
* تمامي دستورات در RoboTask به شكل يك GUI بوده و نياز نيست كه شما نام دستور يا پارامتر‌هاي درون آن را حفظ كنيدة بلكه با باز نمودن هر دستور پارامتر‌ها به شما نمايش داده مي‌شوند و شما فقط كافيست آنها را فعال يا غير فعال نماييد و مقاديري را درون آنها بنويسيد. همين!!


موفق باشيد.
67.gif


خداحافظ
IgImAx
89/09/02
26.gif
103.gif
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام دوستان عزيز
1.gif




106.gif
ممكنه براي مشاهده تصاوير موجود در پست‌هاي من نياز به اجراي يك هيتلر شكن داشته باشيد!!!
45.gif


فهرست كامل مقالات آموزشي ماكرو‌ها در پست دوم موجود است


آموزش RoboTask ه-05 راهاي مختلف اجراي Taskها
***************************
مقدمه:
. خوب ديگه كم كم مي‌توانيد Task‌هاي دلخواه خود را بنويسيد! و آنچه كه از اين به بعد مهم مي‌شود، نحوه و روش اجراي برنامه نوشته شده در زمان و مكانيست كه شما به آن نياز داريد!؟ در حقيفت زمان/مكان اجراي برنامه‌‌هاي نوشته شده در RoboTask در حد نوشتن خود برنامه‌ها مهم هست! چون به هر حال ما چنين برنامه‌‌هايي را براي انجام يكسري از نياز‌هايمان مي‌نويسيم ديگه!؟ پس بايد انواع روش‌هاي استفاده از آن را بدانيم تا در جايي كه نيازشان داريم از آنها استفاده نماييم.




********************************
انواع روش‌هاي:
. برنامه‌هاي(همون Taskها) نوشته شده در RoboTask به شكل كلي، به 2 روش قابل اجرا هستند:

1) از درون RoboTask : در اين روش برنامه RoboTask بر اساس تنظيمات كاربر، برنامه‌ مورد نظر را اجرا مي‌كند. براي نمونه همانند مسئله 7 از آموزش 4 كه برنامه نوشته شده در زمان بار گذاري (Load)هRoboTask اجرا مي‌شد. در اين حالت زمان و مكان و دليل اجرا شدن يك برنامه كاملن وابسته به در حال اجرا بودن برنامه RoboTask دارد. يعني اگر به هر دليل برنامه RoboTask در حال اجرا نباشد، برنامه‌هاي ما هم در شرايط تعريف شده اجرا نخواهند شد!(واضح و مبرهن است! - به قول خدابيامرز گل آقا و غضنفرش!)

2) توسط برنامه‌هاي ديگه: برنامه RoboTask اين امكان را به ما مي‌دهد كه از برنامه‌هاي نوشته شده در آن يك Shortcut ساخته و آن را از برنامه‌هاي ديگه صدا بزنيم.

. من اكثرن از حالت يك استفاده نموده‌ام ولي خوب! گاهي وقتا يكسري برنامه‌ها هستند كه براي مراقبت(Monitoring) از شبكه يا ويندوز يا ... توانايي اجراي يكسري برنامه‌هاي ديگه را دارند. گاهي شرايطي كه اون برنامه‌ها آنها را كنترل مي‌كنند چيزي فراتر از توانايي Monitoring برنامه RoboTask هست. مثلن برنامه‌هاي Network Monitoring كه داراي توانايي كنترل ترافيك شبكه هستند، ممكنه امكان اين را داشته باشند كه در صورت رسيدن ترافيك شبكه به يك حد مشخص شده توسط كاربر، برنامه يا برنامه‌هاي ديگه‌اي را اجرا نمايند. در اينجا مي‌توان shortcut برنامه‌هاي درون RoboTask را به آنها داد. يا برنامه‌هايي كه سيستم را به حالت Hibernate يا Standby مي‌برند و پس يا قبل از اون حالات امكان اجراي برنامه‌هاي ديگه را دارند و .....




********************************
اجراي اتوماتيك Taskها از درون RoboTask بر اساس شرايط تعريف شده:
. شما اجراي دستي (Manual Execution) برنامه‌ها را مي‌دانيد! هم چنين با يك نمونه اجراي اتوماتيك برنامه‌ها در زمان شروع به كار برنامه RoboTask آشنا شده‌ايد.

. اساسن، ما براي اتوماتيك نمودن اجراي برنامه‌ها از درون RoboTask و در صورت بروز شرايط خاص، همواره از تب Triggering Events هر Task استفاده مي‌كنيم. شما قبلن با اين تب در آموزش 3 آشنا شده بوديد. اين تب بخشي از پنجره Task Add/Edit هست:


. همانطور كه در آموزش 3 مشاهده نموديد، شرايط مختلف اجرا شدن Task در دكمه ADD از اين تب قرار دارد. ولي دو تا از شرايط عمومي آنها در بيرون اون دكمه و به شكل Check Box در تصوير قابل مشاهده است. شما قبلن با شرط اول آشنا شده‌ايد:

1) Run when RoboTask starts: در صورت فعال نمودن اين شرط (قرار دادن علامت چك مارك در جعبه كوچك سمت چپ عبارت فوق) با هر بار اجرا شدن برنامه RoboTask، برنامه موجود در تب Action اجرا خواهد شد.

2) Run when RoboTask starts: در صورت فعال شدن اين شرط، در زمان خروج از برنامه RoboTask، برنامه موجود در تب Action اجرا خواهد شد.

. همچنين بد نيست به ياد داشته باشيد كه اگر گزينه Enabled را كه در پنجره فوق و از تمامي تب‌ها قابل دسترسي است، را غير فعال نماييد، هيچ يك از Event هاي موجود در تب Triggering Events كار نخواهند كرد.

. به غير از دو گزينه فوق كه بر اساس شرايط تعيين شده باعث اجراي Task مي‌شوند، گزينه‌هاي ديگري درون دكمه Add از همين تب قرار گرفته است. تمامي اين گزينه‌ها در حقيقت شرايطي هستند كه كاربر مي‌تواند با تنظيم آنها بر اساس نياز خود، در صورت

---------------------------------------------
exclaminationmark.png
اطلاعات: Event در كل به معني رويداد يا رخداد هست. در دنياي! برنامه نويسي، Eventها در حقيقت مي‌توانند: فشار يك كليد از روي صفحه كليد يا حركت موس يا فشار يكي از كليدهاي موس يا رسيدن به ساعت و دقيقه‌اي خاص يا ايجاد يك فايل در فولدر هاردديسك يا قطع شدن كانكشن اينترنتي يا رسيدن پيامي از شبكه يا .... باشند. اگر شما از يكي از Eventهاي موجود در تب Triggering Events را در Task خود استفاده نموده باشيد، در حقيقت همانند اين هست كه شما از يك دستور شرطي استفاده نموده‌ايد كه معني آن اين است كه:
اگر فلان Event(رويداد) اتفاق افتاد، سپس، Task من را اجر كن
If (event condition= True) Then Start mytask
پس، در صورت استفاده از Eventها، Task شما بر اساس نوع Event استفاده شده هر از چندگاهي (از هر يك ثانيه تا ... بستگي به تنظيمات آن Event دارد) رخ دادن آن Event را چك مي‌كند و اگر آن Event رخ دهد برنامه شما اجرا خواهد شد. ما مي‌توانيم از بيش از يك Event هم در برنامه خود استفاده نماييم تا رويداد‌هاي مختلف را كنترل كنيم.
---------------------------------------------


. اكنون! توضيح موارد استفاده تك تك Eventهاي موجود در دكمه ADD،(البته به شكل خلاصه):

robotaskselecttriggerac.gif

تصوير 2
تصويري از پنجره Select Triggering Events

* گروه
triggeringeventsgroupge.gif
General:

...
triggeringeventsschedul.gif
ه
Scheduler: در اين قسمت شما مي‌توانيد زمان يا زمان‌هاي(ساعت تاريخ) اجرا شدن برنامه خود را تعيين نماييد. در صورت رسيدن ساعت و تاريخ تعيين شده، برنامه شما اجرا خواهد شد.
...
triggeringeventshotkeys.gif
ه
Hot Keys: در اينجا مي‌توانيد Shortcut Key هاي دلخواه خود را تعريف نماييد. در صورت فشار كليد‌هاي تعريف شده در اين قسمت برنامه اجرا خواهد شد.
...
triggeringeventstrayico.gif
ه
Tray Icon: تصوير آيكني در System Tray(كنار ساعت ويندوز در گوشه راست پايين در ميله Task Bar) نمايش داده مي‌شود. اگر برروي آن Double Click كنيد برنامه شما اجرا خواهد شد.
...
triggeringeventscyclic.gif
ه
Cyclic: در صورت تنظيم اين Event، برنامه شما در هر n ثانيه يكبار اجرا مي‌شود.
* گروه
triggeringeventsgroupfi.gif
Files & Folders:

...
triggeringeventsfilemon.gif
ه
File Monitor: كنترل يك Folder در هر n ثانيه و اجراي برنامه شما در صورتي كه در آن فولدر، فايل يا فولدري ايجاد/حذف يا فايلي تغيير اندازه/صفت(Attribute)/زمان(Time)، داده شود.
* گروه
triggeringeventsgroupdi.gif
Dial-Up:
...
triggeringeventsconnect.gif
ه
Connection Monitor: كنترل كانكشن تعريف شده در هر n ثانيه كه در صورت قطع شدن آن كانكشن، برنامه شما اجرا شود.
* گروه
triggeringeventsgroupwi.gif
Window:
...
triggeringeventswindoww.gif
ه
Window Watcher: در هر n ميلي ثانيه كنترل مي‌كند كه اگر پنجره‌يي(Hide/Normal) با نام فلان! فعال/غيرفعال/بسته/باز/تغيير تيتر، داد، برنامه شما اجرا شود. (بعضي از Processها پنجره ندارند، پس اين Event در حالت Hide براي چك كردن Processها هم مفيد هست.)
* گروه
triggeringeventsgroupsy.gif
System Events:
...
triggeringeventsontime.gif
ه
On Time Changed: در صورت تغيير ساعت/تاريخ از كنترل پنل برنامه شما اجرا مي‌شود.(هيچ تنظيمي ندارد)
...
triggeringeventsonbattr.gif
ه
On Battery Power is Low: در صورت كم شدن شارژ باتري لپتاپ اين Event فعال مي‌شود.(هيچ تنظيمي ندارد)
...
triggeringeventsonspool.gif
ه
On Spooler Changed: در صورت وارد شدن داده‌اي در پنجره مديريت پرينتر، اين Event فعال مي‌شود.(هيچ تنظيمي ندارد)
...
triggeringeventsondevic.gif
ه
On Device Changed: در صورت باز/بسته شدن در درايو Optical يا وارد/خارج شدن درايو USB اين Event فعال مي‌شود.(هيچ تنظيمي ندارد)
...
triggeringeventsonpalet.gif
ه
On Palette Changed: در صورتي كه پلت رنگ ويندوز تغيير كند (مثلن حتا اگر پنجره داس درون ويندوز فعال شود) اين Event فعال مي‌شود.(هيچ تنظيمي ندارد)
...
triggeringeventsondispl.gif
ه
On Display Changed: در صورت تغيير Resolution (و فكر كنم نمايشگر ديگه/ براي كساني كه چندتا نمايشگر دارند) اين Event فعال مي‌شود.(هيچ تنظيمي ندارد)
...
triggeringeventsonlogof.gif
ه
On Log Off: در صورتي كه كاربر از ويندوز را Log Off يا Shutdown كنه، قبل از آن عمل اين Event فعال مي‌شود.(هيچ تنظيمي ندارد)
...
triggeringeventsonidel.gif
ه
On Idle: در صورتي كه سيستم به مدت n دقيقه غير فعال باقي بماند (موس حركت داده نشه يا كليدي از روي موس يا كيبورد فشار داده نشود) برنامه شما اجرا خواهد شد.
* گروه
triggeringeventsgroupne.gif
Network:
...
triggeringeventslistene.gif
ه
Listener: ها!!! اين خوب چيزيه! برروي شبكه شما (هر نوع شبكه‌اي! LAN يا Internet يا ...) همواره منتظر دريافت فرماني از دستور Network\Network Command برنامه RoboTask ديگري مي‌شود. در صورت دريافت چنين فرماني، برنامه شما را اجرا مي‌كند. از اين Event و آن دستور فوق مي‌توان براي كنترل يك سيستم از راه دور و از روي شبكه استفاده نمود. البته اين دو دستور خيلي خيلي ساده هستند و شما بايد شخصن تمامي فراميني را كه مي‌خواهيد از راه دور ذر سيستم مقصد اجرا شود را برنامه نويسي نماييد.

. در كل استفاده از هريك از اين Eventها يا چندتاي آنها در تب Triggering Events باعث مي‌شود كه هر زمان يكي از آن Eventها شرايطش حاصل شد، باعث اجرا شدن برنامه شما شود. استفاده از Eventsها به دليل سادگي و كم بودن پارامتر‌هايشان حتا از دستورات ساده RoboTask هم ساده‌تر هستند!!


---------------------------------------------
يك نقيصه در برنامه RoboTask: متاسفانه برنامه RoboTask يك محدوديت در زمينه Eventها دارد و آن اين هست كه در صورتي كه بيش از يك Event در يك Task استفاده نماييد، راهي براي اينكه بدانيم كدام Event اكنون باعث اجراي برنامه ما شده است ندارد!؟!؟ مثلن فرض كنيد شما داراي دو اكنت اينترنتي هستيد و دو Event از Dial-Up\Connection Monitor براي دو كانكشن متفاوتتان در تب Triggering Event ايجاد نموده‌ايد. حالا يكي از كانكشن‌ها DC ميشه و Event مربوطه‌اش باعث اجرا شدن برنامه شما مي‌شود. حالا از كجا بدانيم كدام كانكشن DC شده؟! هيچ راهي نداريم كه در حالت استفاده از چند Event بدانيم كدام Event بوده كه فعال شده! يك راه كلك مرغابي! هست و آن اينكه Eventها را در Taskهاي مجزايي قرار دهيم و درون آن Taskها دو خط فرمان قرار دهيم. خط اولي متغييري هست كه در خود نام Event يا هر مقدار ديگري كه ماخواستيم را نگاه مي‌دارد و خط دوم Task اصلي برنامه را صدا مي‌زند.(به كمك دستور Task Command\Sart Task) به اين شكل اين نقيصه حل مي‌شود!!! (قبلن به نويسنده برنامه RoboTask در فرومشان اطلاع داده‌ام ولي كاري نكرده‌اند)
---------------------------------------------




********************************
اجراي Taskها توسط برنامه‌هاي ديگه:
. مي‌توانيد به دو روش زير Taskهاي خود را از درون برنامه‌هاي ديگر صدا زده و اجرا كنيد. ولي فراموش نكنيد كه همواره نياز هست كه برنامه RoboTask در سيستم شما نصب باشد ولي براي استفاده از دو روش زير نياز نيست كه حتمن برنامه RoboTask در حال اجرا باشد:

1) از پنجره اصلي RoboTask و از پنل Task Panel برروي Task مورد نظرتان Right Click كنيد و گزينه Create Shortcut on Desktop را انتخاب نماييد.

2) از پنجره اصلي RoboTask و از پنل Task Panel برروي Task مورد نظرتان Right Click كنيد و گزينه Create Batch File را انتخاب نماييد و محل ذخيره شدن و نام آن را در هارديسكتان انتخاب نماييد.

. در هر دو روش فوق از يك خط فرمان مشابه استفاده مي‌شود:
i
"C:\Program Files\RoboTask\RTaskRun.exe" $53E79867

. فايل RTaskRun.exe يكي از فايل‌هاي اجرايي موجود درون فولدر برنامه RoboTask هست. اون عدد هم Task ID برنامه نوشته شده شما مي‌باشد. شما هر نامي كه براي Task خود انتخاب نماييد، به حر حال يك Task ID خاص توسط خود برنامه RoboTask به آن نسبت داده مي‌شود. شما مي‌تواند ID برنامه‌هاي خود را در تيتر پنجره Task Add/Edit و درون () مشاهده نماييد.

. پس روش حرفه‌اي‌تر اجراي هر Task از درون برنامه ديگر مي‌تواند به اين شكل باشد كه در آن برنامه ابتدا نام و آدرس "C:\Program Files\RoboTask\RTaskRun.exe" را نوشته و سپس يك فاصله و علامت $ را تايپ كرده و در ادامه ID برنامه خود را بنويسيد.

---------------------------------------------
يك نقيصه در برنامه RoboTask: اگر در برنامه شما از دستورات موجود در گروه Dialogs استفاده شده باشد، در صورتي كه برنامه RoboTask در حافظه نباشد، و از روش Create Shortcut on Desktop استفاده نماييد، تمامي Dialog هاي شما به شكل مخفي نمايش داده مي‌شوند! كه اين مي‌تواند باعث درست اجرا نشدن برنامه شود!! من اين مورد را هم گزارش دادم ولي گفتند خودمان اين مشكل را مي‌دانيم و از روش Batch فايل استفاده نماييد!!
---------------------------------------------




********************************
نوشتن دو مثال براي استفاده از Eventها:
. تا اينجا توضيحات و مطالب مربوط به انواع روش‌هاي اجراي Taskها به اتمام رسيده است. الان فقط براي محكم كاري!! يعني درك مطلب بيشتر! دو مثال ذكر مي‌كنم.

مسئله 08:
صورت مسئله:
. نياز هست كه با فشار كليد‌هاي CTRL+ALT+SHIFT+D عمل Dial-UP براي اكنت اينترنتي ما انجام شود و در صورت فشار كليد‌هاي CTRL+ALT+SHIFT+H عمل Hang-Up براي همان اكنت انجام گيرد.

تفصير صورت مسئله:
. خوب در اينجا ما نياز داريم كه از Event مربوط به صفحه كليد به نام General\Hot Keys استفاده نماييم. اين Event كليد‌هاي فشرده شده از روي صفحه كليد را رصد(Monitoring) مي‌كند و اگر كليد يا كليد‌هايي كه در اين Event از قبل توسط كاربر تعريف شده باشد، از روي صفحه كليد فشارداده شود، اين Events باعث اجرا شدن دستورات درون تب Action همان Task مي‌شود.

. براي عمل(Action) شماره گيري(Dial-UP) و قطع كانكشن هم بايد در تب Action از دستور Dial-Up\Dial Up/Hang Up استفاده نماييم. خوشبختانه توانايي هر دو عمل قطع و وصل نمودن در يك دستور هست و با تنظيم پارامترهاي آن مي‌توانيم نوع نياز خود را مشخص نماييم. فرض كنيد، نام كانكشن ما Day Dial هست و Username هم ali و Password هم 123 هست.

. خوب! حالا دو Hot Keys مختلف با دو عمل مختلف داريم، پس نياز به دو نوشتن دو Task هم خواهيم داشت.

نوشتن كد براي مسئله 8-1:
. برنامه اول به نام PT Sample 08 - Dial-up هست:
1) Task جديدي را ايجاد و نام PT Sample 08 - Dial-up را براي آن بنويسيد.
2) در تب Action دستور زير را بنويسيد:
i
(1) Dial-Up\Dial Up/Hang Up : [Dial-Up Connection=Day Dial][How to use...=Establish...][Username=ali][Password=123]i
3) در تب Triggering Events رويداد زير را وارد نماييد:
i
(1) General\Hot Keys : [Hot Keys=Ctrl + Alt + Shift + D]
i
. همين! در زماني كه رويداد Hot Keys را از تب Triggering Events را انتخاب مي‌كنيد، Dialog Boxي باز مي‌شود كه داراي يك Text Box به نام Hot Keys هست و كرسر در آن در حال چشمك زدن هست. اكنون هر كليد يا تركيب كليدي را در آن فشار دهيد، نام آن كليد‌ها در آن Text Box نوشته مي‌شود. به اين شكل مي‌توانيد كليد‌هاي دلخواه خود را تعريف نماييد كه در صورت فشار آنها برنامه شما اجرا شود.


---------------------------------------------
exclaminationmark.png
قرارداد: از اين به بعد دستوراتي يا رويداد‌هايي كه قرار است در تب‌هايAction يا Triggering Events نوشته شود را به شكل زير خواهيم نوشت:
(شماره خط) نام گروه/نام دستور يا رويداد : [نام پارامتر=مقدار انتخابي كاربر] [.....]

اگر دستور مورد استفاده، داراي چندين تب باشد، پارامتر‌هاي موجود در تب‌هاي دوم به بعد را با ذكر نام تب در قبل از نام پارامتر خواهيم نوشت:
(شماره خط) نام گروه/نام دستور يا رويداد : [نام تب دوم به بعد/نام پارامتر=مقدار انتخابي كاربر] [.....]
---------------------------------------------

. حالا با توجه به نوشته شدن برنامه فوق، هر زمان كه كليد‌هاي Ctrl + Alt + Shift + D را فشار دهيد، بايد عمل ديال انجام شود.

نوشتن كد براي مسئله 8-2:
. برنامه دوم به نام PT Sample 08 - Hang-Up هست:
1) Task جديدي را ايجاد و نام PT Sample 08 - Hang-up را براي آن بنويسيد.
2) در تب Action دستور زير را بنويسيد:
i
(1) Dial-Up\Dial Up/Hang Up : [Dial-Up Connection=Day Dial][How to use...=Disconnect...]i
3) در تب Triggering Events رويداد زير را وارد نماييد:
i
(1) General\Hot Keys : [Hot Keys=Ctrl + Alt + Shift + H]
i
. همين! اكنون اگر به كانكشن Day Dial متصل باشيد، بايد با فشار كليد‌هاي Ctrl + Alt + Shift + H از آن كانكشن قطع شويد.



مسئله 09:
صورت مسئله:
. اكنت اينترنتي كه خريداري نموده‌ام داراي فقط يك نوع كانكشن هست و محدوديت ترافيك آن در ماه 3GB هست. (محدوديت ترافيك=مجموع دنلود + آپلود) به دليل محدوديت حجمي گاهي ممكنه اشتباهي برنامه‌هاي µTorrent يا Internet Download Manager با ويندوز اجرا شده باشند يا شخصي آنها را اجرا كرده باشد ولي چون پنجره آنها Minimize شده من متوجه فعال بودن آنها نشده باشم! و از حجم اينترنتي من استفاده شود. راهي هست كه با اجرا شدن اين برنامه‌ها يك پنچره اخطار ظاهر شود؟!

تفصير صورت مسئله:
. برنامه موردنياز براي حل اين مسئله لازم هست كه اجراي پنجره‌ها را به كمك رويداد Window\Window Watcher رصد كند و اگر برنامه‌هايي با نام‌هاي برنامه‌هاي فوق اجرا شدند، يك Dialog Box به ما نمايش دهد. اين برنامه را مي‌توان به روش‌هاي مختلف با رويداد‌ها و دستورات مختلف نوشت! ولي چون هنوز استفاده از متغييرها (Variables) را آموزش نداده‌ام، ساده‌ترينش و نه چندان كامل يا باهوش‌ترين راه را فقط براي آشنايي با روش استفاده از رويدادها استفاده مي‌كنيم!

نوشتن كد براي مسئله 9:
1) Task جديدي را ايجاد و نام PT Sample 09 - Appz Monitor را براي آن بنويسيد.
2) در تب Action دستور زير را بنويسيد:
i
(1) Dialogs\Show Message/Play Sound : [Message Text={DateTime} :: µTorrent or IDM is running!!!] [Message Icon=Exclamation] [Play Sound=Select a file from Your HDD]i

. متغيير i{DateTime}i از دسته متغيير‌هاي سيستمي موجود در i{v}\System Variables\Date & Timeهست. شما مي‌توانيد به جاي رفتن به آدرس فوق، دستي هم متغيير‌هاي سيستمي را بنويسيد. بزرگي يا كوچكي حروف در نام متغيير‌ها در RoboTask اصلن مهم نيستند!

3) در تب Triggering Events رويدادهاي زير را وارد نماييد:
i
(1) Window\Window Watcher : [Window Caption=µTorrent] [Watch for...=Window Created] [Advanced\Watch hidden Windows=Selected]

(2)
Window\Window Watcher : [Window Caption=Internet Download Manager] [Watch for...=Window Created] [Advanced\Watch hidden Windows=Selected]
i
. همين! اكنون اگر برنامه‌هاي IDM يا µTorrent را اجرا كنيد، برنامه شما پنجره‌اي شبيه پنجره زير به شما نمايش مي‌دهد:


exclamationmark02.gif
نكته : دقت كنيد! كه حرف µ در نام فايل µTorrent را با حرف U (يو) اشتباه تايپ نكنيد! براي تايپ اين حرف بايد دكمه Alt را نگاه داشته و عدد 0181 را از روي Num PAD تايپ كنيد. اگر دلتان خواست از برنامه‌هاي ديگه‌اي به غير از برنامه‌هاي نامبردوه شده در مثال فوق استفاده نماييد.

exclamationmark02.gif
نكته : براي چي بايد گزينه [Advanced\Watch hidden Windows=Selected] را انتخاب نماييم؟! چون بعضي از برنامه‌ها ممكنه در هنگام اجرا شدن، فقط آيكني در System Tray (كنار ساعت ويندوز در گوشه پايين سمت راست) قرار دهند ولي پنجره‌اي باز نكنند! در حقيقت فعال نمودن اين گزينه امكان چك نمودن هرنوع Process-ي را براي ما فراهم مي‌كند! (چه با پنجره چه بدون پنجره!) پس با اين حساب مي‌توانيد يك نيمچه ويروسياب هم با RoboTask بنويسيد!!
4.gif


exclamationmark02.gif
نكته : برنامه فوق را مي‌شد با دستورات Dial-Up\Check Connection و چندتا دستور Loop & Flows\IF Then و Variables\Create Variable بسيار هوشمندتر نوشت! اما انشاالله تمامي اين نوع برنامه‌هاي پس از آموزش استفاده از Variableها! در آينده!




********************************
مشق شب:
. بعله! چي فكر كرديد؟! از اين به بعد ممكنه كلي مشق شب داشته باشيد! بچه‌هاي تنبل بهتره زود مشقاشون رو حل كنند تا شب آخري لازم نباشه تا صبح بيدار بمونن! بعدش مشق شب رو براي خودتان حل كنيد ولي اگر سوالي يا مشكلي با درك مطالب اون درس داشتيد؛ قبل از شروع آموزش بعدي بپرسيد تا پاسخ دهيم!

exclamationmark02.gif
نكته : اگر دوست داشتيد، نمونه كد مشق‌هاي خود را براي من در PM ارسال نماييد كه فقط درستي يا نادرستي آنها را به شما اعلام نمايم! اما هيچگونه سوالي از طريق PM پاسخ داده نمي‌شود!!(سوال فقط در سطح فروم و آن هم پس از مطالعه كامل مطالب آموزشي!) شما مي‌توانيد نمونه كد خود را به روش فوق برايم بنويسيد ولي رنگي بودن يا نبودنشون اصلن مهم نيست! (اصلن Exportهاي Taskهاي نوشته شما چك نخواهد شد! فقط به روش فوق كد‌هاي خود را برايم ارسال نماييد)

questionmark1.gif
سوال؟مشق شب 01:
. لازم هست كه در ساعت 3PM هرروز برنامه Microsoft Office outlook من اجرا شود و ايميل‌هاي جديد را دريافت نمايد.

questionmark1.gif
سوال؟مشق شب 02:
. لازم هست كه در هر 5 دقيقه از كل تصوير مانيتورم يك تصوير بگيرم. (براي گرفتن تصوير از كل صفحه مي‌توانيد از برنامه IrfanView كه در مسئله 01 از آموزش 1 معرفي شده است، استفاده نماييد. خط فرمانش مي‌تواند دقيقن همانند آن باشد. نمونه برنامه‌ها هم كه مي‌دانيد كجاست؟!)

questionmark1.gif
سوال؟مشق شب 03:
. لازم هست كه در هر 2 دقيقه كانكشن Night Con من DC و دوباره وصل شود.


questionmark1.gif
سوال؟مشق شب 04:
. لازم هست كه در هر ثانيه درون فولدر C:\Temp براي ايجاد شدن فايلي به هر نامي ولي با پسوند txt كنترل شود و اگر چنين فايلي درست شد، كاربر را با پيامي مطلع نماييم!؟




********************************
اتمام آموزش 05 و اكنون خلاصه!:
* چون برنامه RoboTask توانايي تبديل فايل‌هاي Task به Exe را ندارد، پس شما همواره نياز داريد كه براي اجراي برنامه‌هاي Task نوشته شده خود، برنامه RoboTask را هم حتمن نصب نماييد.
* به دو ر روش كلي مي‌توان يك Task را به شكل اتوماتيك اجرا نمود. يكي از درون تب Triggering Events از پنجره Task Add/Edit و ديگري به روش ساخت Shortcut/Batch File. اما در هر صورت نياز هست كه در سيستم خود برنامه RoboTask را نصب نموده باشيد.
* در روش استفاده از Eventهاي موجود در تب Triggering Events، شما مي‌توانيد از يك يا تعداد بيشتري از Eventها، براي يك Task استفاده نماييد.
* اگر گزينه Enable را كه در پايين پنجره Task Edit/ADD هست و از همه تب‌ها قابل دسترسي مي‌باشد، را غير فعال نماييد، هيچ يك از Eventها عمل نخواهند نمود.
* در زماني كه از روش ساختن Shortcut براي يك Task استفاده مي‌كنيد، بهتر است كه برنامه RoboTask فعال باشد.


موفق باشيد.
67.gif


خداحافظ
IgImAx
89/09/08
26.gif
103.gif
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام Kovsarsystem عزیز
1.gif


لطفا بفرمایید که آیا میتوان فایل اجرایی از تسک های نوشته شده توسط این برنامه تهیه کرد ؟؟
. خير نميشه! اين نكته در جدول مقايسه برنامه‌ةاي Macro در پست اول مشخص شده است. همچنين چندينبار در آموزش‌هاي مختلف اين نكته ذكر شده. لطفن همه پست‌ها را كامل و به دقت مطالعه نماييد.

لطفا در آموزشهای بعدی در مورد دستورات شرطی بیشتر توضیح دهید .
. حتمن، ولي چون هدف آموزش‌هاي فوق در ابتدا كاربران مبتدي هست كمي طول مي‌كشه تا به آنجا برسيم.


اگر برایتان مقدور می باشد چندین برنامه حرفه ای که با روبو نوشته شده را آپلود نمایید .
. آموزش‌ها به حد متوسط كه رسيد، حتمن مثال‌هاي مختلفي را قرار خواهم داد + برنامه‌اي كه براي كانكت شدن به اينترنت (روزانه شبانه) نوشته‌ام هم خواهم كذاشت، ولي الان زوده!

. اگر دوستان عزيز برنامه يا برنامه‌هايي با هر نوع برنامه Macro-يي نوشته‌اند، خوشحال مي‌شوم كه با حداقل( تا كامل!) كمي توضيحات آن را براي استفاده و تمرين و يادگيري دوستان در اينجا قرار دهند.

موفق باشيد.
67.gif


خداحافظ
IgImAx
89/09/11
26.gif
103.gif
 

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام دوستان عزیز
1.gif


. آموزش 5 بالاخره تمام شد. اما چند نكته:

exclamationmark02.gif
نكته : زماني كه يك پست ايجاد شود مطمئنن اگر شما به تاپيك Subscribe باشيد از طريقي كه در تنظيمات خود مشخص نموده‌ايد، از ايجاد پست جديد مطلع شده مي‌شويد. ولي تا زماني كه پست آموزشي من تكميل نشده، هرگز نام و آدرس آن در پست 2 كه حاوي فهرست هست قرار نخواهد گرفت. پس اگر زماني تكيل يك پست آموزشي طولاني شد، براي مطلع شدن از اتمام كارش! فقط كافيست كه پست دوم را ريفرش نماييد!

iconredexclamation.png
مهم: هرگز سوالات خود را از طريق PM مطرح نفرماييد كه پاسخ نخواهند گرفت!

exclamationmark02.gif
نكته : از آموزش 5 به بعد شما شاهد مشق شب خواهيد بود!! براي اينكه خودتان بدانيد كه آيا مطالب آموزش داده شده را به خوبي درك نموده‌ايد لطفن آنها را حل نماييد. بر اساس نوع درس ممكنه مشق شبي نداشته باشيم!

questionmark1.gif
سوال؟ چرا دوستاني كه با برنامه‌هاي ديگه يا همين برنامه آشنا هستند، آموزشي، نمونه كدية نكته‌اي يا.... ذكر نمي‌كنند؟! اين تاپيك آموزشي براي همه آموزش‌دهنده‌ها هستا!

موفق باشيد.
67.gif


خداحافظ
IgImAx
89/09/11
26.gif
103.gif
 

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام Kovsarsystem عزیز
1.gif


با عرض پوزش آیا این برنامه توابعی برای مودم نیز دارد ؟؟
. مگه شما از دستور Dial-Up\Dial Up/Hang Up كه در دوس قبلي ذكر شده است، براي مودم خودتان استفاده نموديد جواب نداد؟!

. برنامه RoboTask دستوراتي براي DTMF ندارد، ولي خوب به كمك دستوراتي همانند Window\Window Command و General\Send Keystrokes برنامه‌هاي Dialer تحت ويندوز را كنترل نماييد. البته هر برنامه‌اي را نمي‌شود به راحتي كنترل نمود، بايد بگرديد و برنامه مناسب اين كار را بيابيد.

. همچنين، به دليل اينكه، برنامه RoboTask داراي Pluginي به نام "BASIC Plug-in" هست كه امكان اضافه نمودن كدهاي Basic Script را مي‌دهد، 100% از آن طريق مي‌شه چنين كار‌هايي را نمود، ولي يا بايد با كد نويسي BS آشنا باشيد يا كدهاي آماده نوشته شده را مثلن از اين سايت "http://www.planet-source-code.com" يافته و درون پلاگين فوق معرفي نماييد.(كه باز بايد تا حدودي با زبان بيسيك آشنا باشيد)

. در ضمن درون Help برنامه‌هاي WinAutomation v3.0.3.410 و Macro Express Pro v4.1.7.1 و autoit v3.3.6.1 به دنبال DTMF گشتم ولي چيزي پيدا نشد!

موفق باشيد.
67.gif


خداحافظ
IgImAx
89/09/13
26.gif
103.gif
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام دوستان عزیز
1.gif



ممكنه براي مشاهده تصاوير موجود در پست‌هاي من نياز به اجراي يك هيتلر شكن داشته باشيد!!!

******************************

exclaminationmark.png
اطلاعيه: تيتر و مطالب پست 5 تغيير نمود. تيتر آن به "مقايسه تصويري و خلاصه برنامه‌هاي مختلف ماكرو" تغيير نمود. از اين پس، در آن پست شما مي‌توانيد مقايسه تصويري بين ليست تمامي دستورات هر برنامه ماكرو و محيط Editor شان و نقاط قوت و ضعف شان را از ديد كاربران مشاهده نماييد. (مواردي كه از ديد كاربران هست، با ذكر نامشان خواهد بود و از دد خودم بدون نام خودم!)

. اون پست را به مرور و آهسته آهسته! به روز خواهم نمود.



******************************
exclaminationmark.png
اطلاعيه: به پست 3 هم دو فهرست ديگر از مطالب اين تاپيك اضافه شد تا دوستان عزيز راحتتر (و با حداقل نياز به جستجو كردن) به مطالب درون اين تاپيك دسترسي يابند. فهرست‌هاي درون آن پست عبارتند از:
فهرست نمونه ماكرو‌ها
فهرست سوالات و پاسخ‌ها
فهرست مطالب مهم


موفق باشيد.
67.gif


خداحافظ
IgImAx
89/09/13
26.gif
103.gif
 
Last edited:

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام دوستان عزيز
1.gif



106.gif
ممكنه براي مشاهده تصاوير موجود در پست‌هاي من نياز به اجراي يك هيتلر شكن داشته باشيد!!!
45.gif


فهرست كامل مقالات آموزشي ماكرو‌ها در پست دوم موجود است


آموزش RoboTask
ه-06 متغييرها (Variables)ه
***************************
مقدمه:
. "Variable"ها يا معادل فارسيش "متغيير"، يكي از اساسي‌ترين و مهم‌ترين بخش‌ها در برنامه نويسي هستند. در هر زبان برنامه نويسي حتمن متغيير‌ها با تعداد و انواع مختلفي در آن زبان موجود مي‌باشند. كاري كه متغييرها براي ما انجام ميدهند درحقيقت ذخيره داده‌ها در درون حافظه RAM سيستم مي‌باشد. اين داده‌ها مي‌توانند اطلاعات وارد شده توسط كاربران يا داده‌هاي ايجاد شده درون برنامه يا داده‌هاي خوانده شده از روي هاردديسك يا داده‌هاي دريافت شده از شبكه يا ... باشند.

. در حقيقت متغيير‌ها در زبان برنامه نويسي دقيقن همانند متغيير‌ها در رياضيات مي‌باشند. در رياضيات وقتي مي‌نويسيم x=2 يعني متغييري به نام X داريم كه در آن يك مقداري عددي ذخيره شده است. از آنجا كه در ادامه فرمول نويسي رياضي ممكنه مقدار ديگري درون X قرار بگيرد به همين دليل به آنها متغيير مي‌گويند. در ادامه در مورد اصطلاحات مربوط به متغييرها توضيحاتي داده‌ام.




********************************
اطلاعات پايه‌اي در مورد Variableها:
exclamationmark02.gif
نكته : در صورتي كه با مفاهيم Variable(متغيير) و Value(مقدار) و Data Types(انواع داده) آشنا نيستيد، اين بخش را بخوانيد! در غير اينصورت به بخش بعدي برويد.

. Variableها داده‌هاي عددي يا حرفي يا ... را درون خود ذخيره مي‌نمايند تا در زمان اجراي برنامه با ذكر نام متغييري بتوان به راحتي به داده ذخيره شده در درون آن دسترسي يافت. در حقيقت، متغيير‌ها بلوك‌هايي از حافظه RAM سيستم شما هستند كه انواع داده‌ها را درون آن بلوك‌ها ذخيره مي‌نمايند. بخشي از حافظه سيستم را به شكل بلوك‌هايي كوچك كه در كنار يكديگر قرار گرفته‌اند فرض نماييد. متغيير‌ها بر اساس نوع داده خود ممكن است يك يا چند بلوك از حافظه را اشغال نمايند. براي شناسايي اينكه هر بلوك از حافظه مال چه متغييري مي‌باشد، لازم است كه براي هر متغيير نامي را انتخاب نماييم.

. متغييرها با داشتن نامي كه ما برايشان انتخاب نموده‌ايم، در زماني كه ايجاد(Create) مي‌شوند، يك يا چند بلوك از حافظه را براي خود برمي‌دارند! سپس زبان برنامه نويسي، آدرس يا آدرس‌هاي آن بلوك/ها را براي نام همان متغيير(Variable Name) در نظر مي‌گيرد و مقدار درون متغيير(Variable Value) را درون آن بلوك‌ها ذخيره مي‌كند. از اين به بعد هر گاه ما نياز به مقدار(Value) ذخيره شده در درون اون متغيير(Variable) داشته باشيم، فقط كافيست كه نام متغيير را در درون دستورات برنامه نويسي خود استفاده نماييم تا در زمان اجراي برنامه، هر جا كه به نام متغييري رسيد، مقدار آن را به جاي نام متغيير قرار دهد.

. براي مثال، همان X=2 رياضيات را در نظر بگيريد. نام متغيير(Variable Name) ما X است و مقدار(Value) آن 2 است. همچنين متغيير ديگري همانند Y=895987 را هم در نظر بگيريد. حالا فرض كنيد اين دو متغيير را درون برنامه خود ايجاد نموده‌ايد و بازهم! فرض كنيد كه عدد 2 درون يك خانه از حافظه جاي مي‌گيرد ولي عدد بزرگ 895987 نياز به دو خانه دارد. پس تصويري فرضي از بلوك‌هاي حافظه اينچنين خواهد بود:


. حالا اگر در جايي از برنامه خود نام متغيير X يا Y را قرار دهيد. در زمان اجراي برنامه، زماني كه به يكي از اين دو نام متغيير مي‌رسد، به درون حافظه و خانه‌اي با نام همان متغيير نگاه مي‌كند و مقدار معادل آن متغيير را جاي آن قرار مي‌دهد. همچنين اگر در جايي از برنامه برروي متغييري يك سري عمليات رياضي يا ... انجام دهيد، مقدار جديد آن در همان بلوك حافظه با همان نام متغيير به جاي مقدار قبلي قرار خواهد گرفت.(شما زياد نگران بزرگي و كوچكي مقدار متغيير و تعداد بلوكي كه مقدار جديد متغيير در حافظه به خود تخصيص مي‌دهد نباشد! اينكارها توسط خود Robotask مديريت مي‌شود) يعني، فرض كنيد كه پس از معرفي X=2 در ادامه برنامه دستور X=X+1 قرار داشته باشد. زبان برنامه نويسي در سمت راست اين معادله مقدار X را از درون حافظه خواهد خواند، كه عدد 2 هست و به جاي X قرار مي‌دهد و نتيجه 1+2 را دوباره درون متغيير X قرار خواهد داد. يعني از اينجا به بعد X=3 خواهد بود. پس اگر دوباره و در ادامه برنامه در جايي براي مثال دستور X=X+50 داده شده باشد، نتيجه اين خواهد بود X=3+50 يعني X=53 و ....

. در زبان‌هاي برنامه نويسي بر خلاف رياضيات، ما انواع مقادير (Values) مختلف براي متغيير‌ها داريم. يعني به غير از مقادير عددي، مقاديري همانند حرفي(مانند A يا k يا ..) ، كلمه‌اي (مانند Hello يا Ali يا ...) ، منطقي(مانند True يا False يا ...) يا ..... وجود دارند. به "انواع داده" ها در زبان‌هاي برنامه نويسي Data Types (=انوع داده‌ها) مي‌گويند. ممكنه يك زبان برنامه نويسي 10 يا 15 يا ... Data Type داشته باشه! اما در RoboTask ما فقط 4 تا Data Type داريم كه در حقيقت بعضياش مخلوطي از چند Data Type مختلف در زبان‌هاي برنامه نويسي پيشرفته ديگه هستند! ولي در اينجا براي سادگي بيشتر، به شكل 4 نوع داده خلاصه شده‌اند. در ادامه آنها را توضيح خواهم داد.

. پس به شكل خلاصه اصطلاحاتي كه در نوشته‌هاي فوق يادگرفتيم يا در ادامه خواهيم آموخت را مرور خواهيم نمود:

1) Variable (متغيير): Variableها داده‌هاي ما را در زمان اجراي برنامه درون خود نگاهداري مي‌كنند. ما مي‌توانيم برروي داده‌هاي درون متغييرها تغييراتي اعمال نماييم يا مقدار(Value) آنها را برروي ديسك يا هر مكان ديگري ذخيره نماييم.

2) Variable Name (نام متغيير): هر متغيير نامي دارد كه با ذكر آن در دستورات برنامه نويسي، مقدار(Value) درون آن متغيير به جاي نامش قرار مي‌گيرد.

3) Variable Value (مقدار درون متغيير): هر متغيير داده‌اي را درون خود ذخيره مي‌نمايد، به داده‌ ذخيره شده در درون هر متغيير، Value(مقدار) آن Variable (متغيير) مي‌گويند.

4) Data Types (انواع داده‌ها): داده‌ها(اطلاعات) درون كامپيوتر انواع مختلفي دارند، بنابراين براي ذخيره Value هاي مختلف در درون متغيير‌ها، بايد نوع متغيير مناسبي را براي نوع داده خود انتخاب نماييم.

5) Define Variable (تعريف/ايجاد متغيير): وقتي براي اولين بار نام يك متغيير را ايجاد مي‌كنيم، به نوعي آن را تعريف نموده‌ايم.

6) Assign a Value To Variable)Assignment) (مقدار دهي): پس از تعريف/ايجاد يك متغيير، براي مقدار دهي به آن متغيير بايد از دستورات Assignment استفاده نماييم. (در ادامه توضيح بيشتري خواهيم داد)

7) Initialization a Variable (تعريف و مقدار دهي همزمان متغيير): اگر همان لحظه كه يك متغيير را تعريف (define) مي‌كنيم به آن مقداري را نسبت دهيم(Assignment) به اين عمل Initialization مي‌گويند.




********************************
انواع Data Type در RoboTask:
. در RoboTask ما 4 نوع Data Type داريم:

1) String: رشته‌اي - داده‌هاي String حاوي هر نوع كاراكتر(Character) حرفي (a,A,h,L,ali,Open) و عددي (1,30,288) و علايم(@,#,{) مي‌شود. پس متغييري كه بر اساس نوع String تعريف و ايجاد شده باشد هر نوع كاراكتري را مي‌تواند در خود جاي دهد.

2) Numeric: عددي - داده‌هاي Numeric حاوي اعداد صحيح (...-3و-2و-1و0و1و2و3و...) و اعشاري (1.2و25.002) +\- مي‌شود.

3) Boolean: [جبر] بولي/منطقي - داده‌هاي Boolean فقط شامل True يا False مي‌شود.

4) Date/Time: زمان - شامل ساعت يا تاريخ يا تركيب آن دو مي‌شود. (4:59PM يا 2:58:30AM يا 8/12/2010 ....)

. در زبان‌هاي برنامه نويسي (همانند Basic يا C يا Java ...) در زماني كه شما قصد تعريف (Define) يك متغيير جديدي راداريد بايد نوع data Type آن را نيز مشخص نماييد و پس از آن مي‌توانيد به آن Value(مقداري) مناسب بر اساس Data Type اون variable بهش نسبت دهيد. مثلن اگر متغييري را با نوع Numeric تعريف نموديد، ديگه نمي‌توانيد به آن Value(مقدار) حرفي (مانند ali) را نسبت دهيد.

. اما RoboTask چون يك زبان بسيار ساده و در سطح كاربران مبتدي دارد، استفاده از متغيير ها را با برداشتن مراحل پيچيده "ابتدا تعريف نوع داده متغيير و سپس مقدار دهي آن فقط بر اساس نوع تعريف شده" و جاي گزيني اين مراحل با روشي ساده‌تر كه در ادامه توضيح خواهم داد، بسيار بسيار كار ما را آسان نموده‌است.

. در زبان‌هاي برنامه نويسي شما بايد نوع داده‌ را براي تك تك متغييرها در ابتدا تعريفشان مشخص نماييد و در ادامه فقط اجازه خواهيد داشت كه مقاديري بر اساس نوع داده تعريف شده به آن متغيير نسبت دهيد و در طول اجراي برنامه امكان تغيير نوع داده براي متغييرها نمي‌باشد! اما در RoboTask هر متغيير در زمان تعريف شدن و بدون در نظر گرفتن نوع مقدار آن، همواره به عنوان String در نظر گرفته مي‌شود!! و فقط در بعضي از دستورات شرطي (مانند IF) يا عملياتي (مانند Increment Variable يا STR Trim) مي‌توان نوع داده خاصي را طلب نمود!




********************************
دستورات مربوط به Variableها در RoboTask:
. تمامي دستورات مربوط به متغيير‌ها در قسمت Variables از تب Action قابل دسترسي هستند:

1) Create Variable\Set Variable: براي ايجاد و تغيير مقدار متغيير مي‌توان از اين دو دستور استفاده نمود. Dialog Box هر دو همانند هم هستند:

قسمت‌هاي مختلف پنجره فوق:
...(1) Variable Name: نام دلخواه خود را براي متغيير در Text Box اين قسمت بايد بنويسيد. اينكه چه نامي براي متغيير خود انتخاب نماييد يا تعداد حروف آن چه قدر باشد! كاملن به عهده خودتان است ولي قوانين نام گذاري براي متغيير‌ها وجود داره كه:
......الف) در نام متغيير فقط بايد از حروف و اعداد و خط زير "_" استفاده شود.
....... ب) نام متغيير فقط بايد با حرف يا خط زير "_" شروع شود.

...
(2) Variable Value: مقدار مورد نظر خود كه قصد ذخيره نمودن آن در متغيير را داريد در اينجا وارد نماييد. شما مي‌توانيد:
......الف) در زمان Create يا Set كردن اوليه يك متغيير، مي‌توانيد مقداري را به آن نسبت داده يا ندهيد و در ادامه كد نويسي خود مقداري را به آن نسبت دهيد.
....... ب) در اينجا مي‌توانيد نام متغيير ديگري را بنويسيد ولي يادتان نرود كه نام متغيير را در بين دو علامت گيومه (آبرو) {} قرار دهيد تا به اين شكل مقدار درون متغيير دوم در متغيير اولي قرار بگيرد.
....... ج) مي‌توانيد با كليك برروي دكمه {v} يعني شماره (4) از تصوير، از بين متغيير‌هاي System Variables يا User Variables متغييري را در اينجا وارد نماييد.

...(3) Expand Variable Value: خنده داره!! در هيچ جاي Help برنامه اين گزينه را توضيح نداده است! و همين موضوع يك بار باعث شد كه برنامه‌اي كه براي اكنت شبانه نوشته بودم، اشتباهي چند دقيقه‌اي با اكنت روزانه كار كند!!
كاربرد اين گزينه: اگر در قسمت Variable Value به جاي تعيين يك مقدار ثابت، نام متغييري را قرار دهيد و اين گزينه را تيك نزنيد، در هر جاي برنامه كه متغيير دوم تغيير نمايد متغيير اوليه كه برابر آن قرار گرفته بوده هم مقدارش برابر با مقدار جديد متغيير دوم خواهد شد! ولي اگر تيك فوق را بزنيد ديگه چنين اتفاقي نخواهد افتاد!!

. من كه تا كنون تفاوتي بيني دو دستور Create و Set نديده‌ام! اما در كل! بهتر براي بار اول كه مي‌خواهيد متغييري را تعريف نماييد از دستور Create و در ادامه از دستور Set استفاده نماييد.

2) Increment Variable: از اين دستور براي كاهش/افزايش متغيير عددي به ميزان n استفاده نماييد. n فقط مي‌تواند يك عدد صحيح از بين ...,1+,0,-1,... باشد.

---------------------------------------------
يك نقيصه در برنامه RoboTask: برنامه RoboTask دستوراتي مستقيم براي انجام عمليات *(ضرب) و /(تقسيم) برروي اعداد ندارد!! و براي اينكار بايد از پلاگين Basic آن استفاده نماييم!
---------------------------------------------

3) Remove Variable: اين دستور متغيير و مقدار آن را از حافظه و محيط User variables برنامه RoboTask پاك مي‌كند. بهتره كه متغيير‌هايي را كه اجياد مي‌كنيد، پس از استفاده آنها را پاك كنيد مگر اينكه بخواهيد كه از مقدار (Value) آنها در Taskهاي ديگر استفاده نماييد.


. توضيحات مربوط به دستور Delimit Variable و دامنه متغييرهاي Local و Global و متغييرهاي Array، بماند براي موقع مناسبترش در آينده!




********************************
قوانين و روش‌هاي استفاده از متغيير‌ها:
. يكسري نكات و قوانين در زمان ايجاد يا استفاده از متغيير‌ها وجود دارد كه بايد آنها همواره را به ياد داشته باشيد:

1) متغيير‌ها را هم مي‌توان به كمك دو دستور Set\Create Variable ايجاد نمود و هم به كمك دستوراتي كه خروجي نتيجه عمليات خود را درون متغييري ذخيره مي‌نمايند. (مانند دستوراتي چون Dialogs\Input Box يا Dial-up\Check Connection يا ...) ولي بهتر است كه همواره متغيير‌هاي مورد نياز خود را قبل از استفاده نمودن به كمك دو دستور Create\Set Variable از ابتدا معرفي نماييد.

2) در زمان تعريف يا مقداردهي متغيير فقط نام آن را بنويسيد ولي در زماني كه قرار است كه از مقدار درون متغيير در جايي استفاده شود بايد نام متغيير را در بين دو علامت آبرو(آكولاد) {} قرار دهيد.

3) قوانين نامگذاري براي نام متغيير را رعايت نماييد ولي استفاده از حروف كوچك يا بزرگ در نام متغيير درنظر گرفته نمي‌شود.




********************************
چند مثال در رابطه با Variableها:
. خوب!! تا اينجا معني و مفهوم متغيير‌ها را دانستيم، با اصطلاحاتشون آشنا شديم و دستوراتشون را هم ديديم! اما ببينيم چطور بايد در عمل از آنها استفاده نماييم.

. در مثال‌هاي زير انواع روش‌هاي كار روي متغيير‌ها را خواهيم ديد. از تعريف متغيير (Define) / تعريف و مقداردهي همزمان متغيير (Initialization) / مقداردهي متغيير پس از تعريف به روش Assignment يا ورودي از صفحه كليد يا مقداردهي از برگشتي يك دستور ..... تقريبن همه حالتي را خواهيم ديد.


*========
* مسئله 10:
=> صورت مسئله:
. برنامه‌اي بنويسيم كه نام كاربر را بپرسد و سپس عبارت Hello و به دنبال آن نام كاربر را قرار دهد.

=> تفصير صورت مسئله:
. مسئله ساده‌اي است! چون قرار است نام كاربر از ورودي دريافت شود پس نياز به تعريف يك متغيير داريم و سپس دستوري كه از ورودي اطلاعاتي را از كاربر دريافت نمايد و دستوري كه عبارت Hello و نام دريافت شده را به نمايش درآورد.

=> نوشتن كد براي مسئله:
. خوب شروع كنيد:
1) Task جديدي را ايجاد و نام PT Sample 10 - Enter your name را براي آن تعيين نماييد.
2) در تب Action دستورات زير را بنويسيد:
o
(1) Variable\Create Variable : [Variable name=USER_NAME]

(2)
Dialogs\Input Box : [Prompt String=Please enter your name?] [Assigned Entered ...=USER_NAME]

(3) Dialogs\Show Message/Play Sound : [Message Text=Hello {User_Name}]

(4) Variables\Remove Variable : [Variable name=USER_NAME]
i
=> توضيحات مربوط به كد مسئله:
. توجه داشته باشيد كه متغيير User_Name در خط 1 تعريف(Define) و در خط 2 از صفحه كليد و در زمان اجراي برنامه مقدار دهي مي‌شود. در هر دو خط فقط نام متغيير و بدون علامت {} ذكر شده است. اما در خط 3 نام متغيير درون علامت‌هاي {} قرار گرفته است، چون قراره در اينجا از مقدار درون آن استفاده نماييم. بنابر اين متغيير‌هاي ما مي‌توانند از محيط خارج خود برنامه هم داده‌اي را به عنوان مقدار درون خود بپذيرند. در خط پاياني هم متغيير ايجاد شده را حذف نموده‌ايم.


*========
* مسئله 11:
=> صورت مسئله:
. برنامه‌اي بنويسيد كه متغييري عددي برابر با مقدار 5 تعريف شود سپس منهاي 1 شده و نتيجه را در جلوي نام متغيير به ما نمايش دهد.

=> تفصير صورت مسئله:
. مسئله بسيار ساده‌اي است!!!

=> نوشتن كد براي مسئله:
. خوب شروع كنيد:
1) Task جديدي را ايجاد و نام PT Sample 11 - Minus by 1 را براي آن تعيين نماييد.
2) در تب Action دستورات زير را بنويسيد:
o
(1) Variable\Create Variable : [Variable name=TOTAL_NUMBER] [Variable value=5]

(2)
Variable\Increment Variable : [Variable name=TOTAL_NUMBER] [Increment by=-1]

(3) Dialogs\Show Message/Play Sound : [Message Text=TOTAL_NUMBER = {TOTAL_NUMBER}]

(4) Variables\Remove Variable : [Variable name=TOTAL_NUMBER]
i
=> توضيحات مربوط به كد مسئله:
. در اين برنامه نكات جالبي نهفته بيد!! اول، در خط يك همزمان با تعريف متغيير به آن مقداري را هم نسبت داده‌ايم. يادتان است؟ به اين عمل initialization مي‌گويند. دوم، به خط 3 نگاه نماييد! قراره نام متغيير و سپس مقدار آن در جلوي نامش نمايش داده‌شود. در اين خط نام متغيير ابتدا بدون علامت‌هاي {} ذكر شده و سپس نام متغيير در آن دو علامت آمده. وقتي RoboTask مي‌خواهد اين خط را اجرا كند ابتدا عبارت اول و بدون {} را عينن نمايش مي‌دهد ولي عبارت دوم كه درون {} هست را به عنوان متغيير در نظر گرفته و مقدار درون آن را كه عدد 4 هست را نمايش مي‌دهد.


*========
* مسئله 12:
=> صورت مسئله:
. نمايش وضعيت كانكشن اينترنت.

=> تفصير صورت مسئله:
. فرض كنيم نام كانكشن ديال شما Day هست (ADSL-Bridge يا Dial-UP) پس بايد آن را به كمك دستور مربوطش چك و نتيجه را درون يك متغيير ذخيره نماييم و نتيجه را نمايش دهيم.

=> نوشتن كد براي مسئله:
. خوب شروع كنيد:
1) Task جديدي را ايجاد و نام PT Sample 12 - Show connection status را براي آن تعيين نماييد.
2) در تب Action دستورات زير را بنويسيد:
o
(1) Variable\Create Variable : [Variable name=Connection_Status]

(2)
Dial-Up\Check Connection : [Dial-up connection=Day] [Assign connection...=Connection_Status]

(3) Dialogs\Show Message/Play Sound : [Message Text=You're connection to the "DAY" account is {Connection_Status}.]

(4) Variables\Remove Variable : [Variable name=Connection_Status]
i
=> توضيحات مربوط به كد مسئله:
. در اين برنامه در خط 2 مقدار جديدي براي متغيير Connection_Status توسط دستور Check Connection نسبت داده مي‌شود. بعضي از دستورات در Robotask مي‌توانند مقاديري را درون يك متغيير برگشت دهند و ما با كنترل آن مقادير برگشتي مي‌توانيم كارهاي خاصي را انجام دهيم.


*========
* مسئله 13:
=> صورت مسئله:
. مجموع Ping سه سايت Google.com و Download.com و yahoo.com را محاسبه و سپس نمايش بده.

=> تفصير صورت مسئله:
. خوب شد! يك مسئله نسبتن دراز!! مشخصن نياز به دو متغيير متفاوت داريم! چرا؟ چون يكي بايد مجموع تك تك Pingها را نگاه دارد و ديگري بايد نتيجه پينگ تك تكشون را در خود ذخيره و سپس به متغيير مجموع كل اضافه نمايد. در پايان فقط مقدار مجموع كل پينگ‌ها بايد نمايش داده شود.

=> نوشتن كد براي مسئله:
. خوب شروع كنيد:
1) Task جديدي را ايجاد و نام PT Sample 13 - Total Ping of 3 Sites را براي آن تعيين نماييد.
2) در تب Action دستورات زير را بنويسيد:
o
(1) Variable\Create Variable : [Variable name=TOTAL_PINGS] [Variable value=0]

(2) Variable\Create Variable : [Variable name=SITE_PING] [Variable value=0]

(3) Internet\Ping Host : [Host Name(...=www.google.com] [Assign Reply ...=SITE_PING]

(4) Variable\Increment Variable : [Variable name=TOTAL_PINGS] [Increment by={SITE_PING}]

(5) Internet\Ping Host : [Host Name(...=www.download.com] [Assign Reply ...=SITE_PING]

(6) Variable\Increment Variable : [Variable name=TOTAL_PINGS] [Increment by={SITE_PING}]

(7) Internet\Ping Host : [Host Name(...=www.yahoo.com] [Assign Reply ...=SITE_PING]

(8) Variable\Increment Variable : [Variable name=TOTAL_PINGS] [Increment by={SITE_PING}]

(9) Dialogs\Show Message/Play Sound : [Message Text=Total Pings of three site is: "{TOTAL_Pings}".]

(10)
Variables\Remove Variable : [Variable name=TOTAL_PINGS]

(11) Variables\Remove Variable : [Variable name=SITE_PING]
i
=> توضيحات مربوط به كد مسئله:
. در اين مثال هم همانند مثال قبلي مقدار جديد متغيير را از برگشتي يك دستور ديگر نسبت مي‌دهيم. خوب ببينيم در زمان اجراي كد فوق چه اتفاقي ميفته! در خط 3 سايت معرفي شده Ping شده و اگر موفقيت آميز باشه عددي مثبت در متغيير SITE_PING قرار مي‌گيره و در غير اينصورت عدد -1 در آن قرار مي‌گيرد. (توجه داشته باشيد چون داريم مقدار دهي مي‌كنيم نام متغيير بدون {} نوشته شده) در خط 4 هر عددي كه در متغيير {SITE_PING} قرار داده شده است را به مقدار قبلي متغيير TOTAL_PINGS اضافه مي‌كند و حاصل جمع جديد در خود متغيير TOTAL_PINGS ذخيره مي‌شود.

. عين همين دو عمل در دو خط 3 و 4 در خطوط 5 - 6 و 7 - 8 هم اتفاق خواهد افتاد و همواره مقدار جديد متغيير {SITE_PING} به مقدار قبلي متغيير TOTAL_PINGS اضافه مي‌شود.

. در نهايت هم مقدار متغيير {TOTAL_PINGS} نمايش داده مي‌شود.




********************************
مشق شب:
questionmark1.gif
سوال؟ مشق شب 05: برنامه‌اي بنويسيد كه به مجرد فشار كليدهاي Ctrl + Alt + I، پنجره‌اي براي ورود آدرس يك سايت ظاهر و پس از وارد نمودن آدرس سايت، اون آدرس در Internet Explorer باز شود. (قبلن دستور اجرا برنامه‌ها در مسئله 1 و 3 استفاده شده است)

questionmark1.gif
سوال؟ مشق شب 06: برنامه مسئله 11 را طوري گسترش(تعميم) دهيد تا بعد از خط 3، چهار بار ديگه به ميزان يك واحد از متغيير Total_Number كم شده و پس از هر عمل تفريق، مقدار جديد متغيير Total_Number را نمايش دهد.

questionmark1.gif
سوال؟ مشق شب 07: برنامه مسئله 13 را طوري گسترش دهيد كه در انتها، و در يك ديالوگ باكس نام تك تك سايت‌ها و پينگشون در جلويشان و هر كدام در خطي مجزا نمايش داده شود و در انتها هم جمع كل Pingها نوشته شده باشد.




********************************
اتمام آموزش 06 و خلاصه!:
* Variableها (متغييرها) مي‌توانند Valueهايي(مقادير) را درون خود ذخيره نمايند و در زمان مورد نياز از مقادير درون آنها استفاده يا تغييرشان دهيم.
* استفاده از متغيير‌ها نه تنها باعث مي‌شوند كه مصارف برنامه‌ها افزايش يابد، But Also! باعث مي‌شوند كه دامنه توانايي و قدرت برنامه‌هايمان هم افزايش يابند.
* به انواع داده‌اي كه متغيير‌ها درون خود ذخيره مي‌نمايند Data Type مي‌گويند.
* انواع Data Typeهاي درون RoboTask چهار تا هستند: Numeric و String و Boolean و Date
* در زمان تعريف متغيير‌ها و در زمان مقدار دهي آنها، Data Typeشان مشخص مي‌شود و در RoboTask مي‌توانيم Data Type متغيير‌ها را در طول يك كد بار ها و بارها تغيير دهيم!!
* مي‌توانيم هر نامي كه دلمان خواست به متغيير‌ها بدهيم ولي حتمن بايد نامشون با يك حرف يا خط زير _ شروع شود و فقط از حروف/عدد/_ مي‌توان در نام متغيير استفاده نمود.


موفق باشيد.
67.gif


خداحافظ
IgImAx
89/10/03
26.gif
103.gif
 
Last edited:

dany_3p4u

Registered User
تاریخ عضویت
9 آپریل 2009
نوشته‌ها
112
لایک‌ها
7
سلام
سوال :
آیا این امکان وجود دارد که وقتی از برنامه Internet Download Manage استفاده می کنیم
هنگامی که میران دانلود فایل به 98% رسید، با برنامه RoboTask دستور توقف دانلود فایل مربوطه و شروع دانلود فایل بعدی را داد ؟

(یک موردی به اسم مونیتور کردن پنجره داشتیم، اما نمیدونم همچین قدرتی داره که بتونه درصد بخونه و بعد دستود توقف و شروع فایل بعدی را بده با نه؟)
ممنون
 

igimax

کاربر فعال کامپیوتر
تاریخ عضویت
17 سپتامبر 2004
نوشته‌ها
3,410
لایک‌ها
1,348
سن
49
سلام dany_3p4u عزيز
1.gif

سوال :
آیا این امکان وجود دارد که وقتی از برنامه Internet Download Manage استفاده می کنیم
هنگامی که میران دانلود فایل به 98% رسید، با برنامه RoboTask دستور توقف دانلود فایل مربوطه و شروع دانلود فایل بعدی را داد ؟
. نكته جالبيه! متاسفانه دستور مونيتورينگ چنين امكاني را ندارد كه يك object از يك Windowsرا هم مونيتور نمايد! من يك نگاه به help خود IDM انداختم ببينم Command Line دارد يا نه؟! ديدم دارد ولي سويچي براي نمايش Status دنلود‌ها ندارد. فعلن راه ساده‌ يا سريعي به ذهنم نمي‌رسه!

. راستي آموزش 06 تكميل شد!

موفق باشيد.
67.gif


خداحافظ
IgImAx
89/10/08
26.gif
103.gif
 

dany_3p4u

Registered User
تاریخ عضویت
9 آپریل 2009
نوشته‌ها
112
لایک‌ها
7
سلام dany_3p4u عزيز
1.gif


. نكته جالبيه! متاسفانه دستور مونيتورينگ چنين امكاني را ندارد كه يك object از يك Windowsرا هم مونيتور نمايد! من يك نگاه به help خود IDM انداختم ببينم Command Line دارد يا نه؟! ديدم دارد ولي سويچي براي نمايش Status دنلود‌ها ندارد. فعلن راه ساده‌ يا سريعي به ذهنم نمي‌رسه!

. راستي آموزش 06 تكميل شد!

موفق باشيد.
67.gif


خداحافظ
IgImAx
89/10/08
26.gif
103.gif

ممنون دوست عزیز، خوشحال می شم اگه روزی راهی پیدا کردین اطلاع بدین :)

اما یک نکته در مورد آموزش 06

من تو برنامه ای که نوشتم آدرس ها را همونی که شما دادین کپی پیست کردم و وارد کردم یعنی
http://www.google.com/
http://www.download.com/
http://www.intel.com/

اما هر بار عدد -3 را نشون می داد، یعنی پینگ انجام نمی شد
من آدرس را عوض کردو و بصورت ساده و بدون http:// نوشتم تا جواب داد
یعنی
www.google.com
جالبه حتی اگه بصورت
www.google.com/
می نوشتم باز پینگ انجام نمی شد

نمی دونم اشکال از سیستم من هست یا چی، اما گفتم اگه کسی به این مشکل بر خورد راهش اینه ! :p
موفق باشن:happy:
 
بالا