דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. החזר ערך קטן מבין שניים ב vb6

החזר ערך קטן מבין שניים ב vb6

מתוזמן נעוץ נעול הועבר ארכיון code613m
16 פוסטים 3 כותבים 781 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים מורחק
    כתב ב נערך לאחרונה על ידי
    #5

    אבל עכשיו הסתכלתי ברפלקטור וראיתי שגם בדוטנט הפונקציה MIN עובדת כמו שעשית:

    Public Shared Function Min(ByVal val1 As Integer, ByVal val2 As Integer) As Integer 
                If (val1 > val2) Then
                    Return val2
                End If
                Return val1
            End Function
    

    פורסם במקור בפורום CODE613 ב06/01/2014 23:20 (+02:00)

    תגובה 1 תגובה אחרונה
    0
    • clickoneC מנותק
      clickoneC מנותק
      clickone
      כתב ב נערך לאחרונה על ידי
      #6

      @רחמים

      לא נראה לי הפונקציה שלך כל כך טובה,
      כי היא יכולה להחזיר רק אחת משני אפשריות - אמת או שקר, אבל באמת כאשר משווים בין שני דברים יש שלוש אפשרויות - או שהים שווים או הראשון גדול או השני גדול, ולכן בפונקציית COMPARE בדוטנט יש החזרה של 0 או 1 או -1.

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

      פורסם במקור בפורום CODE613 ב06/01/2014 23:33 (+02:00)

      אין טסט כמו פרודקשן.

      המייל שלי urivpn@gmail.com

      תגובה 1 תגובה אחרונה
      0
      • רחמיםר מנותק
        רחמיםר מנותק
        רחמים מורחק
        כתב ב נערך לאחרונה על ידי
        #7

        @ClickOne

        במקרה הגרוע ששניהם שווים, הוא יחזיר את אחד מהשניים... וזה ממש לא משנה איזה!

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

        פורסם במקור בפורום CODE613 ב06/01/2014 23:37 (+02:00)

        תגובה 1 תגובה אחרונה
        0
        • א מנותק
          א מנותק
          ארכיטקט
          כתב ב נערך לאחרונה על ידי
          #8

          @רחמים

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

          דומני שמטרת הבדיקה הובהרה כאן בכותרת.

          פורסם במקור בפורום CODE613 ב06/01/2014 23:39 (+02:00)

          אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

          תגובה 1 תגובה אחרונה
          0
          • רחמיםר מנותק
            רחמיםר מנותק
            רחמים מורחק
            כתב ב נערך לאחרונה על ידי
            #9

            ראובן שאל את שמעון:
            מה יותר קטן 2 או 2 ?
            שמעון ענה:
            2

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

            פורסם במקור בפורום CODE613 ב06/01/2014 23:43 (+02:00)

            תגובה 1 תגובה אחרונה
            0
            • clickoneC מנותק
              clickoneC מנותק
              clickone
              כתב ב נערך לאחרונה על ידי
              #10

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

              פורסם במקור בפורום CODE613 ב06/01/2014 23:50 (+02:00)

              אין טסט כמו פרודקשן.

              המייל שלי urivpn@gmail.com

              תגובה 1 תגובה אחרונה
              1
              • clickoneC מנותק
                clickoneC מנותק
                clickone
                כתב ב נערך לאחרונה על ידי
                #11

                דבר שבאמת הייתי משנה בגלל הטענה שלך זה:
                במקום:

                If value1 > value2
                

                הייתי כותב:

                If value1 >= value2
                

                אבל זה באמת תלוי בארכיטקט.

                @ארכיטקט

                האם ידוע למישהו אם יש פונקציה מובנית ב vb6 שמחזירה ערך נמוך מבין שניים??? כמו Math.Min בדוט נט....
                הפיתרון הגאוני שלי הוא בינתים ככה:

                Function GetMinValue(value1, value2)
                If value1 > value2 Or IsNull(value1) Or IsMissing(value1) Or value1 = Empty Then
                GetMinValue = value2
                Else
                GetMinValue = value1
                End If
                
                End Function
                

                הייתי משנה את:

                Or IsNull(value1) Or IsMissing(value1) Or value1 = Empty
                

                ב:

                Not IsNumeric(value1)
                

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

                פורסם במקור בפורום CODE613 ב06/01/2014 23:55 (+02:00)

                אין טסט כמו פרודקשן.

                המייל שלי urivpn@gmail.com

                תגובה 1 תגובה אחרונה
                1
                • א מנותק
                  א מנותק
                  ארכיטקט
                  כתב ב נערך לאחרונה על ידי
                  #12

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

                  פורסם במקור בפורום CODE613 ב06/01/2014 23:56 (+02:00)

                  אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

                  תגובה 1 תגובה אחרונה
                  3
                  • clickoneC מנותק
                    clickoneC מנותק
                    clickone
                    כתב ב נערך לאחרונה על ידי
                    #13

                    @ארכיטקט

                    If value1 > value2 Or IsNull(value1) Or IsMissing(value1) Or value1 = Empty Then
                    

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

                    Public Function IsNothing(varToTest As Variant) As Integer
                    '  Tests for a "logical" nothing based on data type
                    '  Empty and Null = Nothing
                    '  Number = 0 is Nothing
                    '  Zero length string is Nothing
                    '  Date/Time is never Nothing
                    
                        IsNothing = True
                    
                        Select Case VarType(varToTest)
                            Case vbEmpty
                                Exit Function
                            Case vbNull
                                Exit Function
                            Case vbBoolean
                                If varToTest Then IsNothing = False
                            Case vbByte, vbInteger, vbLong, vbSingle, vbDouble, vbCurrency
                                If varToTest <> 0 Then IsNothing = False
                            Case vbDate
                                IsNothing = False
                            Case vbString
                                If (Len(varToTest) <> 0 And varToTest <> " ") Then IsNothing = False
                        End Select
                    
                    End Function
                    

                    פורסם במקור בפורום CODE613 ב07/01/2014 00:06 (+02:00)

                    אין טסט כמו פרודקשן.

                    המייל שלי urivpn@gmail.com

                    תגובה 1 תגובה אחרונה
                    1
                    • clickoneC מנותק
                      clickoneC מנותק
                      clickone
                      כתב ב נערך לאחרונה על ידי
                      #14

                      @ארכיטקט

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

                      אתה צודק, בטעות הסתכלתי על הקוד שרחמים העלה ושם הייתה החזרה של ערך: (As Integer)

                      Public Shared Function Min(ByVal val1 As Integer, ByVal val2 As Integer) As Integer
                      

                      פורסם במקור בפורום CODE613 ב07/01/2014 00:10 (+02:00)

                      אין טסט כמו פרודקשן.

                      המייל שלי urivpn@gmail.com

                      תגובה 1 תגובה אחרונה
                      0
                      • רחמיםר מנותק
                        רחמיםר מנותק
                        רחמים מורחק
                        כתב ב נערך לאחרונה על ידי
                        #15

                        מה ההבדל בין פונקיציית ()IsNothing לבין השוואה עם שני אופרטורים Is Nothing

                        פורסם במקור בפורום CODE613 ב07/01/2014 00:13 (+02:00)

                        תגובה 1 תגובה אחרונה
                        0
                        • clickoneC מנותק
                          clickoneC מנותק
                          clickone
                          כתב ב נערך לאחרונה על ידי
                          #16

                          @רחמים

                          מה ההבדל בין פונקיציית ()IsNothing לבין השוואה עם שני אופרטורים Is Nothing

                          אם תפתח ברפלקטור תראה שאכן אין הבדל. אם כי יש שמספרים שיותר נוח Is Nothing בגלל השלילה Not.
                          התשובה מתייחסת לדוטנט (אם כי יכול להיות שגם בVBA זה נכון, אבל שם באמת יש פונקצייה מאחורה, ולא סתם בדיקה של Is Nothing)
                          מקור התשובה כאן

                          פורסם במקור בפורום CODE613 ב07/01/2014 00:18 (+02:00)

                          אין טסט כמו פרודקשן.

                          המייל שלי urivpn@gmail.com

                          תגובה 1 תגובה אחרונה
                          1

                          בא תתחבר לדף היומי!
                          • התחברות

                          • אין לך חשבון עדיין? הרשמה

                          • התחברו או הירשמו כדי לחפש.
                          • פוסט ראשון
                            פוסט אחרון
                          0
                          • דף הבית
                          • קטגוריות
                          • פוסטים אחרונים
                          • משתמשים
                          • חיפוש
                          • חוקי הפורום