עומס של קוד

Sשרון

New member
עומס של קוד

שוב שלום, יש לי בעיה של עומס של קוד הנמצא ב FORM אחד. השאלה היא, כיצד כדאי לפצל אותו? האם פונקציות שאינת קשורות ל EVENT מסויים, צריכות להיכתב במודול נפרד, או ב FORM אחר? ואותה השאלה לגבי פרוצדורות שקשורות ל EVENT - לדוגמא TIMER שנמצא בפורם מסויים, האם בגלל עומס קוד ניתן לכתוב אותו על פורם אחר ולקרוא לו משם, או האם כותבים אותו בתוך מודול? תודה, שרון
 

rozeyoter

New member
לא מקובל לקרוא לפונקציה

שרשומה בFORM אחד מFORM שני בין השאר משום שלא כמודול, פניה כלשהי לאובייקט FORM טוענת למעשה את כולו לזכרון. וזה כמעט כמו לעשות לו HIDE יש 3 פתרונות: 1: להכניס סדר בקוד העמוס. (הכי למעלה CONST לאחר מכן משתנים מסוג PRIVATE , אח"כ PROPERTIES אח"כ פונקציות כלליות או פרטיות ולבסוף הסברוטינות של העצמים עצמם שנוצרות ע"י דבל קליק על העצם... לדוגמא. להרבות בהערות תוך ובשימוש בשמות ברורים למשתנים פונקציות וכו. 2: לרשום פונקציות כציבוריות במודולים רגילים. 3: לרשום פונקציות ושאר ירקות במודולי מחלקה. לסיום: כדאי לאמץ נוהג מסויים משפות כמו C++ והוא לפצל את הקוד לפונקציות ולהשתמש בהן שימוש חוזר (כלומר לכתוב אותן למקרה כללי) כלל אצבע: לא כדאי לכתוב פונקציה שלא תוכל להקיף את כולה במסך אחד... בברכה.
 

Sשרון

New member
קודם כל תודה....השאלה היא

האם את הסברוטינות שנוצרות ע"י דבלק קליק על העצם לדוגמא, ניתן לכתוב במקום אחר חוץ מב FORM שאליו היא משוייכת ולקרוא לה משם?
 

rozeyoter

New member
אם אתה שואל האם ניתן

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

Sשרון

New member
בוא נגדיר את זה ככה

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

rozeyoter

New member
כדאי לכתוב את הקוד

כפונקציה ציבורית בפורם שמשתמש בה, היכן שהטיימר.
 

TZURYOAV

New member
החוק של יואב צור!

כל קטע קוד שיש בו מעל שתי שורות והוא נכתב מספר פעמיים יש להפוך לפונקציה. תגדירי "עומס" של קוד,מה הטופס לא עולה בעלייה?!?! יואב צור-השמאל הציוני!
 
למעלה