ארכיון יומי: 13 אוקטובר, 2008

יצירת רכיב חדש בלזרוס חלק ראשון

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

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

בפוסטים הקרובים, אני אנסה להסביר כיצד בעצם מרחיבים פקד קיים (אני לא הולך ללמד אותכם ליצור ממש מ0, כי זה דורש מאיתנו הכירות טובה יותר של ה FCL [הספרייה שמגיעה עם FPC ומספקת תמיכה בהרבה מחלקות, שיגרות ופונקציות לא גרפיות המרחיבות את הRTL. ראשי התיבות של הFCL הינם Free Component Library] בנוסף ל LCL [הרכיבים הגרפיים של לזרוס. ראשי התיבות הינם Lazarus Component Library] ובהרחבה של פקד רגיל, בד"כ לא נהיה צריכים להכיר לעומק את התמיכה הזו). במקרה הזה נרחיב את הפקד TCustomEdit שאחראי על 2 פקדים אחרים: הראשון הוא TMemo שזה בעצם סוג של עורך טקסט לקבצי טקסט "רגילים" ללא תכונות מיוחדות מעבר. הפקד השני הוא TEdit והוא הפקד שמאפשר לנו לקבל שורה של טקסט לרשום בה.

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

עד כאן להקדמה, אז בואו נתחיל: להמשיך לקרוא

DRM או לכלא

הקומיקס של XKCD מציג הסבר בצורה הכי טובה שניתן לבעיה שנקראת DRM או Data Rights Managment אשר מנסים לדחוף לנו כל הזמן. את הקומיקס ניתן למצוא בכתובת הבאה:

http://xkcd.com/488