לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #5  
ישן 10-10-2006, 00:35
  U did it U did it אינו מחובר  
 
חבר מתאריך: 21.04.06
הודעות: 55
אוקיי חברים.. אני לא מצליחה:(
בתגובה להודעה מספר 4 שנכתבה על ידי U did it שמתחילה ב "תודה"

לפני שניסיתי בכלל להתחיל עם הגדרת מערך שני לכל איבר במערך הראשון, החלטתי לנסות לראות אם בכלל אני מצליחה להכניס ערך כ ל ש ה ו לאיברים במערך הראשון.

התשובה שלילית. ואולי הבדיקה שלי לא נכונה
חוץ מדברים בסיסיים שאני עדיין לא יודעת, שכחתי דברים בסיסיים שכבר למדתי. זה דיי מתסכל..

קוד:
var Status:Array = new Array(8); for(var i=Number=0;i<Status.length;i++){ Status[i]=2; } if ( Status[3]== 2){ gotoAndStop(10); }else { gotoAndStop(5); }


מה שהתכוונתי לעשות כאן זה להגדיר מערך חד-מימדי בעל שמונה איברים.
ע"י לולאה בגודל המערך הכנסתי את הערך 2 לכל אחד מהאיברים.

אח"כ בדקתי האם איבר מספר 3 (סתם בחרתי 3...) אכן מכיל את הערך 2.
אמרתי לו שאם מכיל- שילך לפריים מס' 10(- שם יש אובייקט מסויים). אם לא מכיל - שילך לפריים 5(- שם יש אובייקט אחר.)

תמיד הוא הציג לי את האובייקט שבפריים 5 ולא זה שבפרים 10. תמיד- גם כאשר בדקתי אם האיבר מכיל מספר אחר מ2...

מה לא עשיתי טוב?

_______
אגב, ההסבר של מה שעשיתי בקוד שצרפתי הוא יותר עבורי מאשר עבורכם.. אני מאמינה שאתם יודעים לקרוא קודים גם כאשר הם שגויים בתכלית
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 10-10-2006, 07:48
  -FoxyBrain- -FoxyBrain- אינו מחובר  
 
חבר מתאריך: 03.09.05
הודעות: 2,857
הטעות היא בלולאה
בתגובה להודעה מספר 5 שנכתבה על ידי U did it שמתחילה ב "אוקיי חברים.. אני לא מצליחה:("

הגדרת את המשתנה i כשווה ל[Nnumber = 0] (?!)
Number מציין פה את סוג המשתנה, הוא צריך לבוא אחרי נקודתיים, בצורה כזאת:
קוד:
var i:Number=0
בדיוק כמו המערך, אם תשימי לב.

כמה דברים שכדאי לדעת:
  • אין צורך להגדיר מראש את גודל המערך וזה אפילו לא ממש מומלץ
  • יש פרופרטי שנקרא push(), מה שהוא עושה זה בעצם לקבל ערך בסוגריים שלו ו"לדחוף" אותו בתא הבא הפנוי. זה פשוט יותר נוח בהבה מקרים מאשר לעבוד על פי הערך של i.
  • יש פונקציה שנקראת trace שמיועדת לדיבאגינג. מה שהיא עושה זה לציג את הערך שהעברת לה בחלון input נפרד. במקום להגדיר לסרט לעבור לפריים כלשהו, יכולת לשים טרייס לערך של התא ובכך לדעת אם הוא נכנס (ואז הייתה מבינה גם שהבעיה היא בלולאה)
קוד:
var Status:Array = new Array(); for(var i:Number=0;i<8;i++){ Status.push(2); } trace(Status[3] == 2);


אם ערך התא הוא אכן "2", טרייס תדפיס לך true, מכיוון שבתוכה כבר ביצעתי את ההשוואה.
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה


נערך לאחרונה ע"י -FoxyBrain- בתאריך 10-10-2006 בשעה 08:01.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 10-10-2006, 10:59
  U did it U did it אינו מחובר  
 
חבר מתאריך: 21.04.06
הודעות: 55
undefined
בתגובה להודעה מספר 7 שנכתבה על ידי dragoon שמתחילה ב "יותר נוח אפילו, יהיה להציג..."

תודה שוב לשניכם ... (-FoxyBrain- במיוחד על הנקודות שציינת ש"כדאי לדעת")

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

אז איפה עכשיו הבעיה?


ועוד שאלה:
כתבת ש
ציטוט:

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

כשאתה אומר "התא הבא הפנוי" זה אומר שאם כרגע הוא נמצא באיבר הראשון Status[0] אז הערך ידחף לתא הבא: Status [1] ? אם כך לא יהיה כל ערך באיבר הראשון.. (תרתי משמע). אני טועה בהבנה של מה שכתבת?

נערך לאחרונה ע"י U did it בתאריך 10-10-2006 בשעה 11:05.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #24  
ישן 10-10-2006, 11:30
צלמית המשתמש של dragoon
  משתמש זכר dragoon dragoon אינו מחובר  
 
חבר מתאריך: 14.01.06
הודעות: 7,485
בתגובה להודעה מספר 8 שנכתבה על ידי U did it שמתחילה ב "undefined"

push הוא לא פרופרטי - הוא פונקציה(method בשפת תכנות מונחת עצמים כמו פלאש).
מה שpush עושה, זה ליצור ערך נוסף במעך, ןלדחוף את הערך הנתון בפרמטר הפונקציה לערך האחרון במערך.
המתודה push גם מחזירה את אורך המערך החדש אחרי ביצוע הפעולה.
לדוגמא:
קוד:
var myArr=new Array(); myArr[0]=5; myArr[1]=6; myArr[2]=3; trace(myArr.length); var temp:Number=myArr.push(8); trace(temp); trace(myArr);
הקוד הזה מגדיר מערך חדש בגודל לא ידוע, ומגדיר את שלשת האיברים הראשונים במערך.
לאחר מכן אני משתמש במאפיין(פרופרטי) length של מערך, ומדפיס על המסך את הגודל הנוכחי של המערך(ידפיס 3).
בשורה הבאה, אני דוחף את הערך 8 לתוך המערך, ובעצם יוצר תא חדש - רביעי.
כפי שכתבתי מקודם, המתודה push מחזירה את האורך הנוכחי של המערך. מהסיבה שאני יוצר משתנה חדש, ומשווה אותו למתודה push, המשתנה החדש(שנקרא temp) יכיל את האורך החדש של המערך.
לאחר מכן אני מדפיס את תוכן המשתנה temp, שזה בעצם אורך המערך החדש, ומקבל 4 על המסך.
בסוף אני מדפיס את כל המערך, ומקבל כפלט:
ציטוט:
5,6,3,8
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 15:13

הדף נוצר ב 0.08 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר