פורסם 2005 באוקטובר 3020 שנים אוקיי,אז יש לי שאלה מאוד מאוד בסיסית שאני מתפלא על על עצמי איך אני לא רואה את התשובה בעצמי.אני כותב תכנית פשוטה בVB שכשנניח אני לוחץ על כפתור COMMAND מתרחש תהליך שבסופו ערך M שווה למספר מסויים.עכשיו אני רוצה שערך L יהיה שווה לסכום כל ערכי M שהיו עד עכשיו מאז שאני מריץ את התוכנית.הבעיה שאני לא יודע איך להוציא ערך מחוץ ל"פעולה",כלומר מחוץ לקוד שנכתב עבור אירוע הלחיצה של כפתור ה COMMAND.
פורסם 2005 באוקטובר 3020 שנים בGENERAL אתה יוצר משתנה מסוג INTEGER, בINITIALIZE אתה מאתחל אותו ב-0 וכל פעם בCOMMAND_CLICK אתה מגדיל אותו.
פורסם 2005 באוקטובר 3020 שנים מחבר תודה,זה בדיוק מה שעשיתי ובשורה האחרונה של הקוד לCOMMAND רשמתי "L=L+M",וזה באמת מציג את הסכום,שהבעיה שמשום מה כל פעם בלחיצה ה 6 בערך יש איזו שגיאה של "OVERFLOW".מה זה אומר?ועוד שאלה שזה אתה צצה,איך אני עושה מספרים רנדומליים?חשבתי שהפקודה a = Int(100 * Rnd + 1( תיתן ל a ערך רנדומלי בין 1 ל100,אבל עכשיו שמתי לב שכל הרצה מחדש(לחיצה על END ו RUN) נותנת את אותם המספרים.
פורסם 2005 באוקטובר 3020 שנים OVERFLOW אומר שהערך שאתה מנסה להציב לתוך המשתנה גדול מהיכולת המקסימלית שלו... אני לא יודע באיזה קפיצות מדובר פה, אבל אולי צריך משתנה מסוג אחר (LONG INT וכו, לא סגור על איך זה הולך ב VB).הסיבה שזה יוצר אותם משתנים זה כי אתה צריך לפני הפקודה RND, לאתחל את ה RANDOM SEED לפני כן, אמור להיות פקודה שעושה את זה (חפש בקישור של ה HELP ב VB לגבי RND) ולפקודה הזו אתה יכול להכניס למשל את השעה הנוכחית, דבר שיתן SEED שונה בכל הרצה.
פורסם 2005 באוקטובר 3020 שנים מחבר ב GENERAL הגדרתי את L כINTEGER,והקפיצות הם בערך ביו 4000 ל 5000,הטעות קוראת(איך לרשום נכון?) בערך ב30000.בקשר לRND,אתה יכול לתת לי דוגמא איך רושמים?פשוט הMSDN שלי לא עובד.תודה!!!
פורסם 2005 באוקטובר 3120 שנים מחבר תנסה randomize לפני השורה עם ה RND היי תודה,נדמה לי שזה עזר. אבל איך אני מתגבר עכשיו על הבעיה של הOVERFLOW? לא ייתכן שמשתנה מסוג INTEGER,לא יכול להכיל ערך של שלושים אלף. אגב מה באמת הקיבולת המקסימלית של משתנה כזה? עריכה-טוב הגדרתי את המשתנה כCURRENCY ובנתיים אין לי טעוית,אבל עדיין...מה הבעיה עם INTEGER?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.