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

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

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

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

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

    האם ידוע למישהו אם יש פונקציה מובנית ב 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
    

    ואגב הבנתי שיש דרך לייבא את כל ה core של דוט נט לvba האם ידוע למישהו על יתרונות חסרונות וכדומה? ומהי הדרך הטובה ביותר לעשות זאת.

    כמו כן דרוש מדריך נורמלי לדרך הרצויה לעשות קובץ דוט נט שישמש כ DLL ל vba שוב מהי הדרך הקלה והנוחה, בלי רישום ברג'יסטרי ובלי שטויות.

    תודה.

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

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

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

      http://tchumim.com/post/805

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

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

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

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

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

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

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

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

          תגובה 1 תגובה אחרונה
          0
          • רחמיםר מנותק
            רחמיםר מנותק
            רחמים מורחק
            כתב ב נערך לאחרונה על ידי
            #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
                                  • דף הבית
                                  • קטגוריות
                                  • פוסטים אחרונים
                                  • משתמשים
                                  • חיפוש
                                  • חוקי הפורום