בולנט - דברים מיוחדים...     פרוטו - בניית אתרים

Israeli ASP Organization

ארגון ה-ASP הישראלי

מאמרים/דוגמאות קוד
קישורים
ספרות
חיפוש כללי:

חפש!
כלליHTMLASPASP.NETSQLמסדי נתוניםJavaScriptXML * XSLDHTML * CSSעיצוב וגרפיקהשרתיםComponentsפרסום ושיווקקידום אתריםקופירייטינגPHP
פרסומת
דף ראשי מדורים דרושים הרשמה למועדון אודותינו צור קשר
מיקום: מאמרים ודוגמאות קוד > ASP

שילוב ASP ו-FLASH

מטרת המאמר

הכרת הדרך לשיתוף פעולה בין פלאש 4/5 ל - ASP - קבלת/שליחת נתונים מפלאש

הסבר כללי

טכנולוגיית ASP מאפשרת למשתמש לשלוף נתונים מתוך מאגר מידע השמור בסרבר, ולהכין בכל פעם מחדש עמוד המכיל את הנתונים הרלוונטיים בלבד (שרק הם מוצגים אצל המחשב ה"מבקש").
לדוגמא - קיימת באתר רשימת תפוצה של משתמשי ICQ - כל משתמש ממלא את הפרטים הרלוונטים לגביו ושולח את הטופס לדף ASP שמקבל את הנתונים ומכניס אותם למאגר המידע.
כאשר משתמש מעוניין לראות את רשימת המשתמשים בעלי שם זהה לשלו, הוא בעצם מבקש מדף ASP שיכין לו רשימת משתמשים על פי חתך מסויים ודף ה ASP "יבנה" לו עמוד המכיל אך ורק את פרטי המשתמשים שביקש לראות.

שליחת נתונים מפלאש

בדומה לשיטת העבודה מתוך טופס בעמוד HTML , יש צורך בכפתור SUBMIT שירכז אתה הנתונים מהטופס וישלח את כולם לקובץ ה - ASP. הפקודה אשר משמשת אותנו לשליחת הנתונים היא getURL שפותחת קובץ נוסף (מכל סוג שהוא) בדפדפן, במקרה שלנו קובץ זה יהיה קובץ ASP.
את הפקודה ניתן למצוא תחת תפריט Actions בפאנל התכנות:

הפקודה כוללת מספר פרמטרים שיש צורך למלא:

URL
הנתיב לקובץ אותו אנחנו רוצים להפעיל. ניתן לרשום נתיב מלא (קידומת HTTP), או נתיב יחסי כאשר הנתיב מתייחס לספרייה בה נמצא קובץ הפלאש כקידומת לנתיב. ניתן להוסיף "/.." לפני הנתיב היחסי על מנת להתייחס לרמה אחת למעלה מקובץ ה - SWF.

Window
ניתן לבחור היכן יפתח העמוד החדש - בעמוד חדש ("blank"), באותו העמוד ("self"), או בפריים המכיל את הפריים בו נמצא הקובץ העכשוי ("parent", במקרה וקיים פריימסט).

Variables
את המשתנים מהטופס ניתן לשלוח בשתי דרכים - הדרך הראשונה והפשוטה יותר היא לרשום את שם קובץ ה ASP בלבד (בנתיב מלא או יחסי) ולבחור מתיבת הבחירה Variables באחת מהאפשרויות Send using GET או Send using POST. בדרך זו יופעל הקובץ וכל המשתנים שנמצאים יתווספו אוטומטית ויישלחו עם הקובץ (בהמשך לכתובת של הסרט בבחירת GET, או ישירות אל תוך גוף הקובץ בבחירת POST).

דרך שניה ונוחה יותר למעקב, היא הוספה ידנית של המשתנים בהמשך לשורת הכתובת של הקובץ (שליחה בשיטת GET אך לא בהכרח של כל המשתנים).
כאשר אנו שולחים משתנים לקובץ ASP, יש לשמור על חוקיות מסויימת בכתיבה - שם הקובץ ראשון, סימן שאלה מכריז על תחילת המשתנים ובהמשך שם משתנה ואחריו סימן "=" והערך של המשתנה. במידה ויש משתנים נוספים נשתמש באמפרסנד - התו "&".

reciever.asp? var1Name = var1Value & var2Name=var2Value... reciever.asp?name=ofir&country=Israel&ICQ=5555555 אין הגבלה על כמות המשתנים שניתן לשלוח בשיטה זו, אך לא ניתן לרשום בכתובת יותר מ - 255 תווים.

הצגת נתונים מקובץ ASP בתוך פלאש

כאשר אנו רוצים להציג נתונים מתוך מאגר מידע, בתוך קובץ swf, יש בידינו שתי דרכים לעשות זאת.

  1. הפעלת קובץ ה - swf עם הנתונים מראש:
    על מנת להפעיל קובץ swf עם נתונים בתוכו, ניתן לשרשר לשם הקובץ את המשתנים והערכים הרצויים בדיוק באותה צורה כמו ששולחים נתונים לקובץ ASP בשיטת GET: reciever.swf? var1Name = var1Value & var2Name=var2Value... reciever.swf?name=ofir&country=Israel&ICQ=5555555 כל מה שעלינו לעשות בדף ה ASP הוא להכין את מחרוזת טקסט הכוללת את הנתיב לקובץ, שם הקובץ ושרשרת המשתנים שאחריו, ולשים את הערך של המחרוזת הזו במקום הפרמטר Movie ו - Src שנמצאים בתוך הטאג OBJECT (הטאג המכיל את אובייקט הפלאש שבעמוד)

    שימוש בשיטה זו יכול ליצור בעיה כאשר אנו מסתמכים על הנתונים האלה לחישובים מסויימים: אם למשל נרצה להעלות מאמר מסויים לתוך פלאש ולבצע חישוב (בתוך פלאש) המסתמך על מספר האותיות שבו - כל עוד לא כל המאמר ירד, החישוב יהיה מוטעה, ולכן נוצר צורך לדעת מתי כל שרשרת המשתנים סיימה לרדת, או במילים אחרות - לבצע preloader למשתנים שאנחנו מעלים - ניתן לבצע זאת בעזרת שימוש במשתנה שימוקם אחרון בשרשרת - אם נשרשר בסוף שרשרת המשתנים משתנה בשם lastVar וניתן לו את הערך 1, כל עוד סוף מחרוזת המשתנים לא הגיע לפלאש, ערכו של lastVar לא יהיה שוה ל - 1 (פלאש למעשה לא יכיר אותו בכלל כי הוא עוד לא הגיע אליו). רק כאשר ערכו של lastVar יהיה שווה ל - 1 נדע שסוף המחרוזת הגיע לפלאש (ואפשר לבצע את החישובים).

    על מנת לבדוק מתי ערכו של lastVar שווה ל - 1 נוכל להשתמש ב 2 פריימים בתחילת הסרט - בפריים ראשון תנאי הבודק את ערכו של lastVar, ובמידה שהוא שווה ל - 1 נבצע דילוג (goto) לפריים 3 שם מתחילים החישובים, ובפריים 2 פקודת חזרה לפריים 1, על מנת לבצע את הבדיקה פעם נוספת, כך עד שהוא מגיע.

    קובץ הדוגמא המצורף מכיל קובץ ASP וקובץ פלאש מתאים, המדגימים את דרך העבודה הזו.

  2. קריאה לקובץ ASP מתוך קובץ SWF קיים:
    על מנת לקרוא לנתונים מתוך קובץ ASP מתוך קובץ swf קיים, נשתמש בפקודת Load Variables.
    צורת השרשור של המשתנים זהה גם במקרה זה, למעט ההבדל שבדרך זו אין צורך לציין את שם הקובץ בשרשרת הנתונים (ןלכן גם אין צורך בסימן השאלה) - קובץ ה - ASP אמור להכיל בסופו של דבר רק טקסט המכיל את שרשרת המשתנים בלבד.
    גם כאן ניתן ליישם את שיטת העבודה עם המשתנה האחרון בשרשרת כ - Preloader למשתנים, אבל בפלאש 5 ניתן להשתמש בשיטה נוספת שמאפשרת הפקודה onClipEvent(Data).
    הפקודות שנכתבות בתוך onClipEvent(Data) מתבצעות אך ורק כאשר אנחנו מעלים מידע (באמצעות הפקודה Load Variables Into Target) לתוך אותו מוביקליפ שעליו רשומה הפקודה (onClipEvent מתייחס למוביקליפ הספציפי שעליו הוא רשום).
    המשמעות היא שהמשתנים (או שדות הטקסט) חייבים להיות ממוקמים בתוך המוביקליפ - לשם יגיע המידע אם נשתמש בפקודה Load Variables into Target

בהצלחה!



התגובות שלכם

         
01. 20/07/2005  לילי
אין קובץ מצורף - במאמר כתוב שאפשר לעיין בקבצים המצורפים על מנת להבין יותר - ואין קבצים מצורפים - אפשר לשלוח אלי למייל ??? תודה לילי


מחבר: אופיררמת קושי: 1  ||  ציון: (6)כל הזכויות שמורות ל-IAO ©

חנות לסטלן  |   מתכונים  |   חגי ישראל  |   פורטל משחקים  |   חנויות מחשבים ו-ציוד הקפי  |   מגזין מסטול לסטלן המצוי  |   קליפרים  |   גידול צמחים פרחים  |   ספא פינוק מושלם