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

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

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

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

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

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

    var offset = DateTime.Now - new DateTime(2020, 7, 4, 8, 30, 0);
    
    Console.WriteLine("Offset is: " + offset.ToString());
    
    var fileArray = Directory.GetFiles(".", "*.jpg");
    foreach (string item in fileArray)
    {
        var createdAt = File.GetCreationTime(item);
        var fixedCreatedAt = createdAt + offset;
    
        File.SetCreationTime(item, fixedCreatedAt);
    
        Console.WriteLine($"{item}\n{createdAt}\n{fixedCreatedAt}\n--------");
    }
    

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

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

    yossizY אורייא 2 תגובות תגובה אחרונה
    4
    • 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

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

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

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