
06-11-2007, 12:42
|
|
|
|
חבר מתאריך: 07.10.06
הודעות: 1,795
|
|
בתגובה להודעה מספר 3 שנכתבה על ידי Togepi0304 שמתחילה ב "תודה רבה לך! יש לי שאלה נוספת מאוד חשובה :"
1. שים את הקוד שלך בתוך תגי קוד. (הכפתור עם הסולמית)
2. תיקרא למשתנים בשמות נורמאלים.
3. תידאג להוסיף TAB-ים וירידות שורה.
4. כאשר מגדירים פנקציה, זה לא כמו שמגדירים משתנה. אתה לא יכול לשים אוסף של משתנים, עם פסיקים ולחשוב ש-VB כבר יחליט איזה משתנה מועובר, אם הוא BYVAL או BYREF.
5. הכנסת ערך ל-X אחרי הלולאה. לכן היה לך OVER FLOW
כאשר קוראים לפונקציה, (ולא לאוביקט) לא שמים סוגרים.
קוד:
Function F(ByVal X As Integer, ByVal time1 As Integer, ByVal time2 As Integer, ByVal temp1 As Integer, ByVal temp2 As Integer)
m = (temp2 - temp1) / (time2 - time1)
Y = temp1 + m * X
Text1 = Y
End Function
Private Sub Form_Load()
Dim time(5), temp(5) As Integer
Dim m, i, time1, time2, temp1, temp2 As Integer
time(0) = 0
time(1) = 20
time(2) = 90
time(3) = 120
time(4) = 130
time(5) = 300
temp(0) = 20
temp(1) = 30
temp(2) = 55
temp(3) = 40
temp(4) = 30
temp(5) = 60
X = 50
For i = 0 To 4
If (X > time(i)) And (X < time(i + 1)) Then
time1 = time(i)
time2 = time(i + 1)
temp1 = temp(i)
temp2 = temp(i + 1)
End If
Next i
F X, time1, time2, temp1, temp2
End Sub
רציתי לציין שהקוד שלך לא יעיל, ולא יפעל בכל המצבים.
למשל אתה צריך להישתמש ב-UBound כדי לזהות איפה סוף המערך
נערך לאחרונה ע"י רמי ד בתאריך 06-11-2007 בשעה 12:45.
|