שאלה בסיסית על זכירת ערך ב VB. - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שאלה בסיסית על זכירת ערך ב VB.


likantrop

Recommended Posts

אוקיי,אז יש לי שאלה מאוד מאוד בסיסית שאני מתפלא על על עצמי איך אני לא רואה את התשובה בעצמי.

אני כותב תכנית פשוטה בVB שכשנניח אני לוחץ על כפתור COMMAND מתרחש תהליך שבסופו ערך M שווה למספר מסויים.

עכשיו אני רוצה שערך L יהיה שווה לסכום כל ערכי M שהיו עד עכשיו מאז שאני מריץ את התוכנית.

הבעיה שאני לא יודע איך להוציא ערך מחוץ ל"פעולה",כלומר מחוץ לקוד שנכתב עבור אירוע הלחיצה של כפתור ה COMMAND.

קישור לתוכן
שתף באתרים אחרים

תודה,זה בדיוק מה שעשיתי ובשורה האחרונה של הקוד לCOMMAND רשמתי "L=L+M",וזה באמת מציג את הסכום,שהבעיה שמשום מה כל פעם בלחיצה ה 6 בערך יש איזו שגיאה של "OVERFLOW".מה זה אומר?

ועוד שאלה שזה אתה צצה,איך אני עושה מספרים רנדומליים?

חשבתי שהפקודה a = Int(100 * Rnd + 1( תיתן ל a ערך רנדומלי בין 1 ל100,אבל עכשיו שמתי לב שכל הרצה מחדש(לחיצה על END ו RUN) נותנת את אותם המספרים.

קישור לתוכן
שתף באתרים אחרים

OVERFLOW אומר שהערך שאתה מנסה להציב לתוך המשתנה גדול מהיכולת המקסימלית שלו... אני לא יודע באיזה קפיצות מדובר פה, אבל אולי צריך משתנה מסוג אחר (LONG INT וכו, לא סגור על איך זה הולך ב VB).

הסיבה שזה יוצר אותם משתנים זה כי אתה צריך לפני הפקודה RND, לאתחל את ה RANDOM SEED לפני כן, אמור להיות פקודה שעושה את זה (חפש בקישור של ה HELP ב VB לגבי RND) ולפקודה הזו אתה יכול להכניס למשל את השעה הנוכחית, דבר שיתן SEED שונה בכל הרצה.

קישור לתוכן
שתף באתרים אחרים

תנסה randomize לפני השורה עם ה RND

היי תודה,נדמה לי שזה עזר. :)

אבל איך אני מתגבר עכשיו על הבעיה של הOVERFLOW?

לא ייתכן שמשתנה מסוג INTEGER,לא יכול להכיל ערך של שלושים אלף.

אגב מה באמת הקיבולת המקסימלית של משתנה כזה?

עריכה-טוב הגדרתי את המשתנה כCURRENCY ובנתיים אין לי טעוית,אבל עדיין...מה הבעיה עם INTEGER?

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...