تور لحظه آخری
امروز : پنجشنبه ، 24 آبان 1403    احادیث و روایات:  امام صادق (ع):اگر در عُمرت دو روز مهلت داده شدى ، يك روز آن را براى ادب خود قرار ده تا از آن بر...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

 






آمار وبسایت

 تعداد کل بازدیدها : 1829417811




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

جابه جايي خط ‏ -


واضح آرشیو وب فارسی:سایت ریسک: جابه جايي خط ‏ Amit13 04 شهريور 1389, 12:11سلام دوستان يك مشكل الگريتمي پيدا كردم,هرچقدر فكر ميكنم,چيزي به ذهنم نميرسه. من ميخوام يك لاين عمود كه عرض يك پيكسل رو داره,روي محور ايكس ها جابه جا كنم.به طوري كه موقعيت هر لحظه ي ايكس لاين براي من مهمه. مصلما از دستور MoveTo نميتونم استفاده كنم,من كد رو اينجوري نوشتم: For xline=20 to 200 MoveObject("line","xline,2") Pause("1") Next xline اما مشكلي كه اين دستور داره,سرعت است كه خيلي سرعت اتمام حلقه پايينه;خوب به خاطر Pause كه گذاشتم هست.ولي اين دستور رو نذارم,سرعت بينهايت بالا ميره. لطفا يك روش پيشنهاد كنيد كه بتونم سرعت رو درست كنم. مرسي. evil_gates 04 شهريور 1389, 12:20اين مثال رو ببينيد دوست عزيز Amit13 05 شهريور 1389, 00:30اين مثال رو ببينيد دوست عزيز حيلي ممنون استاد جون.:oops::oops: ولي:cry: اين مثال شما هم سرعتش مثل مثال خودم كمه! خوب step هم كه كمتر از يك نميشه گذاشت.:cry: evil_gates 05 شهريور 1389, 11:53اين مثال شما هم سرعتش مثل مثال خودم كمه! خوب step هم كه كمتر از يك نميشه گذاشت برای بالا بردن سرعت مقدار متغیر xline رو +2 یا بیشتر کنید the_king 05 شهريور 1389, 15:04خیلی ساده است، با یه کم کد نویسی مشکل حل میشه. اول باید سرعت سیستم کاربر رو عملا اندازه بگیریم تا مشخص بشه که فرضا یک حلقه For که از اعداد 1 الی 1000 رو طی می کنه در عرض چند ثانیه اجراش تموم میشه. بعد با کمک نتیجه این محاسبه، بازه حلقه For رو طوری مشخص می کنیم که بین هر بار حرکت دادن خط اونقدر مکث ایجاد بشه که مورد نظر ما است. طبیعتا نمی توانیم مقدار بازه را با اعداد ثابت مثل 1000 یا 5000 مشخص کنیم، چون روی هر کامپیوتری سرعت متفاوتی خواهد داشت، پس باید در ابتدای برنامه سرعت کامپیوتر رو اندازه بگیریم و سپس به عنوان یک فاکتور در بازه حلقه ازش استفاده کنیم. به مثال پیوستی مراجعه شود. در زمان اجرای برنامه سرعت حرکت رو به دلخواه از 1000 به هر مقدار دیگه ای تغییر بدید و مقایسه کنید Amit13 06 شهريور 1389, 00:13مرسي the_king جان. خيلي مثاله باحالي بود.:rose: ولي ميشه يكم راجع به اين دستورات كه داخل اسكريپ GetSystemSpeedFactorبيشتر توضيح بديد؟؟؟ stop = 0 Refresh("") ScriptTimer("SetStopValue","200") speedfactor = 0 For wait = 1 To Infinity If (stop <> 0) Then Break() End Refresh("") speedfactor = speedfactor + 1 Next wait speedfactor = speedfactor * 5 the_king 06 شهريور 1389, 14:46مرسي the_king جان. خيلي مثاله باحالي بود.:rose: ولي ميشه يكم راجع به اين دستورات كه داخل اسكريپ GetSystemSpeedFactorبيشتر توضيح بديد؟؟؟ خواهش می کنم، ما بایستی برای ایجاد کردن یک وقفه زمانی کوتاه، یک حلقه For بسازیم که تا یک عدد مشخصی رو بشماره تا وقت تلف بشه، اما اول باید با سنجیدن سرعت کامپیوتر، مقدار اون عدد مشخص رو تعیین کنیم. چون از ابتدا از سرعت کامپیوتر اطلاعی نداریم، مقدار نهایی حلقه رو Infinity در نظر می گیریم یعنی حلقه بی انتها. بعد زمانی که از اجرای این حلقه 200 میلی ثانیه (1/5 ثانیه) گذشت، متوقف اش می کنیم. از روی مقداری که حلقه در عرض اون 200ms طی کرده میشه تشخیص داد که کامپیوتر در هر ثانیه (یا هر واحد زمانی دیگه) چند عدد رو پیمایش می کنه. اینطوری می توانیم با دقت نسبتا خوبی مشخص کنیم که فرضا اگه بخواهیم 50 میلی ثانیه وقفه ایجاد کنیم، چه مقداری رو برای انتهای حلقه در نظر بگیریم. اگه ما مزاحم اجرا شدن این حلقه Infinity نشیم، حلقه متوقف نمیشه، پس یک متغیر به اسم stop را در نظر گرفتم که اگه مقدارش مخالف 0 بود، حلقه اجراش متوقف بشه : stop = 0 . . . If (stop <> 0) Then Break() End ما باید حلقه رو بعد از 200 میلی ثانیه متوقف کنیم، اما چون بصورت مستقیم به تایمر دقیق کامپیوتر دسترسی نداریم، از دستور ScriptTimer استفاده می کنیم که برای اجرا کردن یک Script تایمر داره. کافیه که در داخل اون Script مقدار stop رو به یک عدد غیر از صفر تغییر بدیم تا حلقه ما متوقف بشه. قبل از همه یک دستور Refresh رو هم می نویسیم که اگه عملیات نیمه تمومی از قبل مونده باشه، MMB پیش از راه انداختن اون تایمر انجام بده. Refresh("") ScriptTimer("SetStopValue","200") speedfactor متغیری است که توی حلقه مقدارش زیاد میشه، هر زمانی که حلقه متوقف شد، speedfactor مشخص می کنه که کامپیوتر در عرض 200 میلی ثانیه چند عدد رو توی حلقه می شماره : speedfactor = 0 For wait = 1 To Infinity Refresh("") speedfactor = speedfactor + 1 Next wait واحد count per 200ms واحد بدی نیست، اما ما مقدار speedfactor رو در 5 ضرب می کنیم تا به count per 1s (شمارش در ثانیه) تبدیل بشه : speedfactor = speedfactor * 5 پس الان حدودا مشخص شده که در یک حلقه که داخلش یک دستور Refresh باشه و تا speedfactor رو بشماره، حدود 1 ثانیه وقت تلف می کنه. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 306]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن