چگونگی فراخوانی کدها از ابزارهای دیگر

BlueMMB

Well-Known Member
سلام و عرض خسته نباشید به همه .

می خواستم معادل کد های زیر رو تو آپادانا بدونم :

کد:
Scripttimer("","")
RunScript("")
Pause("")

با نهایت تشکر .
 

JavidX

Apadana Developer
سلام دوست عزیز

نیازی به ScriptTimer ندارید و آپادانا اتوماتیک میتونه براتون این دستور رو اجرا کنه. فقط کافیه از شیء Timer استفاده کنید و بدون نیاز به کد نویسی تعداد دفعات فراخوانی و ... رو تنظیم کنید و بعد کدی رو که با وقفه قراره انجام بشه رو بنویسید.

در مورد RunScript اول باید در مورد توابع آپادانا توضیحی بدم. شما می تونید مثل دستورهای عادی آپادانا، توابع خودتون رو اضافه کنید. اول باید از منوی Project گزینه ی Functions & Procedures رو انتخاب کنید. بعد روی Add کلیک کنید.
حالا نام دستور جدید و احیاناً اگه کلیدی رو از روی کی بورد میخواین بهش اختصاص بدید مشخص کنید. یه قسمت Thread هم داره که توضیح میدم. وقتی تنظیم کردید روی OK کلیک کنید تا صفحه بسته بشه و همون Functions & Procedures بمونه. حالا دستوری رو که اضافه کردید رو پیدا کنید و روش دابل کلیک کنید. دستوراتی که قراره این تابع انجام بده رو بنویسید (تابع توی آپادانا مثل Script توی بیلدر میمونه)
تموم. حالا شما میتونید هر جا خواستید تابع رو فراخوانی کنید فقط با نوشتن اسمش. مثلا اگه اسمش MyFunc هست، کافیه وقتی میخواهید فراخوانیش کنید بنویسید:
کد:
MyFunc
تموم!

حالا در مورد ترد ها (Thread). ترد به شما کمک میکنه که دستوراتی رو اجرا کنید بدون اینکه برنامه گیر کنه. یعنی مثلا میتونید یه فایل رو تحت یه ترد کپی کنید و بدون اینکه برنامه گیر کنه مثلا روی فلان دکمه کلیک کنید. (بر عکس بیلدر)
اما باید اول از همه از منوی Project گزینه Threads رو انتخاب کنید و روی Add کلیک کنید. حالا Priority یا اولویت رو مشخص کنید میتونید هم بهش دست نزنید. توی لیست کشویی (Drop Down List) شماره ای رو که نوشته شده در نظر داشته باشید. (در اینجا نوشته شده Thread#1) حالا OK کنید. بعد دوباره برید توی Project و بعدم Functions and Procedures مثل همونیکه قبلا توضیح دادم مراحل رو اجرا کنید فقط این دفعه Thread رو روی Main thread قرار ندید و بذاریدش روی #1 . حالا دیگه هر وقت تابع رو فراخوانی کنید یه ترد جدید درست میشه و...

به جای Pause هم باید از Sleep استفاده کنید که عملکردش مثل بیلدر نیست و کل ترد اصلی رو متوقف میکنه. پس باید از Pause توی ترد ها استفاده کنید یا از شیء تایمر کمک بگیرید.

موفق باشید
 
آخرین ویرایش:

BlueMMB

Well-Known Member
جاوید جان ممنون . توضیحاتتون خیلی کامل و رسا بود .

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

( به امید جهانی شدن آپادانا )
 

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

بالا