יישומים שונים דורשים ערכים ספציפיים כדי להתאים לפרדיגמות מבניות. לדוגמה, מספרי ביטוח לאומי הם תמיד תשע ספרות. בחלק מהדוחות נדרש להציג מספרים עם כמות קבועה של תווים. מספרי רצף, למשל, בדרך כלל מתחילים עם 1 והתוספת ללא סוף, כך שהם מוצגים עם אפסים מובילים כדי להציג ערעור חזותי.
כ מתכנת דלפי, הגישה שלך להוסיף מספר עם אפסים מובילים תלויה במקרה השימוש הספציפי לערך זה. אתה יכול פשוט לבחור לרפד ערך לתצוגה, או להמיר מספר למחרוזת לאחסון בבסיס נתונים.
שיטת ריפוד לתצוגה
השתמש בפונקציה פשוטה כדי לשנות את הצגת המספר שלך. להשתמש פורמט לבצע את ההמרה על ידי אספקת ערך עבור אורך (האורך הכולל של התפוקה הסופית) והמספר שברצונך לרפד:
str: = פורמט ('%. * d, [אורך, מספר])
כדי לרפד את המספר 7 עם שני אפסים מובילים, חבר ערכים אלה לקוד:
str: = פורמט ('%. * d, [3, 7]);
התוצאה היא 007 כאשר הערך מוחזר כמחרוזת.
המרה לשיטת מחרוזת
השתמש בפונקציית ריפוד כדי להוסיף אפסים מובילים (או כל תו אחר) בכל עת שתזדקק לו לתסריט שלך. כדי להמיר ערכים שהם מספרים שלמים, השתמשו ב:
פונקציה LeftPad (ערך: מספר שלם; אורך: מספר שלם = 8; pad: char = '0'): מחרוזת; להעמיס יותר מדי;
התחל
תוצאה: = RightStr (StringOfChar (רפידה, אורך) + IntToStr (ערך), אורך);
סוף;
אם הערך להמרה הוא כבר מחרוזת, השתמש ב:
פונקציה LeftPad (ערך: מחרוזת; אורך: מספר שלם = 8; pad: char = '0'): מחרוזת; להעמיס יותר מדי;
התחל
תוצאה: = RightStr (StringOfChar (רפידה, אורך) + ערך, אורך);
סוף;
גישה זו עובדת דלפי 6 ומהדורות מאוחרות יותר. שני קוד חוסמים את ברירת המחדל לתו ריפוד של 0 עם אורך של תווים עם שבעה מושבים; ניתן לשנות ערכים אלה כדי לענות על הצרכים שלך.
כאשר קוראים ל- LeftPad, הוא מחזיר ערכים לפי הפרדיגמה שצוינה. לדוגמה, אם תגדיר ערך שלם ל- 1234, קורא ל- LeftPad:
i: = 1234;
r: = LeftPad (i);
יחזיר ערך מחרוזת של 0001234.