DCSIMG
February 2010 - Posts - I Love C#
Sign in | Join | Help

I Love C#

Eyal Vardi

February 2010 - Posts

רובוטים, ילדים וחג פסח

פורסם בתאריך Feb 13 2010, 06:06 PM על ידי Vardi

הזמינו אותי לתת יעוץ בחברה שמתעסקת ב- e-Learning ותוך כדי שיחה אני מגלה שהם הנציגים בארץ של NXT LOGO, מגניב אמרתי, אני חייב אחד לבת שלי בת ה-8, היא חולה על רובוטים… מכאן לשם, הפקנו את

סדנת הורים וילדים לפיתוח תוכנה ורובוטיקה בחול המועד פסח.

NXT_Robot lego-mindstorm-nxt-make-and-create mindstormsnxtspike
nxt components NXT_Tribot   

הסדנא מיועדת לזוגות של הורה וילד ומתבססת על ערכת LEGO MINDSTORMS NXT המתקדמת מבית חברת LEGO education. הערכה מאפשרת הרכבה ותכנות של רובוטים וכוללת שימוש בחיישנים, מנועים, תקשורת Bluetooth ועוד.

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

תוכנית הפעילות

  • הקדמה ומבוא להכרת ערכת ה NXT ורכיביה
  • בניית הרובוט על כל אביזריו
  • הכרת הפקודות הבסיסיות לימוד תכנות ראשוני באמצעות שפת ה - NXTg
  • ביצוע משימות מורכבות ותכנות מתקדם
  • שימוש ב- Bluetooth לתקשורת אלחוטית בין רובוטים
  • תכנות לשליטה מרחוק ברובוטים
  • אתגר מסכם
מידע נוסף על הרובוטים

יהיה מגניב :-)

Triggers, Actions & Behaviors in Blend

פורסם בתאריך Feb 01 2010, 07:44 PM על ידי Vardi

Triggers, Actions & Behaviors in Blend

לפעמים שינוי קטן בקוד מוביל לשינוי גדול בדרך החשיבה שלנו ובהסתכלות שלנו על דברים. ב- Blend 3 הוסיפו את התמיכה ב- Triggers, Actions & Behaviors כדי ליצור אחידות ב-XAML בין WPF ו-SL. אך ע"פ דעתי השינוי הקטן הזה פותח דלת חדשה של הסתכלות על דברים ומקרב אותנו עוד צעד למערכות RAD שיהיה אפשר לבנות איתם UI טוב בלי לרוץ ישר לקוד.

Triggers & Actions

ב-WPF יש תמיכה במספר Triggers מובנים שיודעים לקבל Actions מובנים, אך מה אם אני רוצה להגדיר אחד משלי?

להלן קוד דוגמא לשימוש בנגנון ה-Triggers הסטנדרטי של WPF:

image

להלן קוד דוגמא בשימוש ב-Actions שאני בונה וה-Blend נותן לי בצורה פשוטה (RAD) להשתמש בהם.

image

הקוד ל-MyAction:

image

אנחנו ב- Invoke יכולים לכתוב מה ה-Action שלנו יעשה ועל מי. מה הביג דיל??? שעכשיו אנחנו יכולים לבנות ספריה של Actions שתכנת ה-Blend יוכל להשתמש בהם ולתת ל-UI לא רק עיצוב על גם אינטראקטיביות.

image

אז מה זה Trigger?

מאפשר לי להגדיר ע"פ איזה חוקיות יופעל ה-Trigger שבעקבותיו יופעל Action. ב-Attach אני מתחבר למקור וע"פ לוגיקה שאני מחליט אני מפעיל את InvokeActions.

 

 

לדוגמא קוד של TimerActions:

image

כלומר ה-Trigger זה מתי להתחיל לפעול
וה-
Action זה מה עושים.

 

image

אז מה זה Behavior?

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

איך זה עוזר לי בפרויקט כל הידע הזה?
אני מאמין שמפתחי UI צרכים את היכולת לעצב מסכים בכלי WYSIWYG, שיש בהם את התמיכה גם לשלב את הפונקציונאליות שהמפתחים כתבו ע"י ה- Triggers, Actions & Behaviors.

דוגמאות:

בימים אלו אני עובד על תשתית של Triggers, Actions & Behaviors שקשורים ל-Prism כך שמפתח ב-Blend יוכל בצורה פשוטה להגדיר:

· Region

· Publish Event

· Subscribe to Event

· ועוד...

אשמח לשמוע על רעיונות נוספים :-)