קורסים חינם ברשת בויזואל בייסיק

Gilad Barzilay

New member
ניתן לעבוד עם הtimer של מערכת ההפעלה

בVBA יש פונקציה בשם ``Timer`` שסופרת את מספר השניות שעברו מאז חצות. זה לא בדיוק כמו פקד טיימר רגיל, אבל אפשר לדוגמא לעשות שמשהו שיעבוד אחת לחמש שניות (if timer mod 5 = 0...) או להמתין מספר שניות מסוים באמצעות לולאת DoEvents: Sub Wait(X As Byte) PauseTime = X ` Set duration. Start = Timer ` Set start time. Do While Timer < Start + PauseTime DoEvents ` Yield to other processes. Loop End Sub (מועתק מקובץ העזרה) וכל מיני כאלה. מקווה שעזרתי גלעד
 

noam172

New member
כך עושים זאת

האירוע KeyPress קולט מקשים, המקש נקלט בפרמטר KeyAscii. אפשר להשוות בין ערך KeyAscii ל-(``Asc(``g. האוביקט שיקבל את האירוע הוא האוביקט עם הפוקוס. אם אתה רוצה שרק ה-Form תקבל את אירוע ה-KeyPress תהפוך את המאפיין KeyPreview שלה ל-True. במקרה שאתה עושה כך תזכור לשים את ההוראה: KeyAscii=0 אחרת אחרי שה-Form תגמור לטפל באירוע, האוביקט עם הפוקוס יקבל אותו גם.
 

noam172

New member
כך עושים זאת

כדי לעשות זאת אתה צריך להשתמש במשתנה מאותו User Defined Type שאתה מצהיר עליו בפקד בעזרת Dim.
 

noam172

New member
כך עושים זאת

המאפיין List ולידו בסוגריים מספר שמציין את מספרו הסידורי של הפריט ברשימה. לדוגמא: (Combo1.List(7 מכוון לפריט השביעי ב-ComboBox שנקראת Combo1.
 

noam172

New member
שאלה קטנה

האם שיבצת את היוסרקונטרולים בתוך ה-Form בעזרת ה-ToolBox?
 

noam172

New member
כך עושים זאת

תוכניות Windows מתחלקות לשני סוגים: SDI - Single Document Interface - ממשק מסמך יחיד MDI - Multiple Document Interface - ממשק מרובה מסמכים תוכניות Office הן תוכניות MDI ובהן יש פס כותרת ראשי של התוכנה ופס כותרת משני של המסמך - וכך אפשר לפתוח מספר מסמכים בעת ובעונה אחת. בפנקס הרשימות למשל אין אפשרות כזאת, מכיוון שהוא תוכנית SDI. כדי ליצור תוכנית MDI בויזואל ביסיק צריך להכניס MDI Form (יכולה להיות רק אחת כזו בכל תוכנית), ולשנות את המאפיין MDIChild של ה-Form שצריכות להיות משניות ל-MDI Form ל-True. פרטים נוספים בעזרה המקוונת.
 

noam172

New member
הערה

הדרך שכתבת עם ה-Load Form2 רק תטען את ה-Form ותבצע את האירוע Load שלה, אבל לא תציג אותה על המסך. כדי להציג Form על המסך צריך להפעיל את השיטה (method) שלה שנקראת Show, למשל: Form2.Show ואז ה-Form שנקראת Form2 תטען וגם תוצג על המסך. תהיה אפשרות לעבור ל-Form אחרת גם אם ה-Form המוצגת עדיין מופעלת, אם אתה רוצה למנוע אפשרות כזו תכתוב: Form2.Show VBModal אם תכתוב כך לא תוכל לעבור ל-Form אחרת עד שה-Form הזו תסגר. בכל מקרה, תןכל לעבור ליישום אחר שפועל במחשב שלך.
 

noam172

New member
אולי תשמור ב-registry

במקום לשמור בקובץ אולי תשמור ב-Registry (רישום מערכת). תשתמש בפונקציות GetSetting ו-SaveSetting. מנסיון זה לא כל-כך פשוט למצוא משהו בתוך כל הסבך של רישום המערכת ואם תתן לזה שם לא כל-כך ברור אז עד שהמשמתמש אפילו המקצועי ימצא את זה יהיה לו זקן ארוך ארוך.
 

noam172

New member
דרך טובה יותר להפיכה

השתמש בפונקציה StrRev שהופכת מחרוזות.
 

noam172

New member
זו בעיה לא כל-כך מוזרה

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

noam172

New member
כך עושים זאת

אלא עם כן יש לך את גרסת הלימוד של ויזואל ביסיק, צריכה להיות בתפריט File פקודה Make Project.exe כאשר Project הוא שם הפרוייקט שלך.
 
למעלה