אחרי שנים של המתנה, זה קרה: לזרוס (Lazarus), סביבת הפיתוח בקוד פתוח לשפת Object Pascal, הגיעה לגרסה 1.0 הרשמית. ציון הדרך הזה הוא בעיקר עניין פורמלי, כי גם גרסאות קודמות היו יציבות ושמישות בהחלט. אף על פי כן, יש כאן סיבה לחגיגה לאוהבי פסקל ולאנשי הקוד הפתוח.
לזרוס היא מערכת גרפית ואינטואיטיבית לפיתוח יישומים מהיר (RAD -Rapid Application Development), בעיקר למחשבים אישיים – אם כי מי שיתעקש ימצא דרכים לתכנת קצת גם לרשת, להתקנים ניידים וכדומה. היא מוצעת בחינם למבחר מערכות הפעלה – חלונות, לינוקס, OS X ועוד – ובעיקרון, קוד שנכתב בלזרוס עבור מערכת הפעלה מסוימת יתקמפל גם במערכות אחרות. ההורדה הבסיסית של לזרוס כוללת את הקומפיילר FPC 2.6.0 – מהדר חזק שמתחרה בכבוד בהרבה מוצרים מסחריים.
לכבוד האירוע, אבצע "הוצאה מהקופסה" וירטואלית של לזרוס 1.0. מחקתי את הגרסה הקודמת שהותקנה אצלי, כדי שהחוויה תהיה דומה ככל האפשר להתקנה נקיה, ובפוסט זה אעבור על כל שלבי ההתקנה, מההורדה ועד להרצת תוכנית לדוגמה. הפוסט אמנם נראה ארוך, אך אל תיבהלו – זה בעיקר בגלל התמונות.
עוד שתי הערות קטנות לפני שנתחיל: ראשית, שפת פסקל לא פופולרית כפי שהיתה פעם, ואנשי מחשבים רבים יעקמו את האף כשתזכירו אותה. למרות זאת, מי שיתגבר על הדעה הקדומה וינסה את השילוב FPC/Lazarus יגלה שמדובר בכלי עבודה מודרני לגמרי, חזק מאד ואפילו כיפי. שנית, חובבי הארדואינו ישמחו לשמוע שאפשר לתכנת בלזרוס יישומי דסקטופ שיעבדו עם Serial Port, כלומר יוכלו "לדבר" עם הארדואינו כפי שעשיתי במשחק הפונג – אבל על כך בפוסט אחר. בינתיים, בואו ונתקין את לזרוס החדשה והנוצצת!
שלב 1: הורדה
הנה הקישור להורדת קובץ ההתקנה מ-SourceForge. בדף זה תמצאו, למעלה, את הגרסה הפופולרית והעדכנית ביותר (ל-Windows 32-bit), ומתחתיה אופציות למערכות הפעלה אחרות. מערכת ההפעלה במחשב שלי היא אמנם Windows 64-bit, אך למען הפשטות והתאימות עם מקסימום קוראים, אלך דווקא על גרסת ה-32.
גודל הקובץ להורדה הוא 112.1 מגהבייט לפי האתר, והוא כולל כל מה שצריך להתקנה (הוא לא יתחיל להוריד לכם עוד שלושה ג'יגה מהאינטרנט…) לוחצים על הקישור, מחכים קצת וההורדה מתחילה אוטומטית.
שלב 2: התקנה
הקובץ ירד, ולפי מערכת ההפעלה שלי גודלו 106 מגה בלבד. הנה, כבר חסכנו. הגיע הזמן להרצה. מערכת ההפעלה מעלה אזהרה שאתעלם ממנה בקלילות ואלחץ על "Run":
אחרי ההודעה הזו קיבלתי עוד הודעת אזהרה סטנדרטית של Win7, כזו שמופיעה לפני כל התקנה של תוכנה ומשחירה את כל המסך מסביב. לא הצלחתי לצלם אותה – תצטרכו לסמוך עליי שלחצתי על אישור. והנה, אנחנו מקבלים את החלון הראשון של התקנת לזרוס:
נלחץ על Next, כמובן. בחלון הבא, נבחר את התיקיה להתקנה:
לחצתי על Next, ועכשיו מתחיל האקשן: איזה סוג התקנה, ואילו סיומות קבצים יהיו משויכות ללזרוס? למי שלא מבין בדיוק מה הוא עושה, אני ממליץ פשוט ללחוץ על Next גם בחלון שבתמונה למטה. במקרה הפרטי שלי, מכיוון שמותקנת אצלי סביבת פיתוח אחרת לפסקל, ביטלתי חלק מהשיוכים. לכם זה מן הסתם לא רלוונטי.
השלב הבנאלי הבא: בחירת תיקיה בתפריט ה"התחל" של חלונות. נו יאללה, Next!
עכשיו מגיע חלון טיפה יותר חשוב, ואני ממליץ לא לדלג עליו אוטומטית אלא דווקא לסמן את התיבה העליונה – מה שייצור אייקון לזרוס על שולחן העבודה. תיבת הסימון השניה לא רלוונטית לכם, אלא אם היתה לכם התקנה קודמת של לזרוס.
נסמן מה שצריך, נלחץ על Next ונקבל עוד חלון מעיק אחד, שמציע לנו לוודא שבחרנו את כל הדברים הנכונים. אם טעיתם במשהו או שאתם מתחרטים ורוצים לשנות, זה הזמן ללחוץ על Back ולעשות זאת.
וסוף כל סוף ההתקנה מתחילה בפועל:
חלפו כשלוש דקות, במחשב שלי, והנה חלון ההתקנה האחרון:
שלב 3: הפעלה ראשונה
על שולחן העבודה אמור להופיע כעת האייקון הבא. למי שתהה – כן, זה פרצוף של צ'יטה על גלגל שיניים כחול. יש דברים שלא כדאי לשאול עליהם יותר מדי שאלות.
דאבל-קליק, ומתקבל הדבר המשונה הבא:
אני מודה: זה לא נראה כל כך טוב. לא העברית החלקית, לא החלונות המבולגנים ולא הקוד המוזר שם באמצע שלא אומר לנו כלום. מי שמתעקש יכול לעבוד ככה, אך אני מעדיף לעשות קודם כל קצת סדר בבלגן.
שלב 4: אינגליש, פליז
הדבר הכי חשוב מבחינתי הוא להיפטר מהימין-לשמאל המזעזע. תכנות ועברית פשוט לא הולכים ביחד, אין מה לעשות. בחלון העליון, הצר, ניגש לתפריט כלים->אפשרויות. בטופס שמופיע, ב"עץ" שמשמאל, נבחר בסביבה->שולחן עבודה, ומימין למעלה (תחת "שפה") נחליף את "אוטומטי (או אנגלית)" ב"אנגלית [en]".
נלחץ על "אשר" למטה. אנחנו רואים שוב את סביבת הפיתוח – ושום דבר לא השתנה. למה? כי זו הגדרה שמחייבת הפעלה-מחדש ואף אחד לא טרח להגיד לנו את זה. נו מילא. נסגור את לזרוס, נלחץ על "לא" כשהוא ישאל אותנו אם לשמור שינויים לפרויקט project1, ונפעיל שוב. העסק עדיין מבולגן, אבל לפחות התפריטים קריאים…
שלב 5: שלום עולם, עם גרפיקה
במקום להסביר תיאורטית מה כל חלון עושה ואיך, בואו נכתוב ישר את התוכנה הראשונה שלנו: טופס עם כפתור ותיבת טקסט, שכאשר לוחצים על הכפתור, מופיע בתיבת הטקסט הכיתוב "שלום עולם".
בחלון העליון, נבחר בתפריט File->New. המבחר שיופיע קצת מבהיל – לא נורא, בעץ שמשמאל נבחר ב-Project->Application ונלחץ על OK.
לזרוס תכין לנו אוטומטית את התשתית הדרושה עבור יישום חלונות. יודעים מה? בואו נריץ את זה כבר עכשיו, כמו שזה! בחלון העליון הצר, בשורת האייקונים התחתונה משמאל, מצאו את החץ הירוק ולחצו עליו.
כעת יקרו שני דברים. קודם כל, אחד החלונות הקטנים למטה יתעורר לחיים ויתחיל להציג טקסט. זהו חלון Messages, שנותן לנו מידע על תהליך הקימפול – ועל שגיאות והתרעות אם יש כאלה.
עוד כמה שניות יעברו, ולפתע יצוץ חלון ריק, בדיוק מעל החלון המנוקד שראינו קודם. זו התוכנה שרצה. אפשר להזיז את החלון הזה, להגדיל ולהקטין אותו, וזהו בערך.
נלחץ על ה-X בצד. החלון ייסגר, נוחזר לסביבת הפיתוח ונקבל את ההודעה המרגיזה שאומרת שההרצה הופסקה. זה חלון שכמעט תמיד יהיה מיותר, ולכן נלחץ בו על הכפתור "Do not show this message again":
נהניתם? קדימה, לתוכנה עצמה. בחלון העליון, באזור התחתון שלו, יש שורה של אייקונים שמציינים רכיבי ממשק גרפיים: כפתור, תפריט, תיבת סימון, תיבת טקסט וכדומה. אנחנו מעוניינים כאמור בכפתור ובתיבת טקסט, אז נלחץ כל פעם על האייקון המתאים ומיד לאחר מכן נלחץ איפשהו בתוך הטופס המנוקד. אמור להתקבל משהו כזה (כמובן, בלי החיצים השחורים):
אם מתחשק לכם, אתם יכולים להריץ את התוכנה שוב (החץ הירוק למעלה, זוכרים?), לראות את הרכיבים הגרפיים הללו בפעולה ואפילו לערוך את הטקסט בתיבה. כמובן שתכל'ס הרכיבים האלה עדיין לא עושים כלום – לשם כך צריך להגדיר עבורם התנהגות.
בטופס המנוקד, נעשה דאבל-קליק על הכפתור. פעולה זו תקפיץ אותנו לתוך הקוד – לא להיבהל, זה צפוי.
הסתכלו מעל הסמן המהבהב, על השורה הזו:
procedure TForm1.Button1Click(Sender: TObject);
מבלי להתחיל ללמד פסקל, הנה מה שזה אומר: מדובר בפרוצדורה (קטע קוד עצמאי יחסית שהתוכנית הראשית יכולה לקרוא לו), ששייכת לסוג הטופס TForm1 (זה הסוג של הטופס שרץ אצלנו בתוכנה – שמתם לב לכיתוב Form1 שמופיע בכותרת שלו?), והיא נקראת Button1Click, כלומר לחיצה על Button1 שהוא הכפתור ששמנו קודם. כאשר המשתמש ייגש לטופס ויקליק על הכפתור, הפרוצדורה הזו תרוץ. הסמן ממוקם בדיוק במקום המתאים להוספת קוד משלנו לפרוצדורה הזו, אז כתבו או העתיקו לשם את השורה הבאה, שמציבה בשדה הטקסט של תיבת הטקסט (Edit1) את המחרוזת "שלום עולם":
Edit1.Text := 'שלום עולם!';
שפת פסקל לא מבדילה בין אותיות רישיות לקטנות, אך חשוב לזכור שאופרטור ההשמה הוא "נקודתיים-שווה" ולא "שווה" כמו ברוב השפות האחרות. כמו כן, מחרוזות נכתבות בין גרשיים ולא במרכאות.
זה הכל. הריצו את התוכנית ולחצו על הכפתור כדי להיווכח באפקט המדהים!
וכאן נעצור – בינתיים…
הבהרה קטנה לגבי גודל הקובץ:
112.1MB = 106MB
כן הם שווים רק נמדדו ביחידות שונות:
106MB=106*1024*1024
112.1MB=112.1*1000*1000
לפעמים מודדים MB כ-1000000 ולפעמים 1024*1024 שזה 1048576
ל-106 כנראה יש עוד סיפרה אחרי הנקודה שלא מוצגת.
אני מכיר את השטיקים האלה – ובכל זאת קיוויתי שהאתרים והמחשב שלי יתיישרו לפי אותו קו…
וואו! קצת יותר נוח מVISUAL BASIC…
כשאני ייצטרך מתישהו אני יישתמש בזה תודה!