הבנת קבועים מוקפדים בדלפי

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

משתנה או קבוע

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

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

קבועים קבועים משתנים

למרות שאנו מצהירים על קבועים שהוקלדו בחלק הקבוע בהליך, חשוב לזכור כי הם אינם קבועים. בכל נקודה ביישום שלך, אם יש לך גישה למזהה של קבוע שהוקלד, תוכל לשנות את ערכו.

כדי לראות קבועים שהוקלדו בעבודה, הניח כפתור על טופס ריק והקצה את הקוד הבא למטפל האירועים OnClick:

תהליך
instagram viewer
TForm1.Button1Click (שולח: TObject); const קליקים: מספר שלם = 1; // לא קבוע אמיתיהתחל Form1.Caption: = IntToStr (קליקים); קליקים: = קליקים + 1; סוף;

שימו לב שבכל פעם שאתה לוחץ על הכפתור, מגבשים באופן קבוע תוספות של כיתוב.
כעת נסה את הקוד הבא:

תהליך TForm1.Button1Click (שולח: TObject); var קליקים: מספר שלם; התחל Form1.Caption: = IntToStr (קליקים); קליקים: = קליקים + 1; סוף; 

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

קבועים קבועים עם הקלדה

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

אנו יכולים להפעיל או לבטל קבועים שהוקלדו להקצאה בדף המהדר בתיבת הדו-שיח אפשרויות פרויקט.

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

{$ J +}const קליקים: מספר שלם = 1; {$ J-}

לכן קוד הדוגמה הראשון נראה:

תהליך TForm1.Button1Click (שולח: TObject); const{$ J +} קליקים: מספר שלם = 1; // לא קבוע אמיתי{$ J-}התחל Form1.Caption: = IntToStr (קליקים); קליקים: = קליקים + 1; סוף; 

סיכום

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