PDA

View Full Version : سوال: Refresh شدن با تاخیر



masoud.a
شنبه 01 مهر 1391, 13:13 عصر
با سلام مجدد
یه برنامه ای نوشتم که با پورت سریال بصورت متوالی داده میگیره. اون داده رو در یک لیبل نشون میدم.از اونجا که داده های ورودی پشت هم عوض میشن مقداری که نشون میده با آمدن داده جدید تعییر میکنه.
برای این کار از thread استفاده کردم.مشکل اینه که چرا وقتی درحین کار مقادیر سخت افزار را کم و زیاد میکنم با یه تاخیر چند ثانیه ای لیبل ها در نرم افزار تغییر میکنند؟از Threat.Sleep هم استفاده نمیکنم

ali_habibi1384
دوشنبه 03 مهر 1391, 07:09 صبح
من اين كارو با تايمر انجام دادم مشكلي نداشته. با تايمر انجام بديد ببينيد بازهم مشكلي داره؟

masoud.a
دوشنبه 03 مهر 1391, 22:25 عصر
تا اونجائی که من فهمیدم داده هایی که میان اول در بافر ذخیره میشه،واسه همین تاخیر وجود داره.یعنی شما میگید اگه از تایمر استفاده کنم لیبل ها در آن واحد عوض میشن؟

ali_habibi1384
دوشنبه 03 مهر 1391, 22:43 عصر
من نميدونم شما دقيقا چطور كار كرديد. كاري كه من ميكنم اينه:
پورت رو باز ميكنم و يه تايمر با interval = 10 يا 100 هم بذاري فرق نداره ميذارم تا اطلاعات ورودي رو مدام از پورت بخونه وقتي اطلاعات رو يكبار از پورت بخوني بافر خالي ميشه.
حالا اطلاعات خونده شده رو ميفرستم توي يه ليست باكس.
آخرين سطر موجود در ليست باكس آخرين مقدار دريافتي ما از پورت هست.

masoud.a
سه شنبه 04 مهر 1391, 15:14 عصر
من نميدونم شما دقيقا چطور كار كرديد. كاري كه من ميكنم اينه:
پورت رو باز ميكنم و يه تايمر با interval = 10 يا 100 هم بذاري فرق نداره ميذارم تا اطلاعات ورودي رو مدام از پورت بخونه وقتي اطلاعات رو يكبار از پورت بخوني بافر خالي ميشه.
حالا اطلاعات خونده شده رو ميفرستم توي يه ليست باكس.
آخرين سطر موجود در ليست باكس آخرين مقدار دريافتي ما از پورت هست.

ببخشید میشه راهنمایی کنید اطلاعات رو چه شکلی باید تو ليست باكس بریزم؟

ali_habibi1384
سه شنبه 04 مهر 1391, 17:28 عصر
هر وقت توي تايمر مقداري كه داره از پورت ميخونه مخالف null يا "" بود اد ميكني به ليست باكس:
list1.items.add(مقدار دريافت شده);

masoud.a
پنج شنبه 06 مهر 1391, 11:02 صبح
یه سوال دیگه:خجالت:
حالا مقدار لیست باکس رو چطوری با لیبل نشون بدم؟یعنی text لیبل رو از چی بگیرم؟