הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 27-08-12, 02:14   # 1
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 33
הודעות: 391

trupix לא מחובר  

דוט נט - לולאת for בתוך טיימר

הי,

הרבה זמן שלא התעסקתי בפיתוח תוכנה ואני עובד על משהו קטן בVB.NET
השאלה עשויה לבוא לידי ביטוי גם בשפות נוספות, אשמח אם תוכלו לעזור.

יש לי טיימר עם Interval של 4 שניות, בתוכו יש לולאה כזו:

PHP קוד:
For 1 to 10
ListBox1
.Items.AddItem (i)
Next 
ולאחר מכן אני מפסיק את פעולת הטיימר עם enabled = false

זה עובד, אולם כשהטיימר מופעל הוא לא ממתין בין הפעולות שבתוך הלולאה, הוא מוסיף את 10 הפריטים במכה אחת.

אני צריך שהטיימר ימתין בין פעולה לפעולה (בזמן ששווה לInterval שלו)

פתרון ממשי זה להכניס Sleep(4000) לפני הNext, אבל אני משוכנע שיש פיתרון טוב יותר

אני תוהה אם יש לזה קשר לDoEvents ..

תודה לעוזרים!
__________________
Senior Product Designer & Envato Author
Frontend & Wordpress Developer


Dribbble | ThemeForest

Last edited by trupix; 27-08-12 at 02:17..
  Reply With Quote
ישן 27-08-12, 04:56   # 2
perfeito
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2012
הודעות: 102

perfeito לא מחובר  

אני לא חושב שאתה צריך for
לדוגמא אתה יודע שאתה רוצה להכניס 10 פריטים
אבל vb קורא את הfor כפעולה אחת בתוך הטיימר אז הוא עושה אותה
אתה צריך להכניס פריט כל 4 שניות אז פשוט במקום for אתה צריך להכניס פריט
לבדוק אם יש כבר 10 פריטים, ואם יש אז אתה מפסיק את ה interval.

אני לא יודע vb אז קח javascript:

תתיחס לזה כמו סודוקוד

קוד:
var arr = [];
var id = setInterval(add);
function add () {
  if (9 == arr.length) clearInterval(id);
  arr.push('foo');
};

Last edited by perfeito; 27-08-12 at 05:00..
  Reply With Quote
ישן 27-08-12, 05:27   # 3
trupix
חבר מתקדם
 
trupix's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2009
גיל: 33
הודעות: 391

trupix לא מחובר  

זה לא כל הכיוון ..

בכול אופן כתבתי פיתרון!

בתוך הלולאה אני מריץ:
PHP קוד:
Do Until Finish =  True
    Application
.DoEvents()
Loop 
כך שבמהלך הלולאה, כל עוד התהליך הקודם לא נגמר - זה ימתין באותו המצב, באותה הלולאה

זה הרבה יותר יעיל עבורי משום שבתוך הלולאה אני מקבל נתונים באמצעות פקד אינטרנט, כך שזה הרבה יותר יציב להמתין עד שהייבוא אכן יסתיים מאשר להקציב לו X שניות,
שעלול ליצור מצב לא נעים אם חיבור האינטרנט איטי.. שזה בעצם הפיתרון שרציתי

תודה על העזרה..
__________________
Senior Product Designer & Envato Author
Frontend & Wordpress Developer


Dribbble | ThemeForest
  Reply With Quote
ישן 27-08-12, 06:00   # 4
perfeito
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2012
הודעות: 102

perfeito לא מחובר  

אה... ברור שאתה צריך להמתין למשהו עד שהוא יגיד שסיים, לא אמרת את זה
חשבתי שסתם אתה כותב משהו..
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 04:57.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ