קבועי מערכת - Constants
|
ענף Types & Const שבעץ האובייקטים של עורך התסריטים מרכז טיפוסים וקבועי מערכת
שנדרשים בעת כתיבת קוד מול רכיבי הייפר.
קבוע מערכת הוא שם קבוע מראש, בדרך כלל כזה שמתחיל ב־ he_ או hv_, ומייצג אפשרות בחירה מתוך רשימה מוגדרת. במקום לזכור מספרים פנימיים או ערכים טכניים, כותבים בתסריט שם קריא כגון he_AND, he_Integer או he_Preview_Document. לדוגמה, הפונקציה הבאה מקבלת פרמטר מסוג Thds_Logic:
בפרמטר LogicGate נשתמש באחד הקבועים:
he_AND, he_OR, he_AND_NOT או he_OR_NOT. |
|
איך משתמשים בקבועים בעורך התסריטים
בעץ הניווט, פתיחת הענף Types & Const מציגה את שמות הטיפוסים והקבועים הזמינים לתסריט.לחיצה על פריט בעץ מציגה בתיבת ההסבר את ההצהרה או הערך הרלוונטי.
לחיצה כפולה על קבוע מעתיקה את שם הקבוע לשימוש בקוד.
| מונח | הסבר |
|---|---|
| Type | שם של טיפוס המגדיר רשימת אפשרויות, לדוגמה ThDataType. |
| Const | ערך אחד מתוך רשימת האפשרויות של הטיפוס, לדוגמה he_Integer. |
| Optional Values | רשימת הקבועים שניתן להציב בפרמטר או במאפיין שמקבל את אותו טיפוס. |
בדוגמת הקוד הבאה, he_Integer הוא קבוע מסוג ThDataType, ו־ he_Edit הוא קבוע מסוג ThEditorType:
Clients_Found.Add_Field('ID as Int', 'מספר זהות נומרי', he_Integer, False, 0, he_Edit);
רשימת קבועים מרכזיים
להלן רשימות קבועי המערכת המרכזיים של מערכת התסריטים בהייפר.הטבלה אינה מיועדת להחליף את עץ הניווט, אלא לתת למתכנת תמונת מצב מהירה בזמן כתיבת קוד.
| Name | Optional Values | שימוש נפוץ |
|---|---|---|
| ThTranslation_Language | he_English, he_Hebrew, he_Russian, he_Arabic, he_Spanish, he_Chinese, he_French, he_Hindi, he_German, he_Unknown | בחירת שפה בתרגום כותרות, ערכי רשימות, טקסטים קבועים ופעולות תצוגה. |
| ThDataType | he_String, he_Serial, he_Name, he_Phone, he_Integer, he_Real, he_Money, he_Bool, he_Date, he_Hour, he_FixDT, he_Status, he_Month, he_Week | הגדרת סוג הנתון של שדה בטבלה פרטית או ברכיב קלט. |
| ThEditorType | he_Edit, he_Select, he_Memo, he_PopupList, he_SelectEdit, he_GroupSelect, he_TextMemo, he_PopupEdit | בחירת אופן העריכה הוויזואלי של שדה: תיבת טקסט, בחירה מרשימה, Memo, בחירה מרובה וכדומה. |
| ThDateMask | he_AutoDetect, he_MM_DD_YYYY, he_DD_MM_YYYY, he_YYYY_MM_DD, he_YYYYMMDD | פענוח תאריך מטקסט בפונקציות כגון Save_Date_Filter או Save_FixDT_Filter. |
| ThPhoneMask | he_As_Is, he_Remove_Country_Code, he_Add_Country_Code | עיצוב מספרי טלפון באמצעות Phone_Num_Mask. |
| ThFormat_Component_Name_Case | he_Lowercase, he_CamelCase, he_Keep_AsIs | קביעת אופן תיקון שם רכיב באמצעות Format_Component_Name. |
קבועים לשאילתות ופעולות טבלה
קבועים אלה משמשים בעיקר מול ThDB_Client, טבלאות ThTable ו־ ThPrvTable.הם קובעים כיצד לחבר תנאי שאילתה, כיצד להשוות בין שדות, ואיזו רמת גישה תינתן לטבלה.
| Name | Optional Values | שימוש נפוץ |
|---|---|---|
| ThTableAccess | he_Standard, he_ReadOnly, he_Fixing_Data_Interface, he_ReadOnly_No_Hidden, he_Data_Interface | קביעת מצב העבודה של טבלה: קריאה בלבד, עבודה רגילה, או שימוש פנימי לממשקי נתונים. |
| Thds_Logic | he_AND, he_OR, he_AND_NOT, he_OR_NOT | חיבור תנאי שאילתה בפקודות Where_*. |
| Thds_Equation | he_Equal_To, he_Different_Then, he_Less_Then, he_More_Then, he_Less_Then_Equal_To, he_More_Then_Equal_To | השוואה בין שני שדות באותה רשומה באמצעות Where_Compare_Between. |
| ThReplaceMethod | he_WholeValue, he_ContString, he_Override, he_GroupItem | קביעת אופן החלפה של ערכים בטבלה באמצעות Replace. |
| ThDuplicity_ToDo | he_Check_IF_Dup_Exist, he_Remove_Dups_From_2nd_Row, he_Leave_All_Dups_Rows | בדיקה או טיפול בכפילויות באמצעות Duplicity. |
| GUTS_Action | he_Just_New_Records, he_Override_Column, he_Fix_Millisec_All_Rows | יצירת ערכי timestamp ייחודיים בעמודה באמצעות Set_Column_Unique_TS. |
| ThBuild_Index_Tree | he_CreateAnyway, he_Create_IfNotExist, he_Free_RAM, he_Check_IF_Index_Exist | ניהול אינדקס RAM פנימי לחיפוש מהיר בעמודה. |
| ThSaveToAnsiFile | he_Ansi_INI, he_UTF8_INI, he_Ansi_CSV, he_Ansi_CSV_With_Header, he_UTF8_CSV, he_UTF8_CSV_With_Header, he_Ansi_TXT, he_CSV_For_SQL_Import, he_CSV_Linux | בחירת פורמט שמירה בעת יצוא טבלה לקובץ טקסט או CSV. |
דוגמה לשימוש בקבועי שאילתה:
DBconn.Reset;
DBconn.Query(ClientsTb, True);
DBconn.Where_SameVal('Handling Status', 1, he_AND);
DBconn.Where_Above('Client Number', 1000, he_AND);
DBconn.Close_Query;
DBconn.Execute;
דוגמה להשוואה בין שדות:
DBconn.Where_Compare_Between('Actual Price', he_Less_Then, 'Cost Price', he_AND);
קבועים לרכיבי ממשק
קבועים אלה משמשים כאשר הסקריפט יוצר או משנה רכיבי UI בזמן ריצה: כפתורים, גרידים, כותרות, עץ ויזואלי או הדפסה.| Name | Optional Values | שימוש נפוץ |
|---|---|---|
| ThButtonType | he_Button, he_UpDown, he_Checkbox, he_RadioBtn, he_Spacer | סוג כפתור ב־ ThButtonsArea. |
| ThButtonLocation | he_FromStart, he_FromEnd, he_Popup | מיקום הכפתור באזור הכפתורים או בתפריט popup. |
| ThButtonsArea_Layout | he_Horizonal, he_Vertical, he_HorizIconsBar, he_VertIconsBar, he_Matrix, he_PopupMenu, he_Tiles | קביעת פריסת כפתורים ב־ ThButtonsArea. |
| ThGrid_Options | he_GAdd, he_GDelete, he_GSort, he_GSelectRange, he_GPaste, he_GSwitch, he_GSearchDelete, he_GCopyMoveCol, he_GKeepRecordOnSort, he_Export_Wizard, he_Single_Column_Width, he_NO_Clipboard, he_NO_Rules, he_NO_Layout, he_NO_Popup | קביעת אפשרויות עבודה של ThDataGrid. |
| Thtb_Style | he_Simple, he_Title1, he_Title2, he_Title3, he_GridHeader, he_Help, he_Help2, he_Fixed | קביעת סגנון כותרת ב־ ThTitleBar. |
| ThDialog_Response | he_Dialog_Cancel, he_Dialog_Select, he_Dialog_Clear | תוצאה מדיאלוג בחירה/ניקוי. |
דוגמה ליצירת כפתור דינמי:
Main_BA.Buttons.AddNew('refresh_data', 'refresh', 'Refresh', he_Button, False, he_FromStart);
Main_BA.GlobalInit;
דוגמה להוספת אפשרות מיון לגריד:
Items_DG.Options:= Items_DG.Options + [he_GSort, he_GSelectRange];
קבועי צבע
בעץ Types & Const מופיעים גם קבועי צבע מסוג TColor.קבועים אלה משמשים בכל מקום שבו פונקציה, אירוע או מאפיין מצפים לקבל צבע: צבע טקסט, צבע רקע, צבע סימון, צבע הדפסה וכדומה.
חשוב לזכור כי צבעים מספריים בדלפי נכתבים בדרך כלל בפורמט
$BBGGRR
ולא בפורמט HTML/CSS של
#RRGGBB
.
לכן, במידת האפשר עדיף להשתמש בשם קבוע צבע מוכן במקום מספר צבע ידני.
| Name | Optional Values | שימוש נפוץ |
|---|---|---|
| Standard TColor | clBlack, clMaroon, clGreen, clOlive, clNavy, clPurple, clTeal, clGray, clSilver, clRed, clLime, clYellow, clBlue, clFuchsia, clAqua, clLtGray, clDkGray, clWhite | צבעי בסיס של Delphi/VCL לשימוש ברכיבי UI, אירועי ציור, הדפסה והדגשות. |
| Printer background colors | hv_PrnBk_Green, hv_PrnBk_Red, hv_PrnBk_Yellow, hv_PrnBk_Silver, hv_PrnBk_Purple, hv_PrnBk_Aqua | צבעי רקע מותאמים להדפסה ודוחות. |
| Data grid background colors | hv_DG_Bk_Green, hv_DG_Bk_Red | צבעי רקע מותאמים לגרידים ולסימון מצב ברשומות. |
דוגמה לשימוש בצבעים באירוע ציור של גריד:
Procedure Items_DGCell_Drawing(FldCol, DsRow: Cardinal; VAR FontColor, BgColor: TColor;
VAR FontStyle: TFontStyles; VAR Halign, Valign: Byte);
Begin
IF ItemsTb.RField['Balance', DsRow] < 0 Then
FontColor:= clRed
Else
FontColor:= clGreen;
End;
דוגמה לשימוש בצבעי רקע ייעודיים:
IF ItemsTb.BField['Approved', DsRow] Then
BgColor:= hv_DG_Bk_Green
Else
BgColor:= hv_DG_Bk_Red;
קבועים לעץ ויזואלי ולהדפסה
קבועים אלה נפוצים פחות בתחילת העבודה, אך חשובים כאשר עובדים עם ThVisualTree או עם מנוע ההדפסה.| Name | Optional Values | שימוש נפוץ |
|---|---|---|
| ThTreeNodeFindAlgo | he_SameString, he_ContString, he_StartingWith, he_FastCompare | אופן חיפוש Node בעץ לפי כותרת או תג טקסט. |
| ThTreeNodeSortAlgo | he_CaptionString, he_ExtEvent, he_Node_ITag1, he_Type_Then_Caption | אופן מיון ילדים תחת Node. |
| ThVisualTreeCheckbox | he_No_Selection, he_Parent_Select_Children, he_Stand_Alone | מצב סימון checkbox בעץ ויזואלי. |
| ThDocs_Printer_Orientation | he_Default_Orientation, he_Portrait, he_Landscape | כיוון דף בהדפסה. |
| ThDocs_Printer_Action | he_Preview_Document, he_Print_Directly, he_Print_Directly_No_Dialog, he_EMail_Directly, he_ConfirmDialog | פעולת סיום למסמך: תצוגה מקדימה, הדפסה, שליחה במייל או דיאלוג אישור. |
טיפוסים ציבוריים שנרשמים לאפליקציה
חלק מהטיפוסים אינם מגיעים רק מה־framework הכללי, אלא נרשמים למנוע התסריטים מתוך האפליקציה עצמה.נכון לקוד המערכת, נרשמים גם הטיפוסים הבאים:
| Name | Optional Values | שימוש נפוץ |
|---|---|---|
| THyper_Entity | HY_Unknown, HY_Client, HY_Supplier, HY_Account, HY_Project, HY_User | זיהוי סוג ישות בהייפר, לדוגמה בתוצאה של Get_Entity_Type. |
| TPM_Feed_Price | hv_BID, hv_ASK, hv_MID | בחירת סוג מחיר בפיד שערים, לדוגמה בפונקציה ConvertCcy_Live_Feed. |
דוגמה:
IF Get_Entity_Type(Client_Number) = HY_Client Then
Rate:= ConvertCcy_Live_Feed(Server.NOW, 'USD', hv_Bookkeeping_Currency, hv_MID);
הערות חשובות
- שם הקבוע נכתב בקוד כפי שהוא מופיע בעץ הניווט. אין לעטוף אותו בגרשיים.
- כאשר פרמטר מוגדר כ־ String, מעבירים טקסט בגרשיים. כאשר הוא מוגדר כטיפוס קבוע, מעבירים את שם הקבוע עצמו.
- אם לפונקציה יש ערך ברירת מחדל לפרמטר, אין חובה להעביר את הקבוע בכל קריאה.
- קבועים מסוג SET OF, כמו אפשרויות גריד, נכתבים בתוך סוגריים מרובעים כאשר מציבים כמה אפשרויות יחד.
// Correct
DBconn.Where_SameVal('Status', 1, he_AND);
// Correct - SET OF values
Items_DG.Options:= Items_DG.Options + [he_GSort, he_Export_Wizard];
// Incorrect - he_AND is not a string
DBconn.Where_SameVal('Status', 1, 'he_AND');