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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. לא מצליח לגשת למשתנה בתוך תנאי #C

לא מצליח לגשת למשתנה בתוך תנאי #C

מתוזמן נעוץ נעול הועבר תכנות
30 פוסטים 4 כותבים 542 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yossizY מחובר
    yossizY מחובר
    yossiz
    השיב לdovid ב נערך לאחרונה על ידי yossiz
    #8

    @dovid הסוג TimeSpan יש לו תמיד אורך חיובי? נראה מתוך הקוד של @אוריי שהוא רוצה לטפל גם במקרה של אורך שלילי.
    עריכה: מסתבר ש-TimeSpan יכול לכלול ערך שלילי

    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

    dovidD תגובה 1 תגובה אחרונה
    1
    • yossizY מחובר
      yossizY מחובר
      yossiz
      השיב לdovid ב נערך לאחרונה על ידי
      #9

      @dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:

      var מסיק את הסוג לפי המשך הביטוי, אני חושב שאין מצב ששינוי var לטיפוס תעזור.

      חוץ ממקרה שבו הטיפוס לא ברור מתוך ההצהרה.

      var seconds1 = 0;
      

      נהיה Int בברירת מחדל.
      אבל אולי רצית Long?

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      dovidD תגובה 1 תגובה אחרונה
      1
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        השיב לyossiz ב נערך לאחרונה על ידי
        #10

        @yossiz ברור שיכול להיות שלילי, אבל כיון שכל הoffset מושתת על hard-code של זמן המצלמה, אז במקרה שהתאריך יותר גדול מהנוכחי יש להפוך את הכיוון. לפי המציאות ולפי הפרטים החלטתי שאין מקום לבדיקה אם זה שלילי או חיובי גם לו זה היה דינמי.

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        yossizY תגובה 1 תגובה אחרונה
        2
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          השיב לyossiz ב נערך לאחרונה על ידי
          #11

          @yossiz אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:

          נהיה Int בברירת מחדל.
          אבל אולי רצית Long?

          זה לא מדוייק.
          0 זה באמת int ולא long.
          הסיבה שאם כותבים long זה יעבוד כי תמיד אפשר להציב int בתוך long בהמרה מרומזת כי אין איבוד מידע.

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          yossizY תגובה 1 תגובה אחרונה
          1
          • yossizY מחובר
            yossizY מחובר
            yossiz
            השיב לdovid ב נערך לאחרונה על ידי
            #12

            @dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:

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

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

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            dovidD תגובה 1 תגובה אחרונה
            1
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              השיב לyossiz ב נערך לאחרונה על ידי
              #13

              @yossiz צודק, טעות שלי, הרגע עמדתי עליה.
              הקוד יעבוד היטב גם אם זה שלילי.

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              2
              • yossizY מחובר
                yossizY מחובר
                yossiz
                השיב לdovid ב נערך לאחרונה על ידי
                #14

                @dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:

                0 זה באמת int ולא long.
                הסיבה שאם כותבים long זה יעבוד כי תמיד אפשר להציב int בתוך long בהמרה מרומזת כי אין איבוד מידע.

                לא ברור לי אם אתה מתווכח על משהו אקדמי בלי שום השלכה מעשית? כי בכל מקרה ההצהרה ש:

                אין מצב ששינוי var לטיפוס תעזור

                לא נכונה.

                טסט:

                var i = 1;
                i += int.MaxValue;
                Console.WriteLine($"i = {i}");
                
                long j = 1;
                j += int.MaxValue;
                Console.WriteLine($"j = {j}");
                
                // Output:
                // i = -2147483648
                // 
j = 2147483648
                

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                dovidD תגובה 1 תגובה אחרונה
                1
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לyossiz ב נערך לאחרונה על ידי
                  #15

                  @yossiz צודק. ואני אכן טעיתי שלא לקחתי בחשבון המרות מרומזות.
                  (כעת מעניין אותי אם תבין למה אני עדיין מחזיק מהמשפט שלי).

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  yossizY תגובה 1 תגובה אחרונה
                  1
                  • yossizY מחובר
                    yossizY מחובר
                    yossiz
                    השיב לdovid ב נערך לאחרונה על ידי
                    #16

                    @dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:

                    (כעת מעניין אותי אם תבין למה אני עדיין מחזיק מהמשפט שלי).

                    לא...

                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                    תגובה 1 תגובה אחרונה
                    0
                    • אורייא מנותק
                      אורייא מנותק
                      אוריי
                      השיב לdovid ב נערך לאחרונה על ידי אוריי
                      #17

                      @dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:

                      @אוריי סליחה על החריפות אבל אתה עושה דברים בלי להבין.

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

                      @dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:

                      בשביל לבנות כזה קוד, אתה כותב פיסת קוד נסיונית קטנה שמכילה רק את מה שרלוונטי:

                      את האמת התחלתי גם מחתיכת קוד ניסיונית והכל עבד מעולה ומשם המשכתי. אך מה שקרה זה שבעת שהמרתי לint התחילו הצרות (מה שהתברר כטעות).

                      @dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:

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

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

                      ניתן לפנות אלי גם ב al0548446188@gmail.com
                      ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

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

                        @dovid
                        דבר אחד לא הבנתי בקוד זה השורה הזו

                        @dovid אמר בלא מצליח לגשת למשתנה בתוך תנאי #C:

                        var fileArray = Directory.GetFiles(".", "*.jpg");
                        

                        השאלה היא למה כתבת כך ומה ההבדל אם יש? (חוץ מהאורך של הקוד).
                        אני קודם כתבתי כך :

                        var fileArray = Directory.GetFiles(Directory.GetCurrentDirectory() + @"\");
                        

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

                        ניתן לפנות אלי גם ב al0548446188@gmail.com
                        ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

                        OdedDvirO תגובה 1 תגובה אחרונה
                        0
                        • OdedDvirO מנותק
                          OdedDvirO מנותק
                          OdedDvir
                          השיב לאוריי ב נערך לאחרונה על ידי OdedDvir
                          #19

                          @אוריי התחביר של Directory.GetFiles הוא כזה:

                          Directory.GetFiles(<search_pattern>)
                          

                          הנתיב "." פירושו התיקיה הנוכחית והוא זהה לתוצאה של:

                          Directory.GetCurrentDirectory() + @"\"
                          

                          הפרמטר השני שהוסיף @dovid הוא תבנית החיפוש, ויש הגיון לחפש רק בקובצי תמונה ולא לשנות את התאריך של קבצים אחרים שבמקרה קיימים בתיקיה.

                          אורייא תגובה 1 תגובה אחרונה
                          3
                          • אורייא מנותק
                            אורייא מנותק
                            אוריי
                            השיב לOdedDvir ב נערך לאחרונה על ידי
                            #20

                            @odeddvir
                            כפי איך שאני מבין @dovid כתב לחפש בסיומת jpg ותכלס הוא מחזיר גם תמונות וגם הסרטות מה שכעת אני מבין שזה לא סיומת וזה אני שואל מה זה???....

                            ניתן לפנות אלי גם ב al0548446188@gmail.com
                            ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

                            OdedDvirO תגובה 1 תגובה אחרונה
                            0
                            • OdedDvirO מנותק
                              OdedDvirO מנותק
                              OdedDvir
                              השיב לאוריי ב נערך לאחרונה על ידי
                              #21
                              פוסט זה נמחק!
                              אורייא תגובה 1 תגובה אחרונה
                              0
                              • אורייא מנותק
                                אורייא מנותק
                                אוריי
                                השיב לOdedDvir ב נערך לאחרונה על ידי אוריי
                                #22

                                @odeddvir
                                עכשיו אני שם לב שיש הבדל ביניהם שהקוד שכתבתי הוא מחזיר לי את כל שמות הקבצים וש @dovid הביא זה מחזיר רק jpg ..
                                משא"כ אני יכול לחסוך בנתיב ...
                                השאלה היא האם באמת יש דרך לקבל רק דבר שהסוג שלו זה תמונה או הסרטה מכל סוגי הסיומות או שאני צריך להכניס את כולם... 😕 😕

                                עריכה: מבדיקה שלי יש נתון בקובץ בשם מסוג ששם לא משנה לו מה הסיומת אלא לפי סוג אם זה תמונה אז כתוב תמונה ואם זה וידאו אז רשום וידאו אני חושב שאולי יהיה אפשר לחפש ע"פ זה השאלה היא איך..
                                מצורף תמונה
                                64645ae5-9bfe-412c-a76a-a5fcd0d19afb-image.png

                                ניתן לפנות אלי גם ב al0548446188@gmail.com
                                ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

                                OdedDvirO dovidD 2 תגובות תגובה אחרונה
                                0
                                • OdedDvirO מנותק
                                  OdedDvirO מנותק
                                  OdedDvir
                                  השיב לאוריי ב נערך לאחרונה על ידי
                                  #23
                                  פוסט זה נמחק!
                                  תגובה 1 תגובה אחרונה
                                  0
                                  • dovidD מנותק
                                    dovidD מנותק
                                    dovid ניהול
                                    השיב לאוריי ב נערך לאחרונה על ידי dovid
                                    #24

                                    @אוריי שאלה הבאה נושא חדש.
                                    זה סינון כמה סיומות לפי ביטוי רגולרי:

                                    var regex = new Regex(@"\.(jpg|jpeg|mov|mp4)$");
                                    var fileArray = Directory.GetFiles(".").Where(file => regex.IsMatch(file));
                                    

                                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                    אורייא 2 תגובות תגובה אחרונה
                                    2
                                    • אורייא מנותק
                                      אורייא מנותק
                                      אוריי
                                      השיב לdovid ב נערך לאחרונה על ידי אוריי
                                      #25

                                      @dovid
                                      זה לא עובד ..
                                      כלומר הוא רץ ומשום מה גם כאשר יש לו קובץ עם סיומת מהביטוי הוא מדלג עליו
                                      73a76480-8821-45f6-899e-7499d13d6d76-image.png

                                      ניתן לפנות אלי גם ב al0548446188@gmail.com
                                      ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • אורייא מנותק
                                        אורייא מנותק
                                        אוריי
                                        השיב לdovid ב נערך לאחרונה על ידי
                                        #26

                                        @dovid
                                        מצאתי את הבעיה היה צריך לכתוב את הסיומות עם אותיות גדולות כך:

                                        var regex = new Regex(@"\.(JPG|JPEG|MOV|MP4)$");
                                        var fileArray = Directory.GetFiles(".").Where(file => regex.IsMatch(file));
                                        

                                        ניתן לפנות אלי גם ב al0548446188@gmail.com
                                        ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

                                        OdedDvirO תגובה 1 תגובה אחרונה
                                        0
                                        • OdedDvirO מנותק
                                          OdedDvirO מנותק
                                          OdedDvir
                                          השיב לאוריי ב נערך לאחרונה על ידי
                                          #27

                                          @אוריי לפעמים שם הקובץ הוא באותיות קטנות, עדיף כך:

                                          var regex = new Regex(@"\.(jpg|jpeg|mov|mp4)$");
                                          var fileArray = Directory.GetFiles(".").Where(file => regex.IsMatch(file.ToLower()));
                                          

                                          וזה מכסה את כל האפשרויות.

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

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

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

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