עזרה!!

yair24

Member
עזרה!!

מישהו יכול להסביר לי בפירוט מה תפקיד הפקודה DOEVENTS? קראתי עליה בMSDN אבל חסר לי יותר פירוט ואם אפשר לתת דוגמא מתי צריך אותה תודה יאיר
 

גלי.11

New member
doevent מעולה לבקרת errors

הפקודה מתאימה מאוד למקרה שהפרוצדורה נתקלת בשגיאה ואז יש מערכת event שמזהה את סוג השגיאה ומבצעת פעולה בהתאם. כמו שיש case במודל קטן ה event הוא מערכת מקרים שמקיפה את כל התוכנית.
 

vbgames

New member
זה בטוב גם

אם בטעות עשיתי לולאה בלתי נגמרת, המחשב לא יתקע.
 

MaD-d0g

New member
חחחח למה לדבר שטויות?

לא.. זה ממממש מממש לא קשור ! למה שאת מתכוונת זה מערכת ה On Error Goto XY DoEvents: אני לא מכיר בדיוק את ההסבר הספרותי של DoEvents אבל אני אתן לך דוגמא שממנה תוכל להבין, אם תכתוב לולאת Loop (לא פור), היא במקרים מסויימים יכול לתקוע את המחשב עד שיתקבל תנאי עצירה. דוגמא:
Dim i As Long Do Until i = 9999999# i = i + 1 Loop לולאת זאת תתקע את התוכנית עד שיתקיים תנאי העצירה לכן מוסיפים את מילת המפתח DoEvents בתוך הלולאה ונותנים לתוכנית "לנשום"​
 

cald

New member
או בקיצור

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