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

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

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

משהו מדהים שגיליתי Continue For

מתוזמן נעוץ נעול הועבר ארכיון code613m
14 פוסטים 5 כותבים 711 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • clickoneC מנותק
    clickoneC מנותק
    clickone
    כתב ב נערך לאחרונה על ידי
    #1

    יצא לי לכתוב בסוף שבוע שעבר תוכנית קטנה ללקוח בWINFORM.
    התוכנית ממירה קובץ אקסל לתבנית מיוחדת שהלקוח צריך להכניס לאיזו מערכת שלו.
    (דרך אגב, את הקריאה של האקסל ביצעתי עם ExcelDataReader, מומלץ לקריאה מקבצי אקסל ללא תלות באופיס)
    במהלך כתיבת לולאת הFOR, הייתי צריך לבדוק כמה דברים, ואם משהו לא התקיים, פשוט לא לבצע, אלא להמשיך לאיבר הבא במערך.
    דא עקא, שהסירבול עם הIFים המקוננים פשוט שיגע אותי, וחיפשתי דרך יותר קצרה.
    ואז, מצאתי. אפשר להשתמש בContinue For, זה פשוט ממשיך לאיבר הבא.

    דוגמא:

    If tmp.Length = 0 Then Continue For
    

    מישהו יודע איך ממשים את זה בVB6 או VBA?

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

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

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

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

      GoTo

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

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

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

        ב:

        For i=0 to 5
        

        אפשר אכן להשתמש בGoTo, ולהוסיף לi ידנית ספרה (אם כי מספרים שזו שיטה שעברה מן העולם, אבל בכל זאת עובדת.. :lol: :lol: )

        אבל ב
        For Each Var In Array
        איפה תשים את הGoTo?
        הרי כדי שהפור יעבור לאיבר הבא צריך להגיע לנקסט. (במחשבה שנייה, אם הבנתי נכון, אתה מתכוון ששורה לפני הנקסט לשים לייבל, ולהפנות לשם, נכון??)
        תודה!

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

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

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

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

          OMG :
          באמת שאנשים משתמשים במושג GoTo?
          זה הדבר הכי גרוע שאפשר לחשוב ברמה תכנותית ! 🙂

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

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

            @ClickOne

            אם כי מספרים שזו שיטה שעברה מן העולם, אבל בכל זאת עובדת.. :lol: :lol:

            כתבתי כבר....

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

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

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

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

              @ClickOne

              במחשבה שנייה, אם הבנתי נכון, אתה מתכוון ששורה לפני הנקסט לשים לייבל, ולהפנות לשם, נכון??

              נכון וזה נכון גם לגבי i לא צריך להוסיף ספירה.

              @KingYes

              באמת שאנשים משתמשים במושג GoTo?
              זה הדבר הכי גרוע שאפשר לחשוב ברמה תכנותית !

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

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

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

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

                @ארכיטקט

                אני זוכר שכשהתחלתי לתכנת לא ידעתי לעשות לולאות, וגיליתי את goto לפני שגיליתי את הלולאות, אז "המצאתי" לולאה על ידי goto

                גם אני.... עד היום יש לי איזה דוח עם לולאה שרצה עם GOTO 20 פעמים עד ליציאה, זה פשוט נשאר שם מטעמים הסטוריים.
                @ארכיטקט

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

                מת על ההגדרות שלך :lol: :lol: :lol:
                בכל מקרה אני מאמץ בחום את הGOTO במקום לעשות קוד ספגטי. (עד שיבוא דוטנט לאקסס גואל...)

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

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

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

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

                  גם אני מתמיד השתמשתי ב GOTO ב VBA כיון שאין Continue For ושמתי תוית בשורה שלפני ה NEXT
                  אגב Continue זה לא רק ב FOR אלא גם ב DO וגם ב TRY

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

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

                    @רחמים

                    אגב Continue זה לא רק ב FOR אלא גם ב DO וגם ב TRY

                    וגם סתם בקוד....
                    אם אתה רוצה לעשות קפיצה למקום מסויים בקוד.
                    והוא נמצא שם בעיקר מסיבות הסטוריות, (נדמה לי שהמקור שלו משפת Basic)

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

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

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

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

                      מאוד מדאיג אותי הדיון הזה. אתם אפילו לא מבינים את האסון של השימוש בפקודה הזאת (גם לא משתמשים איתה לפי מספר שורה, אלא לפי איזור בקוד).

                      ע"ע: http://www.internet-israel.com/?p=3590

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

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

                        @KingYes

                        ע"ע: http://www.internet-israel.com/?p=3590

                        חסום לי, מה אומר שם?

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

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

                          @KingYes

                          מאוד מדאיג אותי הדיון הזה. אתם אפילו לא מבינים את האסון של השימוש בפקודה הזאת (גם לא משתמשים איתה לפי מספר שורה, אלא לפי איזור בקוד).

                          ע"ע: http://www.internet-israel.com/?p=3590

                          כתוב שם:

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

                          וגם:

                          goto נחשבת לטכניקת תכנות גרועה – כיון שאם משתמשים בה זה עלול לגרום לקוד להיות לא קריא

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

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

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

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

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

                            אולי אפשר להריץ פונקציה בתוך הfor.

                            ולעשות return בפונקציה.

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

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

                              @magicode

                              אולי אפשר להריץ פונקציה בתוך הfor.

                              ולעשות return בפונקציה.

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

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

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

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

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

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

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

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